From 7905a8e0411106fb5e50118d6602e83016c8f349 Mon Sep 17 00:00:00 2001 From: awstools Date: Tue, 19 Nov 2024 20:36:46 +0000 Subject: [PATCH] feat(client-ec2): This release adds VPC Block Public Access (VPC BPA), a new declarative control which blocks resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. --- clients/client-ec2/README.md | 48 + clients/client-ec2/src/EC2.ts | 140 + clients/client-ec2/src/EC2Client.ts | 36 + .../src/commands/BundleInstanceCommand.ts | 6 +- .../CancelImageLaunchPermissionCommand.ts | 7 +- .../src/commands/CopyImageCommand.ts | 15 +- .../commands/CreateDefaultSubnetCommand.ts | 3 + .../src/commands/CreateDefaultVpcCommand.ts | 3 + .../src/commands/CreateImageCommand.ts | 11 +- ...CreateNetworkInsightsAccessScopeCommand.ts | 3 +- .../commands/CreateRestoreImageTaskCommand.ts | 6 +- .../commands/CreateStoreImageTaskCommand.ts | 2 +- .../src/commands/CreateSubnetCommand.ts | 3 + ...ateVpcBlockPublicAccessExclusionCommand.ts | 129 + .../src/commands/CreateVpcCommand.ts | 3 + ...xternalResourceVerificationTokenCommand.ts | 6 +- .../src/commands/DeleteIpamPoolCommand.ts | 2 +- .../DeleteIpamResourceDiscoveryCommand.ts | 2 +- .../src/commands/DeleteIpamScopeCommand.ts | 2 +- ...eteVpcBlockPublicAccessExclusionCommand.ts | 116 + .../src/commands/DeregisterImageCommand.ts | 22 +- .../commands/DescribeBundleTasksCommand.ts | 10 +- .../src/commands/DescribeHostsCommand.ts | 2 +- ...beIamInstanceProfileAssociationsCommand.ts | 2 +- .../commands/DescribeImageAttributeCommand.ts | 8 +- .../src/commands/DescribeImagesCommand.ts | 15 +- .../DescribeSnapshotAttributeCommand.ts | 2 +- .../DescribeSnapshotTierStatusCommand.ts | 3 +- .../src/commands/DescribeSnapshotsCommand.ts | 2 +- .../DescribeStoreImageTasksCommand.ts | 2 +- .../src/commands/DescribeSubnetsCommand.ts | 3 + ...beVpcBlockPublicAccessExclusionsCommand.ts | 132 + ...cribeVpcBlockPublicAccessOptionsCommand.ts | 107 + .../src/commands/DescribeVpcsCommand.ts | 3 + .../src/commands/DisableFastLaunchCommand.ts | 10 +- .../DisableImageBlockPublicAccessCommand.ts | 4 +- .../src/commands/EnableFastLaunchCommand.ts | 15 +- .../commands/EnableImageDeprecationCommand.ts | 3 +- ...ciatedEnclaveCertificateIamRolesCommand.ts | 2 +- .../GetAssociatedIpv6PoolCidrsCommand.ts | 2 +- .../GetAwsNetworkPerformanceDataCommand.ts | 2 +- .../GetCapacityReservationUsageCommand.ts | 2 +- .../src/commands/GetCoipPoolUsageCommand.ts | 3 +- .../commands/ListImagesInRecycleBinCommand.ts | 4 +- .../commands/ModifyImageAttributeCommand.ts | 12 +- .../ModifyVerifiedAccessEndpointCommand.ts | 2 +- ...difyVerifiedAccessEndpointPolicyCommand.ts | 2 +- .../ModifyVerifiedAccessGroupCommand.ts | 2 +- .../ModifyVerifiedAccessGroupPolicyCommand.ts | 2 +- .../ModifyVerifiedAccessInstanceCommand.ts | 2 +- ...cessInstanceLoggingConfigurationCommand.ts | 2 +- ...ifyVpcBlockPublicAccessExclusionCommand.ts | 117 + ...odifyVpcBlockPublicAccessOptionsCommand.ts | 105 + .../src/commands/RegisterImageCommand.ts | 13 +- .../RestoreImageFromRecycleBinCommand.ts | 3 +- clients/client-ec2/src/commands/index.ts | 6 + clients/client-ec2/src/models/models_0.ts | 50 +- clients/client-ec2/src/models/models_1.ts | 160 +- clients/client-ec2/src/models/models_2.ts | 370 +- clients/client-ec2/src/models/models_3.ts | 590 +- clients/client-ec2/src/models/models_4.ts | 13631 ++++++++-------- clients/client-ec2/src/models/models_5.ts | 10033 ++++++------ clients/client-ec2/src/models/models_6.ts | 3944 ++--- clients/client-ec2/src/models/models_7.ts | 600 +- clients/client-ec2/src/protocols/Aws_ec2.ts | 739 +- codegen/sdk-codegen/aws-models/ec2.json | 946 +- 66 files changed, 17560 insertions(+), 14674 deletions(-) create mode 100644 clients/client-ec2/src/commands/CreateVpcBlockPublicAccessExclusionCommand.ts create mode 100644 clients/client-ec2/src/commands/DeleteVpcBlockPublicAccessExclusionCommand.ts create mode 100644 clients/client-ec2/src/commands/DescribeVpcBlockPublicAccessExclusionsCommand.ts create mode 100644 clients/client-ec2/src/commands/DescribeVpcBlockPublicAccessOptionsCommand.ts create mode 100644 clients/client-ec2/src/commands/ModifyVpcBlockPublicAccessExclusionCommand.ts create mode 100644 clients/client-ec2/src/commands/ModifyVpcBlockPublicAccessOptionsCommand.ts diff --git a/clients/client-ec2/README.md b/clients/client-ec2/README.md index e95635548af0..3d7ab7b020db 100644 --- a/clients/client-ec2/README.md +++ b/clients/client-ec2/README.md @@ -1285,6 +1285,14 @@ CreateVpc [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/CreateVpcCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/CreateVpcCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/CreateVpcCommandOutput/) + +
+ +CreateVpcBlockPublicAccessExclusion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/CreateVpcBlockPublicAccessExclusionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/CreateVpcBlockPublicAccessExclusionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/CreateVpcBlockPublicAccessExclusionCommandOutput/) +
@@ -1885,6 +1893,14 @@ DeleteVpc [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DeleteVpcCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DeleteVpcCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DeleteVpcCommandOutput/) +
+
+ +DeleteVpcBlockPublicAccessExclusion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DeleteVpcBlockPublicAccessExclusionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DeleteVpcBlockPublicAccessExclusionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DeleteVpcBlockPublicAccessExclusionCommandOutput/) +
@@ -3149,6 +3165,22 @@ DescribeVpcAttribute [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DescribeVpcAttributeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeVpcAttributeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeVpcAttributeCommandOutput/) +
+
+ +DescribeVpcBlockPublicAccessExclusions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DescribeVpcBlockPublicAccessExclusionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeVpcBlockPublicAccessExclusionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeVpcBlockPublicAccessExclusionsCommandOutput/) + +
+
+ +DescribeVpcBlockPublicAccessOptions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DescribeVpcBlockPublicAccessOptionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeVpcBlockPublicAccessOptionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeVpcBlockPublicAccessOptionsCommandOutput/) +
@@ -4637,6 +4669,22 @@ ModifyVpcAttribute [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/ModifyVpcAttributeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyVpcAttributeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyVpcAttributeCommandOutput/) +
+
+ +ModifyVpcBlockPublicAccessExclusion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/ModifyVpcBlockPublicAccessExclusionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyVpcBlockPublicAccessExclusionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyVpcBlockPublicAccessExclusionCommandOutput/) + +
+
+ +ModifyVpcBlockPublicAccessOptions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/ModifyVpcBlockPublicAccessOptionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyVpcBlockPublicAccessOptionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyVpcBlockPublicAccessOptionsCommandOutput/) +
diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index 53a9f0c17cab..60489b95a10e 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -648,6 +648,11 @@ import { CreateVolumeCommandInput, CreateVolumeCommandOutput, } from "./commands/CreateVolumeCommand"; +import { + CreateVpcBlockPublicAccessExclusionCommand, + CreateVpcBlockPublicAccessExclusionCommandInput, + CreateVpcBlockPublicAccessExclusionCommandOutput, +} from "./commands/CreateVpcBlockPublicAccessExclusionCommand"; import { CreateVpcCommand, CreateVpcCommandInput, CreateVpcCommandOutput } from "./commands/CreateVpcCommand"; import { CreateVpcEndpointCommand, @@ -1007,6 +1012,11 @@ import { DeleteVolumeCommandInput, DeleteVolumeCommandOutput, } from "./commands/DeleteVolumeCommand"; +import { + DeleteVpcBlockPublicAccessExclusionCommand, + DeleteVpcBlockPublicAccessExclusionCommandInput, + DeleteVpcBlockPublicAccessExclusionCommandOutput, +} from "./commands/DeleteVpcBlockPublicAccessExclusionCommand"; import { DeleteVpcCommand, DeleteVpcCommandInput, DeleteVpcCommandOutput } from "./commands/DeleteVpcCommand"; import { DeleteVpcEndpointConnectionNotificationsCommand, @@ -1798,6 +1808,16 @@ import { DescribeVpcAttributeCommandInput, DescribeVpcAttributeCommandOutput, } from "./commands/DescribeVpcAttributeCommand"; +import { + DescribeVpcBlockPublicAccessExclusionsCommand, + DescribeVpcBlockPublicAccessExclusionsCommandInput, + DescribeVpcBlockPublicAccessExclusionsCommandOutput, +} from "./commands/DescribeVpcBlockPublicAccessExclusionsCommand"; +import { + DescribeVpcBlockPublicAccessOptionsCommand, + DescribeVpcBlockPublicAccessOptionsCommandInput, + DescribeVpcBlockPublicAccessOptionsCommandOutput, +} from "./commands/DescribeVpcBlockPublicAccessOptionsCommand"; import { DescribeVpcClassicLinkCommand, DescribeVpcClassicLinkCommandInput, @@ -2704,6 +2724,16 @@ import { ModifyVpcAttributeCommandInput, ModifyVpcAttributeCommandOutput, } from "./commands/ModifyVpcAttributeCommand"; +import { + ModifyVpcBlockPublicAccessExclusionCommand, + ModifyVpcBlockPublicAccessExclusionCommandInput, + ModifyVpcBlockPublicAccessExclusionCommandOutput, +} from "./commands/ModifyVpcBlockPublicAccessExclusionCommand"; +import { + ModifyVpcBlockPublicAccessOptionsCommand, + ModifyVpcBlockPublicAccessOptionsCommandInput, + ModifyVpcBlockPublicAccessOptionsCommandOutput, +} from "./commands/ModifyVpcBlockPublicAccessOptionsCommand"; import { ModifyVpcEndpointCommand, ModifyVpcEndpointCommandInput, @@ -3257,6 +3287,7 @@ const commands = { CreateVerifiedAccessTrustProviderCommand, CreateVolumeCommand, CreateVpcCommand, + CreateVpcBlockPublicAccessExclusionCommand, CreateVpcEndpointCommand, CreateVpcEndpointConnectionNotificationCommand, CreateVpcEndpointServiceConfigurationCommand, @@ -3332,6 +3363,7 @@ const commands = { DeleteVerifiedAccessTrustProviderCommand, DeleteVolumeCommand, DeleteVpcCommand, + DeleteVpcBlockPublicAccessExclusionCommand, DeleteVpcEndpointConnectionNotificationsCommand, DeleteVpcEndpointsCommand, DeleteVpcEndpointServiceConfigurationsCommand, @@ -3490,6 +3522,8 @@ const commands = { DescribeVolumesModificationsCommand, DescribeVolumeStatusCommand, DescribeVpcAttributeCommand, + DescribeVpcBlockPublicAccessExclusionsCommand, + DescribeVpcBlockPublicAccessOptionsCommand, DescribeVpcClassicLinkCommand, DescribeVpcClassicLinkDnsSupportCommand, DescribeVpcEndpointConnectionNotificationsCommand, @@ -3676,6 +3710,8 @@ const commands = { ModifyVolumeCommand, ModifyVolumeAttributeCommand, ModifyVpcAttributeCommand, + ModifyVpcBlockPublicAccessExclusionCommand, + ModifyVpcBlockPublicAccessOptionsCommand, ModifyVpcEndpointCommand, ModifyVpcEndpointConnectionNotificationCommand, ModifyVpcEndpointServiceConfigurationCommand, @@ -5960,6 +5996,23 @@ export interface EC2 { cb: (err: any, data?: CreateVpcCommandOutput) => void ): void; + /** + * @see {@link CreateVpcBlockPublicAccessExclusionCommand} + */ + createVpcBlockPublicAccessExclusion( + args: CreateVpcBlockPublicAccessExclusionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createVpcBlockPublicAccessExclusion( + args: CreateVpcBlockPublicAccessExclusionCommandInput, + cb: (err: any, data?: CreateVpcBlockPublicAccessExclusionCommandOutput) => void + ): void; + createVpcBlockPublicAccessExclusion( + args: CreateVpcBlockPublicAccessExclusionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateVpcBlockPublicAccessExclusionCommandOutput) => void + ): void; + /** * @see {@link CreateVpcEndpointCommand} */ @@ -7171,6 +7224,23 @@ export interface EC2 { cb: (err: any, data?: DeleteVpcCommandOutput) => void ): void; + /** + * @see {@link DeleteVpcBlockPublicAccessExclusionCommand} + */ + deleteVpcBlockPublicAccessExclusion( + args: DeleteVpcBlockPublicAccessExclusionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteVpcBlockPublicAccessExclusion( + args: DeleteVpcBlockPublicAccessExclusionCommandInput, + cb: (err: any, data?: DeleteVpcBlockPublicAccessExclusionCommandOutput) => void + ): void; + deleteVpcBlockPublicAccessExclusion( + args: DeleteVpcBlockPublicAccessExclusionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteVpcBlockPublicAccessExclusionCommandOutput) => void + ): void; + /** * @see {@link DeleteVpcEndpointConnectionNotificationsCommand} */ @@ -9944,6 +10014,42 @@ export interface EC2 { cb: (err: any, data?: DescribeVpcAttributeCommandOutput) => void ): void; + /** + * @see {@link DescribeVpcBlockPublicAccessExclusionsCommand} + */ + describeVpcBlockPublicAccessExclusions(): Promise; + describeVpcBlockPublicAccessExclusions( + args: DescribeVpcBlockPublicAccessExclusionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeVpcBlockPublicAccessExclusions( + args: DescribeVpcBlockPublicAccessExclusionsCommandInput, + cb: (err: any, data?: DescribeVpcBlockPublicAccessExclusionsCommandOutput) => void + ): void; + describeVpcBlockPublicAccessExclusions( + args: DescribeVpcBlockPublicAccessExclusionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeVpcBlockPublicAccessExclusionsCommandOutput) => void + ): void; + + /** + * @see {@link DescribeVpcBlockPublicAccessOptionsCommand} + */ + describeVpcBlockPublicAccessOptions(): Promise; + describeVpcBlockPublicAccessOptions( + args: DescribeVpcBlockPublicAccessOptionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeVpcBlockPublicAccessOptions( + args: DescribeVpcBlockPublicAccessOptionsCommandInput, + cb: (err: any, data?: DescribeVpcBlockPublicAccessOptionsCommandOutput) => void + ): void; + describeVpcBlockPublicAccessOptions( + args: DescribeVpcBlockPublicAccessOptionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeVpcBlockPublicAccessOptionsCommandOutput) => void + ): void; + /** * @see {@link DescribeVpcClassicLinkCommand} */ @@ -13044,6 +13150,40 @@ export interface EC2 { cb: (err: any, data?: ModifyVpcAttributeCommandOutput) => void ): void; + /** + * @see {@link ModifyVpcBlockPublicAccessExclusionCommand} + */ + modifyVpcBlockPublicAccessExclusion( + args: ModifyVpcBlockPublicAccessExclusionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + modifyVpcBlockPublicAccessExclusion( + args: ModifyVpcBlockPublicAccessExclusionCommandInput, + cb: (err: any, data?: ModifyVpcBlockPublicAccessExclusionCommandOutput) => void + ): void; + modifyVpcBlockPublicAccessExclusion( + args: ModifyVpcBlockPublicAccessExclusionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyVpcBlockPublicAccessExclusionCommandOutput) => void + ): void; + + /** + * @see {@link ModifyVpcBlockPublicAccessOptionsCommand} + */ + modifyVpcBlockPublicAccessOptions( + args: ModifyVpcBlockPublicAccessOptionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + modifyVpcBlockPublicAccessOptions( + args: ModifyVpcBlockPublicAccessOptionsCommandInput, + cb: (err: any, data?: ModifyVpcBlockPublicAccessOptionsCommandOutput) => void + ): void; + modifyVpcBlockPublicAccessOptions( + args: ModifyVpcBlockPublicAccessOptionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyVpcBlockPublicAccessOptionsCommandOutput) => void + ): void; + /** * @see {@link ModifyVpcEndpointCommand} */ diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index 0a41d878b8dc..f5809f0f055c 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -487,6 +487,10 @@ import { CreateVerifiedAccessTrustProviderCommandOutput, } from "./commands/CreateVerifiedAccessTrustProviderCommand"; import { CreateVolumeCommandInput, CreateVolumeCommandOutput } from "./commands/CreateVolumeCommand"; +import { + CreateVpcBlockPublicAccessExclusionCommandInput, + CreateVpcBlockPublicAccessExclusionCommandOutput, +} from "./commands/CreateVpcBlockPublicAccessExclusionCommand"; import { CreateVpcCommandInput, CreateVpcCommandOutput } from "./commands/CreateVpcCommand"; import { CreateVpcEndpointCommandInput, CreateVpcEndpointCommandOutput } from "./commands/CreateVpcEndpointCommand"; import { @@ -724,6 +728,10 @@ import { DeleteVerifiedAccessTrustProviderCommandOutput, } from "./commands/DeleteVerifiedAccessTrustProviderCommand"; import { DeleteVolumeCommandInput, DeleteVolumeCommandOutput } from "./commands/DeleteVolumeCommand"; +import { + DeleteVpcBlockPublicAccessExclusionCommandInput, + DeleteVpcBlockPublicAccessExclusionCommandOutput, +} from "./commands/DeleteVpcBlockPublicAccessExclusionCommand"; import { DeleteVpcCommandInput, DeleteVpcCommandOutput } from "./commands/DeleteVpcCommand"; import { DeleteVpcEndpointConnectionNotificationsCommandInput, @@ -1282,6 +1290,14 @@ import { DescribeVpcAttributeCommandInput, DescribeVpcAttributeCommandOutput, } from "./commands/DescribeVpcAttributeCommand"; +import { + DescribeVpcBlockPublicAccessExclusionsCommandInput, + DescribeVpcBlockPublicAccessExclusionsCommandOutput, +} from "./commands/DescribeVpcBlockPublicAccessExclusionsCommand"; +import { + DescribeVpcBlockPublicAccessOptionsCommandInput, + DescribeVpcBlockPublicAccessOptionsCommandOutput, +} from "./commands/DescribeVpcBlockPublicAccessOptionsCommand"; import { DescribeVpcClassicLinkCommandInput, DescribeVpcClassicLinkCommandOutput, @@ -1942,6 +1958,14 @@ import { } from "./commands/ModifyVolumeAttributeCommand"; import { ModifyVolumeCommandInput, ModifyVolumeCommandOutput } from "./commands/ModifyVolumeCommand"; import { ModifyVpcAttributeCommandInput, ModifyVpcAttributeCommandOutput } from "./commands/ModifyVpcAttributeCommand"; +import { + ModifyVpcBlockPublicAccessExclusionCommandInput, + ModifyVpcBlockPublicAccessExclusionCommandOutput, +} from "./commands/ModifyVpcBlockPublicAccessExclusionCommand"; +import { + ModifyVpcBlockPublicAccessOptionsCommandInput, + ModifyVpcBlockPublicAccessOptionsCommandOutput, +} from "./commands/ModifyVpcBlockPublicAccessOptionsCommand"; import { ModifyVpcEndpointCommandInput, ModifyVpcEndpointCommandOutput } from "./commands/ModifyVpcEndpointCommand"; import { ModifyVpcEndpointConnectionNotificationCommandInput, @@ -2366,6 +2390,7 @@ export type ServiceInputTypes = | CreateVerifiedAccessInstanceCommandInput | CreateVerifiedAccessTrustProviderCommandInput | CreateVolumeCommandInput + | CreateVpcBlockPublicAccessExclusionCommandInput | CreateVpcCommandInput | CreateVpcEndpointCommandInput | CreateVpcEndpointConnectionNotificationCommandInput @@ -2441,6 +2466,7 @@ export type ServiceInputTypes = | DeleteVerifiedAccessInstanceCommandInput | DeleteVerifiedAccessTrustProviderCommandInput | DeleteVolumeCommandInput + | DeleteVpcBlockPublicAccessExclusionCommandInput | DeleteVpcCommandInput | DeleteVpcEndpointConnectionNotificationsCommandInput | DeleteVpcEndpointServiceConfigurationsCommandInput @@ -2600,6 +2626,8 @@ export type ServiceInputTypes = | DescribeVolumesCommandInput | DescribeVolumesModificationsCommandInput | DescribeVpcAttributeCommandInput + | DescribeVpcBlockPublicAccessExclusionsCommandInput + | DescribeVpcBlockPublicAccessOptionsCommandInput | DescribeVpcClassicLinkCommandInput | DescribeVpcClassicLinkDnsSupportCommandInput | DescribeVpcEndpointConnectionNotificationsCommandInput @@ -2786,6 +2814,8 @@ export type ServiceInputTypes = | ModifyVolumeAttributeCommandInput | ModifyVolumeCommandInput | ModifyVpcAttributeCommandInput + | ModifyVpcBlockPublicAccessExclusionCommandInput + | ModifyVpcBlockPublicAccessOptionsCommandInput | ModifyVpcEndpointCommandInput | ModifyVpcEndpointConnectionNotificationCommandInput | ModifyVpcEndpointServiceConfigurationCommandInput @@ -3008,6 +3038,7 @@ export type ServiceOutputTypes = | CreateVerifiedAccessInstanceCommandOutput | CreateVerifiedAccessTrustProviderCommandOutput | CreateVolumeCommandOutput + | CreateVpcBlockPublicAccessExclusionCommandOutput | CreateVpcCommandOutput | CreateVpcEndpointCommandOutput | CreateVpcEndpointConnectionNotificationCommandOutput @@ -3083,6 +3114,7 @@ export type ServiceOutputTypes = | DeleteVerifiedAccessInstanceCommandOutput | DeleteVerifiedAccessTrustProviderCommandOutput | DeleteVolumeCommandOutput + | DeleteVpcBlockPublicAccessExclusionCommandOutput | DeleteVpcCommandOutput | DeleteVpcEndpointConnectionNotificationsCommandOutput | DeleteVpcEndpointServiceConfigurationsCommandOutput @@ -3242,6 +3274,8 @@ export type ServiceOutputTypes = | DescribeVolumesCommandOutput | DescribeVolumesModificationsCommandOutput | DescribeVpcAttributeCommandOutput + | DescribeVpcBlockPublicAccessExclusionsCommandOutput + | DescribeVpcBlockPublicAccessOptionsCommandOutput | DescribeVpcClassicLinkCommandOutput | DescribeVpcClassicLinkDnsSupportCommandOutput | DescribeVpcEndpointConnectionNotificationsCommandOutput @@ -3428,6 +3462,8 @@ export type ServiceOutputTypes = | ModifyVolumeAttributeCommandOutput | ModifyVolumeCommandOutput | ModifyVpcAttributeCommandOutput + | ModifyVpcBlockPublicAccessExclusionCommandOutput + | ModifyVpcBlockPublicAccessOptionsCommandOutput | ModifyVpcEndpointCommandOutput | ModifyVpcEndpointConnectionNotificationCommandOutput | ModifyVpcEndpointServiceConfigurationCommandOutput diff --git a/clients/client-ec2/src/commands/BundleInstanceCommand.ts b/clients/client-ec2/src/commands/BundleInstanceCommand.ts index c090ba00916f..c640470342f0 100644 --- a/clients/client-ec2/src/commands/BundleInstanceCommand.ts +++ b/clients/client-ec2/src/commands/BundleInstanceCommand.ts @@ -34,9 +34,11 @@ export interface BundleInstanceCommandOutput extends BundleInstanceResult, __Met /** *

Bundles an Amazon instance store-backed Windows instance.

- *

During bundling, only the root device volume (C:\) is bundled. Data on other instance store volumes is not preserved.

+ *

During bundling, only the root device volume (C:\) is bundled. Data on other instance + * store volumes is not preserved.

* - *

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

+ *

This action is not applicable for Linux/Unix instances or Windows instances that are + * backed by Amazon EBS.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/CancelImageLaunchPermissionCommand.ts b/clients/client-ec2/src/commands/CancelImageLaunchPermissionCommand.ts index c4cbbb42dc45..c8bda69dccc8 100644 --- a/clients/client-ec2/src/commands/CancelImageLaunchPermissionCommand.ts +++ b/clients/client-ec2/src/commands/CancelImageLaunchPermissionCommand.ts @@ -28,10 +28,9 @@ export interface CancelImageLaunchPermissionCommandInput extends CancelImageLaun export interface CancelImageLaunchPermissionCommandOutput extends CancelImageLaunchPermissionResult, __MetadataBearer {} /** - *

Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more - * information, see - * Cancel having an AMI shared with your Amazon Web Services account in the - * Amazon EC2 User Guide.

+ *

Removes your Amazon Web Services account from the launch permissions for the specified AMI. + * For more information, see Cancel having an AMI shared with + * your Amazon Web Services account in the Amazon EC2 User Guide.

* @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/CopyImageCommand.ts b/clients/client-ec2/src/commands/CopyImageCommand.ts index 84b15a648fc8..b8f2d3779232 100644 --- a/clients/client-ec2/src/commands/CopyImageCommand.ts +++ b/clients/client-ec2/src/commands/CopyImageCommand.ts @@ -31,13 +31,14 @@ export interface CopyImageCommandOutput extends CopyImageResult, __MetadataBeare *

Initiates an AMI copy operation. You can copy an AMI from one Region to another, or from a * Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to * another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

- *

When you copy an AMI from one Region to another, the destination Region is the - * current Region.

- *

When you copy an AMI from a Region to an Outpost, specify the ARN of the Outpost as - * the destination. Backing snapshots copied to an Outpost are encrypted by default using - * the default encryption key for the Region or the key that you specify. Outposts do not - * support unencrypted snapshots.

- *

For information about the prerequisites when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

+ *

When you copy an AMI from one Region to another, the destination Region is the current + * Region.

+ *

When you copy an AMI from a Region to an Outpost, specify the ARN of the Outpost as the + * destination. Backing snapshots copied to an Outpost are encrypted by default using the default + * encryption key for the Region or the key that you specify. Outposts do not support unencrypted + * snapshots.

+ *

For information about the prerequisites when copying an AMI, see Copy an AMI in the + * Amazon EC2 User Guide.

* @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/CreateDefaultSubnetCommand.ts b/clients/client-ec2/src/commands/CreateDefaultSubnetCommand.ts index f56ffd604427..caa7a9b167ac 100644 --- a/clients/client-ec2/src/commands/CreateDefaultSubnetCommand.ts +++ b/clients/client-ec2/src/commands/CreateDefaultSubnetCommand.ts @@ -80,6 +80,9 @@ export interface CreateDefaultSubnetCommandOutput extends CreateDefaultSubnetRes * // EnableResourceNameDnsARecord: true || false, * // EnableResourceNameDnsAAAARecord: true || false, * // }, + * // BlockPublicAccessStates: { // BlockPublicAccessStates + * // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", + * // }, * // SubnetId: "STRING_VALUE", * // State: "pending" || "available" || "unavailable", * // VpcId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/CreateDefaultVpcCommand.ts b/clients/client-ec2/src/commands/CreateDefaultVpcCommand.ts index a58b9dd8b88b..6be20a0df9ab 100644 --- a/clients/client-ec2/src/commands/CreateDefaultVpcCommand.ts +++ b/clients/client-ec2/src/commands/CreateDefaultVpcCommand.ts @@ -81,6 +81,9 @@ export interface CreateDefaultVpcCommandOutput extends CreateDefaultVpcResult, _ * // Value: "STRING_VALUE", * // }, * // ], + * // BlockPublicAccessStates: { // BlockPublicAccessStates + * // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", + * // }, * // VpcId: "STRING_VALUE", * // State: "pending" || "available", * // CidrBlock: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/CreateImageCommand.ts b/clients/client-ec2/src/commands/CreateImageCommand.ts index c882290ea8aa..236f14b0f0e8 100644 --- a/clients/client-ec2/src/commands/CreateImageCommand.ts +++ b/clients/client-ec2/src/commands/CreateImageCommand.ts @@ -28,11 +28,12 @@ export interface CreateImageCommandInput extends CreateImageRequest {} export interface CreateImageCommandOutput extends CreateImageResult, __MetadataBearer {} /** - *

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance - * that is either running or stopped.

- *

If you customized your instance with instance store volumes or Amazon EBS volumes in addition to the root device volume, the - * new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, - * the instance automatically launches with those additional volumes.

+ *

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or + * stopped.

+ *

If you customized your instance with instance store volumes or Amazon EBS volumes in addition + * to the root device volume, the new AMI contains block device mapping information for those + * volumes. When you launch an instance from this new AMI, the instance automatically launches + * with those additional volumes.

*

For more information, see Create an Amazon EBS-backed Linux * AMI in the Amazon Elastic Compute Cloud User Guide.

* @example diff --git a/clients/client-ec2/src/commands/CreateNetworkInsightsAccessScopeCommand.ts b/clients/client-ec2/src/commands/CreateNetworkInsightsAccessScopeCommand.ts index e2e13e2bc27b..297d2a9293db 100644 --- a/clients/client-ec2/src/commands/CreateNetworkInsightsAccessScopeCommand.ts +++ b/clients/client-ec2/src/commands/CreateNetworkInsightsAccessScopeCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateNetworkInsightsAccessScopeRequest } from "../models/models_1"; -import { CreateNetworkInsightsAccessScopeResult } from "../models/models_2"; +import { CreateNetworkInsightsAccessScopeRequest, CreateNetworkInsightsAccessScopeResult } from "../models/models_2"; import { de_CreateNetworkInsightsAccessScopeCommand, se_CreateNetworkInsightsAccessScopeCommand, diff --git a/clients/client-ec2/src/commands/CreateRestoreImageTaskCommand.ts b/clients/client-ec2/src/commands/CreateRestoreImageTaskCommand.ts index a2010f2056d3..db179f7fac01 100644 --- a/clients/client-ec2/src/commands/CreateRestoreImageTaskCommand.ts +++ b/clients/client-ec2/src/commands/CreateRestoreImageTaskCommand.ts @@ -28,12 +28,12 @@ export interface CreateRestoreImageTaskCommandInput extends CreateRestoreImageTa export interface CreateRestoreImageTaskCommandOutput extends CreateRestoreImageTaskResult, __MetadataBearer {} /** - *

Starts a task that restores an AMI from an Amazon S3 object that was previously created by using - * CreateStoreImageTask.

+ *

Starts a task that restores an AMI from an Amazon S3 object that was previously created by + * using CreateStoreImageTask.

*

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the * Amazon EC2 User Guide.

*

For more information, see Store and restore an AMI using - * Amazon S3 in the Amazon EC2 User Guide.

+ * Amazon S3 in the Amazon EC2 User Guide.

* @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/CreateStoreImageTaskCommand.ts b/clients/client-ec2/src/commands/CreateStoreImageTaskCommand.ts index 9666d1d83410..b561e7069ec5 100644 --- a/clients/client-ec2/src/commands/CreateStoreImageTaskCommand.ts +++ b/clients/client-ec2/src/commands/CreateStoreImageTaskCommand.ts @@ -32,7 +32,7 @@ export interface CreateStoreImageTaskCommandOutput extends CreateStoreImageTaskR *

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the * Amazon EC2 User Guide.

*

For more information, see Store and restore an AMI using - * Amazon S3 in the Amazon EC2 User Guide.

+ * Amazon S3 in the Amazon EC2 User Guide.

* @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/CreateSubnetCommand.ts b/clients/client-ec2/src/commands/CreateSubnetCommand.ts index a1b0b4523875..44d6ed69f084 100644 --- a/clients/client-ec2/src/commands/CreateSubnetCommand.ts +++ b/clients/client-ec2/src/commands/CreateSubnetCommand.ts @@ -113,6 +113,9 @@ export interface CreateSubnetCommandOutput extends CreateSubnetResult, __Metadat * // EnableResourceNameDnsARecord: true || false, * // EnableResourceNameDnsAAAARecord: true || false, * // }, + * // BlockPublicAccessStates: { // BlockPublicAccessStates + * // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", + * // }, * // SubnetId: "STRING_VALUE", * // State: "pending" || "available" || "unavailable", * // VpcId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/CreateVpcBlockPublicAccessExclusionCommand.ts b/clients/client-ec2/src/commands/CreateVpcBlockPublicAccessExclusionCommand.ts new file mode 100644 index 000000000000..05abd9338054 --- /dev/null +++ b/clients/client-ec2/src/commands/CreateVpcBlockPublicAccessExclusionCommand.ts @@ -0,0 +1,129 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateVpcBlockPublicAccessExclusionRequest, + CreateVpcBlockPublicAccessExclusionResult, +} from "../models/models_2"; +import { + de_CreateVpcBlockPublicAccessExclusionCommand, + se_CreateVpcBlockPublicAccessExclusionCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateVpcBlockPublicAccessExclusionCommand}. + */ +export interface CreateVpcBlockPublicAccessExclusionCommandInput extends CreateVpcBlockPublicAccessExclusionRequest {} +/** + * @public + * + * The output of {@link CreateVpcBlockPublicAccessExclusionCommand}. + */ +export interface CreateVpcBlockPublicAccessExclusionCommandOutput + extends CreateVpcBlockPublicAccessExclusionResult, + __MetadataBearer {} + +/** + *

Create a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, CreateVpcBlockPublicAccessExclusionCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, CreateVpcBlockPublicAccessExclusionCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // CreateVpcBlockPublicAccessExclusionRequest + * DryRun: true || false, + * SubnetId: "STRING_VALUE", + * VpcId: "STRING_VALUE", + * InternetGatewayExclusionMode: "allow-bidirectional" || "allow-egress", // required + * TagSpecifications: [ // TagSpecificationList + * { // TagSpecification + * ResourceType: "capacity-reservation" || "client-vpn-endpoint" || "customer-gateway" || "carrier-gateway" || "coip-pool" || "dedicated-host" || "dhcp-options" || "egress-only-internet-gateway" || "elastic-ip" || "elastic-gpu" || "export-image-task" || "export-instance-task" || "fleet" || "fpga-image" || "host-reservation" || "image" || "import-image-task" || "import-snapshot-task" || "instance" || "instance-event-window" || "internet-gateway" || "ipam" || "ipam-pool" || "ipam-scope" || "ipv4pool-ec2" || "ipv6pool-ec2" || "key-pair" || "launch-template" || "local-gateway" || "local-gateway-route-table" || "local-gateway-virtual-interface" || "local-gateway-virtual-interface-group" || "local-gateway-route-table-vpc-association" || "local-gateway-route-table-virtual-interface-group-association" || "natgateway" || "network-acl" || "network-interface" || "network-insights-analysis" || "network-insights-path" || "network-insights-access-scope" || "network-insights-access-scope-analysis" || "placement-group" || "prefix-list" || "replace-root-volume-task" || "reserved-instances" || "route-table" || "security-group" || "security-group-rule" || "snapshot" || "spot-fleet-request" || "spot-instances-request" || "subnet" || "subnet-cidr-reservation" || "traffic-mirror-filter" || "traffic-mirror-session" || "traffic-mirror-target" || "transit-gateway" || "transit-gateway-attachment" || "transit-gateway-connect-peer" || "transit-gateway-multicast-domain" || "transit-gateway-policy-table" || "transit-gateway-route-table" || "transit-gateway-route-table-announcement" || "volume" || "vpc" || "vpc-endpoint" || "vpc-endpoint-connection" || "vpc-endpoint-service" || "vpc-endpoint-service-permission" || "vpc-peering-connection" || "vpn-connection" || "vpn-gateway" || "vpc-flow-log" || "capacity-reservation-fleet" || "traffic-mirror-filter-rule" || "vpc-endpoint-connection-device-type" || "verified-access-instance" || "verified-access-group" || "verified-access-endpoint" || "verified-access-policy" || "verified-access-trust-provider" || "vpn-connection-device-type" || "vpc-block-public-access-exclusion" || "ipam-resource-discovery" || "ipam-resource-discovery-association" || "instance-connect-endpoint" || "ipam-external-resource-verification-token", + * Tags: [ // TagList + * { // Tag + * Key: "STRING_VALUE", + * Value: "STRING_VALUE", + * }, + * ], + * }, + * ], + * }; + * const command = new CreateVpcBlockPublicAccessExclusionCommand(input); + * const response = await client.send(command); + * // { // CreateVpcBlockPublicAccessExclusionResult + * // VpcBlockPublicAccessExclusion: { // VpcBlockPublicAccessExclusion + * // ExclusionId: "STRING_VALUE", + * // InternetGatewayExclusionMode: "allow-bidirectional" || "allow-egress", + * // ResourceArn: "STRING_VALUE", + * // State: "create-in-progress" || "create-complete" || "create-failed" || "update-in-progress" || "update-complete" || "update-failed" || "delete-in-progress" || "delete-complete" || "disable-in-progress" || "disable-complete", + * // Reason: "STRING_VALUE", + * // CreationTimestamp: new Date("TIMESTAMP"), + * // LastUpdateTimestamp: new Date("TIMESTAMP"), + * // DeletionTimestamp: new Date("TIMESTAMP"), + * // Tags: [ // TagList + * // { // Tag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // }; + * + * ``` + * + * @param CreateVpcBlockPublicAccessExclusionCommandInput - {@link CreateVpcBlockPublicAccessExclusionCommandInput} + * @returns {@link CreateVpcBlockPublicAccessExclusionCommandOutput} + * @see {@link CreateVpcBlockPublicAccessExclusionCommandInput} for command's `input` shape. + * @see {@link CreateVpcBlockPublicAccessExclusionCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class CreateVpcBlockPublicAccessExclusionCommand extends $Command + .classBuilder< + CreateVpcBlockPublicAccessExclusionCommandInput, + CreateVpcBlockPublicAccessExclusionCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "CreateVpcBlockPublicAccessExclusion", {}) + .n("EC2Client", "CreateVpcBlockPublicAccessExclusionCommand") + .f(void 0, void 0) + .ser(se_CreateVpcBlockPublicAccessExclusionCommand) + .de(de_CreateVpcBlockPublicAccessExclusionCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateVpcBlockPublicAccessExclusionRequest; + output: CreateVpcBlockPublicAccessExclusionResult; + }; + sdk: { + input: CreateVpcBlockPublicAccessExclusionCommandInput; + output: CreateVpcBlockPublicAccessExclusionCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/CreateVpcCommand.ts b/clients/client-ec2/src/commands/CreateVpcCommand.ts index 3d12021e5855..ac52adb3967d 100644 --- a/clients/client-ec2/src/commands/CreateVpcCommand.ts +++ b/clients/client-ec2/src/commands/CreateVpcCommand.ts @@ -107,6 +107,9 @@ export interface CreateVpcCommandOutput extends CreateVpcResult, __MetadataBeare * // Value: "STRING_VALUE", * // }, * // ], + * // BlockPublicAccessStates: { // BlockPublicAccessStates + * // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", + * // }, * // VpcId: "STRING_VALUE", * // State: "pending" || "available", * // CidrBlock: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/DeleteIpamExternalResourceVerificationTokenCommand.ts b/clients/client-ec2/src/commands/DeleteIpamExternalResourceVerificationTokenCommand.ts index b3b1c9084ee5..5a2b290654ce 100644 --- a/clients/client-ec2/src/commands/DeleteIpamExternalResourceVerificationTokenCommand.ts +++ b/clients/client-ec2/src/commands/DeleteIpamExternalResourceVerificationTokenCommand.ts @@ -6,10 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { - DeleteIpamExternalResourceVerificationTokenRequest, - DeleteIpamExternalResourceVerificationTokenResult, -} from "../models/models_2"; +import { DeleteIpamExternalResourceVerificationTokenRequest } from "../models/models_2"; +import { DeleteIpamExternalResourceVerificationTokenResult } from "../models/models_3"; import { de_DeleteIpamExternalResourceVerificationTokenCommand, se_DeleteIpamExternalResourceVerificationTokenCommand, diff --git a/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts b/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts index 4ed97632d8d8..e491a9ffc285 100644 --- a/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts +++ b/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteIpamPoolRequest, DeleteIpamPoolResult } from "../models/models_2"; +import { DeleteIpamPoolRequest, DeleteIpamPoolResult } from "../models/models_3"; import { de_DeleteIpamPoolCommand, se_DeleteIpamPoolCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteIpamResourceDiscoveryCommand.ts b/clients/client-ec2/src/commands/DeleteIpamResourceDiscoveryCommand.ts index 04f57662f27b..8f1c08c6dbd1 100644 --- a/clients/client-ec2/src/commands/DeleteIpamResourceDiscoveryCommand.ts +++ b/clients/client-ec2/src/commands/DeleteIpamResourceDiscoveryCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteIpamResourceDiscoveryRequest, DeleteIpamResourceDiscoveryResult } from "../models/models_2"; +import { DeleteIpamResourceDiscoveryRequest, DeleteIpamResourceDiscoveryResult } from "../models/models_3"; import { de_DeleteIpamResourceDiscoveryCommand, se_DeleteIpamResourceDiscoveryCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteIpamScopeCommand.ts b/clients/client-ec2/src/commands/DeleteIpamScopeCommand.ts index 0a3e85861446..8e6234ebe2d5 100644 --- a/clients/client-ec2/src/commands/DeleteIpamScopeCommand.ts +++ b/clients/client-ec2/src/commands/DeleteIpamScopeCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteIpamScopeRequest, DeleteIpamScopeResult } from "../models/models_2"; +import { DeleteIpamScopeRequest, DeleteIpamScopeResult } from "../models/models_3"; import { de_DeleteIpamScopeCommand, se_DeleteIpamScopeCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteVpcBlockPublicAccessExclusionCommand.ts b/clients/client-ec2/src/commands/DeleteVpcBlockPublicAccessExclusionCommand.ts new file mode 100644 index 000000000000..d9e7b1cb26d8 --- /dev/null +++ b/clients/client-ec2/src/commands/DeleteVpcBlockPublicAccessExclusionCommand.ts @@ -0,0 +1,116 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + DeleteVpcBlockPublicAccessExclusionRequest, + DeleteVpcBlockPublicAccessExclusionResult, +} from "../models/models_3"; +import { + de_DeleteVpcBlockPublicAccessExclusionCommand, + se_DeleteVpcBlockPublicAccessExclusionCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteVpcBlockPublicAccessExclusionCommand}. + */ +export interface DeleteVpcBlockPublicAccessExclusionCommandInput extends DeleteVpcBlockPublicAccessExclusionRequest {} +/** + * @public + * + * The output of {@link DeleteVpcBlockPublicAccessExclusionCommand}. + */ +export interface DeleteVpcBlockPublicAccessExclusionCommandOutput + extends DeleteVpcBlockPublicAccessExclusionResult, + __MetadataBearer {} + +/** + *

Delete a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeleteVpcBlockPublicAccessExclusionCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeleteVpcBlockPublicAccessExclusionCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DeleteVpcBlockPublicAccessExclusionRequest + * DryRun: true || false, + * ExclusionId: "STRING_VALUE", // required + * }; + * const command = new DeleteVpcBlockPublicAccessExclusionCommand(input); + * const response = await client.send(command); + * // { // DeleteVpcBlockPublicAccessExclusionResult + * // VpcBlockPublicAccessExclusion: { // VpcBlockPublicAccessExclusion + * // ExclusionId: "STRING_VALUE", + * // InternetGatewayExclusionMode: "allow-bidirectional" || "allow-egress", + * // ResourceArn: "STRING_VALUE", + * // State: "create-in-progress" || "create-complete" || "create-failed" || "update-in-progress" || "update-complete" || "update-failed" || "delete-in-progress" || "delete-complete" || "disable-in-progress" || "disable-complete", + * // Reason: "STRING_VALUE", + * // CreationTimestamp: new Date("TIMESTAMP"), + * // LastUpdateTimestamp: new Date("TIMESTAMP"), + * // DeletionTimestamp: new Date("TIMESTAMP"), + * // Tags: [ // TagList + * // { // Tag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // }; + * + * ``` + * + * @param DeleteVpcBlockPublicAccessExclusionCommandInput - {@link DeleteVpcBlockPublicAccessExclusionCommandInput} + * @returns {@link DeleteVpcBlockPublicAccessExclusionCommandOutput} + * @see {@link DeleteVpcBlockPublicAccessExclusionCommandInput} for command's `input` shape. + * @see {@link DeleteVpcBlockPublicAccessExclusionCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class DeleteVpcBlockPublicAccessExclusionCommand extends $Command + .classBuilder< + DeleteVpcBlockPublicAccessExclusionCommandInput, + DeleteVpcBlockPublicAccessExclusionCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "DeleteVpcBlockPublicAccessExclusion", {}) + .n("EC2Client", "DeleteVpcBlockPublicAccessExclusionCommand") + .f(void 0, void 0) + .ser(se_DeleteVpcBlockPublicAccessExclusionCommand) + .de(de_DeleteVpcBlockPublicAccessExclusionCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteVpcBlockPublicAccessExclusionRequest; + output: DeleteVpcBlockPublicAccessExclusionResult; + }; + sdk: { + input: DeleteVpcBlockPublicAccessExclusionCommandInput; + output: DeleteVpcBlockPublicAccessExclusionCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/DeregisterImageCommand.ts b/clients/client-ec2/src/commands/DeregisterImageCommand.ts index 2673143ef050..0cdf76e82533 100644 --- a/clients/client-ec2/src/commands/DeregisterImageCommand.ts +++ b/clients/client-ec2/src/commands/DeregisterImageCommand.ts @@ -28,18 +28,18 @@ export interface DeregisterImageCommandInput extends DeregisterImageRequest {} export interface DeregisterImageCommandOutput extends __MetadataBearer {} /** - *

Deregisters the specified AMI. After you deregister an AMI, it can't be used to - * launch new instances.

- *

If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is retained - * in the Recycle Bin for the specified retention period. For more information, see Recycle Bin in + *

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new + * instances.

+ *

If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is retained in + * the Recycle Bin for the specified retention period. For more information, see Recycle Bin in * the Amazon EC2 User Guide.

- *

When you deregister an AMI, it doesn't affect any instances that you've already - * launched from the AMI. You'll continue to incur usage costs for those instances until - * you terminate them.

- *

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was - * created for the root volume of the instance during the AMI creation process. When you - * deregister an instance store-backed AMI, it doesn't affect the files that you uploaded - * to Amazon S3 when you created the AMI.

+ *

When you deregister an AMI, it doesn't affect any instances that you've already launched + * from the AMI. You'll continue to incur usage costs for those instances until you terminate + * them.

+ *

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created + * for the root volume of the instance during the AMI creation process. When you deregister an + * instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you + * created the AMI.

* @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/DescribeBundleTasksCommand.ts b/clients/client-ec2/src/commands/DescribeBundleTasksCommand.ts index 330b662916bf..411f0abe3e14 100644 --- a/clients/client-ec2/src/commands/DescribeBundleTasksCommand.ts +++ b/clients/client-ec2/src/commands/DescribeBundleTasksCommand.ts @@ -34,12 +34,14 @@ export interface DescribeBundleTasksCommandOutput extends DescribeBundleTasksRes /** *

Describes the specified bundle tasks or all of your bundle tasks.

* - *

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

+ *

Completed bundle tasks are listed for only a limited time. If your bundle task is no + * longer in the list, you can still register an AMI from it. Just use + * RegisterImage with the Amazon S3 bucket name and image manifest name you provided + * to the bundle task.

*
* - *

The order of the elements in the response, including those within nested - * structures, might vary. Applications should not assume the elements appear in a - * particular order.

+ *

The order of the elements in the response, including those within nested structures, + * might vary. Applications should not assume the elements appear in a particular order.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/DescribeHostsCommand.ts b/clients/client-ec2/src/commands/DescribeHostsCommand.ts index f1c2c9452ed5..3c74f74b82dc 100644 --- a/clients/client-ec2/src/commands/DescribeHostsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeHostsCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeHostsRequest, DescribeHostsResult } from "../models/models_3"; +import { DescribeHostsRequest, DescribeHostsResult } from "../models/models_4"; import { de_DescribeHostsCommand, se_DescribeHostsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeIamInstanceProfileAssociationsCommand.ts b/clients/client-ec2/src/commands/DescribeIamInstanceProfileAssociationsCommand.ts index b7ff1308332d..97f3ced2995b 100644 --- a/clients/client-ec2/src/commands/DescribeIamInstanceProfileAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeIamInstanceProfileAssociationsCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { DescribeIamInstanceProfileAssociationsRequest, DescribeIamInstanceProfileAssociationsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { de_DescribeIamInstanceProfileAssociationsCommand, se_DescribeIamInstanceProfileAssociationsCommand, diff --git a/clients/client-ec2/src/commands/DescribeImageAttributeCommand.ts b/clients/client-ec2/src/commands/DescribeImageAttributeCommand.ts index 95f7c543eb56..afc22fdbd92f 100644 --- a/clients/client-ec2/src/commands/DescribeImageAttributeCommand.ts +++ b/clients/client-ec2/src/commands/DescribeImageAttributeCommand.ts @@ -28,11 +28,11 @@ export interface DescribeImageAttributeCommandInput extends DescribeImageAttribu export interface DescribeImageAttributeCommandOutput extends ImageAttribute, __MetadataBearer {} /** - *

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

+ *

Describes the specified attribute of the specified AMI. You can specify only one attribute + * at a time.

* - *

The order of the elements in the response, including those within nested - * structures, might vary. Applications should not assume the elements appear in a - * particular order.

+ *

The order of the elements in the response, including those within nested structures, + * might vary. Applications should not assume the elements appear in a particular order.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/DescribeImagesCommand.ts b/clients/client-ec2/src/commands/DescribeImagesCommand.ts index 5c5c8b466ab2..946420ccb6ea 100644 --- a/clients/client-ec2/src/commands/DescribeImagesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeImagesCommand.ts @@ -28,21 +28,22 @@ export interface DescribeImagesCommandInput extends DescribeImagesRequest {} export interface DescribeImagesCommandOutput extends DescribeImagesResult, __MetadataBearer {} /** - *

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

- *

The images available to you include public images, private images that you own, and private images owned by other - * Amazon Web Services accounts for which you have explicit launch permissions.

+ *

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the + * images available to you.

+ *

The images available to you include public images, private images that you own, and + * private images owned by other Amazon Web Services accounts for which you have explicit launch + * permissions.

*

Recently deregistered images appear in the returned results for a short interval and then * return empty results. After all instances that reference a deregistered AMI are terminated, * specifying the ID of the image will eventually return an error indicating that the AMI ID * cannot be found.

* *

We strongly recommend using only paginated requests. Unpaginated requests are - * susceptible to throttling and timeouts.

+ * susceptible to throttling and timeouts.

*
* - *

The order of the elements in the response, including those within nested - * structures, might vary. Applications should not assume the elements appear in a - * particular order.

+ *

The order of the elements in the response, including those within nested structures, + * might vary. Applications should not assume the elements appear in a particular order.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/DescribeSnapshotAttributeCommand.ts b/clients/client-ec2/src/commands/DescribeSnapshotAttributeCommand.ts index 929a4368d11f..c5c1f9b70938 100644 --- a/clients/client-ec2/src/commands/DescribeSnapshotAttributeCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSnapshotAttributeCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeSnapshotAttributeRequest, DescribeSnapshotAttributeResult } from "../models/models_4"; +import { DescribeSnapshotAttributeRequest, DescribeSnapshotAttributeResult } from "../models/models_5"; import { de_DescribeSnapshotAttributeCommand, se_DescribeSnapshotAttributeCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeSnapshotTierStatusCommand.ts b/clients/client-ec2/src/commands/DescribeSnapshotTierStatusCommand.ts index bd4cb6cab43e..f33309e250bf 100644 --- a/clients/client-ec2/src/commands/DescribeSnapshotTierStatusCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSnapshotTierStatusCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeSnapshotTierStatusRequest } from "../models/models_4"; -import { DescribeSnapshotTierStatusResult } from "../models/models_5"; +import { DescribeSnapshotTierStatusRequest, DescribeSnapshotTierStatusResult } from "../models/models_5"; import { de_DescribeSnapshotTierStatusCommand, se_DescribeSnapshotTierStatusCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts b/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts index b641635e9ab0..01ee99409790 100644 --- a/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSnapshotsCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeSnapshotsRequest, DescribeSnapshotsResult } from "../models/models_4"; +import { DescribeSnapshotsRequest, DescribeSnapshotsResult } from "../models/models_5"; import { de_DescribeSnapshotsCommand, se_DescribeSnapshotsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeStoreImageTasksCommand.ts b/clients/client-ec2/src/commands/DescribeStoreImageTasksCommand.ts index e2e0557b3461..8651f60aca3f 100644 --- a/clients/client-ec2/src/commands/DescribeStoreImageTasksCommand.ts +++ b/clients/client-ec2/src/commands/DescribeStoreImageTasksCommand.ts @@ -39,7 +39,7 @@ export interface DescribeStoreImageTasksCommandOutput extends DescribeStoreImage *

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the * Amazon EC2 User Guide.

*

For more information, see Store and restore an AMI using - * Amazon S3 in the Amazon EC2 User Guide.

+ * Amazon S3 in the Amazon EC2 User Guide.

* @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/DescribeSubnetsCommand.ts b/clients/client-ec2/src/commands/DescribeSubnetsCommand.ts index 6c590e1319d7..d5a673d46ec2 100644 --- a/clients/client-ec2/src/commands/DescribeSubnetsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSubnetsCommand.ts @@ -94,6 +94,9 @@ export interface DescribeSubnetsCommandOutput extends DescribeSubnetsResult, __M * // EnableResourceNameDnsARecord: true || false, * // EnableResourceNameDnsAAAARecord: true || false, * // }, + * // BlockPublicAccessStates: { // BlockPublicAccessStates + * // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", + * // }, * // SubnetId: "STRING_VALUE", * // State: "pending" || "available" || "unavailable", * // VpcId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/DescribeVpcBlockPublicAccessExclusionsCommand.ts b/clients/client-ec2/src/commands/DescribeVpcBlockPublicAccessExclusionsCommand.ts new file mode 100644 index 000000000000..6cb1f8af3076 --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeVpcBlockPublicAccessExclusionsCommand.ts @@ -0,0 +1,132 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + DescribeVpcBlockPublicAccessExclusionsRequest, + DescribeVpcBlockPublicAccessExclusionsResult, +} from "../models/models_5"; +import { + de_DescribeVpcBlockPublicAccessExclusionsCommand, + se_DescribeVpcBlockPublicAccessExclusionsCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeVpcBlockPublicAccessExclusionsCommand}. + */ +export interface DescribeVpcBlockPublicAccessExclusionsCommandInput + extends DescribeVpcBlockPublicAccessExclusionsRequest {} +/** + * @public + * + * The output of {@link DescribeVpcBlockPublicAccessExclusionsCommand}. + */ +export interface DescribeVpcBlockPublicAccessExclusionsCommandOutput + extends DescribeVpcBlockPublicAccessExclusionsResult, + __MetadataBearer {} + +/** + *

Describe VPC Block Public Access (BPA) exclusions. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeVpcBlockPublicAccessExclusionsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeVpcBlockPublicAccessExclusionsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DescribeVpcBlockPublicAccessExclusionsRequest + * DryRun: true || false, + * Filters: [ // FilterList + * { // Filter + * Name: "STRING_VALUE", + * Values: [ // ValueStringList + * "STRING_VALUE", + * ], + * }, + * ], + * ExclusionIds: [ // VpcBlockPublicAccessExclusionIdList + * "STRING_VALUE", + * ], + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * }; + * const command = new DescribeVpcBlockPublicAccessExclusionsCommand(input); + * const response = await client.send(command); + * // { // DescribeVpcBlockPublicAccessExclusionsResult + * // VpcBlockPublicAccessExclusions: [ // VpcBlockPublicAccessExclusionList + * // { // VpcBlockPublicAccessExclusion + * // ExclusionId: "STRING_VALUE", + * // InternetGatewayExclusionMode: "allow-bidirectional" || "allow-egress", + * // ResourceArn: "STRING_VALUE", + * // State: "create-in-progress" || "create-complete" || "create-failed" || "update-in-progress" || "update-complete" || "update-failed" || "delete-in-progress" || "delete-complete" || "disable-in-progress" || "disable-complete", + * // Reason: "STRING_VALUE", + * // CreationTimestamp: new Date("TIMESTAMP"), + * // LastUpdateTimestamp: new Date("TIMESTAMP"), + * // DeletionTimestamp: new Date("TIMESTAMP"), + * // Tags: [ // TagList + * // { // Tag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeVpcBlockPublicAccessExclusionsCommandInput - {@link DescribeVpcBlockPublicAccessExclusionsCommandInput} + * @returns {@link DescribeVpcBlockPublicAccessExclusionsCommandOutput} + * @see {@link DescribeVpcBlockPublicAccessExclusionsCommandInput} for command's `input` shape. + * @see {@link DescribeVpcBlockPublicAccessExclusionsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class DescribeVpcBlockPublicAccessExclusionsCommand extends $Command + .classBuilder< + DescribeVpcBlockPublicAccessExclusionsCommandInput, + DescribeVpcBlockPublicAccessExclusionsCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "DescribeVpcBlockPublicAccessExclusions", {}) + .n("EC2Client", "DescribeVpcBlockPublicAccessExclusionsCommand") + .f(void 0, void 0) + .ser(se_DescribeVpcBlockPublicAccessExclusionsCommand) + .de(de_DescribeVpcBlockPublicAccessExclusionsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeVpcBlockPublicAccessExclusionsRequest; + output: DescribeVpcBlockPublicAccessExclusionsResult; + }; + sdk: { + input: DescribeVpcBlockPublicAccessExclusionsCommandInput; + output: DescribeVpcBlockPublicAccessExclusionsCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/DescribeVpcBlockPublicAccessOptionsCommand.ts b/clients/client-ec2/src/commands/DescribeVpcBlockPublicAccessOptionsCommand.ts new file mode 100644 index 000000000000..7b43f97c3671 --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeVpcBlockPublicAccessOptionsCommand.ts @@ -0,0 +1,107 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + DescribeVpcBlockPublicAccessOptionsRequest, + DescribeVpcBlockPublicAccessOptionsResult, +} from "../models/models_5"; +import { + de_DescribeVpcBlockPublicAccessOptionsCommand, + se_DescribeVpcBlockPublicAccessOptionsCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeVpcBlockPublicAccessOptionsCommand}. + */ +export interface DescribeVpcBlockPublicAccessOptionsCommandInput extends DescribeVpcBlockPublicAccessOptionsRequest {} +/** + * @public + * + * The output of {@link DescribeVpcBlockPublicAccessOptionsCommand}. + */ +export interface DescribeVpcBlockPublicAccessOptionsCommandOutput + extends DescribeVpcBlockPublicAccessOptionsResult, + __MetadataBearer {} + +/** + *

Describe VPC Block Public Access (BPA) options. VPC Block public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeVpcBlockPublicAccessOptionsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeVpcBlockPublicAccessOptionsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DescribeVpcBlockPublicAccessOptionsRequest + * DryRun: true || false, + * }; + * const command = new DescribeVpcBlockPublicAccessOptionsCommand(input); + * const response = await client.send(command); + * // { // DescribeVpcBlockPublicAccessOptionsResult + * // VpcBlockPublicAccessOptions: { // VpcBlockPublicAccessOptions + * // AwsAccountId: "STRING_VALUE", + * // AwsRegion: "STRING_VALUE", + * // State: "default-state" || "update-in-progress" || "update-complete", + * // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", + * // Reason: "STRING_VALUE", + * // LastUpdateTimestamp: new Date("TIMESTAMP"), + * // }, + * // }; + * + * ``` + * + * @param DescribeVpcBlockPublicAccessOptionsCommandInput - {@link DescribeVpcBlockPublicAccessOptionsCommandInput} + * @returns {@link DescribeVpcBlockPublicAccessOptionsCommandOutput} + * @see {@link DescribeVpcBlockPublicAccessOptionsCommandInput} for command's `input` shape. + * @see {@link DescribeVpcBlockPublicAccessOptionsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class DescribeVpcBlockPublicAccessOptionsCommand extends $Command + .classBuilder< + DescribeVpcBlockPublicAccessOptionsCommandInput, + DescribeVpcBlockPublicAccessOptionsCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "DescribeVpcBlockPublicAccessOptions", {}) + .n("EC2Client", "DescribeVpcBlockPublicAccessOptionsCommand") + .f(void 0, void 0) + .ser(se_DescribeVpcBlockPublicAccessOptionsCommand) + .de(de_DescribeVpcBlockPublicAccessOptionsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeVpcBlockPublicAccessOptionsRequest; + output: DescribeVpcBlockPublicAccessOptionsResult; + }; + sdk: { + input: DescribeVpcBlockPublicAccessOptionsCommandInput; + output: DescribeVpcBlockPublicAccessOptionsCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/DescribeVpcsCommand.ts b/clients/client-ec2/src/commands/DescribeVpcsCommand.ts index 6aac92e92407..d7d2ef3ff7d3 100644 --- a/clients/client-ec2/src/commands/DescribeVpcsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeVpcsCommand.ts @@ -92,6 +92,9 @@ export interface DescribeVpcsCommandOutput extends DescribeVpcsResult, __Metadat * // Value: "STRING_VALUE", * // }, * // ], + * // BlockPublicAccessStates: { // BlockPublicAccessStates + * // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", + * // }, * // VpcId: "STRING_VALUE", * // State: "pending" || "available", * // CidrBlock: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/DisableFastLaunchCommand.ts b/clients/client-ec2/src/commands/DisableFastLaunchCommand.ts index 018040329651..480cc0ecfb9e 100644 --- a/clients/client-ec2/src/commands/DisableFastLaunchCommand.ts +++ b/clients/client-ec2/src/commands/DisableFastLaunchCommand.ts @@ -28,11 +28,13 @@ export interface DisableFastLaunchCommandInput extends DisableFastLaunchRequest export interface DisableFastLaunchCommandOutput extends DisableFastLaunchResult, __MetadataBearer {} /** - *

Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned snapshots. - * After you disable Windows fast launch, the AMI uses the standard launch process for each - * new instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable Windows fast launch again.

+ *

Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned + * snapshots. After you disable Windows fast launch, the AMI uses the standard launch process for + * each new instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable + * Windows fast launch again.

* - *

You can only change these settings for Windows AMIs that you own or that have been shared with you.

+ *

You can only change these settings for Windows AMIs that you own or that have been + * shared with you.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/DisableImageBlockPublicAccessCommand.ts b/clients/client-ec2/src/commands/DisableImageBlockPublicAccessCommand.ts index 425cd05e56e7..1deb375ea52f 100644 --- a/clients/client-ec2/src/commands/DisableImageBlockPublicAccessCommand.ts +++ b/clients/client-ec2/src/commands/DisableImageBlockPublicAccessCommand.ts @@ -38,8 +38,8 @@ export interface DisableImageBlockPublicAccessCommandOutput * GetImageBlockPublicAccessState, the response will be * block-new-sharing. When the API has completed the configuration, the response * will be unblocked.

- *

For more information, see Block public access to your AMIs in - * the Amazon EC2 User Guide.

+ *

For more information, see Block + * public access to your AMIs in the Amazon EC2 User Guide.

* @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/EnableFastLaunchCommand.ts b/clients/client-ec2/src/commands/EnableFastLaunchCommand.ts index f68731b896ad..6771b13f86fd 100644 --- a/clients/client-ec2/src/commands/EnableFastLaunchCommand.ts +++ b/clients/client-ec2/src/commands/EnableFastLaunchCommand.ts @@ -28,14 +28,15 @@ export interface EnableFastLaunchCommandInput extends EnableFastLaunchRequest {} export interface EnableFastLaunchCommandOutput extends EnableFastLaunchResult, __MetadataBearer {} /** - *

When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, - * using snapshots to launch instances up to 65% faster. To create the optimized Windows - * image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. - * Then it creates a set of reserved snapshots that are used for subsequent launches. The - * reserved snapshots are automatically replenished as they are used, depending on your - * settings for launch frequency.

+ *

When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, using + * snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 + * launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a + * set of reserved snapshots that are used for subsequent launches. The reserved snapshots are + * automatically replenished as they are used, depending on your settings for launch + * frequency.

* - *

You can only change these settings for Windows AMIs that you own or that have been shared with you.

+ *

You can only change these settings for Windows AMIs that you own or that have been + * shared with you.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/EnableImageDeprecationCommand.ts b/clients/client-ec2/src/commands/EnableImageDeprecationCommand.ts index 211b5b2428b3..76a67511aae2 100644 --- a/clients/client-ec2/src/commands/EnableImageDeprecationCommand.ts +++ b/clients/client-ec2/src/commands/EnableImageDeprecationCommand.ts @@ -29,7 +29,8 @@ export interface EnableImageDeprecationCommandOutput extends EnableImageDeprecat /** *

Enables deprecation of the specified AMI at the specified date and time.

- *

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

+ *

For more information, see Deprecate an AMI in the + * Amazon EC2 User Guide.

* @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/GetAssociatedEnclaveCertificateIamRolesCommand.ts b/clients/client-ec2/src/commands/GetAssociatedEnclaveCertificateIamRolesCommand.ts index b7214bcfeb2a..0725bdaa1703 100644 --- a/clients/client-ec2/src/commands/GetAssociatedEnclaveCertificateIamRolesCommand.ts +++ b/clients/client-ec2/src/commands/GetAssociatedEnclaveCertificateIamRolesCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { GetAssociatedEnclaveCertificateIamRolesRequest, GetAssociatedEnclaveCertificateIamRolesResult, -} from "../models/models_5"; +} from "../models/models_6"; import { de_GetAssociatedEnclaveCertificateIamRolesCommand, se_GetAssociatedEnclaveCertificateIamRolesCommand, diff --git a/clients/client-ec2/src/commands/GetAssociatedIpv6PoolCidrsCommand.ts b/clients/client-ec2/src/commands/GetAssociatedIpv6PoolCidrsCommand.ts index 74767d8709b9..d4b7ca3f1225 100644 --- a/clients/client-ec2/src/commands/GetAssociatedIpv6PoolCidrsCommand.ts +++ b/clients/client-ec2/src/commands/GetAssociatedIpv6PoolCidrsCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetAssociatedIpv6PoolCidrsRequest, GetAssociatedIpv6PoolCidrsResult } from "../models/models_5"; +import { GetAssociatedIpv6PoolCidrsRequest, GetAssociatedIpv6PoolCidrsResult } from "../models/models_6"; import { de_GetAssociatedIpv6PoolCidrsCommand, se_GetAssociatedIpv6PoolCidrsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetAwsNetworkPerformanceDataCommand.ts b/clients/client-ec2/src/commands/GetAwsNetworkPerformanceDataCommand.ts index a9ffae84f027..a4ea27d1c611 100644 --- a/clients/client-ec2/src/commands/GetAwsNetworkPerformanceDataCommand.ts +++ b/clients/client-ec2/src/commands/GetAwsNetworkPerformanceDataCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetAwsNetworkPerformanceDataRequest, GetAwsNetworkPerformanceDataResult } from "../models/models_5"; +import { GetAwsNetworkPerformanceDataRequest, GetAwsNetworkPerformanceDataResult } from "../models/models_6"; import { de_GetAwsNetworkPerformanceDataCommand, se_GetAwsNetworkPerformanceDataCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetCapacityReservationUsageCommand.ts b/clients/client-ec2/src/commands/GetCapacityReservationUsageCommand.ts index 3c93b9c87468..34d8ada0a32c 100644 --- a/clients/client-ec2/src/commands/GetCapacityReservationUsageCommand.ts +++ b/clients/client-ec2/src/commands/GetCapacityReservationUsageCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetCapacityReservationUsageRequest, GetCapacityReservationUsageResult } from "../models/models_5"; +import { GetCapacityReservationUsageRequest, GetCapacityReservationUsageResult } from "../models/models_6"; import { de_GetCapacityReservationUsageCommand, se_GetCapacityReservationUsageCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetCoipPoolUsageCommand.ts b/clients/client-ec2/src/commands/GetCoipPoolUsageCommand.ts index f8a27912efa1..86be9f3bc435 100644 --- a/clients/client-ec2/src/commands/GetCoipPoolUsageCommand.ts +++ b/clients/client-ec2/src/commands/GetCoipPoolUsageCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetCoipPoolUsageRequest } from "../models/models_5"; -import { GetCoipPoolUsageResult } from "../models/models_6"; +import { GetCoipPoolUsageRequest, GetCoipPoolUsageResult } from "../models/models_6"; import { de_GetCoipPoolUsageCommand, se_GetCoipPoolUsageCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ListImagesInRecycleBinCommand.ts b/clients/client-ec2/src/commands/ListImagesInRecycleBinCommand.ts index 559ff88d02bf..91183d6b6f48 100644 --- a/clients/client-ec2/src/commands/ListImagesInRecycleBinCommand.ts +++ b/clients/client-ec2/src/commands/ListImagesInRecycleBinCommand.ts @@ -28,8 +28,8 @@ export interface ListImagesInRecycleBinCommandInput extends ListImagesInRecycleB export interface ListImagesInRecycleBinCommandOutput extends ListImagesInRecycleBinResult, __MetadataBearer {} /** - *

Lists one or more AMIs that are currently in the Recycle Bin. For more information, - * see Recycle + *

Lists one or more AMIs that are currently in the Recycle Bin. For more information, see + * Recycle * Bin in the Amazon EC2 User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/ModifyImageAttributeCommand.ts b/clients/client-ec2/src/commands/ModifyImageAttributeCommand.ts index c1f098307c02..e8b9e7c189b4 100644 --- a/clients/client-ec2/src/commands/ModifyImageAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyImageAttributeCommand.ts @@ -28,12 +28,14 @@ export interface ModifyImageAttributeCommandInput extends ModifyImageAttributeRe export interface ModifyImageAttributeCommandOutput extends __MetadataBearer {} /** - *

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

- *

To specify the attribute, you can use the Attribute parameter, or one of the following parameters: - * Description, ImdsSupport, or LaunchPermission.

+ *

Modifies the specified attribute of the specified AMI. You can specify only one attribute + * at a time.

+ *

To specify the attribute, you can use the Attribute parameter, or one of the + * following parameters: Description, ImdsSupport, or + * LaunchPermission.

*

Images with an Amazon Web Services Marketplace product code cannot be made public.

- *

To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance - * and create an AMI from the instance.

+ *

To enable the SriovNetSupport enhanced networking attribute of an image, enable + * SriovNetSupport on an instance and create an AMI from the instance.

* @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/ModifyVerifiedAccessEndpointCommand.ts b/clients/client-ec2/src/commands/ModifyVerifiedAccessEndpointCommand.ts index 57de21334c6a..d104658f994a 100644 --- a/clients/client-ec2/src/commands/ModifyVerifiedAccessEndpointCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVerifiedAccessEndpointCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyVerifiedAccessEndpointRequest, ModifyVerifiedAccessEndpointResult } from "../models/models_6"; +import { ModifyVerifiedAccessEndpointRequest, ModifyVerifiedAccessEndpointResult } from "../models/models_7"; import { de_ModifyVerifiedAccessEndpointCommand, se_ModifyVerifiedAccessEndpointCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyVerifiedAccessEndpointPolicyCommand.ts b/clients/client-ec2/src/commands/ModifyVerifiedAccessEndpointPolicyCommand.ts index 909c121af75c..4a24471bc2cc 100644 --- a/clients/client-ec2/src/commands/ModifyVerifiedAccessEndpointPolicyCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVerifiedAccessEndpointPolicyCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { ModifyVerifiedAccessEndpointPolicyRequest, ModifyVerifiedAccessEndpointPolicyResult, -} from "../models/models_6"; +} from "../models/models_7"; import { de_ModifyVerifiedAccessEndpointPolicyCommand, se_ModifyVerifiedAccessEndpointPolicyCommand, diff --git a/clients/client-ec2/src/commands/ModifyVerifiedAccessGroupCommand.ts b/clients/client-ec2/src/commands/ModifyVerifiedAccessGroupCommand.ts index 841baaa75286..3ffe6a96e8bd 100644 --- a/clients/client-ec2/src/commands/ModifyVerifiedAccessGroupCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVerifiedAccessGroupCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyVerifiedAccessGroupRequest, ModifyVerifiedAccessGroupResult } from "../models/models_6"; +import { ModifyVerifiedAccessGroupRequest, ModifyVerifiedAccessGroupResult } from "../models/models_7"; import { de_ModifyVerifiedAccessGroupCommand, se_ModifyVerifiedAccessGroupCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyVerifiedAccessGroupPolicyCommand.ts b/clients/client-ec2/src/commands/ModifyVerifiedAccessGroupPolicyCommand.ts index 0265d100b8b6..5dc31bba1da2 100644 --- a/clients/client-ec2/src/commands/ModifyVerifiedAccessGroupPolicyCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVerifiedAccessGroupPolicyCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyVerifiedAccessGroupPolicyRequest, ModifyVerifiedAccessGroupPolicyResult } from "../models/models_6"; +import { ModifyVerifiedAccessGroupPolicyRequest, ModifyVerifiedAccessGroupPolicyResult } from "../models/models_7"; import { de_ModifyVerifiedAccessGroupPolicyCommand, se_ModifyVerifiedAccessGroupPolicyCommand, diff --git a/clients/client-ec2/src/commands/ModifyVerifiedAccessInstanceCommand.ts b/clients/client-ec2/src/commands/ModifyVerifiedAccessInstanceCommand.ts index cde502e674ff..ad88bb83d7eb 100644 --- a/clients/client-ec2/src/commands/ModifyVerifiedAccessInstanceCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVerifiedAccessInstanceCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyVerifiedAccessInstanceRequest, ModifyVerifiedAccessInstanceResult } from "../models/models_6"; +import { ModifyVerifiedAccessInstanceRequest, ModifyVerifiedAccessInstanceResult } from "../models/models_7"; import { de_ModifyVerifiedAccessInstanceCommand, se_ModifyVerifiedAccessInstanceCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyVerifiedAccessInstanceLoggingConfigurationCommand.ts b/clients/client-ec2/src/commands/ModifyVerifiedAccessInstanceLoggingConfigurationCommand.ts index c349a9b5256b..541a3cb7223b 100644 --- a/clients/client-ec2/src/commands/ModifyVerifiedAccessInstanceLoggingConfigurationCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVerifiedAccessInstanceLoggingConfigurationCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { ModifyVerifiedAccessInstanceLoggingConfigurationRequest, ModifyVerifiedAccessInstanceLoggingConfigurationResult, -} from "../models/models_6"; +} from "../models/models_7"; import { de_ModifyVerifiedAccessInstanceLoggingConfigurationCommand, se_ModifyVerifiedAccessInstanceLoggingConfigurationCommand, diff --git a/clients/client-ec2/src/commands/ModifyVpcBlockPublicAccessExclusionCommand.ts b/clients/client-ec2/src/commands/ModifyVpcBlockPublicAccessExclusionCommand.ts new file mode 100644 index 000000000000..4f4a04aab9fd --- /dev/null +++ b/clients/client-ec2/src/commands/ModifyVpcBlockPublicAccessExclusionCommand.ts @@ -0,0 +1,117 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ModifyVpcBlockPublicAccessExclusionRequest, + ModifyVpcBlockPublicAccessExclusionResult, +} from "../models/models_7"; +import { + de_ModifyVpcBlockPublicAccessExclusionCommand, + se_ModifyVpcBlockPublicAccessExclusionCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ModifyVpcBlockPublicAccessExclusionCommand}. + */ +export interface ModifyVpcBlockPublicAccessExclusionCommandInput extends ModifyVpcBlockPublicAccessExclusionRequest {} +/** + * @public + * + * The output of {@link ModifyVpcBlockPublicAccessExclusionCommand}. + */ +export interface ModifyVpcBlockPublicAccessExclusionCommandOutput + extends ModifyVpcBlockPublicAccessExclusionResult, + __MetadataBearer {} + +/** + *

Modify VPC Block Public Access (BPA) exclusions. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ModifyVpcBlockPublicAccessExclusionCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ModifyVpcBlockPublicAccessExclusionCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // ModifyVpcBlockPublicAccessExclusionRequest + * DryRun: true || false, + * ExclusionId: "STRING_VALUE", // required + * InternetGatewayExclusionMode: "allow-bidirectional" || "allow-egress", // required + * }; + * const command = new ModifyVpcBlockPublicAccessExclusionCommand(input); + * const response = await client.send(command); + * // { // ModifyVpcBlockPublicAccessExclusionResult + * // VpcBlockPublicAccessExclusion: { // VpcBlockPublicAccessExclusion + * // ExclusionId: "STRING_VALUE", + * // InternetGatewayExclusionMode: "allow-bidirectional" || "allow-egress", + * // ResourceArn: "STRING_VALUE", + * // State: "create-in-progress" || "create-complete" || "create-failed" || "update-in-progress" || "update-complete" || "update-failed" || "delete-in-progress" || "delete-complete" || "disable-in-progress" || "disable-complete", + * // Reason: "STRING_VALUE", + * // CreationTimestamp: new Date("TIMESTAMP"), + * // LastUpdateTimestamp: new Date("TIMESTAMP"), + * // DeletionTimestamp: new Date("TIMESTAMP"), + * // Tags: [ // TagList + * // { // Tag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // }; + * + * ``` + * + * @param ModifyVpcBlockPublicAccessExclusionCommandInput - {@link ModifyVpcBlockPublicAccessExclusionCommandInput} + * @returns {@link ModifyVpcBlockPublicAccessExclusionCommandOutput} + * @see {@link ModifyVpcBlockPublicAccessExclusionCommandInput} for command's `input` shape. + * @see {@link ModifyVpcBlockPublicAccessExclusionCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class ModifyVpcBlockPublicAccessExclusionCommand extends $Command + .classBuilder< + ModifyVpcBlockPublicAccessExclusionCommandInput, + ModifyVpcBlockPublicAccessExclusionCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "ModifyVpcBlockPublicAccessExclusion", {}) + .n("EC2Client", "ModifyVpcBlockPublicAccessExclusionCommand") + .f(void 0, void 0) + .ser(se_ModifyVpcBlockPublicAccessExclusionCommand) + .de(de_ModifyVpcBlockPublicAccessExclusionCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ModifyVpcBlockPublicAccessExclusionRequest; + output: ModifyVpcBlockPublicAccessExclusionResult; + }; + sdk: { + input: ModifyVpcBlockPublicAccessExclusionCommandInput; + output: ModifyVpcBlockPublicAccessExclusionCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/ModifyVpcBlockPublicAccessOptionsCommand.ts b/clients/client-ec2/src/commands/ModifyVpcBlockPublicAccessOptionsCommand.ts new file mode 100644 index 000000000000..183317b355a2 --- /dev/null +++ b/clients/client-ec2/src/commands/ModifyVpcBlockPublicAccessOptionsCommand.ts @@ -0,0 +1,105 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ModifyVpcBlockPublicAccessOptionsRequest, ModifyVpcBlockPublicAccessOptionsResult } from "../models/models_7"; +import { + de_ModifyVpcBlockPublicAccessOptionsCommand, + se_ModifyVpcBlockPublicAccessOptionsCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ModifyVpcBlockPublicAccessOptionsCommand}. + */ +export interface ModifyVpcBlockPublicAccessOptionsCommandInput extends ModifyVpcBlockPublicAccessOptionsRequest {} +/** + * @public + * + * The output of {@link ModifyVpcBlockPublicAccessOptionsCommand}. + */ +export interface ModifyVpcBlockPublicAccessOptionsCommandOutput + extends ModifyVpcBlockPublicAccessOptionsResult, + __MetadataBearer {} + +/** + *

Modify VPC Block Public Access (BPA) options. VPC Block public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ModifyVpcBlockPublicAccessOptionsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ModifyVpcBlockPublicAccessOptionsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // ModifyVpcBlockPublicAccessOptionsRequest + * DryRun: true || false, + * InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", // required + * }; + * const command = new ModifyVpcBlockPublicAccessOptionsCommand(input); + * const response = await client.send(command); + * // { // ModifyVpcBlockPublicAccessOptionsResult + * // VpcBlockPublicAccessOptions: { // VpcBlockPublicAccessOptions + * // AwsAccountId: "STRING_VALUE", + * // AwsRegion: "STRING_VALUE", + * // State: "default-state" || "update-in-progress" || "update-complete", + * // InternetGatewayBlockMode: "off" || "block-bidirectional" || "block-ingress", + * // Reason: "STRING_VALUE", + * // LastUpdateTimestamp: new Date("TIMESTAMP"), + * // }, + * // }; + * + * ``` + * + * @param ModifyVpcBlockPublicAccessOptionsCommandInput - {@link ModifyVpcBlockPublicAccessOptionsCommandInput} + * @returns {@link ModifyVpcBlockPublicAccessOptionsCommandOutput} + * @see {@link ModifyVpcBlockPublicAccessOptionsCommandInput} for command's `input` shape. + * @see {@link ModifyVpcBlockPublicAccessOptionsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class ModifyVpcBlockPublicAccessOptionsCommand extends $Command + .classBuilder< + ModifyVpcBlockPublicAccessOptionsCommandInput, + ModifyVpcBlockPublicAccessOptionsCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "ModifyVpcBlockPublicAccessOptions", {}) + .n("EC2Client", "ModifyVpcBlockPublicAccessOptionsCommand") + .f(void 0, void 0) + .ser(se_ModifyVpcBlockPublicAccessOptionsCommand) + .de(de_ModifyVpcBlockPublicAccessOptionsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ModifyVpcBlockPublicAccessOptionsRequest; + output: ModifyVpcBlockPublicAccessOptionsResult; + }; + sdk: { + input: ModifyVpcBlockPublicAccessOptionsCommandInput; + output: ModifyVpcBlockPublicAccessOptionsCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/RegisterImageCommand.ts b/clients/client-ec2/src/commands/RegisterImageCommand.ts index ef8bc95a8f1f..d22511ca6872 100644 --- a/clients/client-ec2/src/commands/RegisterImageCommand.ts +++ b/clients/client-ec2/src/commands/RegisterImageCommand.ts @@ -44,18 +44,17 @@ export interface RegisterImageCommandOutput extends RegisterImageResult, __Metad *

* Register a snapshot of a root device volume *

- *

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from - * a snapshot of a root device volume. You specify the snapshot using a block device mapping. - * You can't set the encryption state of the volume using the block device mapping. If the - * snapshot is encrypted, or encryption by default is enabled, the root volume of an instance - * launched from the AMI is encrypted.

+ *

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot + * of a root device volume. You specify the snapshot using a block device mapping. You can't set + * the encryption state of the volume using the block device mapping. If the snapshot is + * encrypted, or encryption by default is enabled, the root volume of an instance launched from + * the AMI is encrypted.

*

For more information, see Create an AMI from a snapshot and Use encryption with Amazon EBS-backed * AMIs in the Amazon EC2 User Guide.

*

* Amazon Web Services Marketplace product codes *

- *

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new - * AMI.

+ *

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

*

In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct licensing * information to be present on the AMI. For more information, see Understand AMI billing * information in the Amazon EC2 User Guide. When creating an AMI from diff --git a/clients/client-ec2/src/commands/RestoreImageFromRecycleBinCommand.ts b/clients/client-ec2/src/commands/RestoreImageFromRecycleBinCommand.ts index 77bc240388e4..92c238eff7dc 100644 --- a/clients/client-ec2/src/commands/RestoreImageFromRecycleBinCommand.ts +++ b/clients/client-ec2/src/commands/RestoreImageFromRecycleBinCommand.ts @@ -28,7 +28,8 @@ export interface RestoreImageFromRecycleBinCommandInput extends RestoreImageFrom export interface RestoreImageFromRecycleBinCommandOutput extends RestoreImageFromRecycleBinResult, __MetadataBearer {} /** - *

Restores an AMI from the Recycle Bin. For more information, see Recycle Bin in the Amazon EC2 User Guide.

+ *

Restores an AMI from the Recycle Bin. For more information, see Recycle Bin in + * the Amazon EC2 User Guide.

* @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/index.ts b/clients/client-ec2/src/commands/index.ts index c83f4befc176..0efb6dbe30c7 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -133,6 +133,7 @@ export * from "./CreateVerifiedAccessGroupCommand"; export * from "./CreateVerifiedAccessInstanceCommand"; export * from "./CreateVerifiedAccessTrustProviderCommand"; export * from "./CreateVolumeCommand"; +export * from "./CreateVpcBlockPublicAccessExclusionCommand"; export * from "./CreateVpcCommand"; export * from "./CreateVpcEndpointCommand"; export * from "./CreateVpcEndpointConnectionNotificationCommand"; @@ -208,6 +209,7 @@ export * from "./DeleteVerifiedAccessGroupCommand"; export * from "./DeleteVerifiedAccessInstanceCommand"; export * from "./DeleteVerifiedAccessTrustProviderCommand"; export * from "./DeleteVolumeCommand"; +export * from "./DeleteVpcBlockPublicAccessExclusionCommand"; export * from "./DeleteVpcCommand"; export * from "./DeleteVpcEndpointConnectionNotificationsCommand"; export * from "./DeleteVpcEndpointServiceConfigurationsCommand"; @@ -367,6 +369,8 @@ export * from "./DescribeVolumeStatusCommand"; export * from "./DescribeVolumesCommand"; export * from "./DescribeVolumesModificationsCommand"; export * from "./DescribeVpcAttributeCommand"; +export * from "./DescribeVpcBlockPublicAccessExclusionsCommand"; +export * from "./DescribeVpcBlockPublicAccessOptionsCommand"; export * from "./DescribeVpcClassicLinkCommand"; export * from "./DescribeVpcClassicLinkDnsSupportCommand"; export * from "./DescribeVpcEndpointConnectionNotificationsCommand"; @@ -553,6 +557,8 @@ export * from "./ModifyVerifiedAccessTrustProviderCommand"; export * from "./ModifyVolumeAttributeCommand"; export * from "./ModifyVolumeCommand"; export * from "./ModifyVpcAttributeCommand"; +export * from "./ModifyVpcBlockPublicAccessExclusionCommand"; +export * from "./ModifyVpcBlockPublicAccessOptionsCommand"; export * from "./ModifyVpcEndpointCommand"; export * from "./ModifyVpcEndpointConnectionNotificationCommand"; export * from "./ModifyVpcEndpointServiceConfigurationCommand"; diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index 181ed7030efd..be5f843a0f33 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -7073,21 +7073,23 @@ export interface AuthorizeSecurityGroupIngressResult { } /** - *

Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed AMI.

+ *

Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed + * AMI.

* @public */ export interface S3Storage { /** *

The access key ID of the owner of the bucket. Before you specify a value for your access - * key ID, review and follow the guidance in Best - * Practices for Amazon Web Services accounts in the Account ManagementReference - * Guide.

+ * key ID, review and follow the guidance in Best Practices for Amazon Web Services + * accounts in the Account ManagementReference Guide.

* @public */ AWSAccessKeyId?: string | undefined; /** - *

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

+ *

The bucket in which to store the AMI. You can specify a bucket that you already own or a + * new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone + * else, Amazon EC2 returns an error.

* @public */ Bucket?: string | undefined; @@ -7099,7 +7101,8 @@ export interface S3Storage { Prefix?: string | undefined; /** - *

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

+ *

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your + * behalf.

* @public */ UploadPolicy?: Uint8Array | undefined; @@ -7136,7 +7139,9 @@ export interface BundleInstanceRequest { InstanceId: string | undefined; /** - *

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

+ *

The bucket in which to store the AMI. You can specify a bucket that you already own or a + * new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone + * else, Amazon EC2 returns an error.

* @public */ Storage: Storage | undefined; @@ -8047,9 +8052,9 @@ export interface CopyFpgaImageResult { */ export interface CopyImageRequest { /** - *

Unique, case-sensitive identifier you provide to ensure - * idempotency of the request. For more information, see Ensuring idempotency - * in the Amazon EC2 API Reference.

+ *

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For + * more information, see Ensuring idempotency + * in the Amazon EC2 API Reference.

* @public */ ClientToken?: string | undefined; @@ -8071,9 +8076,9 @@ export interface CopyImageRequest { Encrypted?: boolean | undefined; /** - *

The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating - * encrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. - * If you specify a KMS key, you must also set the encrypted state to true.

+ *

The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating encrypted volumes. + * If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. If you + * specify a KMS key, you must also set the encrypted state to true.

*

You can specify a KMS key using any of the following:

*
    *
  • @@ -8089,8 +8094,8 @@ export interface CopyImageRequest { *

    Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

    *
  • *
- *

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid, - * the action can appear to complete, but eventually fails.

+ *

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier + * that is not valid, the action can appear to complete, but eventually fails.

*

The specified KMS key must exist in the destination Region.

*

Amazon EBS does not support asymmetric KMS keys.

* @public @@ -8116,13 +8121,12 @@ export interface CopyImageRequest { SourceRegion: string | undefined; /** - *

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only - * specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. - * The AMI must be in the Region of the destination Outpost. You cannot copy an - * AMI from an Outpost to a Region, from one Outpost to another, or within the same - * Outpost.

- *

For more information, see Copy AMIs from an Amazon Web Services - * Region to an Outpost in the Amazon EBS User Guide.

+ *

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this + * parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the + * Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from + * one Outpost to another, or within the same Outpost.

+ *

For more information, see Copy AMIs from an Amazon Web Services Region + * to an Outpost in the Amazon EBS User Guide.

* @public */ DestinationOutpostArn?: string | undefined; @@ -8154,7 +8158,7 @@ export interface CopyImageRequest { * *
  • *

    To tag the new snapshots, the value for ResourceType must be - * snapshot. The same tag is applied to all the new snapshots.

    + * snapshot. The same tag is applied to all the new snapshots.

    *
  • * *

    If you specify other values for ResourceType, the request fails.

    diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index 18f6d47a952e..ba6612a61380 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -9,7 +9,6 @@ import { AcceleratorTotalMemoryMiB, AcceleratorTotalMemoryMiBRequest, AcceleratorType, - AccessScopePathRequest, AddIpamOperatingRegion, AddPrefixListEntry, AddressFamily, @@ -2520,6 +2519,47 @@ export interface CreateDefaultSubnetRequest { Ipv6Native?: boolean | undefined; } +/** + * @public + * @enum + */ +export const BlockPublicAccessMode = { + block_bidirectional: "block-bidirectional", + block_ingress: "block-ingress", + off: "off", +} as const; + +/** + * @public + */ +export type BlockPublicAccessMode = (typeof BlockPublicAccessMode)[keyof typeof BlockPublicAccessMode]; + +/** + *

    The state of VPC Block Public Access (BPA).

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

    The mode of VPC BPA.

    + *
      + *
    • + *

      + * bidirectional-access-allowed: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.

      + *
    • + *
    • + *

      + * bidirectional-access-blocked: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).

      + *
    • + *
    • + *

      + * ingress-access-blocked: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.

      + *
    • + *
    + * @public + */ + InternetGatewayBlockMode?: BlockPublicAccessMode | undefined; +} + /** * @public * @enum @@ -2669,6 +2709,12 @@ export interface Subnet { */ PrivateDnsNameOptionsOnLaunch?: PrivateDnsNameOptionsOnLaunch | undefined; + /** + *

    The state of VPC Block Public Access (BPA).

    + * @public + */ + BlockPublicAccessStates?: BlockPublicAccessStates | undefined; + /** *

    The ID of the subnet.

    * @public @@ -2815,6 +2861,12 @@ export interface Vpc { */ Tags?: Tag[] | undefined; + /** + *

    The state of VPC Block Public Access (BPA).

    + * @public + */ + BlockPublicAccessStates?: BlockPublicAccessStates | undefined; + /** *

    The ID of the VPC.

    * @public @@ -6090,8 +6142,8 @@ export interface CreateImageRequest { * image.

    * *
  • - *

    To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that - * are attached to the instance, the value for ResourceType must be + *

    To tag the snapshots that are created of the root volume and of other Amazon EBS volumes + * that are attached to the instance, the value for ResourceType must be * snapshot. The same tag is applied to all of the snapshots that are * created.

    *
  • @@ -6118,7 +6170,9 @@ export interface CreateImageRequest { /** *

    A name for the new image.

    - *

    Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

    + *

    Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces + * ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or + * underscores(_)

    * @public */ Name: string | undefined; @@ -6130,21 +6184,21 @@ export interface CreateImageRequest { Description?: string | undefined; /** - *

    Indicates whether or not the instance should be automatically rebooted before creating - * the image. Specify one of the following values:

    + *

    Indicates whether or not the instance should be automatically rebooted before creating the + * image. Specify one of the following values:

    *
      *
    • *

      * true - The instance is not rebooted before creating the image. This - * creates crash-consistent snapshots that include only the data that has been written - * to the volumes at the time the snapshots are created. Buffered data and data in - * memory that has not yet been written to the volumes is not included in the snapshots.

      + * creates crash-consistent snapshots that include only the data that has been written to the + * volumes at the time the snapshots are created. Buffered data and data in memory that has + * not yet been written to the volumes is not included in the snapshots.

      *
    • *
    • *

      - * false - The instance is rebooted before creating the image. This - * ensures that all buffered data and data in memory is written to the volumes before the - * snapshots are created.

      + * false - The instance is rebooted before creating the image. This ensures + * that all buffered data and data in memory is written to the volumes before the snapshots + * are created.

      *
    • *
    *

    Default: false @@ -9057,8 +9111,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { /** *

    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 - * Idle connection tracking timeout in the - * Amazon EC2 User Guide.

    + * Idle connection tracking timeout in the + * Amazon EC2 User Guide.

    * @public */ ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined; @@ -10552,8 +10606,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { /** *

    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 - * Idle connection tracking timeout in the - * Amazon EC2 User Guide.

    + * Idle connection tracking timeout in the + * Amazon EC2 User Guide.

    * @public */ ConnectionTrackingSpecification?: ConnectionTrackingSpecification | undefined; @@ -12292,80 +12346,6 @@ export interface CreateNetworkAclEntryRequest { PortRange?: PortRange | undefined; } -/** - * @public - */ -export interface CreateNetworkInsightsAccessScopeRequest { - /** - *

    The paths to match.

    - * @public - */ - MatchPaths?: AccessScopePathRequest[] | undefined; - - /** - *

    The paths to exclude.

    - * @public - */ - ExcludePaths?: AccessScopePathRequest[] | undefined; - - /** - *

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

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

    The tags to apply.

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

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

    - * @public - */ - DryRun?: boolean | undefined; -} - -/** - *

    Describes a Network Access Scope.

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

    The ID of the Network Access Scope.

    - * @public - */ - NetworkInsightsAccessScopeId?: string | undefined; - - /** - *

    The Amazon Resource Name (ARN) of the Network Access Scope.

    - * @public - */ - NetworkInsightsAccessScopeArn?: string | undefined; - - /** - *

    The creation date.

    - * @public - */ - CreatedDate?: Date | undefined; - - /** - *

    The last updated date.

    - * @public - */ - UpdatedDate?: Date | undefined; - - /** - *

    The tags.

    - * @public - */ - Tags?: Tag[] | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 313cc233cccf..36cd2db9c5c5 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -3,6 +3,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { AccessScopePath, + AccessScopePathRequest, ApplianceModeSupportValue, AttachmentStatus, CurrencyCodeValues, @@ -45,13 +46,8 @@ import { GatewayType, InstanceIpv6Address, Ipam, - IpamExternalResourceVerificationToken, - IpamPool, - IpamResourceDiscovery, - IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, - NetworkInsightsAccessScope, OperatorRequest, OperatorResponse, PrivateIpAddressSpecification, @@ -61,6 +57,80 @@ import { Vpc, } from "./models_1"; +/** + * @public + */ +export interface CreateNetworkInsightsAccessScopeRequest { + /** + *

    The paths to match.

    + * @public + */ + MatchPaths?: AccessScopePathRequest[] | undefined; + + /** + *

    The paths to exclude.

    + * @public + */ + ExcludePaths?: AccessScopePathRequest[] | undefined; + + /** + *

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

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

    The tags to apply.

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

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

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

    Describes a Network Access Scope.

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

    The ID of the Network Access Scope.

    + * @public + */ + NetworkInsightsAccessScopeId?: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the Network Access Scope.

    + * @public + */ + NetworkInsightsAccessScopeArn?: string | undefined; + + /** + *

    The creation date.

    + * @public + */ + CreatedDate?: Date | undefined; + + /** + *

    The last updated date.

    + * @public + */ + UpdatedDate?: Date | undefined; + + /** + *

    The tags.

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

    Describes the Network Access Scope content.

    * @public @@ -1693,12 +1763,13 @@ export interface CreateRestoreImageTaskRequest { * snapshots, or both.

    *
      *
    • - *

      To tag the AMI, the value for ResourceType must be image.

      + *

      To tag the AMI, the value for ResourceType must be + * image.

      *
    • *
    • - *

      To - * tag the snapshots, the value for ResourceType must be snapshot. The - * same tag is applied to all of the snapshots that are created.

      + *

      To tag the snapshots, the value for ResourceType must be + * snapshot. The same tag is applied to all of the snapshots that are + * created.

      *
    • *
    * @public @@ -6614,6 +6685,176 @@ export interface CreateVpcResult { Vpc?: Vpc | undefined; } +/** + * @public + * @enum + */ +export const InternetGatewayExclusionMode = { + allow_bidirectional: "allow-bidirectional", + allow_egress: "allow-egress", +} as const; + +/** + * @public + */ +export type InternetGatewayExclusionMode = + (typeof InternetGatewayExclusionMode)[keyof typeof InternetGatewayExclusionMode]; + +/** + * @public + */ +export interface CreateVpcBlockPublicAccessExclusionRequest { + /** + *

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

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

    A subnet ID.

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

    A VPC ID.

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

    The exclusion mode for internet gateway traffic.

    + *
      + *
    • + *

      + * bidirectional-access-allowed: Allow all internet traffic to and from the excluded VPCs and subnets.

      + *
    • + *
    • + *

      + * egress-access-allowed: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

      + *
    • + *
    + * @public + */ + InternetGatewayExclusionMode: InternetGatewayExclusionMode | undefined; + + /** + *

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

    + * @public + */ + TagSpecifications?: TagSpecification[] | undefined; +} + +/** + * @public + * @enum + */ +export const VpcBlockPublicAccessExclusionState = { + create_complete: "create-complete", + create_failed: "create-failed", + create_in_progress: "create-in-progress", + delete_complete: "delete-complete", + delete_in_progress: "delete-in-progress", + disable_complete: "disable-complete", + disable_in_progress: "disable-in-progress", + update_complete: "update-complete", + update_failed: "update-failed", + update_in_progress: "update-in-progress", +} as const; + +/** + * @public + */ +export type VpcBlockPublicAccessExclusionState = + (typeof VpcBlockPublicAccessExclusionState)[keyof typeof VpcBlockPublicAccessExclusionState]; + +/** + *

    A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

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

    The ID of the exclusion.

    + * @public + */ + ExclusionId?: string | undefined; + + /** + *

    The exclusion mode for internet gateway traffic.

    + *
      + *
    • + *

      + * bidirectional-access-allowed: Allow all internet traffic to and from the excluded VPCs and subnets.

      + *
    • + *
    • + *

      + * egress-access-allowed: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

      + *
    • + *
    + * @public + */ + InternetGatewayExclusionMode?: InternetGatewayExclusionMode | undefined; + + /** + *

    The ARN of the exclusion.

    + * @public + */ + ResourceArn?: string | undefined; + + /** + *

    The state of the exclusion.

    + * @public + */ + State?: VpcBlockPublicAccessExclusionState | undefined; + + /** + *

    The reason for the current exclusion state.

    + * @public + */ + Reason?: string | undefined; + + /** + *

    When the exclusion was created.

    + * @public + */ + CreationTimestamp?: Date | undefined; + + /** + *

    When the exclusion was last updated.

    + * @public + */ + LastUpdateTimestamp?: Date | undefined; + + /** + *

    When the exclusion was deleted.

    + * @public + */ + DeletionTimestamp?: Date | undefined; + + /** + *

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

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

    Details about an exclusion.

    + * @public + */ + VpcBlockPublicAccessExclusion?: VpcBlockPublicAccessExclusion | undefined; +} + /** * @public * @enum @@ -9390,117 +9631,6 @@ export interface DeleteIpamExternalResourceVerificationTokenRequest { IpamExternalResourceVerificationTokenId: string | undefined; } -/** - * @public - */ -export interface DeleteIpamExternalResourceVerificationTokenResult { - /** - *

    The verification token.

    - * @public - */ - IpamExternalResourceVerificationToken?: IpamExternalResourceVerificationToken | undefined; -} - -/** - * @public - */ -export interface DeleteIpamPoolRequest { - /** - *

    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.

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

    The ID of the pool to delete.

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

    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.

    - *
    - * @public - */ - Cascade?: boolean | undefined; -} - -/** - * @public - */ -export interface DeleteIpamPoolResult { - /** - *

    Information about the results of the deletion.

    - * @public - */ - IpamPool?: IpamPool | undefined; -} - -/** - * @public - */ -export interface DeleteIpamResourceDiscoveryRequest { - /** - *

    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.

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

    The IPAM resource discovery ID.

    - * @public - */ - IpamResourceDiscoveryId: string | undefined; -} - -/** - * @public - */ -export interface DeleteIpamResourceDiscoveryResult { - /** - *

    The IPAM resource discovery.

    - * @public - */ - IpamResourceDiscovery?: IpamResourceDiscovery | undefined; -} - -/** - * @public - */ -export interface DeleteIpamScopeRequest { - /** - *

    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.

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

    The ID of the scope to delete.

    - * @public - */ - IpamScopeId: string | undefined; -} - -/** - * @public - */ -export interface DeleteIpamScopeResult { - /** - *

    Information about the results of the deletion.

    - * @public - */ - IpamScope?: IpamScope | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 7413d9760009..7522bc23740c 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -9,10 +9,7 @@ import { AddressAttribute, AddressAttributeName, AddressTransfer, - AllocationState, - AllowsMultipleInstanceTypes, AssociationStatus, - AutoPlacement, BundleTask, BundleTaskFilterSensitiveLog, ByoipCidr, @@ -20,9 +17,6 @@ import { CapacityReservationTenancy, ClientVpnAuthorizationRuleStatus, CurrencyCodeValues, - HostMaintenance, - HostRecovery, - IamInstanceProfileAssociation, Tag, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, @@ -58,6 +52,10 @@ import { FleetReplacementStrategy, FleetType, InstanceLifecycle, + IpamExternalResourceVerificationToken, + IpamPool, + IpamResourceDiscovery, + IpamScope, LaunchTemplate, LaunchTemplateAndOverridesResponse, LocalGatewayRoute, @@ -89,8 +87,120 @@ import { TransitGatewayRouteTableAnnouncement, VerifiedAccessEndpoint, VerifiedAccessGroup, + VpcBlockPublicAccessExclusion, } from "./models_2"; +/** + * @public + */ +export interface DeleteIpamExternalResourceVerificationTokenResult { + /** + *

    The verification token.

    + * @public + */ + IpamExternalResourceVerificationToken?: IpamExternalResourceVerificationToken | undefined; +} + +/** + * @public + */ +export interface DeleteIpamPoolRequest { + /** + *

    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.

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

    The ID of the pool to delete.

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

    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.

    + *
    + * @public + */ + Cascade?: boolean | undefined; +} + +/** + * @public + */ +export interface DeleteIpamPoolResult { + /** + *

    Information about the results of the deletion.

    + * @public + */ + IpamPool?: IpamPool | undefined; +} + +/** + * @public + */ +export interface DeleteIpamResourceDiscoveryRequest { + /** + *

    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.

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

    The IPAM resource discovery ID.

    + * @public + */ + IpamResourceDiscoveryId: string | undefined; +} + +/** + * @public + */ +export interface DeleteIpamResourceDiscoveryResult { + /** + *

    The IPAM resource discovery.

    + * @public + */ + IpamResourceDiscovery?: IpamResourceDiscovery | undefined; +} + +/** + * @public + */ +export interface DeleteIpamScopeRequest { + /** + *

    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.

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

    The ID of the scope to delete.

    + * @public + */ + IpamScopeId: string | undefined; +} + +/** + * @public + */ +export interface DeleteIpamScopeResult { + /** + *

    Information about the results of the deletion.

    + * @public + */ + IpamScope?: IpamScope | undefined; +} + /** * @public */ @@ -1751,6 +1861,36 @@ export interface DeleteVpcRequest { DryRun?: boolean | undefined; } +/** + * @public + */ +export interface DeleteVpcBlockPublicAccessExclusionRequest { + /** + *

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

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

    The ID of the exclusion.

    + * @public + */ + ExclusionId: string | undefined; +} + +/** + * @public + */ +export interface DeleteVpcBlockPublicAccessExclusionResult { + /** + *

    Details about an exclusion.

    + * @public + */ + VpcBlockPublicAccessExclusion?: VpcBlockPublicAccessExclusion | undefined; +} + /** * @public */ @@ -3137,7 +3277,8 @@ export interface DescribeBundleTasksRequest { * *
  • *

    - * progress - The level of task completion, as a percentage (for example, 20%).

    + * progress - The level of task completion, as a percentage (for example, + * 20%).

    *
  • *
  • *

    @@ -3149,12 +3290,14 @@ export interface DescribeBundleTasksRequest { *

  • *
  • *

    - * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

    + * start-time - The time the task started (for example, + * 2013-09-15T17:15:20.000Z).

    *
  • *
  • *

    - * state - The state of the task (pending | waiting-for-shutdown | bundling | - * storing | cancelling | complete | failed).

    + * state - The state of the task (pending | + * waiting-for-shutdown | bundling | storing | + * cancelling | complete | failed).

    *
  • *
  • *

    @@ -4058,7 +4201,7 @@ export interface DescribeClassicLinkInstancesRequest { *

  • *
  • *

    - * 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.

    *
  • *
  • @@ -5561,7 +5704,7 @@ export interface DescribeDhcpOptionsRequest { *
  • *
  • *

    - * 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.

    *
  • *
  • @@ -5628,7 +5771,7 @@ export interface DescribeEgressOnlyInternetGatewaysRequest { *
      *
    • *

      - * 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.

      *
    • *
    • @@ -6091,14 +6234,14 @@ export const FastLaunchResourceType = { export type FastLaunchResourceType = (typeof FastLaunchResourceType)[keyof typeof FastLaunchResourceType]; /** - *

      Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch - * enabled Windows AMI.

      + *

      Configuration settings for creating and managing pre-provisioned snapshots for a Windows + * fast launch enabled Windows AMI.

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

      The number of pre-provisioned snapshots requested to keep on hand for a Windows fast launch - * enabled AMI.

      + *

      The number of pre-provisioned snapshots requested to keep on hand for a Windows fast + * launch enabled AMI.

      * @public */ TargetResourceCount?: number | undefined; @@ -6123,8 +6266,9 @@ export const FastLaunchStateCode = { export type FastLaunchStateCode = (typeof FastLaunchStateCode)[keyof typeof FastLaunchStateCode]; /** - *

      Describe details about a Windows image with Windows fast launch enabled that meets the requested - * criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

      + *

      Describe details about a Windows image with Windows fast launch enabled that meets the + * requested criteria. Criteria are defined by the DescribeFastLaunchImages action + * filters.

      * @public */ export interface DescribeFastLaunchImagesSuccessItem { @@ -6136,28 +6280,28 @@ export interface DescribeFastLaunchImagesSuccessItem { /** *

      The resource type that Amazon EC2 uses for pre-provisioning the Windows AMI. Supported values - * include: snapshot.

      + * include: snapshot.

      * @public */ ResourceType?: FastLaunchResourceType | undefined; /** - *

      A group of parameters that are used for pre-provisioning the associated - * Windows AMI using snapshots.

      + *

      A group of parameters that are used for pre-provisioning the associated Windows AMI using + * snapshots.

      * @public */ SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse | undefined; /** - *

      The launch template that the Windows fast launch enabled AMI uses when it launches - * Windows instances from pre-provisioned snapshots.

      + *

      The launch template that the Windows fast launch enabled AMI uses when it launches Windows + * instances from pre-provisioned snapshots.

      * @public */ LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse | undefined; /** *

      The maximum number of instances that Amazon EC2 can launch at the same time to create - * pre-provisioned snapshots for Windows fast launch.

      + * pre-provisioned snapshots for Windows fast launch.

      * @public */ MaxParallelLaunches?: number | undefined; @@ -6192,8 +6336,8 @@ export interface DescribeFastLaunchImagesSuccessItem { */ export interface DescribeFastLaunchImagesResult { /** - *

      A collection of details about the fast-launch enabled Windows images that meet - * the requested criteria.

      + *

      A collection of details about the fast-launch enabled Windows images that meet the + * requested criteria.

      * @public */ FastLaunchImages?: DescribeFastLaunchImagesSuccessItem[] | undefined; @@ -8423,398 +8567,6 @@ export interface DescribeHostReservationsResult { NextToken?: string | undefined; } -/** - * @public - */ -export interface DescribeHostsRequest { - /** - *

      The IDs of the Dedicated Hosts. The IDs are used for targeted instance - * launches.

      - * @public - */ - HostIds?: string[] | undefined; - - /** - *

      The token to use to retrieve the next page of results.

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

      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.

      - *

      You cannot specify this parameter and the host IDs parameter in the same - * request.

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

      The filters.

      - *
        - *
      • - *

        - * auto-placement - Whether auto-placement is enabled or disabled - * (on | off).

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * client-token - The idempotency token that you provided when you - * allocated the host.

        - *
      • - *
      • - *

        - * host-reservation-id - The ID of the reservation assigned to this - * host.

        - *
      • - *
      • - *

        - * instance-type - The instance type size that the Dedicated Host is - * configured to support.

        - *
      • - *
      • - *

        - * state - The allocation state of the Dedicated Host - * (available | under-assessment | - * permanent-failure | released | - * released-permanent-failure).

        - *
      • - *
      • - *

        - * 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.

        - *
      • - *
      - * @public - */ - Filter?: Filter[] | undefined; -} - -/** - *

      Information about the number of instances that can be launched onto the Dedicated - * Host.

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

      The number of instances that can be launched onto the Dedicated Host based on the - * host's available capacity.

      - * @public - */ - AvailableCapacity?: number | undefined; - - /** - *

      The instance type supported by the Dedicated Host.

      - * @public - */ - InstanceType?: string | undefined; - - /** - *

      The total number of instances that can be launched onto the Dedicated Host if there - * are no instances running on it.

      - * @public - */ - TotalCapacity?: number | undefined; -} - -/** - *

      The capacity information for instances that can be launched onto the Dedicated Host. - *

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

      The number of instances that can be launched onto the Dedicated Host depending on the - * host's available capacity. For Dedicated Hosts that support multiple instance types, - * this parameter represents the number of instances for each instance size that is - * supported on the host.

      - * @public - */ - AvailableInstanceCapacity?: InstanceCapacity[] | undefined; - - /** - *

      The number of vCPUs available for launching instances onto the Dedicated Host.

      - * @public - */ - AvailableVCpus?: number | undefined; -} - -/** - *

      Describes the properties of a Dedicated Host.

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

      The number of cores on the Dedicated Host.

      - * @public - */ - Cores?: number | undefined; - - /** - *

      The instance type supported by the Dedicated Host. For example, m5.large. - * If the host supports multiple instance types, no instanceType is returned.

      - * @public - */ - InstanceType?: string | undefined; - - /** - *

      The instance family supported by the Dedicated Host. For example, - * m5.

      - * @public - */ - InstanceFamily?: string | undefined; - - /** - *

      The number of sockets on the Dedicated Host.

      - * @public - */ - Sockets?: number | undefined; - - /** - *

      The total number of vCPUs on the Dedicated Host.

      - * @public - */ - TotalVCpus?: number | undefined; -} - -/** - *

      Describes an instance running on a Dedicated Host.

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

      The ID of instance that is running on the Dedicated Host.

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

      The instance type (for example, m3.medium) of the running - * instance.

      - * @public - */ - InstanceType?: string | undefined; - - /** - *

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

      - * @public - */ - OwnerId?: string | undefined; -} - -/** - *

      Describes the properties of the Dedicated Host.

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

      Whether auto-placement is on or off.

      - * @public - */ - AutoPlacement?: AutoPlacement | undefined; - - /** - *

      The Availability Zone of the Dedicated Host.

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

      Information about the instances running on the Dedicated Host.

      - * @public - */ - AvailableCapacity?: AvailableCapacity | undefined; - - /** - *

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

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

      The ID of the Dedicated Host.

      - * @public - */ - HostId?: string | undefined; - - /** - *

      The hardware specifications of the Dedicated Host.

      - * @public - */ - HostProperties?: HostProperties | undefined; - - /** - *

      The reservation ID of the Dedicated Host. This returns a null response if - * the Dedicated Host doesn't have an associated reservation.

      - * @public - */ - HostReservationId?: string | undefined; - - /** - *

      The IDs and instance type that are currently running on the Dedicated Host.

      - * @public - */ - Instances?: HostInstance[] | undefined; - - /** - *

      The Dedicated Host's state.

      - * @public - */ - State?: AllocationState | undefined; - - /** - *

      The time that the Dedicated Host was allocated.

      - * @public - */ - AllocationTime?: Date | undefined; - - /** - *

      The time that the Dedicated Host was released.

      - * @public - */ - ReleaseTime?: Date | undefined; - - /** - *

      Any tags assigned to the Dedicated Host.

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

      Indicates whether host recovery is enabled or disabled for the Dedicated Host.

      - * @public - */ - HostRecovery?: HostRecovery | undefined; - - /** - *

      Indicates whether the Dedicated Host supports multiple instance types of the same - * instance family. If the value is on, the Dedicated Host supports multiple - * instance types in the instance family. If the value is off, the Dedicated - * Host supports a single instance type only.

      - * @public - */ - AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | undefined; - - /** - *

      The ID of the Amazon Web Services account that owns the Dedicated Host.

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

      The ID of the Availability Zone in which the Dedicated Host is allocated.

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

      Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup is true, the - * host is in a host resource group; otherwise, it is not.

      - * @public - */ - MemberOfServiceLinkedResourceGroup?: boolean | undefined; - - /** - *

      The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which the - * Dedicated Host is allocated.

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

      Indicates whether host maintenance is enabled or disabled for the Dedicated - * Host.

      - * @public - */ - HostMaintenance?: HostMaintenance | undefined; - - /** - *

      The ID of the Outpost hardware asset on which the Dedicated Host is allocated.

      - * @public - */ - AssetId?: string | undefined; -} - -/** - * @public - */ -export interface DescribeHostsResult { - /** - *

      Information about the Dedicated Hosts.

      - * @public - */ - Hosts?: Host[] | undefined; - - /** - *

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

      - * @public - */ - NextToken?: string | undefined; -} - -/** - * @public - */ -export interface DescribeIamInstanceProfileAssociationsRequest { - /** - *

      The IAM instance profile associations.

      - * @public - */ - AssociationIds?: string[] | undefined; - - /** - *

      The filters.

      - *
        - *
      • - *

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

        - *
      • - *
      • - *

        - * state - The state of the association (associating | - * associated | disassociating).

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

      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.

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

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

      - * @public - */ - NextToken?: string | undefined; -} - -/** - * @public - */ -export interface DescribeIamInstanceProfileAssociationsResult { - /** - *

      Information about the IAM instance profile associations.

      - * @public - */ - IamInstanceProfileAssociations?: IamInstanceProfileAssociation[] | undefined; - - /** - *

      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.

      - * @public - */ - NextToken?: string | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index ba12c0f83fe2..e400b565350a 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -2,11 +2,17 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { + AllocationState, + AllowsMultipleInstanceTypes, AlternatePathHint, AttachmentStatus, + AutoPlacement, CurrencyCodeValues, Explanation, + HostMaintenance, + HostRecovery, IamInstanceProfile, + IamInstanceProfileAssociation, InstanceEventWindow, IpamResourceDiscoveryAssociation, IpPermission, @@ -43,7 +49,6 @@ import { ManagedPrefixList, NatGateway, NetworkAcl, - NetworkInsightsAccessScope, OperatorResponse, Placement, PlatformValues, @@ -53,6 +58,7 @@ import { import { GroupIdentifier, + NetworkInsightsAccessScope, NetworkInsightsPath, NetworkInterface, NetworkInterfaceAttachment, @@ -61,9 +67,6 @@ import { PlacementGroup, ReplaceRootVolumeTask, RouteTable, - Snapshot, - SnapshotState, - StorageTier, } from "./models_2"; import { Byoasn, Filter, IdFormat, InstanceTagNotificationAttribute, PermissionGroup, ProductCode } from "./models_3"; @@ -71,1196 +74,1330 @@ import { Byoasn, Filter, IdFormat, InstanceTagNotificationAttribute, PermissionG /** * @public */ -export interface DescribeIdentityIdFormatRequest { +export interface DescribeHostsRequest { /** - *

      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 IDs of the Dedicated Hosts. The IDs are used for targeted instance + * launches.

      * @public */ - Resource?: string | undefined; + HostIds?: string[] | undefined; /** - *

      The ARN of the principal, which can be an IAM role, IAM user, or the root user.

      + *

      The token to use to retrieve the next page of results.

      * @public */ - PrincipalArn: string | undefined; -} + NextToken?: string | undefined; -/** - * @public - */ -export interface DescribeIdentityIdFormatResult { /** - *

      Information about the ID format for the resources.

      + *

      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.

      + *

      You cannot specify this parameter and the host IDs parameter in the same + * request.

      * @public */ - Statuses?: IdFormat[] | undefined; + MaxResults?: number | undefined; + + /** + *

      The filters.

      + *
        + *
      • + *

        + * auto-placement - Whether auto-placement is enabled or disabled + * (on | off).

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * client-token - The idempotency token that you provided when you + * allocated the host.

        + *
      • + *
      • + *

        + * host-reservation-id - The ID of the reservation assigned to this + * host.

        + *
      • + *
      • + *

        + * instance-type - The instance type size that the Dedicated Host is + * configured to support.

        + *
      • + *
      • + *

        + * state - The allocation state of the Dedicated Host + * (available | under-assessment | + * permanent-failure | released | + * released-permanent-failure).

        + *
      • + *
      • + *

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

        + *
      • + *
      + * @public + */ + Filter?: Filter[] | undefined; } /** + *

      Information about the number of instances that can be launched onto the Dedicated + * Host.

      * @public */ -export interface DescribeIdFormatRequest { +export interface InstanceCapacity { /** - *

      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 number of instances that can be launched onto the Dedicated Host based on the + * host's available capacity.

      * @public */ - Resource?: string | undefined; + AvailableCapacity?: number | undefined; + + /** + *

      The instance type supported by the Dedicated Host.

      + * @public + */ + InstanceType?: string | undefined; + + /** + *

      The total number of instances that can be launched onto the Dedicated Host if there + * are no instances running on it.

      + * @public + */ + TotalCapacity?: number | undefined; } /** + *

      The capacity information for instances that can be launched onto the Dedicated Host. + *

      * @public */ -export interface DescribeIdFormatResult { +export interface AvailableCapacity { /** - *

      Information about the ID format for the resource.

      + *

      The number of instances that can be launched onto the Dedicated Host depending on the + * host's available capacity. For Dedicated Hosts that support multiple instance types, + * this parameter represents the number of instances for each instance size that is + * supported on the host.

      * @public */ - Statuses?: IdFormat[] | undefined; + AvailableInstanceCapacity?: InstanceCapacity[] | undefined; + + /** + *

      The number of vCPUs available for launching instances onto the Dedicated Host.

      + * @public + */ + AvailableVCpus?: number | undefined; } /** + *

      Describes the properties of a Dedicated Host.

      * @public - * @enum */ -export const ImageAttributeName = { - blockDeviceMapping: "blockDeviceMapping", - bootMode: "bootMode", - deregistrationProtection: "deregistrationProtection", - description: "description", - imdsSupport: "imdsSupport", - kernel: "kernel", - lastLaunchedTime: "lastLaunchedTime", - launchPermission: "launchPermission", - productCodes: "productCodes", - ramdisk: "ramdisk", - sriovNetSupport: "sriovNetSupport", - tpmSupport: "tpmSupport", - uefiData: "uefiData", -} as const; +export interface HostProperties { + /** + *

      The number of cores on the Dedicated Host.

      + * @public + */ + Cores?: number | undefined; -/** - * @public - */ -export type ImageAttributeName = (typeof ImageAttributeName)[keyof typeof ImageAttributeName]; + /** + *

      The instance type supported by the Dedicated Host. For example, m5.large. + * If the host supports multiple instance types, no instanceType is returned.

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

      Contains the parameters for DescribeImageAttribute.

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

      The AMI attribute.

      - *

      - * Note: The blockDeviceMapping attribute is deprecated. - * Using this attribute returns the Client.AuthFailure error. To get information about - * the block device mappings for an AMI, use the DescribeImages action.

      + *

      The instance family supported by the Dedicated Host. For example, + * m5.

      * @public */ - Attribute: ImageAttributeName | undefined; + InstanceFamily?: string | undefined; /** - *

      The ID of the AMI.

      + *

      The number of sockets on the Dedicated Host.

      * @public */ - ImageId: string | undefined; + Sockets?: number | undefined; /** - *

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

      + *

      The total number of vCPUs on the Dedicated Host.

      * @public */ - DryRun?: boolean | undefined; + TotalVCpus?: number | undefined; } /** - *

      Describes a launch permission.

      + *

      Describes an instance running on a Dedicated Host.

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

      The Amazon Resource Name (ARN) of an organization.

      - * @public - */ - OrganizationArn?: string | undefined; - +export interface HostInstance { /** - *

      The Amazon Resource Name (ARN) of an organizational unit (OU).

      + *

      The ID of instance that is running on the Dedicated Host.

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

      The Amazon Web Services account ID.

      - *

      Constraints: Up to 10 000 account IDs can be specified in a single request.

      + *

      The instance type (for example, m3.medium) of the running + * instance.

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

      The name of the group.

      + *

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

      * @public */ - Group?: PermissionGroup | undefined; + OwnerId?: string | undefined; } /** - *

      Describes an image attribute.

      + *

      Describes the properties of the Dedicated Host.

      * @public */ -export interface ImageAttribute { +export interface Host { /** - *

      A description for the AMI.

      + *

      Whether auto-placement is on or off.

      * @public */ - Description?: AttributeValue | undefined; + AutoPlacement?: AutoPlacement | undefined; /** - *

      The kernel ID.

      + *

      The Availability Zone of the Dedicated Host.

      * @public */ - KernelId?: AttributeValue | undefined; + AvailabilityZone?: string | undefined; /** - *

      The RAM disk ID.

      + *

      Information about the instances running on the Dedicated Host.

      * @public */ - RamdiskId?: AttributeValue | undefined; + AvailableCapacity?: AvailableCapacity | undefined; /** - *

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

      + *

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

      * @public */ - SriovNetSupport?: AttributeValue | undefined; + ClientToken?: string | undefined; /** - *

      The boot mode.

      + *

      The ID of the Dedicated Host.

      * @public */ - BootMode?: AttributeValue | undefined; + HostId?: string | undefined; /** - *

      If the image is configured for NitroTPM support, the value is v2.0.

      + *

      The hardware specifications of the Dedicated Host.

      * @public */ - TpmSupport?: AttributeValue | undefined; + HostProperties?: HostProperties | undefined; /** - *

      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.

      + *

      The reservation ID of the Dedicated Host. This returns a null response if + * the Dedicated Host doesn't have an associated reservation.

      * @public */ - UefiData?: AttributeValue | undefined; + HostReservationId?: string | undefined; /** - *

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

      - * - *

      - * lastLaunchedTime data is available starting April 2017.

      - *
      + *

      The IDs and instance type that are currently running on the Dedicated Host.

      * @public */ - LastLaunchedTime?: AttributeValue | undefined; + Instances?: HostInstance[] | undefined; /** - *

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

      + *

      The Dedicated Host's state.

      * @public */ - ImdsSupport?: AttributeValue | undefined; + State?: AllocationState | undefined; /** - *

      Indicates whether deregistration protection is enabled for the AMI.

      + *

      The time that the Dedicated Host was allocated.

      * @public */ - DeregistrationProtection?: AttributeValue | undefined; + AllocationTime?: Date | undefined; /** - *

      The ID of the AMI.

      + *

      The time that the Dedicated Host was released.

      * @public */ - ImageId?: string | undefined; + ReleaseTime?: Date | undefined; /** - *

      The launch permissions.

      + *

      Any tags assigned to the Dedicated Host.

      * @public */ - LaunchPermissions?: LaunchPermission[] | undefined; + Tags?: Tag[] | undefined; /** - *

      The product codes.

      + *

      Indicates whether host recovery is enabled or disabled for the Dedicated Host.

      * @public */ - ProductCodes?: ProductCode[] | undefined; + HostRecovery?: HostRecovery | undefined; /** - *

      The block device mapping entries.

      + *

      Indicates whether the Dedicated Host supports multiple instance types of the same + * instance family. If the value is on, the Dedicated Host supports multiple + * instance types in the instance family. If the value is off, the Dedicated + * Host supports a single instance type only.

      * @public */ - BlockDeviceMappings?: BlockDeviceMapping[] | undefined; -} + AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | undefined; -/** - * @public - */ -export interface DescribeImagesRequest { /** - *

      Scopes the images by users with explicit launch permissions. - * Specify an Amazon Web Services account ID, self (the sender of the request), - * or all (public AMIs).

      - *
        - *
      • - *

        If you specify an Amazon Web Services account ID that is not your own, only AMIs - * shared with that specific Amazon Web Services account ID are returned. However, AMIs that - * are shared with the account’s organization or organizational unit (OU) are not - * returned.

        - *
      • - *
      • - *

        If you specify self or your own Amazon Web Services account ID, AMIs - * shared with your account are returned. In addition, AMIs that are shared with the - * organization or OU of which you are member are also returned.

        - *
      • - *
      • - *

        If you specify all, all public AMIs are returned.

        - *
      • - *
      + *

      The ID of the Amazon Web Services account that owns the Dedicated Host.

      * @public */ - ExecutableUsers?: string[] | undefined; + OwnerId?: string | undefined; /** - *

      The image IDs.

      - *

      Default: Describes all images available to you.

      + *

      The ID of the Availability Zone in which the Dedicated Host is allocated.

      * @public */ - ImageIds?: string[] | undefined; + AvailabilityZoneId?: string | undefined; /** - *

      Scopes the results to images with the specified owners. You can specify a combination of - * Amazon Web Services account IDs, self, amazon, aws-backup-vault, and aws-marketplace. - * If you omit this parameter, the results include all images for which you have launch permissions, - * regardless of ownership.

      + *

      Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup is true, the + * host is in a host resource group; otherwise, it is not.

      * @public */ - Owners?: string[] | undefined; + MemberOfServiceLinkedResourceGroup?: boolean | undefined; /** - *

      Specifies whether to include deprecated AMIs.

      - *

      Default: No deprecated AMIs are included in the response.

      - * - *

      If you are the AMI owner, all deprecated AMIs appear in the response regardless of what - * you specify for this parameter.

      - *
      + *

      The Amazon Resource Name (ARN) of the Amazon Web Services Outpost on which the + * Dedicated Host is allocated.

      * @public */ - IncludeDeprecated?: boolean | undefined; + OutpostArn?: string | undefined; /** - *

      Specifies whether to include disabled AMIs.

      - *

      Default: No disabled AMIs are included in the response.

      + *

      Indicates whether host maintenance is enabled or disabled for the Dedicated + * Host.

      * @public */ - IncludeDisabled?: boolean | undefined; + HostMaintenance?: HostMaintenance | undefined; /** - *

      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 Outpost hardware asset on which the Dedicated Host is allocated.

      * @public */ - MaxResults?: number | undefined; + AssetId?: string | undefined; +} +/** + * @public + */ +export interface DescribeHostsResult { /** - *

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

      + *

      Information about the Dedicated Hosts.

      * @public */ - NextToken?: string | undefined; + Hosts?: Host[] | undefined; /** - *

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

      + *

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

      * @public */ - DryRun?: boolean | undefined; + NextToken?: string | undefined; +} - /** - *

      The filters.

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

      The IAM instance profile associations.

      + * @public + */ + AssociationIds?: string[] | undefined; + + /** + *

      The filters.

      *
        *
      • *

        - * architecture - The image architecture (i386 | x86_64 | - * arm64 | x86_64_mac | arm64_mac).

        - *
      • - *
      • - *

        - * block-device-mapping.delete-on-termination - A Boolean value that indicates - * whether the Amazon 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.snapshot-id - The ID of the snapshot used for the Amazon EBS - * volume.

        - *
      • - *
      • - *

        - * block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

        - *
      • - *
      • - *

        - * block-device-mapping.volume-type - The volume type of the Amazon EBS volume - * (io1 | io2 | gp2 | gp3 | sc1 - * | st1 | standard).

        - *
      • - *
      • - *

        - * block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

        - *
      • - *
      • - *

        - * creation-date - The time when the image was created, 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.

        - *
      • - *
      • - *

        - * description - The description of the image (provided during image - * creation).

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * hypervisor - The hypervisor type (ovm | - * xen).

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * image-type - The image type (machine | kernel | - * ramdisk).

        - *
      • - *
      • - *

        - * is-public - A Boolean that indicates whether the image is public.

        - *
      • - *
      • - *

        - * kernel-id - The kernel ID.

        - *
      • - *
      • - *

        - * manifest-location - The location of the image manifest.

        - *
      • - *
      • - *

        - * name - The name of the AMI (provided during image creation).

        - *
      • - *
      • - *

        - * owner-alias - The owner alias (amazon | aws-backup-vault | aws-marketplace). - * The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be - * set using the IAM console. We recommend that you use the Owner - * request parameter instead of this filter.

        - *
      • - *
      • - *

        - * owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the - * Owner request parameter instead of this filter.

        - *
      • - *
      • - *

        - * platform - The platform. The only supported value is windows.

        - *
      • - *
      • - *

        - * product-code - The product code.

        - *
      • - *
      • - *

        - * product-code.type - The type of the product code (marketplace).

        - *
      • - *
      • - *

        - * ramdisk-id - The RAM disk ID.

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * root-device-type - The type of the root device volume (ebs | - * instance-store).

        - *
      • - *
      • - *

        - * source-instance-id - The ID of the instance that the AMI was created from - * if the AMI was created using CreateImage. This filter is applicable only if the AMI was - * created using CreateImage.

        - *
      • - *
      • - *

        - * state - The state of the image (available | pending - * | failed).

        - *
      • - *
      • - *

        - * state-reason-code - The reason code for the state change.

        - *
      • - *
      • - *

        - * state-reason-message - The message for the state change.

        - *
      • - *
      • - *

        - * sriov-net-support - A value of simple indicates - * that enhanced networking with the Intel 82599 VF interface is enabled.

        - *
      • - *
      • - *

        - * 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.

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

        *
      • *
      • *

        - * virtualization-type - The virtualization type (paravirtual | - * hvm).

        + * state - The state of the association (associating | + * associated | disassociating).

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

      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.

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

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

      + * @public + */ + NextToken?: string | undefined; } /** * @public - * @enum */ -export const ArchitectureValues = { - arm64: "arm64", - arm64_mac: "arm64_mac", - i386: "i386", - x86_64: "x86_64", - x86_64_mac: "x86_64_mac", -} as const; +export interface DescribeIamInstanceProfileAssociationsResult { + /** + *

      Information about the IAM instance profile associations.

      + * @public + */ + IamInstanceProfileAssociations?: IamInstanceProfileAssociation[] | undefined; -/** - * @public - */ -export type ArchitectureValues = (typeof ArchitectureValues)[keyof typeof ArchitectureValues]; + /** + *

      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.

      + * @public + */ + NextToken?: string | undefined; +} /** * @public - * @enum */ -export const BootModeValues = { - legacy_bios: "legacy-bios", - uefi: "uefi", - uefi_preferred: "uefi-preferred", -} as const; +export interface DescribeIdentityIdFormatRequest { + /** + *

      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 + *

      + * @public + */ + Resource?: string | undefined; + + /** + *

      The ARN of the principal, which can be an IAM role, IAM user, or the root user.

      + * @public + */ + PrincipalArn: string | undefined; +} /** * @public */ -export type BootModeValues = (typeof BootModeValues)[keyof typeof BootModeValues]; +export interface DescribeIdentityIdFormatResult { + /** + *

      Information about the ID format for the resources.

      + * @public + */ + Statuses?: IdFormat[] | undefined; +} /** * @public - * @enum */ -export const HypervisorType = { - ovm: "ovm", - xen: "xen", -} as const; +export interface DescribeIdFormatRequest { + /** + *

      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 + *

      + * @public + */ + Resource?: string | undefined; +} /** * @public */ -export type HypervisorType = (typeof HypervisorType)[keyof typeof HypervisorType]; +export interface DescribeIdFormatResult { + /** + *

      Information about the ID format for the resource.

      + * @public + */ + Statuses?: IdFormat[] | undefined; +} /** * @public * @enum */ -export const ImageTypeValues = { +export const ImageAttributeName = { + blockDeviceMapping: "blockDeviceMapping", + bootMode: "bootMode", + deregistrationProtection: "deregistrationProtection", + description: "description", + imdsSupport: "imdsSupport", kernel: "kernel", - machine: "machine", + lastLaunchedTime: "lastLaunchedTime", + launchPermission: "launchPermission", + productCodes: "productCodes", ramdisk: "ramdisk", + sriovNetSupport: "sriovNetSupport", + tpmSupport: "tpmSupport", + uefiData: "uefiData", } as const; /** * @public */ -export type ImageTypeValues = (typeof ImageTypeValues)[keyof typeof ImageTypeValues]; - -/** - * @public - * @enum - */ -export const ImdsSupportValues = { - v2_0: "v2.0", -} as const; - -/** - * @public - */ -export type ImdsSupportValues = (typeof ImdsSupportValues)[keyof typeof ImdsSupportValues]; - -/** - * @public - * @enum - */ -export const DeviceType = { - ebs: "ebs", - instance_store: "instance-store", -} as const; - -/** - * @public - */ -export type DeviceType = (typeof DeviceType)[keyof typeof DeviceType]; - -/** - * @public - * @enum - */ -export const ImageState = { - available: "available", - deregistered: "deregistered", - disabled: "disabled", - error: "error", - failed: "failed", - invalid: "invalid", - pending: "pending", - transient: "transient", -} as const; - -/** - * @public - */ -export type ImageState = (typeof ImageState)[keyof typeof ImageState]; - -/** - * @public - * @enum - */ -export const TpmSupportValues = { - v2_0: "v2.0", -} as const; - -/** - * @public - */ -export type TpmSupportValues = (typeof TpmSupportValues)[keyof typeof TpmSupportValues]; - -/** - * @public - * @enum - */ -export const VirtualizationType = { - hvm: "hvm", - paravirtual: "paravirtual", -} as const; - -/** - * @public - */ -export type VirtualizationType = (typeof VirtualizationType)[keyof typeof VirtualizationType]; +export type ImageAttributeName = (typeof ImageAttributeName)[keyof typeof ImageAttributeName]; /** - *

      Describes an image.

      + *

      Contains the parameters for DescribeImageAttribute.

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

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

      - * @public - */ - PlatformDetails?: string | undefined; - +export interface DescribeImageAttributeRequest { /** - *

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

      + *

      The AMI attribute.

      + *

      + * Note: The blockDeviceMapping attribute is + * deprecated. Using this attribute returns the Client.AuthFailure error. To get + * information about the block device mappings for an AMI, use the DescribeImages action.

      * @public */ - UsageOperation?: string | undefined; + Attribute: ImageAttributeName | undefined; /** - *

      Any block device mapping entries.

      + *

      The ID of the AMI.

      * @public */ - BlockDeviceMappings?: BlockDeviceMapping[] | undefined; + ImageId: string | undefined; /** - *

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

      + *

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

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

      Describes a launch permission.

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

      Specifies whether enhanced networking with ENA is enabled.

      + *

      The Amazon Resource Name (ARN) of an organization.

      * @public */ - EnaSupport?: boolean | undefined; + OrganizationArn?: string | undefined; /** - *

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

      + *

      The Amazon Resource Name (ARN) of an organizational unit (OU).

      * @public */ - Hypervisor?: HypervisorType | undefined; + OrganizationalUnitArn?: string | undefined; /** - *

      The owner alias (amazon | aws-backup-vault | aws-marketplace).

      + *

      The Amazon Web Services account ID.

      + *

      Constraints: Up to 10 000 account IDs can be specified in a single request.

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

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

      + *

      The name of the group.

      * @public */ - Name?: string | undefined; + Group?: PermissionGroup | undefined; +} +/** + *

      Describes an image attribute.

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

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

      + *

      A description for the AMI.

      * @public */ - RootDeviceName?: string | undefined; + Description?: AttributeValue | undefined; /** - *

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

      + *

      The kernel ID.

      * @public */ - RootDeviceType?: DeviceType | undefined; + KernelId?: AttributeValue | undefined; /** - *

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

      + *

      The RAM disk ID.

      * @public */ - SriovNetSupport?: string | undefined; + RamdiskId?: AttributeValue | undefined; /** - *

      The reason for the state change.

      + *

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

      * @public */ - StateReason?: StateReason | undefined; + SriovNetSupport?: AttributeValue | undefined; /** - *

      Any tags assigned to the image.

      + *

      The boot mode.

      * @public */ - Tags?: Tag[] | undefined; + BootMode?: AttributeValue | undefined; /** - *

      The type of virtualization of the AMI.

      + *

      If the image is configured for NitroTPM support, the value is v2.0.

      * @public */ - VirtualizationType?: VirtualizationType | undefined; + TpmSupport?: AttributeValue | undefined; /** - *

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

      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.

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

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

      - * @public - */ - TpmSupport?: TpmSupportValues | undefined; + UefiData?: AttributeValue | undefined; /** - *

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

      + *

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

      + * + *

      + * lastLaunchedTime data is available starting April 2017.

      + *
      * @public */ - DeprecationTime?: string | undefined; + LastLaunchedTime?: AttributeValue | undefined; /** *

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

      + * information, see Configure the AMI in the Amazon EC2 User Guide.

      * @public */ - ImdsSupport?: ImdsSupportValues | undefined; + ImdsSupport?: AttributeValue | undefined; /** - *

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

      + *

      Indicates whether deregistration protection is enabled for the AMI.

      * @public */ - SourceInstanceId?: string | undefined; + DeregistrationProtection?: AttributeValue | undefined; /** - *

      Indicates whether deregistration protection is enabled for the AMI.

      + *

      The ID of the AMI.

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

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

      - * - *

      - * lastLaunchedTime data is available starting April 2017.

      - *
      + *

      The launch permissions.

      * @public */ - LastLaunchedTime?: string | undefined; + LaunchPermissions?: LaunchPermission[] | undefined; /** - *

      The ID of the source AMI from which the AMI was created.

      - *

      The ID only appears if the AMI was created using CreateImage, CopyImage, or CreateRestoreImageTask. The ID does not appear - * if the AMI was created using any other API. For some older AMIs, the ID might not be - * available. For more information, see Identify the - * source AMI used to create a new AMI in the - * Amazon EC2 User Guide.

      + *

      The product codes.

      * @public */ - SourceImageId?: string | undefined; + ProductCodes?: ProductCode[] | undefined; /** - *

      The Region of the source AMI.

      - *

      The Region only appears if the AMI was created using CreateImage, CopyImage, or CreateRestoreImageTask. The Region does not - * appear if the AMI was created using any other API. For some older AMIs, the Region might not - * be available. For more information, see Identify the - * source AMI used to create a new AMI in the - * Amazon EC2 User Guide.

      + *

      The block device mapping entries.

      * @public */ - SourceImageRegion?: string | undefined; + BlockDeviceMappings?: BlockDeviceMapping[] | undefined; +} +/** + * @public + */ +export interface DescribeImagesRequest { /** - *

      The ID of the AMI.

      + *

      Scopes the images by users with explicit launch permissions. Specify an Amazon Web Services account ID, self (the sender of the request), or all + * (public AMIs).

      + *
        + *
      • + *

        If you specify an Amazon Web Services account ID that is not your own, only AMIs shared + * with that specific Amazon Web Services account ID are returned. However, AMIs that are + * shared with the account’s organization or organizational unit (OU) are not + * returned.

        + *
      • + *
      • + *

        If you specify self or your own Amazon Web Services account ID, AMIs + * shared with your account are returned. In addition, AMIs that are shared with the + * organization or OU of which you are member are also returned.

        + *
      • + *
      • + *

        If you specify all, all public AMIs are returned.

        + *
      • + *
      * @public */ - ImageId?: string | undefined; + ExecutableUsers?: string[] | undefined; /** - *

      The location of the AMI.

      + *

      The image IDs.

      + *

      Default: Describes all images available to you.

      * @public */ - ImageLocation?: string | undefined; + ImageIds?: string[] | undefined; /** - *

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

      + *

      Scopes the results to images with the specified owners. You can specify a combination of + * Amazon Web Services account IDs, self, amazon, + * aws-backup-vault, and aws-marketplace. If you omit this parameter, + * the results include all images for which you have launch permissions, regardless of + * ownership.

      * @public */ - State?: ImageState | undefined; + Owners?: string[] | undefined; /** - *

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

      + *

      Specifies whether to include deprecated AMIs.

      + *

      Default: No deprecated AMIs are included in the response.

      + * + *

      If you are the AMI owner, all deprecated AMIs appear in the response regardless of what + * you specify for this parameter.

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

      The date and time the image was created.

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

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

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

      Any product codes associated with the AMI.

      - * @public - */ - ProductCodes?: ProductCode[] | undefined; + IncludeDeprecated?: boolean | undefined; /** - *

      The architecture of the image.

      + *

      Specifies whether to include disabled AMIs.

      + *

      Default: No disabled AMIs are included in the response.

      * @public */ - Architecture?: ArchitectureValues | undefined; + IncludeDisabled?: boolean | undefined; /** - *

      The type of image.

      + *

      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.

      * @public */ - ImageType?: ImageTypeValues | undefined; + MaxResults?: number | undefined; /** - *

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

      + *

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

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

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

      + *

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

      * @public */ - RamdiskId?: string | undefined; + DryRun?: boolean | undefined; /** - *

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

      + *

      The filters.

      + *
        + *
      • + *

        + * architecture - The image architecture (i386 | + * x86_64 | arm64 | x86_64_mac | + * arm64_mac).

        + *
      • + *
      • + *

        + * block-device-mapping.delete-on-termination - A Boolean value that indicates + * whether the Amazon 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.snapshot-id - The ID of the snapshot used for the Amazon EBS + * volume.

        + *
      • + *
      • + *

        + * block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in + * GiB.

        + *
      • + *
      • + *

        + * block-device-mapping.volume-type - The volume type of the Amazon EBS volume + * (io1 | io2 | gp2 | gp3 | sc1 + * | st1 | standard).

        + *
      • + *
      • + *

        + * block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS + * volume is encrypted.

        + *
      • + *
      • + *

        + * creation-date - The time when the image was created, 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.

        + *
      • + *
      • + *

        + * description - The description of the image (provided during image + * creation).

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * hypervisor - The hypervisor type (ovm | + * xen).

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * image-type - The image type (machine | kernel | + * ramdisk).

        + *
      • + *
      • + *

        + * is-public - A Boolean that indicates whether the image is public.

        + *
      • + *
      • + *

        + * kernel-id - The kernel ID.

        + *
      • + *
      • + *

        + * manifest-location - The location of the image manifest.

        + *
      • + *
      • + *

        + * name - The name of the AMI (provided during image creation).

        + *
      • + *
      • + *

        + * owner-alias - The owner alias (amazon | + * aws-backup-vault | aws-marketplace). The valid aliases are + * defined in an Amazon-maintained list. This is not the Amazon Web Services account alias + * that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

        + *
      • + *
      • + *

        + * owner-id - The Amazon Web Services account ID of the owner. We recommend + * that you use the Owner request parameter instead of this + * filter.

        + *
      • + *
      • + *

        + * platform - The platform. The only supported value is + * windows.

        + *
      • + *
      • + *

        + * product-code - The product code.

        + *
      • + *
      • + *

        + * product-code.type - The type of the product code + * (marketplace).

        + *
      • + *
      • + *

        + * ramdisk-id - The RAM disk ID.

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * root-device-type - The type of the root device volume (ebs | + * instance-store).

        + *
      • + *
      • + *

        + * source-instance-id - The ID of the instance that the AMI was created from + * if the AMI was created using CreateImage. This filter is applicable only if the AMI was + * created using CreateImage.

        + *
      • + *
      • + *

        + * state - The state of the image (available | pending + * | failed).

        + *
      • + *
      • + *

        + * state-reason-code - The reason code for the state change.

        + *
      • + *
      • + *

        + * state-reason-message - The message for the state change.

        + *
      • + *
      • + *

        + * sriov-net-support - A value of simple indicates that + * enhanced networking with the Intel 82599 VF interface is enabled.

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * virtualization-type - The virtualization type (paravirtual | + * hvm).

        + *
      • + *
      * @public */ - Platform?: PlatformValues | undefined; + Filters?: Filter[] | undefined; } /** * @public + * @enum */ -export interface DescribeImagesResult { - /** - *

      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.

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

      Information about the images.

      - * @public - */ - Images?: Image[] | undefined; -} +export const ArchitectureValues = { + arm64: "arm64", + arm64_mac: "arm64_mac", + i386: "i386", + x86_64: "x86_64", + x86_64_mac: "x86_64_mac", +} as const; /** * @public */ -export interface DescribeImportImageTasksRequest { - /** - *

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

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

      Filter tasks using the task-state filter and one of the following values: active, - * completed, deleting, or deleted.

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

      The IDs of the import image tasks.

      - * @public - */ - ImportTaskIds?: string[] | undefined; - - /** - *

      The maximum number of results to return in a single call.

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

      A token that indicates the next page of results.

      - * @public - */ - NextToken?: string | undefined; -} +export type ArchitectureValues = (typeof ArchitectureValues)[keyof typeof ArchitectureValues]; /** - *

      The response information for license configurations.

      * @public + * @enum */ -export interface ImportImageLicenseConfigurationResponse { - /** - *

      The ARN of a license configuration.

      - * @public - */ - LicenseConfigurationArn?: string | undefined; -} +export const BootModeValues = { + legacy_bios: "legacy-bios", + uefi: "uefi", + uefi_preferred: "uefi-preferred", +} as const; /** - *

      Describes the Amazon S3 bucket for the disk image.

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

      The Amazon S3 bucket from which the disk image was created.

      - * @public - */ - S3Bucket?: string | undefined; +export type BootModeValues = (typeof BootModeValues)[keyof typeof BootModeValues]; - /** - *

      The file name of the disk image.

      - * @public - */ - S3Key?: string | undefined; -} +/** + * @public + * @enum + */ +export const HypervisorType = { + ovm: "ovm", + xen: "xen", +} as const; /** - *

      Describes the snapshot created from the imported disk.

      * @public */ -export interface SnapshotDetail { +export type HypervisorType = (typeof HypervisorType)[keyof typeof HypervisorType]; + +/** + * @public + * @enum + */ +export const ImageTypeValues = { + kernel: "kernel", + machine: "machine", + ramdisk: "ramdisk", +} as const; + +/** + * @public + */ +export type ImageTypeValues = (typeof ImageTypeValues)[keyof typeof ImageTypeValues]; + +/** + * @public + * @enum + */ +export const ImdsSupportValues = { + v2_0: "v2.0", +} as const; + +/** + * @public + */ +export type ImdsSupportValues = (typeof ImdsSupportValues)[keyof typeof ImdsSupportValues]; + +/** + * @public + * @enum + */ +export const DeviceType = { + ebs: "ebs", + instance_store: "instance-store", +} as const; + +/** + * @public + */ +export type DeviceType = (typeof DeviceType)[keyof typeof DeviceType]; + +/** + * @public + * @enum + */ +export const ImageState = { + available: "available", + deregistered: "deregistered", + disabled: "disabled", + error: "error", + failed: "failed", + invalid: "invalid", + pending: "pending", + transient: "transient", +} as const; + +/** + * @public + */ +export type ImageState = (typeof ImageState)[keyof typeof ImageState]; + +/** + * @public + * @enum + */ +export const TpmSupportValues = { + v2_0: "v2.0", +} as const; + +/** + * @public + */ +export type TpmSupportValues = (typeof TpmSupportValues)[keyof typeof TpmSupportValues]; + +/** + * @public + * @enum + */ +export const VirtualizationType = { + hvm: "hvm", + paravirtual: "paravirtual", +} as const; + +/** + * @public + */ +export type VirtualizationType = (typeof VirtualizationType)[keyof typeof VirtualizationType]; + +/** + *

      Describes an image.

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

      A description for the snapshot.

      + *

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

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

      The block device mapping for the snapshot.

      + *

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

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

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

      + *

      Any block device mapping entries.

      * @public */ - DiskImageSize?: number | undefined; + BlockDeviceMappings?: BlockDeviceMapping[] | undefined; /** - *

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

      + *

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

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

      The percentage of progress for the task.

      + *

      Specifies whether enhanced networking with ENA is enabled.

      * @public */ - Progress?: string | undefined; + EnaSupport?: boolean | undefined; /** - *

      The snapshot ID of the disk being imported.

      + *

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

      * @public */ - SnapshotId?: string | undefined; + Hypervisor?: HypervisorType | undefined; /** - *

      A brief status of the snapshot creation.

      + *

      The owner alias (amazon | aws-backup-vault | + * aws-marketplace).

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

      A detailed status message for the snapshot creation.

      + *

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

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

      The URL used to access the disk image.

      + *

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

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

      The Amazon S3 bucket for the disk image.

      + *

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

      * @public */ - UserBucket?: UserBucketDetails | undefined; -} + RootDeviceType?: DeviceType | undefined; -/** - *

      Describes an import image task.

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

      The architecture of the virtual machine.

      - *

      Valid values: i386 | x86_64 | arm64 - *

      + *

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

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

      A description of the import task.

      + *

      The reason for the state change.

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

      Indicates whether the image is encrypted.

      + *

      Any tags assigned to the image.

      * @public */ - Encrypted?: boolean | undefined; + Tags?: Tag[] | undefined; /** - *

      The target hypervisor for the import task.

      - *

      Valid values: xen - *

      + *

      The type of virtualization of the AMI.

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

      The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

      + *

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

      * @public */ - ImageId?: string | undefined; + BootMode?: BootModeValues | undefined; /** - *

      The ID of the import image task.

      + *

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

      * @public */ - ImportTaskId?: string | undefined; + TpmSupport?: TpmSupportValues | undefined; /** - *

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

      + *

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

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

      The license type of the virtual machine.

      + *

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

      * @public */ - LicenseType?: string | undefined; + ImdsSupport?: ImdsSupportValues | undefined; /** - *

      The description string for the import image task.

      + *

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

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

      The percentage of progress of the import image task.

      + *

      Indicates whether deregistration protection is enabled for the AMI.

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

      Information about the snapshots.

      + *

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

      + * + *

      + * lastLaunchedTime data is available starting April 2017.

      + *
      * @public */ - SnapshotDetails?: SnapshotDetail[] | undefined; + LastLaunchedTime?: string | undefined; /** - *

      A brief status for the import image task.

      + *

      The ID of the source AMI from which the AMI was created.

      + *

      The ID only appears if the AMI was created using CreateImage, CopyImage, or CreateRestoreImageTask. The ID does not appear + * if the AMI was created using any other API. For some older AMIs, the ID might not be + * available. For more information, see Identify the + * source AMI used to create a new AMI in the + * Amazon EC2 User Guide.

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

      A descriptive status message for the import image task.

      + *

      The Region of the source AMI.

      + *

      The Region only appears if the AMI was created using CreateImage, CopyImage, or CreateRestoreImageTask. The Region does not + * appear if the AMI was created using any other API. For some older AMIs, the Region might not + * be available. For more information, see Identify the + * source AMI used to create a new AMI in the + * Amazon EC2 User Guide.

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

      The tags for the import image task.

      + *

      The ID of the AMI.

      * @public */ - Tags?: Tag[] | undefined; + ImageId?: string | undefined; /** - *

      The ARNs of the license configurations that are associated with the import image task.

      + *

      The location of the AMI.

      * @public */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[] | undefined; + ImageLocation?: string | undefined; /** - *

      The usage operation value.

      + *

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

      * @public */ - UsageOperation?: string | undefined; + State?: ImageState | undefined; /** - *

      The boot mode of the virtual machine.

      + *

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

      * @public */ - BootMode?: BootModeValues | undefined; -} + OwnerId?: string | undefined; + + /** + *

      The date and time the image was created.

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

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

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

      Any product codes associated with the AMI.

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

      The architecture of the image.

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

      The type of image.

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

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

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

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

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

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

      + * @public + */ + Platform?: PlatformValues | undefined; +} /** * @public */ -export interface DescribeImportImageTasksResult { +export interface DescribeImagesResult { /** - *

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

      + *

      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.

      * @public */ - ImportImageTasks?: ImportImageTask[] | undefined; + NextToken?: string | undefined; /** - *

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

      + *

      Information about the images.

      * @public */ - NextToken?: string | undefined; + Images?: Image[] | undefined; } /** * @public */ -export interface DescribeImportSnapshotTasksRequest { +export interface DescribeImportImageTasksRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1270,20 +1407,20 @@ export interface DescribeImportSnapshotTasksRequest { DryRun?: boolean | undefined; /** - *

      The filters.

      + *

      Filter tasks using the task-state filter and one of the following values: active, + * completed, deleting, or deleted.

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

      A list of import snapshot task IDs.

      + *

      The IDs of the import image tasks.

      * @public */ ImportTaskIds?: string[] | undefined; /** - *

      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 maximum number of results to return in a single call.

      * @public */ MaxResults?: number | undefined; @@ -1296,42 +1433,66 @@ export interface DescribeImportSnapshotTasksRequest { } /** - *

      Details about the import snapshot task.

      + *

      The response information for license configurations.

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

      The description of the disk image being imported.

      + *

      The ARN of a license configuration.

      * @public */ - Description?: string | undefined; + LicenseConfigurationArn?: string | undefined; +} +/** + *

      Describes the Amazon S3 bucket for the disk image.

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

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

      + *

      The Amazon S3 bucket from which the disk image was created.

      * @public */ - DiskImageSize?: number | undefined; + S3Bucket?: string | undefined; /** - *

      Indicates whether the snapshot is encrypted.

      + *

      The file name of the disk image.

      * @public */ - Encrypted?: boolean | undefined; + S3Key?: string | undefined; +} + +/** + *

      Describes the snapshot created from the imported disk.

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

      A description for the snapshot.

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

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

      + *

      The block device mapping for the snapshot.

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

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

      + *

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

      * @public */ - KmsKeyId?: string | undefined; + DiskImageSize?: number | undefined; /** - *

      The percentage of completion for the import snapshot task.

      + *

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

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

      The percentage of progress for the task.

      * @public */ Progress?: string | undefined; @@ -1343,19 +1504,19 @@ export interface SnapshotTaskDetail { SnapshotId?: string | undefined; /** - *

      A brief status for the import snapshot task.

      + *

      A brief status of the snapshot creation.

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

      A detailed status message for the import snapshot task.

      + *

      A detailed status message for the snapshot creation.

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

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

      + *

      The URL used to access the disk image.

      * @public */ Url?: string | undefined; @@ -1368,410 +1529,290 @@ export interface SnapshotTaskDetail { } /** - *

      Describes an import snapshot task.

      + *

      Describes an import image task.

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

      A description of the import snapshot task.

      + *

      The architecture of the virtual machine.

      + *

      Valid values: i386 | x86_64 | arm64 + *

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

      The ID of the import snapshot task.

      + *

      A description of the import task.

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

      Describes an import snapshot task.

      + *

      Indicates whether the image is encrypted.

      * @public */ - SnapshotTaskDetail?: SnapshotTaskDetail | undefined; + Encrypted?: boolean | undefined; /** - *

      The tags for the import snapshot task.

      + *

      The target hypervisor for the import task.

      + *

      Valid values: xen + *

      * @public */ - Tags?: Tag[] | undefined; -} + Hypervisor?: string | undefined; -/** - * @public - */ -export interface DescribeImportSnapshotTasksResult { /** - *

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

      + *

      The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

      * @public */ - ImportSnapshotTasks?: ImportSnapshotTask[] | undefined; + ImageId?: string | undefined; /** - *

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

      + *

      The ID of the import image task.

      * @public */ - NextToken?: string | undefined; -} - -/** - * @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; + ImportTaskId?: string | undefined; -/** - * @public - */ -export type InstanceAttributeName = (typeof InstanceAttributeName)[keyof typeof InstanceAttributeName]; + /** + *

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

      + * @public + */ + KmsKeyId?: string | undefined; -/** - * @public - */ -export interface DescribeInstanceAttributeRequest { /** - *

      Checks whether you have the required permissions for the operation, without 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 license type of the virtual machine.

      * @public */ - DryRun?: boolean | undefined; + LicenseType?: string | undefined; /** - *

      The ID of the instance.

      + *

      The description string for the import image task.

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

      The instance attribute.

      - *

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

      + *

      The percentage of progress of the import image task.

      * @public */ - Attribute: InstanceAttributeName | undefined; -} + Progress?: string | undefined; -/** - *

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

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

      The time stamp when the attachment initiated.

      + *

      Information about the snapshots.

      * @public */ - AttachTime?: Date | undefined; + SnapshotDetails?: SnapshotDetail[] | undefined; /** - *

      Indicates whether the volume is deleted on instance termination.

      + *

      A brief status for the import image task.

      * @public */ - DeleteOnTermination?: boolean | undefined; + Status?: string | undefined; /** - *

      The attachment state.

      + *

      A descriptive status message for the import image task.

      * @public */ - Status?: AttachmentStatus | undefined; + StatusMessage?: string | undefined; /** - *

      The ID of the EBS volume.

      + *

      The tags for the import image task.

      * @public */ - VolumeId?: string | undefined; + Tags?: Tag[] | undefined; /** - *

      The ARN of the Amazon ECS or Fargate task - * to which the volume is attached.

      + *

      The ARNs of the license configurations that are associated with the import image task.

      * @public */ - AssociatedResource?: string | undefined; + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[] | undefined; /** - *

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

      - *

      This parameter is returned only for volumes that are attached to - * Fargate tasks.

      + *

      The usage operation value.

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

      The entity that manages the EBS volume.

      + *

      The boot mode of the virtual machine.

      * @public */ - Operator?: OperatorResponse | undefined; + BootMode?: BootModeValues | undefined; } /** - *

      Describes a block device mapping.

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

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

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

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

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

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

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

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

      + *

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

      * @public */ - Value?: boolean | undefined; -} + ImportImageTasks?: ImportImageTask[] | undefined; -/** - *

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

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

      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.

      + *

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

      * @public */ - Enabled?: boolean | undefined; + NextToken?: string | undefined; } /** - *

      Describes an instance attribute.

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

      The block device mapping of the instance.

      - * @public - */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[] | undefined; - +export interface DescribeImportSnapshotTasksRequest { /** - *

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

      + *

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

      * @public */ - DisableApiTermination?: AttributeBooleanValue | undefined; + DryRun?: boolean | undefined; /** - *

      Indicates whether enhanced networking with ENA is enabled.

      + *

      The filters.

      * @public */ - EnaSupport?: AttributeBooleanValue | undefined; + Filters?: Filter[] | undefined; /** - *

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

      + *

      A list of import snapshot task IDs.

      * @public */ - EnclaveOptions?: EnclaveOptions | undefined; + ImportTaskIds?: string[] | undefined; /** - *

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

      + *

      The maximum number of results to return in a single call. To retrieve the remaining results, make another call + * with the returned NextToken value.

      * @public */ - EbsOptimized?: AttributeBooleanValue | undefined; + MaxResults?: number | undefined; /** - *

      The ID of the instance.

      + *

      A token that indicates the next page of results.

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

      Details about the import snapshot task.

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

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

      + *

      The description of the disk image being imported.

      * @public */ - InstanceInitiatedShutdownBehavior?: AttributeValue | undefined; + Description?: string | undefined; /** - *

      The instance type.

      + *

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

      * @public */ - InstanceType?: AttributeValue | undefined; + DiskImageSize?: number | undefined; /** - *

      The kernel ID.

      + *

      Indicates whether the snapshot is encrypted.

      * @public */ - KernelId?: AttributeValue | undefined; + Encrypted?: boolean | undefined; /** - *

      A list of product codes.

      + *

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

      * @public */ - ProductCodes?: ProductCode[] | undefined; + Format?: string | undefined; /** - *

      The RAM disk ID.

      + *

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

      * @public */ - RamdiskId?: AttributeValue | undefined; + KmsKeyId?: string | undefined; /** - *

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

      + *

      The percentage of completion for the import snapshot task.

      * @public */ - RootDeviceName?: AttributeValue | undefined; + Progress?: string | undefined; /** - *

      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 snapshot ID of the disk being imported.

      * @public */ - SourceDestCheck?: AttributeBooleanValue | undefined; + SnapshotId?: string | undefined; /** - *

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

      + *

      A brief status for the import snapshot task.

      * @public */ - SriovNetSupport?: AttributeValue | undefined; + Status?: string | undefined; /** - *

      The user data.

      + *

      A detailed status message for the import snapshot task.

      * @public */ - UserData?: AttributeValue | undefined; + StatusMessage?: string | undefined; /** - *

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

      + *

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

      * @public */ - DisableApiStop?: AttributeBooleanValue | undefined; + Url?: string | undefined; /** - *

      The security groups associated with the instance.

      + *

      The Amazon S3 bucket for the disk image.

      * @public */ - Groups?: GroupIdentifier[] | undefined; + UserBucket?: UserBucketDetails | undefined; } /** + *

      Describes an import snapshot task.

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

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

      - * @public - */ - DryRun?: boolean | undefined; - +export interface ImportSnapshotTask { /** - *

      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 description of the import snapshot task.

      * @public */ - MaxResults?: number | undefined; + Description?: string | undefined; /** - *

      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 import snapshot task.

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

      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.

        - *
      • - *
      + *

      Describes an import snapshot task.

      * @public */ - Filters?: Filter[] | undefined; + SnapshotTaskDetail?: SnapshotTaskDetail | undefined; /** - *

      One or more EC2 Instance Connect Endpoint IDs.

      + *

      The tags for the import snapshot task.

      * @public */ - InstanceConnectEndpointIds?: string[] | undefined; + Tags?: Tag[] | undefined; } /** * @public */ -export interface DescribeInstanceConnectEndpointsResult { +export interface DescribeImportSnapshotTasksResult { /** - *

      Information about the EC2 Instance Connect Endpoints.

      + *

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

      * @public */ - InstanceConnectEndpoints?: Ec2InstanceConnectEndpoint[] | undefined; + ImportSnapshotTasks?: ImportSnapshotTask[] | undefined; /** - *

      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 get the next page of results. This value is null when there are no more results + * to return.

      * @public */ NextToken?: string | undefined; @@ -1779,8 +1820,36 @@ export interface DescribeInstanceConnectEndpointsResult { /** * @public + * @enum */ -export interface DescribeInstanceCreditSpecificationsRequest { +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 { /** *

      Checks whether you have the required permissions for the operation, without actually making the * request, and provides an error response. If you have the required permissions, the error response is @@ -1790,513 +1859,404 @@ export interface DescribeInstanceCreditSpecificationsRequest { DryRun?: boolean | undefined; /** - *

      The filters.

      - *
        - *
      • - *

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

        - *
      • - *
      + *

      The ID of the instance.

      * @public */ - Filters?: Filter[] | undefined; + InstanceId: string | undefined; /** - *

      The instance IDs.

      - *

      Default: Describes all your instances.

      - *

      Constraints: Maximum 1000 explicitly specified instance IDs.

      + *

      The instance attribute.

      + *

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

      * @public */ - InstanceIds?: string[] | undefined; + Attribute: InstanceAttributeName | undefined; +} +/** + *

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

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

      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.

      + *

      The time stamp when the attachment initiated.

      * @public */ - MaxResults?: number | undefined; + AttachTime?: Date | undefined; /** - *

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

      + *

      Indicates whether the volume is deleted on instance termination.

      * @public */ - NextToken?: string | undefined; -} + DeleteOnTermination?: boolean | undefined; -/** - *

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

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

      The ID of the instance.

      + *

      The attachment state.

      * @public */ - InstanceId?: string | undefined; + Status?: AttachmentStatus | undefined; /** - *

      The credit option for CPU usage of the instance.

      - *

      Valid values: standard | unlimited - *

      + *

      The ID of the EBS volume.

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

      The ARN of the Amazon ECS or Fargate task + * to which the volume is attached.

      + * @public + */ + AssociatedResource?: string | undefined; + + /** + *

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

      + *

      This parameter is returned only for volumes that are attached to + * Fargate tasks.

      + * @public + */ + VolumeOwnerId?: string | undefined; + + /** + *

      The entity that manages the EBS volume.

      + * @public + */ + Operator?: OperatorResponse | undefined; } /** + *

      Describes a block device mapping.

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

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

      + *

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

      * @public */ - InstanceCreditSpecifications?: InstanceCreditSpecification[] | undefined; + DeviceName?: string | undefined; /** - *

      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.

      + *

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

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

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

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

      Checks whether you have the required permissions for the action, without 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 attribute value. The valid values are true or false.

      * @public */ - DryRun?: boolean | undefined; + Value?: boolean | undefined; } /** + *

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

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

      Information about the registered tag keys.

      + *

      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.

      * @public */ - InstanceTagAttribute?: InstanceTagNotificationAttribute | undefined; + Enabled?: boolean | undefined; } /** - *

      Describe instance event windows by InstanceEventWindow.

      + *

      Describes an instance attribute.

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

      Checks whether you have the required permissions for the action, without 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 block device mapping of the instance.

      * @public */ - DryRun?: boolean | undefined; + BlockDeviceMappings?: InstanceBlockDeviceMapping[] | undefined; /** - *

      The IDs of the event windows.

      + *

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

      * @public */ - InstanceEventWindowIds?: string[] | undefined; + DisableApiTermination?: AttributeBooleanValue | undefined; /** - *

      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.

        - *
      • - *
      + *

      Indicates whether enhanced networking with ENA is enabled.

      * @public */ - Filters?: Filter[] | undefined; + EnaSupport?: AttributeBooleanValue | undefined; /** - *

      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.

      + *

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

      * @public */ - MaxResults?: number | undefined; + EnclaveOptions?: EnclaveOptions | undefined; /** - *

      The token to request the next page of results.

      + *

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

      * @public */ - NextToken?: string | undefined; -} + EbsOptimized?: AttributeBooleanValue | undefined; -/** - * @public - */ -export interface DescribeInstanceEventWindowsResult { /** - *

      Information about the event windows.

      + *

      The ID of the instance.

      * @public */ - InstanceEventWindows?: InstanceEventWindow[] | undefined; + InstanceId?: string | undefined; /** - *

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

      + *

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

      * @public */ - NextToken?: string | undefined; -} + InstanceInitiatedShutdownBehavior?: AttributeValue | undefined; -/** - * @public - */ -export interface DescribeInstanceImageMetadataRequest { /** - *

      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) of - * the instance.

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * 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, - * 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for - * example, 2023-09-29T*, which matches an entire day.

        - *
      • - *
      • - *

        - * 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.

        - *
      • - *
      • - *

        - * zone-id - The ID of the Availability Zone (for example, - * usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the - * instance.

        - *
      • - *
      + *

      The instance type.

      * @public */ - Filters?: Filter[] | undefined; + InstanceType?: AttributeValue | undefined; /** - *

      The instance IDs.

      - *

      If you don't specify an instance ID or filters, the output includes information for all - * instances.

      + *

      The kernel ID.

      * @public */ - InstanceIds?: string[] | undefined; + KernelId?: AttributeValue | undefined; /** - *

      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.

      - *

      Default: 1000

      + *

      A list of product codes.

      * @public */ - MaxResults?: number | undefined; + ProductCodes?: ProductCode[] | undefined; /** - *

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

      + *

      The RAM disk ID.

      * @public */ - NextToken?: string | undefined; + RamdiskId?: AttributeValue | undefined; /** - *

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

      + *

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

      * @public */ - DryRun?: boolean | undefined; -} + RootDeviceName?: AttributeValue | undefined; -/** - *

      Information about the AMI.

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

      The ID of the AMI.

      + *

      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.

      * @public */ - ImageId?: string | undefined; + SourceDestCheck?: AttributeBooleanValue | undefined; /** - *

      The name of the AMI.

      + *

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

      * @public */ - Name?: string | undefined; + SriovNetSupport?: AttributeValue | undefined; /** - *

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

      + *

      The user data.

      * @public */ - OwnerId?: string | undefined; + UserData?: AttributeValue | undefined; /** - *

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

      + *

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

      * @public */ - State?: ImageState | undefined; + DisableApiStop?: AttributeBooleanValue | undefined; /** - *

      The alias of the AMI owner.

      - *

      Valid values: amazon | aws-backup-vault | aws-marketplace - *

      + *

      The security groups associated with the instance.

      * @public */ - ImageOwnerAlias?: string | undefined; + Groups?: GroupIdentifier[] | undefined; +} +/** + * @public + */ +export interface DescribeInstanceConnectEndpointsRequest { /** - *

      The date and time the AMI was created.

      + *

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

      * @public */ - CreationDate?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The deprecation date and time of the AMI, in UTC, in the following format: - * YYYY-MM-DDTHH:MM:SSZ.

      + *

      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.

      * @public */ - DeprecationTime?: string | undefined; + MaxResults?: number | undefined; /** - *

      Indicates whether the AMI has public launch permissions. A value of true - * means this AMI has public launch permissions, while false means it has only - * implicit (AMI owner) or explicit (shared with your account) launch permissions.

      + *

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

      * @public */ - IsPublic?: boolean | undefined; -} - -/** - * @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]; + NextToken?: string | undefined; -/** - *

      Describes the current state of an instance.

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

      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:

      + *

      One or more filters.

      *
        *
      • *

        - * 0 : pending - *

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

        *
      • *
      • *

        - * 16 : running - *

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

        *
      • *
      • *

        - * 32 : shutting-down - *

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

        *
      • *
      • *

        - * 48 : terminated - *

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

        *
      • *
      • *

        - * 64 : stopping - *

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

        *
      • *
      • *

        - * 80 : stopped - *

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

        *
      • *
      - *

      You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in - * decimal.

      * @public */ - Code?: number | undefined; + Filters?: Filter[] | undefined; /** - *

      The current state of the instance.

      + *

      One or more EC2 Instance Connect Endpoint IDs.

      * @public */ - Name?: InstanceStateName | undefined; + InstanceConnectEndpointIds?: string[] | undefined; } /** - *

      Information about the instance and the AMI used to launch the instance.

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

      The ID of the instance.

      - * @public - */ - InstanceId?: string | undefined; - +export interface DescribeInstanceConnectEndpointsResult { /** - *

      The instance type.

      + *

      Information about the EC2 Instance Connect Endpoints.

      * @public */ - InstanceType?: _InstanceType | undefined; + InstanceConnectEndpoints?: Ec2InstanceConnectEndpoint[] | undefined; /** - *

      The time the instance was launched.

      + *

      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.

      * @public */ - LaunchTime?: Date | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeInstanceCreditSpecificationsRequest { /** - *

      The Availability Zone or Local Zone of the instance.

      + *

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

      * @public */ - AvailabilityZone?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The ID of the Availability Zone or Local Zone of the instance.

      + *

      The filters.

      + *
        + *
      • + *

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

        + *
      • + *
      * @public */ - ZoneId?: string | undefined; + Filters?: Filter[] | undefined; /** - *

      The current state of the instance.

      + *

      The instance IDs.

      + *

      Default: Describes all your instances.

      + *

      Constraints: Maximum 1000 explicitly specified instance IDs.

      * @public */ - State?: InstanceState | undefined; + InstanceIds?: string[] | undefined; /** - *

      The ID of the Amazon Web Services account that owns 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. + * For more information, see Pagination.

      + *

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

      * @public */ - OwnerId?: string | undefined; + MaxResults?: number | undefined; /** - *

      Any tags assigned to the instance.

      + *

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

      * @public */ - Tags?: Tag[] | undefined; + NextToken?: string | undefined; +} +/** + *

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

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

      Information about the AMI used to launch the instance.

      + *

      The ID of the instance.

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

      The entity that manages the instance.

      + *

      The credit option for CPU usage of the instance.

      + *

      Valid values: standard | unlimited + *

      * @public */ - Operator?: OperatorResponse | undefined; + CpuCredits?: string | undefined; } /** * @public */ -export interface DescribeInstanceImageMetadataResult { +export interface DescribeInstanceCreditSpecificationsResult { /** - *

      Information about the instance and the AMI used to launch the instance.

      + *

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

      * @public */ - InstanceImageMetadata?: InstanceImageMetadata[] | undefined; + InstanceCreditSpecifications?: InstanceCreditSpecification[] | undefined; /** *

      The token to include in another request to get the next page of items. This value is null when there @@ -2309,128 +2269,571 @@ export interface DescribeInstanceImageMetadataResult { /** * @public */ -export interface DescribeInstancesRequest { +export interface DescribeInstanceEventNotificationAttributesRequest { /** - *

      The instance IDs.

      - *

      Default: Describes all your 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.

      * @public */ - InstanceIds?: string[] | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DescribeInstanceEventNotificationAttributesResult { /** - *

      Checks whether you have the required permissions for the operation, without 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 registered tag keys.

      + * @public + */ + InstanceTagAttribute?: InstanceTagNotificationAttribute | undefined; +} + +/** + *

      Describe instance event windows by InstanceEventWindow.

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

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

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

      The filters.

      + *

      The IDs of the event windows.

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

      One or more filters.

      *
        *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

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

      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.

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

      The token to request the next page of results.

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

      Information about the event windows.

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

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

      + * @public + */ + NextToken?: string | undefined; +} + +/** + * @public + */ +export interface DescribeInstanceImageMetadataRequest { + /** + *

      The filters.

      + *
        *
      • *

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

        + * availability-zone - The name of the Availability Zone (for example, + * us-west-2a) or Local Zone (for example, us-west-2-lax-1b) of + * the instance.

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

        + * 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, + * 2023-09-29T11:04:43.305Z. You can use a wildcard (*), for + * example, 2023-09-29T*, which matches an entire day.

        *
      • *
      • *

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

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

        *
      • *
      • *

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

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

        *
      • *
      • *

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

        + * zone-id - The ID of the Availability Zone (for example, + * usw2-az2) or Local Zone (for example, usw2-lax1-az1) of the + * instance.

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

      The instance IDs.

      + *

      If you don't specify an instance ID or filters, the output includes information for all + * instances.

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

      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.

      + *

      Default: 1000

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

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

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

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

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

      Information about the AMI.

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

      The ID of the AMI.

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

      The name of the AMI.

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

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

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

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

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

      The alias of the AMI owner.

      + *

      Valid values: amazon | aws-backup-vault | + * aws-marketplace + *

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

      The date and time the AMI was created.

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

      The deprecation date and time of the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ.

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

      Indicates whether the AMI has public launch permissions. A value of true + * means this AMI has public launch permissions, while false means it has only + * implicit (AMI owner) or explicit (shared with your account) launch permissions.

      + * @public + */ + IsPublic?: boolean | undefined; +} + +/** + * @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]; + +/** + *

      Describes the current state of an instance.

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

      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:

      + *
        *
      • *

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

        + * 0 : pending + *

        *
      • *
      • *

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

        + * 16 : running + *

        *
      • *
      • *

        - * 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.

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

      + * @public + */ + Code?: number | undefined; + + /** + *

      The current state of the instance.

      + * @public + */ + Name?: InstanceStateName | undefined; +} + +/** + *

      Information about the instance and the AMI used to launch the instance.

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

      The ID of the instance.

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

      The instance type.

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

      The time the instance was launched.

      + * @public + */ + LaunchTime?: Date | undefined; + + /** + *

      The Availability Zone or Local Zone of the instance.

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

      The ID of the Availability Zone or Local Zone of the instance.

      + * @public + */ + ZoneId?: string | undefined; + + /** + *

      The current state of the instance.

      + * @public + */ + State?: InstanceState | undefined; + + /** + *

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

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

      Any tags assigned to the instance.

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

      Information about the AMI used to launch the instance.

      + * @public + */ + ImageMetadata?: ImageMetadata | undefined; + + /** + *

      The entity that manages the instance.

      + * @public + */ + Operator?: OperatorResponse | undefined; +} + +/** + * @public + */ +export interface DescribeInstanceImageMetadataResult { + /** + *

      Information about the instance and the AMI used to launch the instance.

      + * @public + */ + InstanceImageMetadata?: InstanceImageMetadata[] | undefined; + + /** + *

      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.

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

      The instance IDs.

      + *

      Default: Describes all your instances.

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

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

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

      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.

        + *
      • + *
      • + *

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

        *
      • *
      • *

        @@ -3002,2194 +3405,1364 @@ export interface DescribeInstancesRequest { *

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

        - *
      • - *
      • - *

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

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

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

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

      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.

      - * @public - */ - MaxResults?: number | undefined; -} - -/** - *

      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.

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

      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.

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

      Information about the targeted Capacity Reservation or Capacity Reservation group.

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

      The CPU options for the instance.

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

      The number of CPU cores for the instance.

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

      The number of threads per CPU core.

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

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

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

      Amazon Elastic Graphics reached end of life on January 8, 2024.

      - *
      - *

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

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

      The ID of the Elastic Graphics accelerator.

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

      The ID of the association.

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

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

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

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

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

      Amazon Elastic Inference is no longer available.

      - *
      - *

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

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

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

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

      - * The ID of the association. - *

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

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

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

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

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

      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 Amazon EC2 - * instance in the Amazon EC2 User Guide.

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

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

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

      Describes a license configuration.

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

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

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

      The maintenance options for the instance.

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

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

      - * @public - */ - AutoRecovery?: InstanceAutoRecoveryState | undefined; -} - -/** - * @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]; - -/** - *

      The metadata options for the instance.

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

      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.

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

      Indicates whether IMDSv2 is required.

      - *
        - *
      • - *

        - * optional - IMDSv2 is optional, which means that you can use - * either IMDSv2 or IMDSv1.

        - *
      • - *
      • - *

        - * required - IMDSv2 is required, which means that IMDSv1 is - * disabled, and you must use IMDSv2.

        - *
      • - *
      - * @public - */ - HttpTokens?: HttpTokensState | undefined; - - /** - *

      The maximum number of hops that the metadata token can travel.

      - *

      Possible values: Integers from 1 to 64 - *

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

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

      - *

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

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

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

      - *

      Default: disabled - *

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

      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.

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

      Describes the monitoring of an instance.

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

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

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

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

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

      The carrier IP address associated with the network interface.

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

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

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

      The ID of the owner of the Elastic IP address.

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

      The public DNS name.

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

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

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

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

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

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

      - * @public - */ - EnaSrdUdpEnabled?: boolean | undefined; -} - -/** - *

      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.

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

      Indicates whether ENA Express is enabled for the network interface.

      - * @public - */ - EnaSrdEnabled?: boolean | undefined; - - /** - *

      Configures ENA Express for UDP network traffic.

      - * @public - */ - EnaSrdUdpSpecification?: InstanceAttachmentEnaSrdUdpSpecification | undefined; -} - -/** - *

      Describes a network interface attachment.

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

      The time stamp when the attachment initiated.

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

      The ID of the network interface attachment.

      - * @public - */ - AttachmentId?: string | undefined; - - /** - *

      Indicates whether the network interface is deleted when the instance is terminated.

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

      The index of the device on the instance for the network interface attachment.

      - * @public - */ - DeviceIndex?: number | undefined; - - /** - *

      The attachment state.

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

      The index of the network card.

      - * @public - */ - NetworkCardIndex?: number | undefined; - - /** - *

      Contains the ENA Express settings for the network interface that's attached - * to the instance.

      - * @public - */ - EnaSrdSpecification?: InstanceAttachmentEnaSrdSpecification | undefined; -} - -/** - *

      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 EC2 User Guide.

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

      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.

      - * @public - */ - TcpEstablishedTimeout?: number | undefined; - - /** - *

      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.

      - * @public - */ - UdpStreamTimeout?: number | undefined; - - /** - *

      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.

      - * @public - */ - UdpTimeout?: number | undefined; -} - -/** - *

      Information about an IPv4 prefix.

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

      One or more IPv4 prefixes assigned to the network interface.

      - * @public - */ - Ipv4Prefix?: string | undefined; -} - -/** - *

      Information about an IPv6 prefix.

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

      One or more IPv6 prefixes assigned to the network interface.

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

      Describes a private IPv4 address.

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

      The association information for an Elastic IP address for the network interface.

      - * @public - */ - Association?: InstanceNetworkInterfaceAssociation | undefined; - - /** - *

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

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

      The private IPv4 DNS name.

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

      The private IPv4 address of the network interface.

      - * @public - */ - PrivateIpAddress?: string | undefined; -} - -/** - *

      Describes a network interface.

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

      The association information for an Elastic IPv4 associated with the network - * interface.

      - * @public - */ - Association?: InstanceNetworkInterfaceAssociation | undefined; - - /** - *

      The network interface attachment.

      - * @public - */ - Attachment?: InstanceNetworkInterfaceAttachment | undefined; - - /** - *

      The description.

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

      The security groups.

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

      The IPv6 addresses associated with the network interface.

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

      The MAC address.

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

      The ID of the network interface.

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

      The ID of the Amazon Web Services account that created the network interface.

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

      The private DNS name.

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

      The IPv4 address of the network interface within the subnet.

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

      The private IPv4 addresses associated with the network interface.

      - * @public - */ - PrivateIpAddresses?: InstancePrivateIpAddress[] | undefined; - - /** - *

      Indicates whether source/destination checking is enabled.

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

      The status of the network interface.

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

      The ID of the subnet.

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

      The ID of the VPC.

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

      The type of network interface.

      - *

      Valid values: interface | efa | efa-only | trunk - *

      - * @public - */ - InterfaceType?: string | undefined; - - /** - *

      The IPv4 delegated prefixes that are assigned to the network interface.

      - * @public - */ - Ipv4Prefixes?: InstanceIpv4Prefix[] | undefined; - - /** - *

      The IPv6 delegated prefixes that are assigned to the network interface.

      - * @public - */ - Ipv6Prefixes?: InstanceIpv6Prefix[] | undefined; - - /** - *

      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 EC2 User Guide.

      - * @public - */ - ConnectionTrackingConfiguration?: ConnectionTrackingSpecificationResponse | undefined; - - /** - *

      The entity that manages the network interface.

      - * @public - */ - Operator?: OperatorResponse | undefined; -} - -/** - *

      Describes the options for instance hostnames.

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

      The type of hostname to assign to an instance.

      + *
    • + *
    • + *

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

      + *
    • + *
    * @public */ - HostnameType?: HostnameType | undefined; + Filters?: Filter[] | undefined; /** - *

    Indicates whether to respond to DNS queries for instance hostnames with DNS A - * records.

    + *

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

    * @public */ - EnableResourceNameDnsARecord?: boolean | undefined; + NextToken?: string | undefined; /** - *

    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA - * records.

    + *

    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.

    * @public */ - EnableResourceNameDnsAAAARecord?: boolean | undefined; + MaxResults?: number | undefined; } /** - *

    Describes an instance.

    + *

    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.

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

    The architecture of the image.

    + *

    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.

      + *
    • + *
    * @public */ - Architecture?: ArchitectureValues | undefined; + CapacityReservationPreference?: CapacityReservationPreference | undefined; /** - *

    Any block device mapping entries for the instance.

    + *

    Information about the targeted Capacity Reservation or Capacity Reservation group.

    * @public */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[] | undefined; + CapacityReservationTarget?: CapacityReservationTargetResponse | undefined; +} +/** + *

    The CPU options for the instance.

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

    The idempotency token you provided when you launched the instance, if - * applicable.

    + *

    The number of CPU cores for the instance.

    * @public */ - ClientToken?: string | undefined; + CoreCount?: number | undefined; /** - *

    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 number of threads per CPU core.

    * @public */ - EbsOptimized?: boolean | undefined; + ThreadsPerCore?: number | undefined; /** - *

    Specifies whether enhanced networking with ENA is enabled.

    + *

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

    * @public */ - EnaSupport?: boolean | undefined; + AmdSevSnp?: AmdSevSnpSpecification | undefined; +} - /** - *

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

    - * @public - */ - Hypervisor?: HypervisorType | undefined; +/** + * @public + * @enum + */ +export const InstanceBootModeValues = { + legacy_bios: "legacy-bios", + uefi: "uefi", +} as const; - /** - *

    The IAM instance profile associated with the instance, if - * applicable.

    - * @public - */ - IamInstanceProfile?: IamInstanceProfile | undefined; +/** + * @public + */ +export type InstanceBootModeValues = (typeof InstanceBootModeValues)[keyof typeof InstanceBootModeValues]; +/** + * + *

    Amazon Elastic Graphics reached end of life on January 8, 2024.

    + *
    + *

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

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

    Indicates whether this is a Spot Instance or a Scheduled Instance.

    + *

    The ID of the Elastic Graphics accelerator.

    * @public */ - InstanceLifecycle?: InstanceLifecycleType | undefined; + ElasticGpuId?: string | undefined; /** - *

    Deprecated.

    - * - *

    Amazon Elastic Graphics reached end of life on January 8, 2024.

    - *
    + *

    The ID of the association.

    * @public */ - ElasticGpuAssociations?: ElasticGpuAssociation[] | undefined; + ElasticGpuAssociationId?: string | undefined; /** - *

    Deprecated

    - * - *

    Amazon Elastic Inference is no longer available.

    - *
    + *

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

    * @public */ - ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[] | undefined; + ElasticGpuAssociationState?: string | undefined; /** - *

    The network interfaces for the instance.

    + *

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

    * @public */ - NetworkInterfaces?: InstanceNetworkInterface[] | undefined; + ElasticGpuAssociationTime?: string | undefined; +} +/** + * + *

    Amazon Elastic Inference is no longer available.

    + *
    + *

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

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

    The Amazon Resource Name (ARN) of the Outpost.

    + *

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

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

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

    + *

    + * The ID of the association. + *

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

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

    + *

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

    * @public */ - RootDeviceType?: DeviceType | undefined; + ElasticInferenceAcceleratorAssociationState?: string | undefined; /** - *

    The security groups for the instance.

    + *

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

    * @public */ - SecurityGroups?: GroupIdentifier[] | undefined; + ElasticInferenceAcceleratorAssociationTime?: Date | undefined; +} +/** + *

    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 Amazon EC2 + * instance in the Amazon EC2 User Guide.

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

    Indicates whether source/destination checking is enabled.

    + *

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

    * @public */ - SourceDestCheck?: boolean | undefined; + Configured?: boolean | undefined; +} - /** - *

    If the request is a Spot Instance request, the ID of the request.

    - * @public - */ - SpotInstanceRequestId?: string | undefined; +/** + * @public + * @enum + */ +export const InstanceLifecycleType = { + capacity_block: "capacity-block", + scheduled: "scheduled", + spot: "spot", +} as const; - /** - *

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

    - * @public - */ - SriovNetSupport?: string | undefined; +/** + * @public + */ +export type InstanceLifecycleType = (typeof InstanceLifecycleType)[keyof typeof InstanceLifecycleType]; +/** + *

    Describes a license configuration.

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

    The reason for the most recent state transition.

    + *

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

    * @public */ - StateReason?: StateReason | undefined; + LicenseConfigurationArn?: string | undefined; +} - /** - *

    Any tags assigned to the instance.

    - * @public - */ - Tags?: Tag[] | undefined; +/** + * @public + * @enum + */ +export const InstanceAutoRecoveryState = { + default: "default", + disabled: "disabled", +} as const; - /** - *

    The virtualization type of the instance.

    - * @public - */ - VirtualizationType?: VirtualizationType | undefined; +/** + * @public + */ +export type InstanceAutoRecoveryState = (typeof InstanceAutoRecoveryState)[keyof typeof InstanceAutoRecoveryState]; +/** + *

    The maintenance options for the instance.

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

    The CPU options for the instance.

    + *

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

    * @public */ - CpuOptions?: CpuOptions | undefined; + AutoRecovery?: InstanceAutoRecoveryState | undefined; +} + +/** + * @public + * @enum + */ +export const InstanceMetadataEndpointState = { + disabled: "disabled", + enabled: "enabled", +} as const; - /** - *

    The ID of the Capacity Reservation.

    - * @public - */ - CapacityReservationId?: string | undefined; +/** + * @public + */ +export type InstanceMetadataEndpointState = + (typeof InstanceMetadataEndpointState)[keyof typeof InstanceMetadataEndpointState]; - /** - *

    Information about the Capacity Reservation targeting option.

    - * @public - */ - CapacityReservationSpecification?: CapacityReservationSpecificationResponse | undefined; +/** + * @public + * @enum + */ +export const InstanceMetadataProtocolState = { + disabled: "disabled", + enabled: "enabled", +} as const; - /** - *

    Indicates whether the instance is enabled for hibernation.

    - * @public - */ - HibernationOptions?: HibernationOptions | undefined; +/** + * @public + */ +export type InstanceMetadataProtocolState = + (typeof InstanceMetadataProtocolState)[keyof typeof InstanceMetadataProtocolState]; - /** - *

    The license configurations for the instance.

    - * @public - */ - Licenses?: LicenseConfiguration[] | undefined; +/** + * @public + * @enum + */ +export const HttpTokensState = { + optional: "optional", + required: "required", +} as const; - /** - *

    The metadata options for the instance.

    - * @public - */ - MetadataOptions?: InstanceMetadataOptionsResponse | undefined; +/** + * @public + */ +export type HttpTokensState = (typeof HttpTokensState)[keyof typeof HttpTokensState]; - /** - *

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

    - * @public - */ - EnclaveOptions?: EnclaveOptions | undefined; +/** + * @public + * @enum + */ +export const InstanceMetadataTagsState = { + disabled: "disabled", + enabled: "enabled", +} as const; - /** - *

    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.

    - * @public - */ - BootMode?: BootModeValues | undefined; +/** + * @public + */ +export type InstanceMetadataTagsState = (typeof InstanceMetadataTagsState)[keyof typeof InstanceMetadataTagsState]; - /** - *

    The platform details value for the instance. For more information, see AMI - * billing information fields in the - * Amazon EC2 User Guide.

    - * @public - */ - PlatformDetails?: string | undefined; +/** + * @public + * @enum + */ +export const InstanceMetadataOptionsState = { + applied: "applied", + pending: "pending", +} as const; - /** - *

    The usage operation value for the instance. For more information, see AMI - * billing information fields in the - * Amazon EC2 User Guide.

    - * @public - */ - UsageOperation?: string | undefined; +/** + * @public + */ +export type InstanceMetadataOptionsState = + (typeof InstanceMetadataOptionsState)[keyof typeof InstanceMetadataOptionsState]; +/** + *

    The metadata options for the instance.

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

    The time that the usage operation was last updated.

    + *

    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.

    * @public */ - UsageOperationUpdateTime?: Date | undefined; + State?: InstanceMetadataOptionsState | undefined; /** - *

    The options for the instance hostname.

    + *

    Indicates whether IMDSv2 is required.

    + *
      + *
    • + *

      + * optional - IMDSv2 is optional, which means that you can use + * either IMDSv2 or IMDSv1.

      + *
    • + *
    • + *

      + * required - IMDSv2 is required, which means that IMDSv1 is + * disabled, and you must use IMDSv2.

      + *
    • + *
    * @public */ - PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse | undefined; + HttpTokens?: HttpTokensState | undefined; /** - *

    The IPv6 address assigned to the instance.

    + *

    The maximum number of hops that the metadata token can travel.

    + *

    Possible values: Integers from 1 to 64 + *

    * @public */ - Ipv6Address?: string | undefined; + HttpPutResponseHopLimit?: number | undefined; /** - *

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

    + *

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

    + *

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

    * @public */ - TpmSupport?: string | undefined; + HttpEndpoint?: InstanceMetadataEndpointState | undefined; /** - *

    Provides information on the recovery and maintenance options of your instance.

    + *

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

    + *

    Default: disabled + *

    * @public */ - MaintenanceOptions?: InstanceMaintenanceOptions | undefined; + HttpProtocolIpv6?: InstanceMetadataProtocolState | undefined; /** - *

    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.

    + *

    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.

    * @public */ - CurrentInstanceBootMode?: InstanceBootModeValues | undefined; + InstanceMetadataTags?: InstanceMetadataTagsState | undefined; +} - /** - *

    The entity that manages the instance.

    - * @public - */ - Operator?: OperatorResponse | undefined; +/** + * @public + * @enum + */ +export const MonitoringState = { + disabled: "disabled", + disabling: "disabling", + enabled: "enabled", + pending: "pending", +} as const; - /** - *

    The ID of the instance.

    - * @public - */ - InstanceId?: string | undefined; +/** + * @public + */ +export type MonitoringState = (typeof MonitoringState)[keyof typeof MonitoringState]; +/** + *

    Describes the monitoring of an instance.

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

    The ID of the AMI used to launch the instance.

    + *

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

    * @public */ - ImageId?: string | undefined; + State?: MonitoringState | undefined; +} +/** + *

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

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

    The current state of the instance.

    + *

    The carrier IP address associated with the network interface.

    * @public */ - State?: InstanceState | undefined; + CarrierIp?: string | undefined; /** - *

    [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.

    + *

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

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

    [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.

    + *

    The ID of the owner of the Elastic IP address.

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

    The reason for the most recent state transition. This might be an empty string.

    + *

    The public DNS name.

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

    The name of the key pair, if this instance was launched with an associated key - * pair.

    + *

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

    * @public */ - KeyName?: string | undefined; + PublicIp?: string | undefined; +} +/** + *

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

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

    The AMI launch index, which can be used to find this instance in the launch - * group.

    + *

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

    * @public */ - AmiLaunchIndex?: number | undefined; + EnaSrdUdpEnabled?: boolean | undefined; +} +/** + *

    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.

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

    The product codes attached to this instance, if applicable.

    + *

    Indicates whether ENA Express is enabled for the network interface.

    * @public */ - ProductCodes?: ProductCode[] | undefined; + EnaSrdEnabled?: boolean | undefined; /** - *

    The instance type.

    + *

    Configures ENA Express for UDP network traffic.

    * @public */ - InstanceType?: _InstanceType | undefined; + EnaSrdUdpSpecification?: InstanceAttachmentEnaSrdUdpSpecification | undefined; +} +/** + *

    Describes a network interface attachment.

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

    The time that the instance was last launched. To determine the time that instance was first launched, - * see the attachment time for the primary network interface.

    + *

    The time stamp when the attachment initiated.

    * @public */ - LaunchTime?: Date | undefined; + AttachTime?: Date | undefined; /** - *

    The location where the instance launched, if applicable.

    + *

    The ID of the network interface attachment.

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

    The kernel associated with this instance, if applicable.

    + *

    Indicates whether the network interface is deleted when the instance is terminated.

    * @public */ - KernelId?: string | undefined; + DeleteOnTermination?: boolean | undefined; /** - *

    The RAM disk associated with this instance, if applicable.

    + *

    The index of the device on the instance for the network interface attachment.

    * @public */ - RamdiskId?: string | undefined; + DeviceIndex?: number | undefined; /** - *

    The platform. This value is windows for Windows instances; otherwise, it is empty.

    + *

    The attachment state.

    * @public */ - Platform?: PlatformValues | undefined; + Status?: AttachmentStatus | undefined; /** - *

    The monitoring for the instance.

    + *

    The index of the network card.

    * @public */ - Monitoring?: Monitoring | undefined; + NetworkCardIndex?: number | undefined; /** - *

    The ID of the subnet in which the instance is running.

    + *

    Contains the ENA Express settings for the network interface that's attached + * to the instance.

    * @public */ - SubnetId?: string | undefined; + EnaSrdSpecification?: InstanceAttachmentEnaSrdSpecification | undefined; +} +/** + *

    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 EC2 User Guide.

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

    The ID of the VPC in which the instance is running.

    + *

    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.

    * @public */ - VpcId?: string | undefined; + TcpEstablishedTimeout?: number | undefined; /** - *

    The private IPv4 address assigned to the instance.

    + *

    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.

    * @public */ - PrivateIpAddress?: string | undefined; + UdpStreamTimeout?: number | undefined; /** - *

    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.

    + *

    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.

    * @public */ - PublicIpAddress?: string | undefined; + UdpTimeout?: number | undefined; } /** - *

    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.

    + *

    Information about an IPv4 prefix.

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

    The ID of the reservation.

    - * @public - */ - ReservationId?: string | undefined; - +export interface InstanceIpv4Prefix { /** - *

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

    + *

    One or more IPv4 prefixes assigned to the network interface.

    * @public */ - OwnerId?: string | undefined; + Ipv4Prefix?: string | undefined; +} +/** + *

    Information about an IPv6 prefix.

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

    The ID of the requester that launched the instances on your behalf (for example, - * Amazon Web Services Management Console or Auto Scaling).

    + *

    One or more IPv6 prefixes assigned to the network interface.

    * @public */ - RequesterId?: string | undefined; + Ipv6Prefix?: string | undefined; +} +/** + *

    Describes a private IPv4 address.

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

    Not supported.

    + *

    The association information for an Elastic IP address for the network interface.

    * @public */ - Groups?: GroupIdentifier[] | undefined; + Association?: InstanceNetworkInterfaceAssociation | undefined; /** - *

    The instances.

    + *

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

    * @public */ - Instances?: Instance[] | undefined; -} + Primary?: boolean | undefined; -/** - * @public - */ -export interface DescribeInstancesResult { /** - *

    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 private IPv4 DNS name.

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

    Information about the reservations.

    + *

    The private IPv4 address of the network interface.

    * @public */ - Reservations?: Reservation[] | undefined; + PrivateIpAddress?: string | undefined; } /** + *

    Describes a network interface.

    * @public */ -export interface DescribeInstanceStatusRequest { +export interface InstanceNetworkInterface { /** - *

    The instance IDs.

    - *

    Default: Describes all your instances.

    - *

    Constraints: Maximum 100 explicitly specified instance IDs.

    + *

    The association information for an Elastic IPv4 associated with the network + * interface.

    * @public */ - InstanceIds?: string[] | undefined; + Association?: InstanceNetworkInterfaceAssociation | undefined; /** - *

    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 network interface attachment.

    * @public */ - MaxResults?: number | undefined; + Attachment?: InstanceNetworkInterfaceAttachment | undefined; /** - *

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

    + *

    The description.

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

    Checks whether you have the required permissions for the operation, without 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 groups.

    * @public */ - DryRun?: boolean | undefined; + Groups?: GroupIdentifier[] | undefined; /** - *

    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).

      - *
    • - *
    • - *

      - * attached-ebs-status.status - The status of the attached EBS volume - * for the instance (ok | impaired | initializing | - * insufficient-data | not-applicable).

      - *
    • - *
    + *

    The IPv6 addresses associated with the network interface.

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

    The MAC address.

    * @public */ - Filters?: Filter[] | undefined; + MacAddress?: string | undefined; /** - *

    When true, includes the health status for all instances. When - * false, includes the health status for running instances only.

    - *

    Default: false - *

    + *

    The ID of the network interface.

    * @public */ - IncludeAllInstances?: boolean | undefined; -} + NetworkInterfaceId?: string | undefined; -/** - * @public - * @enum - */ -export const StatusName = { - reachability: "reachability", -} as const; + /** + *

    The ID of the Amazon Web Services account that created the network interface.

    + * @public + */ + OwnerId?: string | undefined; -/** - * @public - */ -export type StatusName = (typeof StatusName)[keyof typeof StatusName]; + /** + *

    The private DNS name.

    + * @public + */ + PrivateDnsName?: string | undefined; -/** - * @public - * @enum - */ -export const StatusType = { - failed: "failed", - initializing: "initializing", - insufficient_data: "insufficient-data", - passed: "passed", -} as const; + /** + *

    The IPv4 address of the network interface within the subnet.

    + * @public + */ + PrivateIpAddress?: string | undefined; -/** - * @public - */ -export type StatusType = (typeof StatusType)[keyof typeof StatusType]; + /** + *

    The private IPv4 addresses associated with the network interface.

    + * @public + */ + PrivateIpAddresses?: InstancePrivateIpAddress[] | undefined; -/** - *

    Describes the attached EBS status check for an instance.

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

    The date and time when the attached EBS status check failed.

    + *

    Indicates whether source/destination checking is enabled.

    * @public */ - ImpairedSince?: Date | undefined; + SourceDestCheck?: boolean | undefined; /** - *

    The name of the attached EBS status check.

    + *

    The status of the network interface.

    * @public */ - Name?: StatusName | undefined; + Status?: NetworkInterfaceStatus | undefined; /** - *

    The result of the attached EBS status check.

    + *

    The ID of the subnet.

    * @public */ - Status?: StatusType | undefined; -} + SubnetId?: string | undefined; -/** - * @public - * @enum - */ -export const SummaryStatus = { - impaired: "impaired", - initializing: "initializing", - insufficient_data: "insufficient-data", - not_applicable: "not-applicable", - ok: "ok", -} as const; + /** + *

    The ID of the VPC.

    + * @public + */ + VpcId?: string | undefined; -/** - * @public - */ -export type SummaryStatus = (typeof SummaryStatus)[keyof typeof SummaryStatus]; + /** + *

    The type of network interface.

    + *

    Valid values: interface | efa | efa-only | trunk + *

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

    Provides a summary of the attached EBS volume status for an instance.

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

    Details about the attached EBS status check for an instance.

    + *

    The IPv4 delegated prefixes that are assigned to the network interface.

    * @public */ - Details?: EbsStatusDetails[] | undefined; + Ipv4Prefixes?: InstanceIpv4Prefix[] | undefined; /** - *

    The current status.

    + *

    The IPv6 delegated prefixes that are assigned to the network interface.

    * @public */ - Status?: SummaryStatus | undefined; + Ipv6Prefixes?: InstanceIpv6Prefix[] | undefined; + + /** + *

    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 EC2 User Guide.

    + * @public + */ + ConnectionTrackingConfiguration?: ConnectionTrackingSpecificationResponse | undefined; + + /** + *

    The entity that manages the network interface.

    + * @public + */ + Operator?: OperatorResponse | undefined; } /** + *

    Describes the options for instance hostnames.

    * @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; +export interface PrivateDnsNameOptionsResponse { + /** + *

    The type of hostname to assign to an instance.

    + * @public + */ + HostnameType?: HostnameType | undefined; -/** - * @public - */ -export type EventCode = (typeof EventCode)[keyof typeof EventCode]; + /** + *

    Indicates whether to respond to DNS queries for instance hostnames with DNS A + * records.

    + * @public + */ + EnableResourceNameDnsARecord?: boolean | undefined; + + /** + *

    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA + * records.

    + * @public + */ + EnableResourceNameDnsAAAARecord?: boolean | undefined; +} /** - *

    Describes a scheduled event for an instance.

    + *

    Describes an instance.

    * @public */ -export interface InstanceStatusEvent { +export interface Instance { /** - *

    The ID of the event.

    + *

    The architecture of the image.

    * @public */ - InstanceEventId?: string | undefined; + Architecture?: ArchitectureValues | undefined; /** - *

    The event code.

    + *

    Any block device mapping entries for the instance.

    * @public */ - Code?: EventCode | undefined; + BlockDeviceMappings?: InstanceBlockDeviceMapping[] | undefined; /** - *

    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 idempotency token you provided when you launched the instance, if + * applicable.

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

    The latest scheduled end time for the event.

    + *

    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.

    * @public */ - NotAfter?: Date | undefined; + EbsOptimized?: boolean | undefined; /** - *

    The earliest scheduled start time for the event.

    + *

    Specifies whether enhanced networking with ENA is enabled.

    * @public */ - NotBefore?: Date | undefined; + EnaSupport?: boolean | undefined; /** - *

    The deadline for starting the event.

    + *

    The hypervisor type of the instance. The value xen is used for both Xen + * and Nitro hypervisors.

    * @public */ - NotBeforeDeadline?: Date | undefined; -} + Hypervisor?: HypervisorType | undefined; -/** - *

    Describes the instance status.

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

    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 IAM instance profile associated with the instance, if + * applicable.

    * @public */ - ImpairedSince?: Date | undefined; + IamInstanceProfile?: IamInstanceProfile | undefined; /** - *

    The type of instance status.

    + *

    Indicates whether this is a Spot Instance or a Scheduled Instance.

    * @public */ - Name?: StatusName | undefined; + InstanceLifecycle?: InstanceLifecycleType | undefined; /** - *

    The status.

    + *

    Deprecated.

    + * + *

    Amazon Elastic Graphics reached end of life on January 8, 2024.

    + *
    * @public */ - Status?: StatusType | undefined; -} + ElasticGpuAssociations?: ElasticGpuAssociation[] | undefined; -/** - *

    Describes the status of an instance.

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

    The system instance health or application instance health.

    + *

    Deprecated

    + * + *

    Amazon Elastic Inference is no longer available.

    + *
    * @public */ - Details?: InstanceStatusDetails[] | undefined; + ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[] | undefined; /** - *

    The status.

    + *

    The network interfaces for the instance.

    * @public */ - Status?: SummaryStatus | undefined; -} + NetworkInterfaces?: InstanceNetworkInterface[] | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the Outpost.

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

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

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

    Describes the status of an instance.

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

    The Availability Zone of the instance.

    + *

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

    * @public */ - AvailabilityZone?: string | undefined; + RootDeviceType?: DeviceType | undefined; /** - *

    The Amazon Resource Name (ARN) of the Outpost.

    + *

    The security groups for the instance.

    * @public */ - OutpostArn?: string | undefined; + SecurityGroups?: GroupIdentifier[] | undefined; /** - *

    The entity that manages the instance.

    + *

    Indicates whether source/destination checking is enabled.

    * @public */ - Operator?: OperatorResponse | undefined; + SourceDestCheck?: boolean | undefined; /** - *

    Any scheduled events associated with the instance.

    + *

    If the request is a Spot Instance request, the ID of the request.

    * @public */ - Events?: InstanceStatusEvent[] | undefined; + SpotInstanceRequestId?: string | undefined; /** - *

    The ID of the instance.

    + *

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

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

    The intended state of the instance. DescribeInstanceStatus requires - * that an instance be in the running state.

    + *

    The reason for the most recent state transition.

    * @public */ - InstanceState?: InstanceState | undefined; + StateReason?: StateReason | undefined; /** - *

    Reports impaired functionality that stems from issues internal to the instance, such - * as impaired reachability.

    + *

    Any tags assigned to the instance.

    * @public */ - InstanceStatus?: InstanceStatusSummary | undefined; + Tags?: Tag[] | undefined; /** - *

    Reports impaired functionality that stems from issues related to the systems that - * support an instance, such as hardware failures and network connectivity problems.

    + *

    The virtualization type of the instance.

    * @public */ - SystemStatus?: InstanceStatusSummary | undefined; + VirtualizationType?: VirtualizationType | undefined; /** - *

    Reports impaired functionality that stems from an attached Amazon EBS volume that is - * unreachable and unable to complete I/O operations.

    + *

    The CPU options for the instance.

    * @public */ - AttachedEbsStatus?: EbsStatusSummary | undefined; -} + CpuOptions?: CpuOptions | undefined; -/** - * @public - */ -export interface DescribeInstanceStatusResult { /** - *

    Information about the status of the instances.

    + *

    The ID of the Capacity Reservation.

    * @public */ - InstanceStatuses?: InstanceStatus[] | undefined; + CapacityReservationId?: string | undefined; /** - *

    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 Capacity Reservation targeting option.

    * @public */ - NextToken?: string | undefined; -} + CapacityReservationSpecification?: CapacityReservationSpecificationResponse | undefined; -/** - * @public - */ -export interface DescribeInstanceTopologyRequest { /** - *

    Checks whether you have the required permissions for the operation, without 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 instance is enabled for hibernation.

    * @public */ - DryRun?: boolean | undefined; + HibernationOptions?: HibernationOptions | undefined; /** - *

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

    + *

    The license configurations for the instance.

    * @public */ - NextToken?: string | undefined; + Licenses?: LicenseConfiguration[] | undefined; /** - *

    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 - *

    + *

    The metadata options for the instance.

    * @public */ - MaxResults?: number | undefined; + MetadataOptions?: InstanceMetadataOptionsResponse | undefined; /** - *

    The instance IDs.

    - *

    Default: Describes all your instances.

    - *

    Constraints: Maximum 100 explicitly specified instance IDs.

    + *

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

    * @public */ - InstanceIds?: string[] | undefined; + EnclaveOptions?: EnclaveOptions | undefined; /** - *

    The name of the placement group that each instance is in.

    - *

    Constraints: Maximum 100 explicitly specified placement group names.

    + *

    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.

    * @public */ - GroupNames?: string[] | undefined; + BootMode?: BootModeValues | undefined; /** - *

    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 platform details value for the instance. For more information, see AMI + * billing information fields in the + * Amazon EC2 User Guide.

    * @public */ - Filters?: Filter[] | undefined; -} + PlatformDetails?: string | undefined; -/** - *

    Information about the instance topology.

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

    The instance ID.

    + *

    The usage operation value for the instance. For more information, see AMI + * billing information fields in the + * Amazon EC2 User Guide.

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

    The instance type.

    + *

    The time that the usage operation was last updated.

    * @public */ - InstanceType?: string | undefined; + UsageOperationUpdateTime?: Date | undefined; /** - *

    The name of the placement group that the instance is in.

    + *

    The options for the instance hostname.

    * @public */ - GroupName?: string | undefined; + PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse | undefined; /** - *

    The network nodes. The nodes are hashed based on your account. Instances from - * different accounts running under the same server will return a different hashed list of - * strings.

    + *

    The IPv6 address assigned to the instance.

    * @public */ - NetworkNodes?: string[] | undefined; + Ipv6Address?: string | undefined; /** - *

    The name of the Availability Zone or Local Zone that the instance is in.

    + *

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

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

    The ID of the Availability Zone or Local Zone that the instance is in.

    + *

    Provides information on the recovery and maintenance options of your instance.

    * @public */ - ZoneId?: string | undefined; -} + MaintenanceOptions?: InstanceMaintenanceOptions | undefined; -/** - * @public - */ -export interface DescribeInstanceTopologyResult { /** - *

    Information about the topology of each instance.

    + *

    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.

    * @public */ - Instances?: InstanceTopology[] | undefined; + CurrentInstanceBootMode?: InstanceBootModeValues | undefined; /** - *

    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 entity that manages the instance.

    * @public */ - NextToken?: string | undefined; -} - -/** - * @public - * @enum - */ -export const LocationType = { - availability_zone: "availability-zone", - availability_zone_id: "availability-zone-id", - outpost: "outpost", - region: "region", -} as const; + Operator?: OperatorResponse | undefined; -/** - * @public - */ -export type LocationType = (typeof LocationType)[keyof typeof LocationType]; + /** + *

    The ID of the instance.

    + * @public + */ + InstanceId?: string | undefined; -/** - * @public - */ -export interface DescribeInstanceTypeOfferingsRequest { /** - *

    Checks whether you have the required permissions for the action, without 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 AMI used to launch the instance.

    * @public */ - DryRun?: boolean | undefined; + ImageId?: string | undefined; /** - *

    The location type.

    - *
      - *
    • - *

      - * availability-zone - The Availability Zone. When you specify a location - * filter, it must be an Availability Zone for the current Region.

      - *
    • - *
    • - *

      - * availability-zone-id - The AZ ID. When you specify a location filter, it must - * be an AZ ID for the current Region.

      - *
    • - *
    • - *

      - * outpost - The Outpost ARN. When you specify a location filter, it must be an - * Outpost ARN for the current Region.

      - *
    • - *
    • - *

      - * region - The current Region. If you specify a location filter, it must match - * the current Region.

      - *
    • - *
    + *

    The current state of the instance.

    * @public */ - LocationType?: LocationType | undefined; + State?: InstanceState | undefined; /** - *

    One or more filters. Filter names and values are case-sensitive.

    - *
      - *
    • - *

      - * instance-type - The instance type. For a list of possible values, see Instance.

      - *
    • - *
    • - *

      - * location - The location. For a list of possible identifiers, see Regions and Zones.

      - *
    • - *
    + *

    [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.

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

    [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.

    * @public */ - Filters?: Filter[] | undefined; + PublicDnsName?: string | undefined; /** - *

    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 reason for the most recent state transition. This might be an empty string.

    * @public */ - MaxResults?: number | undefined; + StateTransitionReason?: string | undefined; /** - *

    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 key pair, if this instance was launched with an associated key + * pair.

    * @public */ - NextToken?: string | undefined; -} + KeyName?: string | undefined; -/** - *

    The instance types offered.

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

    The instance type. For more information, see Instance types in the Amazon EC2 - * User Guide.

    + *

    The AMI launch index, which can be used to find this instance in the launch + * group.

    * @public */ - InstanceType?: _InstanceType | undefined; + AmiLaunchIndex?: number | undefined; /** - *

    The location type.

    + *

    The product codes attached to this instance, if applicable.

    * @public */ - LocationType?: LocationType | undefined; + ProductCodes?: ProductCode[] | undefined; /** - *

    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.)

    + *

    The instance type.

    * @public */ - Location?: string | undefined; -} + InstanceType?: _InstanceType | undefined; -/** - * @public - */ -export interface DescribeInstanceTypeOfferingsResult { /** - *

    The instance types offered in the location.

    + *

    The time that the instance was last launched. To determine the time that instance was first launched, + * see the attachment time for the primary network interface.

    * @public */ - InstanceTypeOfferings?: InstanceTypeOffering[] | undefined; + LaunchTime?: Date | undefined; /** - *

    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 location where the instance launched, if applicable.

    * @public */ - NextToken?: string | undefined; -} + Placement?: Placement | undefined; -/** - * @public - */ -export interface DescribeInstanceTypesRequest { /** - *

    Checks whether you have the required permissions for the action, without 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 kernel associated with this instance, if applicable.

    * @public */ - DryRun?: boolean | undefined; + KernelId?: string | undefined; /** - *

    The instance types.

    + *

    The RAM disk associated with this instance, if applicable.

    * @public */ - InstanceTypes?: _InstanceType[] | undefined; + RamdiskId?: string | undefined; /** - *

    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).

      - *
    • + *

      The platform. This value is windows for Windows instances; otherwise, it is empty.

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

      The monitoring for the instance.

      + * @public + */ + Monitoring?: Monitoring | undefined; + + /** + *

      The ID of the subnet in which the instance is running.

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

      The ID of the VPC in which the instance is running.

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

      The private IPv4 address assigned to the instance.

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

      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.

      + * @public + */ + PublicIpAddress?: string | undefined; +} + +/** + *

      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.

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

      The ID of the reservation.

      + * @public + */ + ReservationId?: string | undefined; + + /** + *

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

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

      The ID of the requester that launched the instances on your behalf (for example, + * Amazon Web Services Management Console or Auto Scaling).

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

      Not supported.

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

      The instances.

      + * @public + */ + Instances?: Instance[] | undefined; +} + +/** + * @public + */ +export interface DescribeInstancesResult { + /** + *

      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.

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

      Information about the reservations.

      + * @public + */ + Reservations?: Reservation[] | undefined; +} + +/** + * @public + */ +export interface DescribeInstanceStatusRequest { + /** + *

      The instance IDs.

      + *

      Default: Describes all your instances.

      + *

      Constraints: Maximum 100 explicitly specified instance IDs.

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

      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.

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

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

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

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

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

      The filters.

      + *
        *
      • *

        - * nitro-tpm-support - Indicates whether NitroTPM is supported - * (supported | unsupported).

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

        *
      • *
      • *

        - * nitro-tpm-info.supported-versions - The supported NitroTPM version - * (2.0).

        + * event.code - The code for the scheduled event + * (instance-reboot | system-reboot | + * system-maintenance | instance-retirement | + * instance-stop).

        *
      • *
      • *

        - * processor-info.supported-architecture - The CPU architecture - * (arm64 | i386 | x86_64).

        + * event.description - A description of the event.

        *
      • *
      • *

        - * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in - * GHz.

        + * event.instance-event-id - The ID of the event whose date and time + * you are modifying.

        *
      • *
      • *

        - * processor-info.supported-features - The supported CPU features - * (amd-sev-snp).

        + * event.not-after - The latest end time for the scheduled event + * (for example, 2014-09-15T17:15:20.000Z).

        *
      • *
      • *

        - * supported-boot-mode - The boot mode (legacy-bios | - * uefi).

        + * event.not-before - The earliest start 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-deadline - The deadline for starting the event + * (for example, 2014-09-15T17:15:20.000Z).

        *
      • *
      • *

        - * supported-usage-class - The usage class (on-demand | spot | - * capacity-block).

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

        *
      • *
      • *

        - * supported-virtualization-type - The virtualization type (hvm | - * paravirtual).

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

        *
      • *
      • *

        - * vcpu-info.default-cores - The default number of cores for the instance - * type.

        + * instance-status.reachability - Filters on instance status where + * the name is reachability (passed | failed + * | initializing | insufficient-data).

        *
      • *
      • *

        - * vcpu-info.default-threads-per-core - The default number of threads per core - * for the instance type.

        + * instance-status.status - The status of the instance + * (ok | impaired | initializing | + * insufficient-data | not-applicable).

        *
      • *
      • *

        - * vcpu-info.default-vcpus - The default number of vCPUs for the instance - * type.

        + * system-status.reachability - Filters on system status where the + * name is reachability (passed | failed | + * initializing | insufficient-data).

        *
      • *
      • *

        - * vcpu-info.valid-cores - The number of cores that can be configured for the - * instance type.

        + * system-status.status - The system status of the instance + * (ok | impaired | initializing | + * insufficient-data | not-applicable).

        *
      • *
      • *

        - * 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".

        + * attached-ebs-status.status - The status of the attached EBS volume + * for the instance (ok | impaired | initializing | + * insufficient-data | not-applicable).

        *
      • *
      * @public @@ -5197,787 +4770,929 @@ export interface DescribeInstanceTypesRequest { Filters?: Filter[] | undefined; /** - *

      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.

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

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

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

      Describes the optimized EBS performance for supported instance types.

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

      The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

      - * @public - */ - BaselineBandwidthInMbps?: number | undefined; - - /** - *

      The baseline throughput performance for an EBS-optimized instance type, in MB/s.

      - * @public - */ - BaselineThroughputInMBps?: number | undefined; - - /** - *

      The baseline input/output storage operations per seconds for an EBS-optimized instance - * type.

      - * @public - */ - BaselineIops?: number | undefined; - - /** - *

      The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

      - * @public - */ - MaximumBandwidthInMbps?: number | undefined; - - /** - *

      The maximum throughput performance for an EBS-optimized instance type, in MB/s.

      - * @public - */ - MaximumThroughputInMBps?: number | undefined; - - /** - *

      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 + *

      * @public */ - MaximumIops?: number | undefined; + IncludeAllInstances?: boolean | undefined; } /** * @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 StatusName = { + reachability: "reachability", } as const; /** * @public */ -export type EbsEncryptionSupport = (typeof EbsEncryptionSupport)[keyof typeof EbsEncryptionSupport]; +export type StatusName = (typeof StatusName)[keyof typeof StatusName]; /** * @public * @enum */ -export const EbsNvmeSupport = { - REQUIRED: "required", - SUPPORTED: "supported", - UNSUPPORTED: "unsupported", +export const StatusType = { + failed: "failed", + initializing: "initializing", + insufficient_data: "insufficient-data", + passed: "passed", } as const; /** * @public */ -export type EbsNvmeSupport = (typeof EbsNvmeSupport)[keyof typeof EbsNvmeSupport]; +export type StatusType = (typeof StatusType)[keyof typeof StatusType]; /** - *

      Describes the Amazon EBS features supported by the instance type.

      + *

      Describes the attached EBS status check for an instance.

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

      Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized - * instances in Amazon EC2 User Guide.

      - * @public - */ - EbsOptimizedSupport?: EbsOptimizedSupport | undefined; - +export interface EbsStatusDetails { /** - *

      Indicates whether Amazon EBS encryption is supported.

      + *

      The date and time when the attached EBS status check failed.

      * @public */ - EncryptionSupport?: EbsEncryptionSupport | undefined; + ImpairedSince?: Date | undefined; /** - *

      Describes the optimized EBS performance for the instance type.

      + *

      The name of the attached EBS status check.

      * @public */ - EbsOptimizedInfo?: EbsOptimizedInfo | undefined; + Name?: StatusName | undefined; /** - *

      Indicates whether non-volatile memory express (NVMe) is supported.

      + *

      The result of the attached EBS status check.

      * @public */ - NvmeSupport?: EbsNvmeSupport | undefined; + Status?: StatusType | undefined; } /** - *

      Describes the memory for the FPGA accelerator for the instance type.

      * @public + * @enum */ -export interface FpgaDeviceMemoryInfo { - /** - *

      The size of the memory available to the FPGA accelerator, in MiB.

      - * @public - */ - SizeInMiB?: number | undefined; -} +export const SummaryStatus = { + impaired: "impaired", + initializing: "initializing", + insufficient_data: "insufficient-data", + not_applicable: "not-applicable", + ok: "ok", +} as const; /** - *

      Describes the FPGA accelerator for the instance type.

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

      The name of the FPGA accelerator.

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

      The manufacturer of the FPGA accelerator.

      - * @public - */ - Manufacturer?: string | undefined; - - /** - *

      The count of FPGA accelerators for the instance type.

      - * @public - */ - Count?: number | undefined; - - /** - *

      Describes the memory for the FPGA accelerator for the instance type.

      - * @public - */ - MemoryInfo?: FpgaDeviceMemoryInfo | undefined; -} +export type SummaryStatus = (typeof SummaryStatus)[keyof typeof SummaryStatus]; /** - *

      Describes the FPGAs for the instance type.

      + *

      Provides a summary of the attached EBS volume status for an instance.

      * @public */ -export interface FpgaInfo { +export interface EbsStatusSummary { /** - *

      Describes the FPGAs for the instance type.

      + *

      Details about the attached EBS status check for an instance.

      * @public */ - Fpgas?: FpgaDeviceInfo[] | undefined; + Details?: EbsStatusDetails[] | undefined; /** - *

      The total memory of all FPGA accelerators for the instance type.

      + *

      The current status.

      * @public */ - TotalFpgaMemoryInMiB?: number | undefined; + Status?: SummaryStatus | undefined; } /** - *

      Describes the memory available to the GPU accelerator.

      * @public + * @enum */ -export interface GpuDeviceMemoryInfo { - /** - *

      The size of the memory available to the GPU accelerator, in MiB.

      - * @public - */ - SizeInMiB?: number | undefined; -} +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; /** - *

      Describes the GPU accelerators for the instance type.

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

      The name of the GPU accelerator.

      - * @public - */ - Name?: string | undefined; +export type EventCode = (typeof EventCode)[keyof typeof EventCode]; +/** + *

      Describes a scheduled event for an instance.

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

      The manufacturer of the GPU accelerator.

      + *

      The ID of the event.

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

      The number of GPUs for the instance type.

      + *

      The event code.

      * @public */ - Count?: number | undefined; + Code?: EventCode | undefined; /** - *

      Describes the memory available to the GPU accelerator.

      + *

      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].

      * @public */ - MemoryInfo?: GpuDeviceMemoryInfo | undefined; -} + Description?: string | undefined; -/** - *

      Describes the GPU accelerators for the instance type.

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

      Describes the GPU accelerators for the instance type.

      + *

      The latest scheduled end time for the event.

      * @public */ - Gpus?: GpuDeviceInfo[] | undefined; + NotAfter?: Date | undefined; /** - *

      The total size of the memory for the GPU accelerators for the instance type, in MiB.

      + *

      The earliest scheduled start time for the event.

      * @public */ - TotalGpuMemoryInMiB?: number | undefined; -} - -/** - * @public - * @enum - */ -export const InstanceTypeHypervisor = { - NITRO: "nitro", - XEN: "xen", -} as const; - -/** - * @public - */ -export type InstanceTypeHypervisor = (typeof InstanceTypeHypervisor)[keyof typeof InstanceTypeHypervisor]; + NotBefore?: Date | undefined; -/** - * - *

      Amazon Elastic Inference is no longer available.

      - *
      - *

      Describes the memory available to the inference accelerator.

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

      The size of the memory available to the inference accelerator, in MiB.

      + *

      The deadline for starting the event.

      * @public */ - SizeInMiB?: number | undefined; + NotBeforeDeadline?: Date | undefined; } /** - * - *

      Amazon Elastic Inference is no longer available.

      - *
      - *

      Describes the Inference accelerators for the instance type.

      + *

      Describes the instance status.

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

      The number of Inference accelerators for the instance type.

      - * @public - */ - Count?: number | undefined; - +export interface InstanceStatusDetails { /** - *

      The name of the Inference 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.

      * @public */ - Name?: string | undefined; + ImpairedSince?: Date | undefined; /** - *

      The manufacturer of the Inference accelerator.

      + *

      The type of instance status.

      * @public */ - Manufacturer?: string | undefined; + Name?: StatusName | undefined; /** - *

      Describes the memory available to the inference accelerator.

      + *

      The status.

      * @public */ - MemoryInfo?: InferenceDeviceMemoryInfo | undefined; + Status?: StatusType | undefined; } /** - * - *

      Amazon Elastic Inference is no longer available.

      - *
      - *

      Describes the Inference accelerators for the instance type.

      + *

      Describes the status of an instance.

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

      Describes the Inference accelerators for the instance type.

      - * @public - */ - Accelerators?: InferenceDeviceInfo[] | undefined; - +export interface InstanceStatusSummary { /** - *

      The total size of the memory for the inference accelerators for the instance type, in - * MiB.

      + *

      The system instance health or application instance health.

      * @public */ - TotalInferenceMemoryInMiB?: number | undefined; -} - -/** - * @public - * @enum - */ -export const DiskType = { - hdd: "hdd", - ssd: "ssd", -} as const; - -/** - * @public - */ -export type DiskType = (typeof DiskType)[keyof typeof DiskType]; + Details?: InstanceStatusDetails[] | undefined; + + /** + *

      The status.

      + * @public + */ + Status?: SummaryStatus | undefined; +} /** - *

      Describes a disk.

      + *

      Describes the status of an instance.

      * @public */ -export interface DiskInfo { +export interface InstanceStatus { /** - *

      The size of the disk in GB.

      + *

      The Availability Zone of the instance.

      * @public */ - SizeInGB?: number | undefined; + AvailabilityZone?: string | undefined; /** - *

      The number of disks with this configuration.

      + *

      The Amazon Resource Name (ARN) of the Outpost.

      * @public */ - Count?: number | undefined; + OutpostArn?: string | undefined; /** - *

      The type of disk.

      + *

      The entity that manages the instance.

      * @public */ - Type?: DiskType | undefined; -} - -/** - * @public - * @enum - */ -export const InstanceStorageEncryptionSupport = { - required: "required", - unsupported: "unsupported", -} as const; - -/** - * @public - */ -export type InstanceStorageEncryptionSupport = - (typeof InstanceStorageEncryptionSupport)[keyof typeof InstanceStorageEncryptionSupport]; + Operator?: OperatorResponse | undefined; -/** - * @public - * @enum - */ -export const EphemeralNvmeSupport = { - REQUIRED: "required", - SUPPORTED: "supported", - UNSUPPORTED: "unsupported", -} as const; + /** + *

      Any scheduled events associated with the instance.

      + * @public + */ + Events?: InstanceStatusEvent[] | undefined; -/** - * @public - */ -export type EphemeralNvmeSupport = (typeof EphemeralNvmeSupport)[keyof typeof EphemeralNvmeSupport]; + /** + *

      The ID of the instance.

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

      Describes the instance store features that are supported by the instance type.

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

      The total size of the disks, in GB.

      + *

      The intended state of the instance. DescribeInstanceStatus requires + * that an instance be in the running state.

      * @public */ - TotalSizeInGB?: number | undefined; + InstanceState?: InstanceState | undefined; /** - *

      Describes the disks that are available for the instance type.

      + *

      Reports impaired functionality that stems from issues internal to the instance, such + * as impaired reachability.

      * @public */ - Disks?: DiskInfo[] | undefined; + InstanceStatus?: InstanceStatusSummary | undefined; /** - *

      Indicates whether non-volatile memory express (NVMe) is supported.

      + *

      Reports impaired functionality that stems from issues related to the systems that + * support an instance, such as hardware failures and network connectivity problems.

      * @public */ - NvmeSupport?: EphemeralNvmeSupport | undefined; + SystemStatus?: InstanceStatusSummary | undefined; /** - *

      Indicates whether data is encrypted at rest.

      + *

      Reports impaired functionality that stems from an attached Amazon EBS volume that is + * unreachable and unable to complete I/O operations.

      * @public */ - EncryptionSupport?: InstanceStorageEncryptionSupport | undefined; + AttachedEbsStatus?: EbsStatusSummary | undefined; } /** - *

      Describes the memory available to the media accelerator.

      * @public */ -export interface MediaDeviceMemoryInfo { +export interface DescribeInstanceStatusResult { /** - *

      The size of the memory available to each media accelerator, in MiB.

      + *

      Information about the status of the instances.

      * @public */ - SizeInMiB?: number | undefined; + InstanceStatuses?: InstanceStatus[] | undefined; + + /** + *

      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.

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

      Describes the media accelerators for the instance type.

      * @public */ -export interface MediaDeviceInfo { +export interface DescribeInstanceTopologyRequest { /** - *

      The number of media accelerators for the instance type.

      + *

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

      * @public */ - Count?: number | undefined; + DryRun?: boolean | undefined; /** - *

      The name of the media accelerator.

      + *

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

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

      The manufacturer of the media accelerator.

      + *

      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 + *

      * @public */ - Manufacturer?: string | undefined; + MaxResults?: number | undefined; /** - *

      Describes the memory available to the media accelerator.

      + *

      The instance IDs.

      + *

      Default: Describes all your instances.

      + *

      Constraints: Maximum 100 explicitly specified instance IDs.

      * @public */ - MemoryInfo?: MediaDeviceMemoryInfo | undefined; -} + InstanceIds?: string[] | undefined; -/** - *

      Describes the media accelerators for the instance type.

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

      Describes the media accelerators for the instance type.

      + *

      The name of the placement group that each instance is in.

      + *

      Constraints: Maximum 100 explicitly specified placement group names.

      * @public */ - Accelerators?: MediaDeviceInfo[] | undefined; + GroupNames?: string[] | undefined; /** - *

      The total size of the memory for the media accelerators for the instance type, in - * MiB.

      + *

      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.

        + *
      • + *
      * @public */ - TotalMediaMemoryInMiB?: number | undefined; + Filters?: Filter[] | undefined; } /** - *

      Describes the memory for the instance type.

      + *

      Information about the instance topology.

      * @public */ -export interface MemoryInfo { +export interface InstanceTopology { /** - *

      The size of the memory, in MiB.

      + *

      The instance ID.

      * @public */ - SizeInMiB?: number | undefined; -} + InstanceId?: string | undefined; -/** - *

      Describes the Elastic Fabric Adapters for the instance type.

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

      The maximum number of Elastic Fabric Adapters for the instance type.

      + *

      The instance type.

      * @public */ - MaximumEfaInterfaces?: number | undefined; -} - -/** - * @public - * @enum - */ -export const EnaSupport = { - required: "required", - supported: "supported", - unsupported: "unsupported", -} as const; + InstanceType?: string | undefined; -/** - * @public - */ -export type EnaSupport = (typeof EnaSupport)[keyof typeof EnaSupport]; + /** + *

      The name of the placement group that the instance is in.

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

      Describes the network card support of the instance type.

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

      The index of the network card.

      + *

      The network nodes. The nodes are hashed based on your account. Instances from + * different accounts running under the same server will return a different hashed list of + * strings.

      * @public */ - NetworkCardIndex?: number | undefined; + NetworkNodes?: string[] | undefined; /** - *

      The network performance of the network card.

      + *

      The name of the Availability Zone or Local Zone that the instance is in.

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

      The maximum number of network interfaces for the network card.

      + *

      The ID of the Availability Zone or Local Zone that the instance is in.

      * @public */ - MaximumNetworkInterfaces?: number | undefined; + ZoneId?: string | undefined; +} +/** + * @public + */ +export interface DescribeInstanceTopologyResult { /** - *

      The baseline network performance of the network card, in Gbps.

      + *

      Information about the topology of each instance.

      * @public */ - BaselineBandwidthInGbps?: number | undefined; + Instances?: InstanceTopology[] | undefined; /** - *

      The peak (burst) network performance of the network card, in Gbps.

      + *

      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.

      * @public */ - PeakBandwidthInGbps?: number | undefined; + NextToken?: string | undefined; } /** - *

      Describes the networking features of the instance type.

      * @public + * @enum */ -export interface NetworkInfo { - /** - *

      The network performance.

      - * @public - */ - NetworkPerformance?: string | undefined; +export const LocationType = { + availability_zone: "availability-zone", + availability_zone_id: "availability-zone-id", + outpost: "outpost", + region: "region", +} as const; + +/** + * @public + */ +export type LocationType = (typeof LocationType)[keyof typeof LocationType]; +/** + * @public + */ +export interface DescribeInstanceTypeOfferingsRequest { /** - *

      The maximum number of network interfaces for the instance 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.

      * @public */ - MaximumNetworkInterfaces?: number | undefined; + DryRun?: boolean | undefined; /** - *

      The maximum number of physical network cards that can be allocated to the instance.

      + *

      The location type.

      + *
        + *
      • + *

        + * availability-zone - The Availability Zone. When you specify a location + * filter, it must be an Availability Zone for the current Region.

        + *
      • + *
      • + *

        + * availability-zone-id - The AZ ID. When you specify a location filter, it must + * be an AZ ID for the current Region.

        + *
      • + *
      • + *

        + * outpost - The Outpost ARN. When you specify a location filter, it must be an + * Outpost ARN for the current Region.

        + *
      • + *
      • + *

        + * region - The current Region. If you specify a location filter, it must match + * the current Region.

        + *
      • + *
      * @public */ - MaximumNetworkCards?: number | undefined; + LocationType?: LocationType | undefined; /** - *

      The index of the default network card, starting at 0.

      + *

      One or more filters. Filter names and values are case-sensitive.

      + *
        + *
      • + *

        + * instance-type - The instance type. For a list of possible values, see Instance.

        + *
      • + *
      • + *

        + * location - The location. For a list of possible identifiers, see Regions and Zones.

        + *
      • + *
      * @public */ - DefaultNetworkCardIndex?: number | undefined; + Filters?: Filter[] | undefined; /** - *

      Describes the network cards for the 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.

      * @public */ - NetworkCards?: NetworkCardInfo[] | undefined; + MaxResults?: number | undefined; /** - *

      The maximum number of IPv4 addresses per network interface.

      + *

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

      * @public */ - Ipv4AddressesPerInterface?: number | undefined; + NextToken?: string | undefined; +} +/** + *

      The instance types offered.

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

      The maximum number of IPv6 addresses per network interface.

      + *

      The instance type. For more information, see Instance types in the Amazon EC2 + * User Guide.

      * @public */ - Ipv6AddressesPerInterface?: number | undefined; + InstanceType?: _InstanceType | undefined; /** - *

      Indicates whether IPv6 is supported.

      + *

      The location type.

      * @public */ - Ipv6Supported?: boolean | undefined; + LocationType?: LocationType | undefined; /** - *

      Indicates whether Elastic Network Adapter (ENA) is supported.

      + *

      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.)

      * @public */ - EnaSupport?: EnaSupport | undefined; + Location?: string | undefined; +} +/** + * @public + */ +export interface DescribeInstanceTypeOfferingsResult { /** - *

      Indicates whether Elastic Fabric Adapter (EFA) is supported.

      + *

      The instance types offered in the location.

      * @public */ - EfaSupported?: boolean | undefined; + InstanceTypeOfferings?: InstanceTypeOffering[] | undefined; /** - *

      Describes the 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.

      * @public */ - EfaInfo?: EfaInfo | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeInstanceTypesRequest { /** - *

      Indicates whether the instance type automatically encrypts in-transit traffic between - * 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.

      * @public */ - EncryptionInTransitSupported?: boolean | undefined; + DryRun?: boolean | undefined; /** - *

      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 instance types.

      * @public */ - EnaSrdSupported?: boolean | undefined; -} + InstanceTypes?: _InstanceType[] | undefined; -/** - *

      Describes the cores available to the neuron accelerator.

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

      The number of cores available to the neuron accelerator.

      + *

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

        + *
      • + *
      • + *

        + * 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".

        + *
      • + *
      * @public */ - Count?: number | undefined; + Filters?: Filter[] | undefined; /** - *

      The version of the neuron accelerator.

      + *

      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.

      * @public */ - Version?: number | undefined; -} + MaxResults?: number | undefined; -/** - *

      Describes the memory available to the neuron accelerator.

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

      The size of the memory available to the neuron accelerator, in MiB.

      + *

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

      * @public */ - SizeInMiB?: number | undefined; + NextToken?: string | undefined; } /** - *

      Describes the neuron accelerators for the instance type.

      + *

      Describes the optimized EBS performance for supported instance types.

      * @public */ -export interface NeuronDeviceInfo { +export interface EbsOptimizedInfo { /** - *

      The number of neuron accelerators for the instance type.

      + *

      The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

      * @public */ - Count?: number | undefined; + BaselineBandwidthInMbps?: number | undefined; /** - *

      The name of the neuron accelerator.

      + *

      The baseline throughput performance for an EBS-optimized instance type, in MB/s.

      * @public */ - Name?: string | undefined; + BaselineThroughputInMBps?: number | undefined; /** - *

      Describes the cores available to each neuron accelerator.

      + *

      The baseline input/output storage operations per seconds for an EBS-optimized instance + * type.

      * @public */ - CoreInfo?: NeuronDeviceCoreInfo | undefined; + BaselineIops?: number | undefined; /** - *

      Describes the memory available to each neuron accelerator.

      + *

      The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

      * @public */ - MemoryInfo?: NeuronDeviceMemoryInfo | undefined; -} + MaximumBandwidthInMbps?: number | undefined; -/** - *

      Describes the neuron accelerators for the instance type.

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

      Describes the neuron accelerators for the instance type.

      + *

      The maximum throughput performance for an EBS-optimized instance type, in MB/s.

      * @public */ - NeuronDevices?: NeuronDeviceInfo[] | undefined; + MaximumThroughputInMBps?: number | undefined; /** - *

      The total size of the memory for the neuron accelerators for the instance type, in - * MiB.

      + *

      The maximum input/output storage operations per second for an EBS-optimized instance + * type.

      * @public */ - TotalNeuronDeviceMemoryInMiB?: number | undefined; + MaximumIops?: number | undefined; } /** * @public * @enum */ -export const NitroEnclavesSupport = { - SUPPORTED: "supported", - UNSUPPORTED: "unsupported", +export const EbsOptimizedSupport = { + default: "default", + supported: "supported", + unsupported: "unsupported", } as const; /** * @public */ -export type NitroEnclavesSupport = (typeof NitroEnclavesSupport)[keyof typeof NitroEnclavesSupport]; - -/** - *

      Describes the supported NitroTPM versions for the instance type.

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

      Indicates the supported NitroTPM versions.

      - * @public - */ - SupportedVersions?: string[] | undefined; -} +export type EbsOptimizedSupport = (typeof EbsOptimizedSupport)[keyof typeof EbsOptimizedSupport]; /** * @public * @enum */ -export const NitroTpmSupport = { - SUPPORTED: "supported", - UNSUPPORTED: "unsupported", +export const EbsEncryptionSupport = { + supported: "supported", + unsupported: "unsupported", } as const; /** * @public */ -export type NitroTpmSupport = (typeof NitroTpmSupport)[keyof typeof NitroTpmSupport]; +export type EbsEncryptionSupport = (typeof EbsEncryptionSupport)[keyof typeof EbsEncryptionSupport]; /** * @public * @enum */ -export const PhcSupport = { +export const EbsNvmeSupport = { + REQUIRED: "required", SUPPORTED: "supported", UNSUPPORTED: "unsupported", } as const; @@ -5985,990 +5700,1070 @@ export const PhcSupport = { /** * @public */ -export type PhcSupport = (typeof PhcSupport)[keyof typeof PhcSupport]; - -/** - * @public - * @enum - */ -export const PlacementGroupStrategy = { - cluster: "cluster", - partition: "partition", - spread: "spread", -} as const; - -/** - * @public - */ -export type PlacementGroupStrategy = (typeof PlacementGroupStrategy)[keyof typeof PlacementGroupStrategy]; +export type EbsNvmeSupport = (typeof EbsNvmeSupport)[keyof typeof EbsNvmeSupport]; /** - *

      Describes the placement group support of the instance type.

      + *

      Describes the Amazon EBS features supported by the instance type.

      * @public */ -export interface PlacementGroupInfo { +export interface EbsInfo { /** - *

      The supported placement group types.

      + *

      Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized + * instances in Amazon EC2 User Guide.

      * @public */ - SupportedStrategies?: PlacementGroupStrategy[] | undefined; -} + EbsOptimizedSupport?: EbsOptimizedSupport | undefined; -/** - * @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; + /** + *

      Indicates whether Amazon EBS encryption is supported.

      + * @public + */ + EncryptionSupport?: EbsEncryptionSupport | undefined; -/** - * @public - */ -export type ArchitectureType = (typeof ArchitectureType)[keyof typeof ArchitectureType]; + /** + *

      Describes the optimized EBS performance for the instance type.

      + * @public + */ + EbsOptimizedInfo?: EbsOptimizedInfo | undefined; -/** - * @public - * @enum - */ -export const SupportedAdditionalProcessorFeature = { - AMD_SEV_SNP: "amd-sev-snp", -} as const; + /** + *

      Indicates whether non-volatile memory express (NVMe) is supported.

      + * @public + */ + NvmeSupport?: EbsNvmeSupport | undefined; +} /** + *

      Describes the memory for the FPGA accelerator for the instance type.

      * @public */ -export type SupportedAdditionalProcessorFeature = - (typeof SupportedAdditionalProcessorFeature)[keyof typeof SupportedAdditionalProcessorFeature]; +export interface FpgaDeviceMemoryInfo { + /** + *

      The size of the memory available to the FPGA accelerator, in MiB.

      + * @public + */ + SizeInMiB?: number | undefined; +} /** - *

      Describes the processor used by the instance type.

      + *

      Describes the FPGA accelerator for the instance type.

      * @public */ -export interface ProcessorInfo { +export interface FpgaDeviceInfo { /** - *

      The architectures supported by the instance type.

      + *

      The name of the FPGA accelerator.

      * @public */ - SupportedArchitectures?: ArchitectureType[] | undefined; + Name?: string | undefined; /** - *

      The speed of the processor, in GHz.

      + *

      The manufacturer of the FPGA accelerator.

      * @public */ - SustainedClockSpeedInGhz?: number | undefined; + Manufacturer?: string | undefined; /** - *

      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 count of FPGA accelerators for the instance type.

      * @public */ - SupportedFeatures?: SupportedAdditionalProcessorFeature[] | undefined; + Count?: number | undefined; /** - *

      The manufacturer of the processor.

      + *

      Describes the memory for the FPGA accelerator for the instance type.

      * @public */ - Manufacturer?: string | undefined; + MemoryInfo?: FpgaDeviceMemoryInfo | undefined; } /** + *

      Describes the FPGAs for the instance type.

      * @public - * @enum */ -export const BootModeType = { - legacy_bios: "legacy-bios", - uefi: "uefi", -} as const; +export interface FpgaInfo { + /** + *

      Describes the FPGAs for the instance type.

      + * @public + */ + Fpgas?: FpgaDeviceInfo[] | undefined; + + /** + *

      The total memory of all FPGA accelerators for the instance type.

      + * @public + */ + TotalFpgaMemoryInMiB?: number | undefined; +} /** + *

      Describes the memory available to the GPU accelerator.

      * @public */ -export type BootModeType = (typeof BootModeType)[keyof typeof BootModeType]; +export interface GpuDeviceMemoryInfo { + /** + *

      The size of the memory available to the GPU accelerator, in MiB.

      + * @public + */ + SizeInMiB?: number | undefined; +} /** + *

      Describes the GPU accelerators for the instance type.

      * @public - * @enum */ -export const RootDeviceType = { - ebs: "ebs", - instance_store: "instance-store", -} as const; +export interface GpuDeviceInfo { + /** + *

      The name of the GPU accelerator.

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

      The manufacturer of the GPU accelerator.

      + * @public + */ + Manufacturer?: string | undefined; + + /** + *

      The number of GPUs for the instance type.

      + * @public + */ + Count?: number | undefined; + + /** + *

      Describes the memory available to the GPU accelerator.

      + * @public + */ + MemoryInfo?: GpuDeviceMemoryInfo | undefined; +} /** + *

      Describes the GPU accelerators for the instance type.

      * @public */ -export type RootDeviceType = (typeof RootDeviceType)[keyof typeof RootDeviceType]; +export interface GpuInfo { + /** + *

      Describes the GPU accelerators for the instance type.

      + * @public + */ + Gpus?: GpuDeviceInfo[] | undefined; + + /** + *

      The total size of the memory for the GPU accelerators for the instance type, in MiB.

      + * @public + */ + TotalGpuMemoryInMiB?: number | undefined; +} /** * @public * @enum */ -export const UsageClassType = { - capacity_block: "capacity-block", - on_demand: "on-demand", - spot: "spot", +export const InstanceTypeHypervisor = { + NITRO: "nitro", + XEN: "xen", } as const; /** * @public */ -export type UsageClassType = (typeof UsageClassType)[keyof typeof UsageClassType]; +export type InstanceTypeHypervisor = (typeof InstanceTypeHypervisor)[keyof typeof InstanceTypeHypervisor]; /** - *

      Describes the vCPU configurations for the instance type.

      + * + *

      Amazon Elastic Inference is no longer available.

      + *
      + *

      Describes the memory available to the inference accelerator.

      * @public */ -export interface VCpuInfo { +export interface InferenceDeviceMemoryInfo { /** - *

      The default number of vCPUs for the instance type.

      + *

      The size of the memory available to the inference accelerator, in MiB.

      * @public */ - DefaultVCpus?: number | undefined; + SizeInMiB?: number | undefined; +} +/** + * + *

      Amazon Elastic Inference is no longer available.

      + *
      + *

      Describes the Inference accelerators for the instance type.

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

      The default number of cores for the instance type.

      + *

      The number of Inference accelerators for the instance type.

      * @public */ - DefaultCores?: number | undefined; + Count?: number | undefined; /** - *

      The default number of threads per core for the instance type.

      + *

      The name of the Inference accelerator.

      * @public */ - DefaultThreadsPerCore?: number | undefined; + Name?: string | undefined; /** - *

      The valid number of cores that can be configured for the instance type.

      + *

      The manufacturer of the Inference accelerator.

      * @public */ - ValidCores?: number[] | undefined; + Manufacturer?: string | undefined; /** - *

      The valid number of threads per core that can be configured for the instance type.

      + *

      Describes the memory available to the inference accelerator.

      * @public */ - ValidThreadsPerCore?: number[] | undefined; + MemoryInfo?: InferenceDeviceMemoryInfo | undefined; } /** - *

      Describes the instance type.

      + * + *

      Amazon Elastic Inference is no longer available.

      + *
      + *

      Describes the Inference accelerators for the instance type.

      * @public */ -export interface InstanceTypeInfo { +export interface InferenceAcceleratorInfo { /** - *

      The instance type. For more information, see Instance types in the Amazon EC2 - * User Guide.

      + *

      Describes the Inference accelerators for the instance type.

      * @public */ - InstanceType?: _InstanceType | undefined; + Accelerators?: InferenceDeviceInfo[] | undefined; /** - *

      Indicates whether the instance type is current generation.

      + *

      The total size of the memory for the inference accelerators for the instance type, in + * MiB.

      * @public */ - CurrentGeneration?: boolean | undefined; + TotalInferenceMemoryInMiB?: number | undefined; +} - /** - *

      Indicates whether the instance type is eligible for the free tier.

      - * @public - */ - FreeTierEligible?: boolean | undefined; +/** + * @public + * @enum + */ +export const DiskType = { + hdd: "hdd", + ssd: "ssd", +} as const; - /** - *

      Indicates whether the instance type is offered for spot, On-Demand, or Capacity Blocks.

      - * @public - */ - SupportedUsageClasses?: UsageClassType[] | undefined; +/** + * @public + */ +export type DiskType = (typeof DiskType)[keyof typeof DiskType]; +/** + *

      Describes a disk.

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

      The supported root device types.

      + *

      The size of the disk in GB.

      * @public */ - SupportedRootDeviceTypes?: RootDeviceType[] | undefined; + SizeInGB?: number | undefined; /** - *

      The supported virtualization types.

      + *

      The number of disks with this configuration.

      * @public */ - SupportedVirtualizationTypes?: VirtualizationType[] | undefined; + Count?: number | undefined; /** - *

      Indicates whether the instance is a bare metal instance type.

      + *

      The type of disk.

      * @public */ - BareMetal?: boolean | undefined; + Type?: DiskType | undefined; +} - /** - *

      The hypervisor for the instance type.

      - * @public - */ - Hypervisor?: InstanceTypeHypervisor | undefined; +/** + * @public + * @enum + */ +export const InstanceStorageEncryptionSupport = { + required: "required", + unsupported: "unsupported", +} as const; - /** - *

      Describes the processor.

      - * @public - */ - ProcessorInfo?: ProcessorInfo | undefined; +/** + * @public + */ +export type InstanceStorageEncryptionSupport = + (typeof InstanceStorageEncryptionSupport)[keyof typeof InstanceStorageEncryptionSupport]; + +/** + * @public + * @enum + */ +export const EphemeralNvmeSupport = { + REQUIRED: "required", + SUPPORTED: "supported", + UNSUPPORTED: "unsupported", +} as const; - /** - *

      Describes the vCPU configurations for the instance type.

      - * @public - */ - VCpuInfo?: VCpuInfo | undefined; +/** + * @public + */ +export type EphemeralNvmeSupport = (typeof EphemeralNvmeSupport)[keyof typeof EphemeralNvmeSupport]; +/** + *

      Describes the instance store features that are supported by the instance type.

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

      Describes the memory for the instance type.

      + *

      The total size of the disks, in GB.

      * @public */ - MemoryInfo?: MemoryInfo | undefined; + TotalSizeInGB?: number | undefined; /** - *

      Indicates whether instance storage is supported.

      + *

      Describes the disks that are available for the instance type.

      * @public */ - InstanceStorageSupported?: boolean | undefined; + Disks?: DiskInfo[] | undefined; /** - *

      Describes the instance storage for the instance type.

      + *

      Indicates whether non-volatile memory express (NVMe) is supported.

      * @public */ - InstanceStorageInfo?: InstanceStorageInfo | undefined; + NvmeSupport?: EphemeralNvmeSupport | undefined; /** - *

      Describes the Amazon EBS settings for the instance type.

      + *

      Indicates whether data is encrypted at rest.

      * @public */ - EbsInfo?: EbsInfo | undefined; + EncryptionSupport?: InstanceStorageEncryptionSupport | undefined; +} +/** + *

      Describes the memory available to the media accelerator.

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

      Describes the network settings for the instance type.

      + *

      The size of the memory available to each media accelerator, in MiB.

      * @public */ - NetworkInfo?: NetworkInfo | undefined; + SizeInMiB?: number | undefined; +} +/** + *

      Describes the media accelerators for the instance type.

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

      Describes the GPU accelerator settings for the instance type.

      + *

      The number of media accelerators for the instance type.

      * @public */ - GpuInfo?: GpuInfo | undefined; + Count?: number | undefined; /** - *

      Describes the FPGA accelerator settings for the instance type.

      + *

      The name of the media accelerator.

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

      Describes the placement group settings for the instance type.

      + *

      The manufacturer of the media accelerator.

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

      Describes the Inference accelerator settings for the instance type.

      + *

      Describes the memory available to the media accelerator.

      * @public */ - InferenceAcceleratorInfo?: InferenceAcceleratorInfo | undefined; + MemoryInfo?: MediaDeviceMemoryInfo | undefined; +} +/** + *

      Describes the media accelerators for the instance type.

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

      Indicates whether On-Demand hibernation is supported.

      + *

      Describes the media accelerators for the instance type.

      * @public */ - HibernationSupported?: boolean | undefined; + Accelerators?: MediaDeviceInfo[] | undefined; /** - *

      Indicates whether the instance type is a burstable performance T instance type. For more - * information, see Burstable performance - * instances.

      + *

      The total size of the memory for the media accelerators for the instance type, in + * MiB.

      * @public */ - BurstablePerformanceSupported?: boolean | undefined; + TotalMediaMemoryInMiB?: number | undefined; +} +/** + *

      Describes the memory for the instance type.

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

      Indicates whether Dedicated Hosts are supported on the instance type.

      + *

      The size of the memory, in MiB.

      * @public */ - DedicatedHostsSupported?: boolean | undefined; + SizeInMiB?: number | undefined; +} +/** + *

      Describes the Elastic Fabric Adapters for the instance type.

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

      Indicates whether Amazon CloudWatch action based recovery is supported.

      + *

      The maximum number of Elastic Fabric Adapters for the instance type.

      * @public */ - AutoRecoverySupported?: boolean | undefined; + MaximumEfaInterfaces?: number | undefined; +} - /** - *

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

      - * @public - */ - SupportedBootModes?: BootModeType[] | undefined; +/** + * @public + * @enum + */ +export const EnaSupport = { + required: "required", + supported: "supported", + unsupported: "unsupported", +} as const; - /** - *

      Indicates whether Nitro Enclaves is supported.

      - * @public - */ - NitroEnclavesSupport?: NitroEnclavesSupport | undefined; +/** + * @public + */ +export type EnaSupport = (typeof EnaSupport)[keyof typeof EnaSupport]; +/** + *

      Describes the network card support of the instance type.

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

      Indicates whether NitroTPM is supported.

      + *

      The index of the network card.

      * @public */ - NitroTpmSupport?: NitroTpmSupport | undefined; + NetworkCardIndex?: number | undefined; /** - *

      Describes the supported NitroTPM versions for the instance type.

      + *

      The network performance of the network card.

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

      Describes the media accelerator settings for the instance type.

      + *

      The maximum number of network interfaces for the network card.

      * @public */ - MediaAcceleratorInfo?: MediaAcceleratorInfo | undefined; + MaximumNetworkInterfaces?: number | undefined; /** - *

      Describes the Neuron accelerator settings for the instance type.

      + *

      The baseline network performance of the network card, in Gbps.

      * @public */ - NeuronInfo?: NeuronInfo | undefined; + BaselineBandwidthInGbps?: number | undefined; /** - *

      Indicates whether a local Precision Time Protocol (PTP) hardware clock (PHC) is - * supported.

      + *

      The peak (burst) network performance of the network card, in Gbps.

      * @public */ - PhcSupport?: PhcSupport | undefined; + PeakBandwidthInGbps?: number | undefined; } /** + *

      Describes the networking features of the instance type.

      * @public */ -export interface DescribeInstanceTypesResult { +export interface NetworkInfo { /** - *

      The instance type.

      + *

      The network performance.

      * @public */ - InstanceTypes?: InstanceTypeInfo[] | undefined; + NetworkPerformance?: string | undefined; /** - *

      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 maximum number of network interfaces for the instance type.

      * @public */ - NextToken?: string | undefined; -} + MaximumNetworkInterfaces?: number | undefined; -/** - * @public - */ -export interface DescribeInternetGatewaysRequest { /** - *

      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 physical network cards that can be allocated to the instance.

      * @public */ - NextToken?: string | undefined; + MaximumNetworkCards?: number | undefined; /** - *

      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 index of the default network card, starting at 0.

      * @public */ - MaxResults?: number | undefined; + DefaultNetworkCardIndex?: number | undefined; /** - *

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

      + *

      Describes the network cards for the instance type.

      * @public */ - DryRun?: boolean | undefined; + NetworkCards?: NetworkCardInfo[] | undefined; /** - *

      The IDs of the internet gateways.

      - *

      Default: Describes all your internet gateways.

      + *

      The maximum number of IPv4 addresses per network interface.

      * @public */ - InternetGatewayIds?: string[] | undefined; + Ipv4AddressesPerInterface?: number | undefined; /** - *

      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.

        - *
      • - *
      + *

      The maximum number of IPv6 addresses per network interface.

      * @public */ - Filters?: Filter[] | undefined; -} + Ipv6AddressesPerInterface?: number | undefined; -/** - * @public - */ -export interface DescribeInternetGatewaysResult { /** - *

      Information about the internet gateways.

      + *

      Indicates whether IPv6 is supported.

      * @public */ - InternetGateways?: InternetGateway[] | undefined; + Ipv6Supported?: boolean | undefined; /** - *

      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.

      + *

      Indicates whether Elastic Network Adapter (ENA) is supported.

      * @public */ - NextToken?: string | undefined; -} + EnaSupport?: EnaSupport | undefined; -/** - * @public - */ -export interface DescribeIpamByoasnRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 Fabric Adapter (EFA) is supported.

      * @public */ - DryRun?: boolean | undefined; + EfaSupported?: boolean | undefined; /** - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      Describes the Elastic Fabric Adapters for the instance type.

      + * @public + */ + EfaInfo?: EfaInfo | undefined; + + /** + *

      Indicates whether the instance type automatically encrypts in-transit traffic between + * instances.

      * @public */ - MaxResults?: number | undefined; + EncryptionInTransitSupported?: boolean | undefined; /** - *

      The token for the next page of results.

      + *

      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.

      * @public */ - NextToken?: string | undefined; + EnaSrdSupported?: boolean | undefined; } /** + *

      Describes the cores available to the neuron accelerator.

      * @public */ -export interface DescribeIpamByoasnResult { +export interface NeuronDeviceCoreInfo { /** - *

      ASN and BYOIP CIDR associations.

      + *

      The number of cores available to the neuron accelerator.

      * @public */ - Byoasns?: Byoasn[] | undefined; + Count?: number | undefined; /** - *

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

      + *

      The version of the neuron accelerator.

      * @public */ - NextToken?: string | undefined; + Version?: number | undefined; } /** + *

      Describes the memory available to the neuron accelerator.

      * @public */ -export interface DescribeIpamExternalResourceVerificationTokensRequest { +export interface NeuronDeviceMemoryInfo { /** - *

      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 size of the memory available to the neuron accelerator, in MiB.

      * @public */ - DryRun?: boolean | undefined; + SizeInMiB?: number | undefined; +} +/** + *

      Describes the neuron accelerators for the instance type.

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

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      - *

      Available filters:

      - *
        - *
      • - *

        - * ipam-arn - *

        - *
      • - *
      • - *

        - * ipam-external-resource-verification-token-arn - *

        - *
      • - *
      • - *

        - * ipam-external-resource-verification-token-id - *

        - *
      • - *
      • - *

        - * ipam-id - *

        - *
      • - *
      • - *

        - * ipam-region - *

        - *
      • - *
      • - *

        - * state - *

        - *
      • - *
      • - *

        - * status - *

        - *
      • - *
      • - *

        - * token-name - *

        - *
      • - *
      • - *

        - * token-value - *

        - *
      • - *
      + *

      The number of neuron accelerators for the instance type.

      * @public */ - Filters?: Filter[] | undefined; + Count?: number | undefined; /** - *

      The token for the next page of results.

      + *

      The name of the neuron accelerator.

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

      The maximum number of tokens to return in one page of results.

      + *

      Describes the cores available to each neuron accelerator.

      * @public */ - MaxResults?: number | undefined; + CoreInfo?: NeuronDeviceCoreInfo | undefined; /** - *

      Verification token IDs.

      + *

      Describes the memory available to each neuron accelerator.

      * @public */ - IpamExternalResourceVerificationTokenIds?: string[] | undefined; + MemoryInfo?: NeuronDeviceMemoryInfo | undefined; } /** + *

      Describes the neuron accelerators for the instance type.

      * @public */ -export interface DescribeIpamExternalResourceVerificationTokensResult { +export interface NeuronInfo { /** - *

      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 neuron accelerators for the instance type.

      * @public */ - NextToken?: string | undefined; + NeuronDevices?: NeuronDeviceInfo[] | undefined; /** - *

      Verification tokens.

      + *

      The total size of the memory for the neuron accelerators for the instance type, in + * MiB.

      * @public */ - IpamExternalResourceVerificationTokens?: IpamExternalResourceVerificationToken[] | undefined; + TotalNeuronDeviceMemoryInMiB?: number | undefined; } /** * @public + * @enum */ -export interface DescribeIpamPoolsRequest { +export const NitroEnclavesSupport = { + SUPPORTED: "supported", + UNSUPPORTED: "unsupported", +} as const; + +/** + * @public + */ +export type NitroEnclavesSupport = (typeof NitroEnclavesSupport)[keyof typeof NitroEnclavesSupport]; + +/** + *

      Describes the supported NitroTPM versions for the instance type.

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

      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.

      * @public */ - DryRun?: boolean | undefined; + SupportedVersions?: string[] | undefined; +} + +/** + * @public + * @enum + */ +export const NitroTpmSupport = { + SUPPORTED: "supported", + UNSUPPORTED: "unsupported", +} as const; + +/** + * @public + */ +export type NitroTpmSupport = (typeof NitroTpmSupport)[keyof typeof NitroTpmSupport]; + +/** + * @public + * @enum + */ +export const PhcSupport = { + SUPPORTED: "supported", + UNSUPPORTED: "unsupported", +} as const; + +/** + * @public + */ +export type PhcSupport = (typeof PhcSupport)[keyof typeof PhcSupport]; + +/** + * @public + * @enum + */ +export const PlacementGroupStrategy = { + cluster: "cluster", + partition: "partition", + spread: "spread", +} as const; + +/** + * @public + */ +export type PlacementGroupStrategy = (typeof PlacementGroupStrategy)[keyof typeof PlacementGroupStrategy]; +/** + *

      Describes the placement group support of the instance type.

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

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      + *

      The supported placement group types.

      * @public */ - Filters?: Filter[] | undefined; + SupportedStrategies?: PlacementGroupStrategy[] | undefined; +} + +/** + * @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; + +/** + * @public + */ +export type SupportedAdditionalProcessorFeature = + (typeof SupportedAdditionalProcessorFeature)[keyof typeof SupportedAdditionalProcessorFeature]; +/** + *

      Describes the processor used by the instance type.

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

      The maximum number of results to return in the request.

      + *

      The architectures supported by the instance type.

      * @public */ - MaxResults?: number | undefined; + SupportedArchitectures?: ArchitectureType[] | undefined; /** - *

      The token for the next page of results.

      + *

      The speed of the processor, in GHz.

      * @public */ - NextToken?: string | undefined; + SustainedClockSpeedInGhz?: number | undefined; /** - *

      The IDs of the IPAM pools you would like information on.

      + *

      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.

      * @public */ - IpamPoolIds?: string[] | undefined; + SupportedFeatures?: SupportedAdditionalProcessorFeature[] | undefined; + + /** + *

      The manufacturer of the processor.

      + * @public + */ + Manufacturer?: string | undefined; } /** * @public + * @enum + */ +export const BootModeType = { + legacy_bios: "legacy-bios", + uefi: "uefi", +} as const; + +/** + * @public + */ +export type BootModeType = (typeof BootModeType)[keyof typeof BootModeType]; + +/** + * @public + * @enum */ -export interface DescribeIpamPoolsResult { - /** - *

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

      - * @public - */ - NextToken?: string | undefined; +export const RootDeviceType = { + ebs: "ebs", + instance_store: "instance-store", +} as const; - /** - *

      Information about the IPAM pools.

      - * @public - */ - IpamPools?: IpamPool[] | undefined; -} +/** + * @public + */ +export type RootDeviceType = (typeof RootDeviceType)[keyof typeof RootDeviceType]; /** * @public + * @enum */ -export interface DescribeIpamResourceDiscoveriesRequest { - /** - *

      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.

      - * @public - */ - DryRun?: boolean | undefined; +export const UsageClassType = { + capacity_block: "capacity-block", + on_demand: "on-demand", + spot: "spot", +} as const; - /** - *

      The IPAM resource discovery IDs.

      - * @public - */ - IpamResourceDiscoveryIds?: string[] | undefined; +/** + * @public + */ +export type UsageClassType = (typeof UsageClassType)[keyof typeof UsageClassType]; +/** + *

      Describes the vCPU configurations for the instance type.

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

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      The default number of vCPUs for the instance type.

      * @public */ - NextToken?: string | undefined; + DefaultVCpus?: number | undefined; /** - *

      The maximum number of resource discoveries to return in one page of results.

      + *

      The default number of cores for the instance type.

      * @public */ - MaxResults?: number | undefined; + DefaultCores?: number | undefined; /** - *

      The resource discovery filters.

      + *

      The default number of threads per core for the instance type.

      * @public */ - Filters?: Filter[] | undefined; -} + DefaultThreadsPerCore?: number | undefined; -/** - * @public - */ -export interface DescribeIpamResourceDiscoveriesResult { /** - *

      The resource discoveries.

      + *

      The valid number of cores that can be configured for the instance type.

      * @public */ - IpamResourceDiscoveries?: IpamResourceDiscovery[] | undefined; + ValidCores?: number[] | undefined; /** - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      The valid number of threads per core that can be configured for the instance type.

      * @public */ - NextToken?: string | undefined; + ValidThreadsPerCore?: number[] | undefined; } /** + *

      Describes the instance type.

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

      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.

      - * @public - */ - DryRun?: boolean | undefined; - +export interface InstanceTypeInfo { /** - *

      The resource discovery association IDs.

      + *

      The instance type. For more information, see Instance types in the Amazon EC2 + * User Guide.

      * @public */ - IpamResourceDiscoveryAssociationIds?: string[] | undefined; + InstanceType?: _InstanceType | undefined; /** - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      Indicates whether the instance type is current generation.

      * @public */ - NextToken?: string | undefined; + CurrentGeneration?: boolean | undefined; /** - *

      The maximum number of resource discovery associations to return in one page of results.

      + *

      Indicates whether the instance type is eligible for the free tier.

      * @public */ - MaxResults?: number | undefined; + FreeTierEligible?: boolean | undefined; /** - *

      The resource discovery association filters.

      + *

      Indicates whether the instance type is offered for spot, On-Demand, or Capacity Blocks.

      * @public */ - Filters?: Filter[] | undefined; -} + SupportedUsageClasses?: UsageClassType[] | undefined; -/** - * @public - */ -export interface DescribeIpamResourceDiscoveryAssociationsResult { /** - *

      The resource discovery associations.

      + *

      The supported root device types.

      * @public */ - IpamResourceDiscoveryAssociations?: IpamResourceDiscoveryAssociation[] | undefined; + SupportedRootDeviceTypes?: RootDeviceType[] | undefined; /** - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      The supported virtualization types.

      * @public */ - NextToken?: string | undefined; -} + SupportedVirtualizationTypes?: VirtualizationType[] | undefined; -/** - * @public - */ -export interface DescribeIpamsRequest { /** - *

      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 instance is a bare metal instance type.

      * @public */ - DryRun?: boolean | undefined; + BareMetal?: boolean | undefined; /** - *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      + *

      The hypervisor for the instance type.

      * @public */ - Filters?: Filter[] | undefined; + Hypervisor?: InstanceTypeHypervisor | undefined; /** - *

      The maximum number of results to return in the request.

      + *

      Describes the processor.

      * @public */ - MaxResults?: number | undefined; + ProcessorInfo?: ProcessorInfo | undefined; /** - *

      The token for the next page of results.

      + *

      Describes the vCPU configurations for the instance type.

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

      The IDs of the IPAMs you want information on.

      + *

      Describes the memory for the instance type.

      * @public */ - IpamIds?: string[] | undefined; -} + MemoryInfo?: MemoryInfo | undefined; -/** - * @public - */ -export interface DescribeIpamsResult { /** - *

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

      + *

      Indicates whether instance storage is supported.

      * @public */ - NextToken?: string | undefined; + InstanceStorageSupported?: boolean | undefined; /** - *

      Information about the IPAMs.

      + *

      Describes the instance storage for the instance type.

      * @public */ - Ipams?: Ipam[] | undefined; -} + InstanceStorageInfo?: InstanceStorageInfo | undefined; -/** - * @public - */ -export interface DescribeIpamScopesRequest { /** - *

      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.

      + *

      Describes the Amazon EBS settings for the instance type.

      * @public */ - DryRun?: boolean | undefined; + EbsInfo?: EbsInfo | undefined; /** - *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      + *

      Describes the network settings for the instance type.

      * @public */ - Filters?: Filter[] | undefined; + NetworkInfo?: NetworkInfo | undefined; /** - *

      The maximum number of results to return in the request.

      + *

      Describes the GPU accelerator settings for the instance type.

      * @public */ - MaxResults?: number | undefined; + GpuInfo?: GpuInfo | undefined; /** - *

      The token for the next page of results.

      + *

      Describes the FPGA accelerator settings for the instance type.

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

      The IDs of the scopes you want information on.

      + *

      Describes the placement group settings for the instance type.

      * @public */ - IpamScopeIds?: string[] | undefined; -} + PlacementGroupInfo?: PlacementGroupInfo | undefined; -/** - * @public - */ -export interface DescribeIpamScopesResult { /** - *

      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 Inference accelerator settings for the instance type.

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

      The scopes you want information on.

      + *

      Indicates whether On-Demand hibernation is supported.

      * @public */ - IpamScopes?: IpamScope[] | undefined; -} + HibernationSupported?: boolean | undefined; -/** - * @public - */ -export interface DescribeIpv6PoolsRequest { /** - *

      The IDs of the IPv6 address pools.

      + *

      Indicates whether the instance type is a burstable performance T instance type. For more + * information, see Burstable performance + * instances.

      * @public */ - PoolIds?: string[] | undefined; + BurstablePerformanceSupported?: boolean | undefined; /** - *

      The token for the next page of results.

      + *

      Indicates whether Dedicated Hosts are supported on the instance type.

      * @public */ - NextToken?: string | undefined; + DedicatedHostsSupported?: boolean | undefined; /** - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      Indicates whether Amazon CloudWatch action based recovery is supported.

      * @public */ - MaxResults?: number | undefined; + AutoRecoverySupported?: boolean | undefined; /** - *

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

      + *

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

      * @public */ - DryRun?: boolean | undefined; + SupportedBootModes?: BootModeType[] | undefined; /** - *

      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 Nitro Enclaves is supported.

      * @public */ - Filters?: Filter[] | undefined; -} + NitroEnclavesSupport?: NitroEnclavesSupport | undefined; -/** - *

      Describes a CIDR block for an address pool.

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

      The CIDR block.

      + *

      Indicates whether NitroTPM is supported.

      * @public - */ - Cidr?: string | undefined; -} - -/** - *

      Describes an IPv6 address pool.

      - * @public - */ -export interface Ipv6Pool { + */ + NitroTpmSupport?: NitroTpmSupport | undefined; + /** - *

      The ID of the address pool.

      + *

      Describes the supported NitroTPM versions for the instance type.

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

      The description for the address pool.

      + *

      Describes the media accelerator settings for the instance type.

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

      The CIDR blocks for the address pool.

      + *

      Describes the Neuron accelerator settings for the instance type.

      * @public */ - PoolCidrBlocks?: PoolCidrBlock[] | undefined; + NeuronInfo?: NeuronInfo | undefined; /** - *

      Any tags for the address pool.

      + *

      Indicates whether a local Precision Time Protocol (PTP) hardware clock (PHC) is + * supported.

      * @public */ - Tags?: Tag[] | undefined; + PhcSupport?: PhcSupport | undefined; } /** * @public */ -export interface DescribeIpv6PoolsResult { +export interface DescribeInstanceTypesResult { /** - *

      Information about the IPv6 address pools.

      + *

      The instance type.

      * @public */ - Ipv6Pools?: Ipv6Pool[] | undefined; + InstanceTypes?: InstanceTypeInfo[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -6977,27 +6772,20 @@ export interface DescribeIpv6PoolsResult { /** * @public */ -export interface DescribeKeyPairsRequest { - /** - *

      The key pair names.

      - *

      Default: Describes all of your key pairs.

      - * @public - */ - KeyNames?: string[] | undefined; - +export interface DescribeInternetGatewaysRequest { /** - *

      The IDs of the key pairs.

      + *

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

      * @public */ - KeyPairIds?: string[] | undefined; + NextToken?: string | undefined; /** - *

      If true, the public key material is included in the response.

      - *

      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. + * For more information, see Pagination.

      * @public */ - IncludePublicKey?: boolean | undefined; + MaxResults?: number | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -7007,30 +6795,42 @@ export interface DescribeKeyPairsRequest { */ DryRun?: boolean | undefined; + /** + *

      The IDs of the internet gateways.

      + *

      Default: Describes all your internet gateways.

      + * @public + */ + InternetGatewayIds?: string[] | undefined; + /** *

      The filters.

      *
        *
      • *

        - * key-pair-id - The ID of the key pair.

        + * attachment.state - The current state of the attachment between the gateway + * and the VPC (available). Present only if a VPC is attached.

        *
      • *
      • *

        - * fingerprint - The fingerprint of the key pair.

        + * attachment.vpc-id - The ID of an attached VPC.

        *
      • *
      • *

        - * key-name - The name of the key pair.

        + * internet-gateway-id - The ID of the Internet 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.

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

        + *
      • *
      * @public */ @@ -7038,132 +6838,125 @@ export interface DescribeKeyPairsRequest { } /** - *

      Describes a key pair.

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

      The ID of the key pair.

      - * @public - */ - KeyPairId?: string | undefined; - - /** - *

      The type of key pair.

      - * @public - */ - KeyType?: KeyType | undefined; - +export interface DescribeInternetGatewaysResult { /** - *

      Any tags applied to the key pair.

      + *

      Information about the internet gateways.

      * @public */ - Tags?: Tag[] | undefined; + InternetGateways?: InternetGateway[] | undefined; /** - *

      The public key material.

      + *

      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.

      * @public */ - PublicKey?: string | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeIpamByoasnRequest { /** - *

      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.

      + *

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

      * @public */ - CreateTime?: Date | undefined; + DryRun?: boolean | undefined; /** - *

      The name of the key pair.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - KeyName?: string | undefined; + MaxResults?: number | undefined; /** - *

      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.

        - *
      • - *
      + *

      The token for the next page of results.

      * @public */ - KeyFingerprint?: string | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DescribeKeyPairsResult { +export interface DescribeIpamByoasnResult { /** - *

      Information about the key pairs.

      + *

      ASN and BYOIP CIDR associations.

      * @public */ - KeyPairs?: KeyPairInfo[] | undefined; + Byoasns?: Byoasn[] | undefined; + + /** + *

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

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface DescribeLaunchTemplatesRequest { +export interface DescribeIpamExternalResourceVerificationTokensRequest { /** - *

      Checks whether you have the required permissions for the action, without 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.

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

      One or more launch template IDs.

      - * @public - */ - LaunchTemplateIds?: string[] | undefined; - - /** - *

      One or more launch template names.

      - * @public - */ - LaunchTemplateNames?: string[] | undefined; - - /** - *

      One or more filters.

      + *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      + *

      Available filters:

      *
        *
      • *

        - * create-time - The time the launch template was created.

        + * ipam-arn + *

        *
      • *
      • *

        - * launch-template-name - The name of the launch template.

        + * ipam-external-resource-verification-token-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.

        + * ipam-external-resource-verification-token-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.

        + * ipam-id + *

        + *
      • + *
      • + *

        + * ipam-region + *

        + *
      • + *
      • + *

        + * state + *

        + *
      • + *
      • + *

        + * status + *

        + *
      • + *
      • + *

        + * token-name + *

        + *
      • + *
      • + *

        + * token-value + *

        *
      • *
      * @public @@ -7171,213 +6964,144 @@ export interface DescribeLaunchTemplatesRequest { Filters?: Filter[] | undefined; /** - *

      The token to request the next page of results.

      + *

      The token for the next page of results.

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

      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.

      + *

      The maximum number of tokens to return in one page of results.

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

      Verification token IDs.

      + * @public + */ + IpamExternalResourceVerificationTokenIds?: string[] | undefined; } /** * @public */ -export interface DescribeLaunchTemplatesResult { +export interface DescribeIpamExternalResourceVerificationTokensResult { /** - *

      Information about the launch templates.

      + *

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

      * @public */ - LaunchTemplates?: LaunchTemplate[] | undefined; + NextToken?: string | undefined; /** - *

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

      + *

      Verification tokens.

      * @public */ - NextToken?: string | undefined; + IpamExternalResourceVerificationTokens?: IpamExternalResourceVerificationToken[] | undefined; } /** * @public */ -export interface DescribeLaunchTemplateVersionsRequest { +export interface DescribeIpamPoolsRequest { /** - *

      Checks whether you have the required permissions for the action, without 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.

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

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

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

      The maximum number of results to return in the request.

      * @public */ - DryRun?: boolean | undefined; + MaxResults?: number | undefined; /** - *

      The ID of the launch template.

      - *

      To describe one or more versions of a specified launch template, you must specify - * either the launch template ID or the launch template name, but not both.

      - *

      To describe all the latest or default launch template versions in your account, you - * must omit this parameter.

      + *

      The token for the next page of results.

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

      The name of the launch template.

      - *

      To describe one or more versions of a specified launch template, you must specify - * either the launch template name or the launch template ID, but not both.

      - *

      To describe all the latest or default launch template versions in your account, you - * must omit this parameter.

      + *

      The IDs of the IPAM pools you would like information on.

      * @public */ - LaunchTemplateName?: string | undefined; + IpamPoolIds?: string[] | undefined; +} +/** + * @public + */ +export interface DescribeIpamPoolsResult { /** - *

      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.

      + *

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

      * @public */ - Versions?: string[] | undefined; + NextToken?: string | undefined; /** - *

      The version number after which to describe launch template versions.

      + *

      Information about the IPAM pools.

      * @public */ - MinVersion?: string | undefined; + IpamPools?: IpamPool[] | undefined; +} +/** + * @public + */ +export interface DescribeIpamResourceDiscoveriesRequest { /** - *

      The version number up to which to describe launch template versions.

      + *

      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.

      * @public */ - MaxVersion?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The token to request the next page of results.

      + *

      The IPAM resource discovery IDs.

      * @public */ - NextToken?: string | undefined; + IpamResourceDiscoveryIds?: string[] | undefined; /** - *

      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.

      + *

      Specify the pagination token from a previous request to retrieve the next page of results.

      * @public */ - MaxResults?: number | undefined; + NextToken?: string | undefined; /** - *

      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.

        - *
      • - *
      + *

      The maximum number of resource discoveries to return in one page of results.

      * @public */ - Filters?: Filter[] | undefined; + MaxResults?: number | undefined; /** - *

      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 EC2 User Guide.

      - *

      Default: false - *

      + *

      The resource discovery filters.

      * @public */ - ResolveAlias?: boolean | undefined; + Filters?: Filter[] | undefined; } /** * @public */ -export interface DescribeLaunchTemplateVersionsResult { +export interface DescribeIpamResourceDiscoveriesResult { /** - *

      Information about the launch template versions.

      + *

      The resource discoveries.

      * @public */ - LaunchTemplateVersions?: LaunchTemplateVersion[] | undefined; + IpamResourceDiscoveries?: IpamResourceDiscovery[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -7386,80 +7110,52 @@ export interface DescribeLaunchTemplateVersionsResult { /** * @public */ -export interface DescribeLocalGatewayRouteTablesRequest { +export interface DescribeIpamResourceDiscoveryAssociationsRequest { /** - *

      The IDs of the local gateway route tables.

      + *

      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.

      * @public */ - LocalGatewayRouteTableIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      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.

        - *
      • - *
      • - *

        - * 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.

        - *
      • - *
      + *

      The resource discovery association IDs.

      * @public */ - Filters?: Filter[] | undefined; + IpamResourceDiscoveryAssociationIds?: string[] | undefined; /** - *

      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.

      * @public */ - MaxResults?: number | undefined; + NextToken?: string | undefined; /** - *

      The token for the next page of results.

      + *

      The maximum number of resource discovery associations to return in one page of results.

      * @public */ - NextToken?: string | undefined; + MaxResults?: number | undefined; /** - *

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

      + *

      The resource discovery association filters.

      * @public */ - DryRun?: boolean | undefined; + Filters?: Filter[] | undefined; } /** * @public */ -export interface DescribeLocalGatewayRouteTablesResult { +export interface DescribeIpamResourceDiscoveryAssociationsResult { /** - *

      Information about the local gateway route tables.

      + *

      The resource discovery associations.

      * @public */ - LocalGatewayRouteTables?: LocalGatewayRouteTable[] | undefined; + IpamResourceDiscoveryAssociations?: IpamResourceDiscoveryAssociation[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -7468,54 +7164,23 @@ export interface DescribeLocalGatewayRouteTablesResult { /** * @public */ -export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { +export interface DescribeIpamsRequest { /** - *

      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.

      * @public */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      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.

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

      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.

      * @public */ MaxResults?: number | undefined; @@ -7527,84 +7192,49 @@ export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations NextToken?: string | undefined; /** - *

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

      + *

      The IDs of the IPAMs you want information on.

      * @public */ - DryRun?: boolean | undefined; + IpamIds?: string[] | undefined; } /** * @public */ -export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { +export interface DescribeIpamsResult { /** - *

      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.

      * @public */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: - | LocalGatewayRouteTableVirtualInterfaceGroupAssociation[] - | undefined; + NextToken?: string | undefined; /** - *

      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 IPAMs.

      * @public */ - NextToken?: string | undefined; + Ipams?: Ipam[] | undefined; } /** * @public */ -export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { +export interface DescribeIpamScopesRequest { /** - *

      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.

      * @public */ - LocalGatewayRouteTableVpcAssociationIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      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.

        - *
      • - *
      + *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

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

      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.

      * @public */ MaxResults?: number | undefined; @@ -7616,64 +7246,44 @@ export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { NextToken?: string | undefined; /** - *

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

      + *

      The IDs of the scopes you want information on.

      * @public */ - DryRun?: boolean | undefined; + IpamScopeIds?: string[] | undefined; } /** * @public */ -export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { +export interface DescribeIpamScopesResult { /** - *

      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.

      * @public */ - LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[] | undefined; + NextToken?: string | undefined; /** - *

      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.

      * @public */ - NextToken?: string | undefined; + IpamScopes?: IpamScope[] | undefined; } /** * @public */ -export interface DescribeLocalGatewaysRequest { +export interface DescribeIpv6PoolsRequest { /** - *

      The IDs of the local gateways.

      + *

      The IDs of the IPv6 address pools.

      * @public */ - LocalGatewayIds?: string[] | undefined; + PoolIds?: string[] | undefined; /** - *

      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.

        - *
      • - *
      + *

      The token for the next page of results.

      * @public */ - Filters?: Filter[] | undefined; + NextToken?: string | undefined; /** *

      The maximum number of results to return with a single call. @@ -7682,12 +7292,6 @@ export interface DescribeLocalGatewaysRequest { */ MaxResults?: number | undefined; - /** - *

      The token for the next page of results.

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

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -7695,39 +7299,62 @@ export interface DescribeLocalGatewaysRequest { * @public */ DryRun?: boolean | undefined; + + /** + *

      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.

        + *
      • + *
      + * @public + */ + Filters?: Filter[] | undefined; } /** - *

      Describes a local gateway.

      + *

      Describes a CIDR block for an address pool.

      * @public */ -export interface LocalGateway { +export interface PoolCidrBlock { /** - *

      The ID of the local gateway.

      + *

      The CIDR block.

      * @public */ - LocalGatewayId?: string | undefined; + Cidr?: string | undefined; +} +/** + *

      Describes an IPv6 address pool.

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

      The Amazon Resource Name (ARN) of the Outpost.

      + *

      The ID of the address pool.

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

      The ID of the Amazon Web Services account that owns the local gateway.

      + *

      The description for the address pool.

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

      The state of the local gateway.

      + *

      The CIDR blocks for the address pool.

      * @public */ - State?: string | undefined; + PoolCidrBlocks?: PoolCidrBlock[] | undefined; /** - *

      The tags assigned to the local gateway.

      + *

      Any tags for the address pool.

      * @public */ Tags?: Tag[] | undefined; @@ -7736,12 +7363,12 @@ export interface LocalGateway { /** * @public */ -export interface DescribeLocalGatewaysResult { +export interface DescribeIpv6PoolsResult { /** - *

      Information about the local gateways.

      + *

      Information about the IPv6 address pools.

      * @public */ - LocalGateways?: LocalGateway[] | undefined; + Ipv6Pools?: Ipv6Pool[] | undefined; /** *

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

      @@ -7753,157 +7380,193 @@ export interface DescribeLocalGatewaysResult { /** * @public */ -export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { +export interface DescribeKeyPairsRequest { /** - *

      The IDs of the virtual interface groups.

      + *

      The key pair names.

      + *

      Default: Describes all of your key pairs.

      * @public */ - LocalGatewayVirtualInterfaceGroupIds?: string[] | undefined; + KeyNames?: string[] | undefined; /** - *

      One or more filters.

      + *

      The IDs of the key pairs.

      + * @public + */ + KeyPairIds?: string[] | undefined; + + /** + *

      If true, the public key material is included in the response.

      + *

      Default: false + *

      + * @public + */ + IncludePublicKey?: boolean | undefined; + + /** + *

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

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

      The filters.

      *
        *
      • *

        - * local-gateway-id - The ID of a local gateway.

        + * key-pair-id - The ID of the key pair.

        *
      • *
      • *

        - * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

        + * fingerprint - The fingerprint of the key pair.

        *
      • *
      • *

        - * local-gateway-virtual-interface-id - The ID of the virtual interface.

        + * key-name - The name of the key pair.

        *
      • *
      • *

        - * owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

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

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

      Describes a key pair.

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

      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 key pair.

      * @public */ - MaxResults?: number | undefined; + KeyPairId?: string | undefined; /** - *

      The token for the next page of results.

      + *

      The type of key pair.

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

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

      + *

      Any tags applied to the key pair.

      * @public */ - DryRun?: boolean | undefined; -} + Tags?: Tag[] | undefined; -/** - *

      Describes a local gateway virtual interface group.

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

      The ID of the virtual interface group.

      + *

      The public key material.

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

      The IDs of the virtual interfaces.

      + *

      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.

      * @public */ - LocalGatewayVirtualInterfaceIds?: string[] | undefined; + CreateTime?: Date | undefined; /** - *

      The ID of the local gateway.

      + *

      The name of the key pair.

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

      The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

      + *

      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.

        + *
      • + *
      * @public */ - OwnerId?: string | undefined; + KeyFingerprint?: string | undefined; +} +/** + * @public + */ +export interface DescribeKeyPairsResult { /** - *

      The tags assigned to the virtual interface group.

      + *

      Information about the key pairs.

      * @public */ - Tags?: Tag[] | undefined; + KeyPairs?: KeyPairInfo[] | undefined; } /** * @public */ -export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { +export interface DescribeLaunchTemplatesRequest { /** - *

      The virtual interface groups.

      + *

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

      * @public */ - LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[] | undefined; + DryRun?: boolean | undefined; /** - *

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

      + *

      One or more launch template IDs.

      * @public */ - NextToken?: string | undefined; -} + LaunchTemplateIds?: string[] | undefined; -/** - * @public - */ -export interface DescribeLocalGatewayVirtualInterfacesRequest { /** - *

      The IDs of the virtual interfaces.

      + *

      One or more launch template names.

      * @public */ - LocalGatewayVirtualInterfaceIds?: string[] | undefined; + LaunchTemplateNames?: string[] | undefined; /** *

      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.

        + * create-time - The time the launch template was created.

        *
      • *
      • *

        - * peer-address - The peer address.

        + * launch-template-name - The name of the launch template.

        *
      • *
      • *

        - * peer-bgp-asn - The peer BGP ASN.

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

        *
      • *
      • *

        - * vlan - The ID of the VLAN.

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

        *
      • *
      * @public @@ -7911,269 +7574,295 @@ export interface DescribeLocalGatewayVirtualInterfacesRequest { Filters?: Filter[] | undefined; /** - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

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

      The token for the next page of results.

      + *

      The token to request the next page of results.

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

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

      + *

      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.

      * @public */ - DryRun?: boolean | undefined; + MaxResults?: number | undefined; } /** - *

      Describes a local gateway virtual interface.

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

      The ID of the virtual interface.

      - * @public - */ - LocalGatewayVirtualInterfaceId?: string | undefined; - +export interface DescribeLaunchTemplatesResult { /** - *

      The ID of the local gateway.

      + *

      Information about the launch templates.

      * @public */ - LocalGatewayId?: string | undefined; + LaunchTemplates?: LaunchTemplate[] | undefined; /** - *

      The ID of the VLAN.

      + *

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

      * @public */ - Vlan?: number | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeLaunchTemplateVersionsRequest { /** - *

      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.

      * @public */ - LocalAddress?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The peer address.

      + *

      The ID of the launch template.

      + *

      To describe one or more versions of a specified launch template, you must specify + * either the launch template ID or the launch template name, but not both.

      + *

      To describe all the latest or default launch template versions in your account, you + * must omit this parameter.

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

      The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

      + *

      The name of the launch template.

      + *

      To describe one or more versions of a specified launch template, you must specify + * either the launch template name or the launch template ID, but not both.

      + *

      To describe all the latest or default launch template versions in your account, you + * must omit this parameter.

      * @public */ - LocalBgpAsn?: number | undefined; + LaunchTemplateName?: string | undefined; /** - *

      The peer BGP ASN.

      + *

      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.

      * @public */ - PeerBgpAsn?: number | undefined; + Versions?: string[] | undefined; /** - *

      The ID of the Amazon Web Services account that owns the local gateway virtual interface.

      + *

      The version number after which to describe launch template versions.

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

      The tags assigned to the virtual interface.

      + *

      The version number up to which to describe launch template versions.

      * @public */ - Tags?: Tag[] | undefined; -} + MaxVersion?: string | undefined; -/** - * @public - */ -export interface DescribeLocalGatewayVirtualInterfacesResult { /** - *

      Information about the virtual interfaces.

      + *

      The token to request the next page of results.

      * @public */ - LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[] | undefined; + NextToken?: string | undefined; /** - *

      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 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.

      * @public */ - NextToken?: string | undefined; -} + MaxResults?: number | undefined; -/** - * @public - */ -export interface DescribeLockedSnapshotsRequest { /** - *

      The filters.

      + *

      One or more filters.

      *
        *
      • *

        - * lock-state - The state of the snapshot lock (compliance-cooloff | - * governance | compliance | expired).

        + * create-time - The time the launch template version was + * created.

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

      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.

      + *
    • + *

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

      + *
    • + *
    * @public */ - MaxResults?: number | undefined; + Filters?: Filter[] | undefined; /** - *

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

    + *

    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 EC2 User Guide.

    + *

    Default: false + *

    * @public */ - NextToken?: string | undefined; + ResolveAlias?: boolean | undefined; +} +/** + * @public + */ +export interface DescribeLaunchTemplateVersionsResult { /** - *

    The IDs of the snapshots for which to view the lock status.

    + *

    Information about the launch template versions.

    * @public */ - SnapshotIds?: string[] | undefined; + LaunchTemplateVersions?: LaunchTemplateVersion[] | undefined; /** - *

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

    + *

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

    * @public */ - DryRun?: boolean | undefined; + NextToken?: string | undefined; } /** - * @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]; - -/** - *

    Information about a locked snapshot.

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

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

    - * @public - */ - OwnerId?: string | undefined; - +export interface DescribeLocalGatewayRouteTablesRequest { /** - *

    The ID of the snapshot.

    + *

    The IDs of the local gateway route tables.

    * @public */ - SnapshotId?: string | undefined; + LocalGatewayRouteTableIds?: string[] | undefined; /** - *

    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.

      + * local-gateway-id - The ID of a local gateway.

      *
    • *
    • *

      - * 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.

      + * local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the + * local gateway route table.

      *
    • *
    • *

      - * 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.

      + * local-gateway-route-table-id - The ID of a local gateway route table.

      *
    • *
    • *

      - * 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.

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

      *
    • *
    * @public */ - LockState?: LockState | undefined; - - /** - *

    The period of time for which the snapshot is locked, in days.

    - * @public - */ - LockDuration?: number | undefined; - - /** - *

    The compliance mode cooling-off period, in hours.

    - * @public - */ - CoolOffPeriod?: number | undefined; - - /** - *

    The date and time at which the compliance mode cooling-off period expires, in the UTC time zone - * (YYYY-MM-DDThh:mm:ss.sssZ).

    - * @public - */ - CoolOffPeriodExpiresOn?: Date | undefined; + Filters?: Filter[] | undefined; /** - *

    The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

    + *

    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

    * @public */ - LockCreatedOn?: Date | undefined; + MaxResults?: number | undefined; /** - *

    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.

    + *

    The token for the next page of results.

    * @public */ - LockDurationStartTime?: Date | undefined; + NextToken?: string | undefined; /** - *

    The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

    + *

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

    * @public */ - LockExpiresOn?: Date | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeLockedSnapshotsResult { +export interface DescribeLocalGatewayRouteTablesResult { /** - *

    Information about the snapshots.

    + *

    Information about the local gateway route tables.

    * @public */ - Snapshots?: LockedSnapshotsInfo[] | undefined; + LocalGatewayRouteTables?: LocalGatewayRouteTable[] | undefined; /** - *

    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.

    * @public */ NextToken?: string | undefined; @@ -8182,18 +7871,45 @@ export interface DescribeLockedSnapshotsResult { /** * @public */ -export interface DescribeMacHostsRequest { +export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { /** - *

    The filters.

    + *

    The IDs of the associations.

    + * @public + */ + LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[] | undefined; + + /** + *

    One or more filters.

    *
      *
    • *

      - * availability-zone - The Availability Zone of the EC2 Mac Dedicated Host.

      + * local-gateway-id - The ID of a local gateway.

      *
    • *
    • *

      - * instance-type - The instance type size that the EC2 Mac Dedicated Host is - * configured to support.

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

      *
    • *
    * @public @@ -8201,64 +7917,41 @@ export interface DescribeMacHostsRequest { Filters?: Filter[] | undefined; /** - *

    - * The IDs of the EC2 Mac Dedicated Hosts. - *

    - * @public - */ - HostIds?: string[] | undefined; - - /** - *

    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 maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

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

    The token to use to retrieve the next page of results.

    + *

    The token for the next page of results.

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

    - * Information about the EC2 Mac Dedicated Host. - *

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

    - * The EC2 Mac Dedicated Host ID. - *

    - * @public - */ - HostId?: string | undefined; /** - *

    - * The latest macOS versions that the EC2 Mac Dedicated Host can launch without being upgraded. - *

    + *

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

    * @public */ - MacOSLatestSupportedVersions?: string[] | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeMacHostsResult { +export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { /** - *

    - * Information about the EC2 Mac Dedicated Hosts. - *

    + *

    Information about the associations.

    * @public */ - MacHosts?: MacHost[] | undefined; + LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: + | LocalGatewayRouteTableVirtualInterfaceGroupAssociation[] + | undefined; /** - *

    The token to use to retrieve the next page of results.

    + *

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

    * @public */ NextToken?: string | undefined; @@ -8267,29 +7960,45 @@ export interface DescribeMacHostsResult { /** * @public */ -export interface DescribeManagedPrefixListsRequest { +export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { /** - *

    Checks whether you have the required permissions for the action, without 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.

    * @public */ - DryRun?: boolean | undefined; + LocalGatewayRouteTableVpcAssociationIds?: string[] | undefined; /** *

    One or more filters.

    *
      *
    • *

      - * 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 for the association.

      *
    • *
    • *

      - * prefix-list-name - The name of the prefix list.

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

      *
    • *
    * @public @@ -8310,60 +8019,59 @@ export interface DescribeManagedPrefixListsRequest { NextToken?: string | undefined; /** - *

    One or more prefix list 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.

    * @public */ - PrefixListIds?: string[] | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeManagedPrefixListsResult { +export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { /** - *

    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 associations.

    * @public */ - NextToken?: string | undefined; + LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[] | undefined; /** - *

    Information about the prefix lists.

    + *

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

    * @public */ - PrefixLists?: ManagedPrefixList[] | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DescribeMovingAddressesRequest { - /** - *

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

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

    One or more Elastic IP addresses.

    - * @public - */ - PublicIps?: string[] | undefined; - +export interface DescribeLocalGatewaysRequest { /** - *

    The token for the next page of results.

    + *

    The IDs of the local gateways.

    * @public */ - NextToken?: string | undefined; + LocalGatewayIds?: string[] | undefined; /** *

    One or more filters.

    *
      *
    • *

      - * moving-status - The status of the Elastic IP address - * (MovingToVpc | RestoringToClassic).

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

      *
    • *
    * @public @@ -8371,60 +8079,72 @@ export interface DescribeMovingAddressesRequest { Filters?: Filter[] | undefined; /** - *

    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.

    + *

    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

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

    The token for the next page of results.

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

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

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

    Describes a local gateway.

    * @public - * @enum */ -export const MoveStatus = { - movingToVpc: "movingToVpc", - restoringToClassic: "restoringToClassic", -} as const; +export interface LocalGateway { + /** + *

    The ID of the local gateway.

    + * @public + */ + LocalGatewayId?: string | undefined; -/** - * @public - */ -export type MoveStatus = (typeof MoveStatus)[keyof typeof MoveStatus]; + /** + *

    The Amazon Resource Name (ARN) of the Outpost.

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

    This action is deprecated.

    - *
    - *

    Describes the status of a moving Elastic IP address.

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

    The status of the Elastic IP address that's being moved or restored.

    + *

    The ID of the Amazon Web Services account that owns the local gateway.

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

    The Elastic IP address.

    + *

    The state of the local gateway.

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

    The tags assigned to the local gateway.

    + * @public + */ + Tags?: Tag[] | undefined; } /** * @public */ -export interface DescribeMovingAddressesResult { +export interface DescribeLocalGatewaysResult { /** - *

    The status for each Elastic IP address.

    + *

    Information about the local gateways.

    * @public */ - MovingAddressStatuses?: MovingAddressStatus[] | undefined; + LocalGateways?: LocalGateway[] | undefined; /** *

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

    @@ -8436,394 +8156,427 @@ export interface DescribeMovingAddressesResult { /** * @public */ -export interface DescribeNatGatewaysRequest { +export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { /** - *

    Checks whether you have the required permissions for the action, without 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 virtual interface groups.

    * @public */ - DryRun?: boolean | undefined; + LocalGatewayVirtualInterfaceGroupIds?: string[] | undefined; /** - *

    The filters.

    + *

    One or more filters.

    *
      *
    • *

      - * nat-gateway-id - The ID of the NAT gateway.

      - *
    • - *
    • - *

      - * state - The state of the NAT gateway (pending | - * failed | available | deleting | deleted).

      - *
    • - *
    • - *

      - * subnet-id - The ID of the subnet in which the NAT gateway resides.

      + * local-gateway-id - The ID of a local 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.

      + * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

      *
    • *
    • *

      - * 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-virtual-interface-id - The ID of the virtual interface.

      *
    • *
    • *

      - * 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.

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

    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.

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

    The IDs of the NAT gateways.

    + *

    The token for the next page of results.

    * @public */ - NatGatewayIds?: string[] | undefined; + NextToken?: string | undefined; /** - *

    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.

    * @public */ - NextToken?: string | undefined; + DryRun?: boolean | undefined; } /** + *

    Describes a local gateway virtual interface group.

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

    Information about the NAT gateways.

    - * @public - */ - NatGateways?: NatGateway[] | undefined; - +export interface LocalGatewayVirtualInterfaceGroup { /** - *

    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 virtual interface group.

    * @public */ - NextToken?: string | undefined; -} + LocalGatewayVirtualInterfaceGroupId?: string | undefined; -/** - * @public - */ -export interface DescribeNetworkAclsRequest { /** - *

    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 virtual interfaces.

    * @public */ - NextToken?: string | undefined; + LocalGatewayVirtualInterfaceIds?: string[] | undefined; /** - *

    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 local gateway.

    * @public */ - MaxResults?: number | undefined; + LocalGatewayId?: string | undefined; /** - *

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

    + *

    The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

    * @public */ - DryRun?: boolean | undefined; + OwnerId?: string | undefined; /** - *

    The IDs of the network ACLs.

    + *

    The tags assigned to the virtual interface group.

    * @public */ - NetworkAclIds?: string[] | undefined; + Tags?: Tag[] | undefined; +} +/** + * @public + */ +export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { /** - *

    The 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).

      - *
    • + *

      The virtual interface groups.

      + * @public + */ + LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[] | undefined; + + /** + *

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

      + * @public + */ + NextToken?: string | undefined; +} + +/** + * @public + */ +export interface DescribeLocalGatewayVirtualInterfacesRequest { + /** + *

      The IDs of the virtual interfaces.

      + * @public + */ + LocalGatewayVirtualInterfaceIds?: string[] | undefined; + + /** + *

      One or more filters.

      + *
        *
      • *

        - * entry.rule-action - Allows or denies the matching traffic (allow | deny).

        + * local-address - The local address.

        *
      • *
      • *

        - * entry.egress - A Boolean that indicates the type of rule. Specify true - * for egress rules, or false for ingress rules.

        + * local-bgp-asn - The Border Gateway Protocol (BGP) Autonomous System Number (ASN) + * of the local gateway.

        *
      • *
      • *

        - * entry.rule-number - The number of an entry (in other words, rule) in - * the set of ACL entries.

        + * local-gateway-id - The ID of the local gateway.

        *
      • *
      • *

        - * network-acl-id - The ID of the network ACL.

        + * local-gateway-virtual-interface-id - The ID of the virtual interface.

        *
      • *
      • *

        - * owner-id - The ID of the Amazon Web Services account that owns the network ACL.

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

        + * peer-address - The peer address.

        *
      • *
      • *

        - * 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.

        + * peer-bgp-asn - The peer BGP ASN.

        *
      • *
      • *

        - * vpc-id - The ID of the VPC for the network ACL.

        + * vlan - The ID of the VLAN.

        *
      • *
      * @public */ Filters?: Filter[] | undefined; -} -/** - * @public - */ -export interface DescribeNetworkAclsResult { /** - *

      Information about the 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.

      * @public */ - NetworkAcls?: NetworkAcl[] | undefined; + MaxResults?: number | undefined; /** - *

      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.

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

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

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

      Describes a local gateway virtual interface.

      * @public */ -export interface DescribeNetworkInsightsAccessScopeAnalysesRequest { +export interface LocalGatewayVirtualInterface { /** - *

      The IDs of the Network Access Scope analyses.

      + *

      The ID of the virtual interface.

      * @public */ - NetworkInsightsAccessScopeAnalysisIds?: string[] | undefined; + LocalGatewayVirtualInterfaceId?: string | undefined; /** - *

      The ID of the Network Access Scope.

      + *

      The ID of the local gateway.

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

      Filters the results based on the start time. The analysis must have started on or after this time.

      + *

      The ID of the VLAN.

      * @public */ - AnalysisStartTimeBegin?: Date | undefined; + Vlan?: number | undefined; /** - *

      Filters the results based on the start time. The analysis must have started on or before this time.

      + *

      The local address.

      * @public */ - AnalysisStartTimeEnd?: Date | undefined; + LocalAddress?: string | undefined; /** - *

      There are no supported filters.

      + *

      The peer address.

      * @public */ - Filters?: Filter[] | undefined; + PeerAddress?: string | undefined; /** - *

      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 Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

      * @public */ - MaxResults?: number | undefined; + LocalBgpAsn?: number | undefined; /** - *

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

      + *

      The peer BGP ASN.

      * @public */ - DryRun?: boolean | undefined; + PeerBgpAsn?: number | undefined; /** - *

      The token for the next page of results.

      + *

      The ID of the Amazon Web Services account that owns the local gateway virtual interface.

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

      The tags assigned to the virtual interface.

      + * @public + */ + Tags?: Tag[] | undefined; } /** * @public - * @enum */ -export const FindingsFound = { - false: "false", - true: "true", - unknown: "unknown", -} as const; +export interface DescribeLocalGatewayVirtualInterfacesResult { + /** + *

      Information about the virtual interfaces.

      + * @public + */ + LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[] | undefined; + + /** + *

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

      + * @public + */ + NextToken?: string | undefined; +} /** * @public */ -export type FindingsFound = (typeof FindingsFound)[keyof typeof FindingsFound]; +export interface DescribeLockedSnapshotsRequest { + /** + *

      The filters.

      + *
        + *
      • + *

        + * lock-state - The state of the snapshot lock (compliance-cooloff | + * governance | compliance | expired).

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

      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.

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

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

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

      The IDs of the snapshots for which to view the lock status.

      + * @public + */ + SnapshotIds?: string[] | undefined; + + /** + *

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

      + * @public + */ + DryRun?: boolean | undefined; +} /** * @public * @enum */ -export const AnalysisStatus = { - failed: "failed", - running: "running", - succeeded: "succeeded", +export const LockState = { + compliance: "compliance", + compliance_cooloff: "compliance-cooloff", + expired: "expired", + governance: "governance", } as const; /** * @public */ -export type AnalysisStatus = (typeof AnalysisStatus)[keyof typeof AnalysisStatus]; +export type LockState = (typeof LockState)[keyof typeof LockState]; /** - *

      Describes a Network Access Scope analysis.

      + *

      Information about a locked snapshot.

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

      The ID of the Network Access Scope analysis.

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

      The Amazon Resource Name (ARN) of the Network Access Scope analysis.

      - * @public - */ - NetworkInsightsAccessScopeAnalysisArn?: string | undefined; - +export interface LockedSnapshotsInfo { /** - *

      The ID of the Network Access Scope.

      + *

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

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

      The status.

      + *

      The ID of the snapshot.

      * @public */ - Status?: AnalysisStatus | undefined; + SnapshotId?: string | undefined; /** - *

      The status message.

      + *

      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.

        + *
      • + *
      * @public */ - StatusMessage?: string | undefined; + LockState?: LockState | undefined; /** - *

      The warning message.

      + *

      The period of time for which the snapshot is locked, in days.

      * @public */ - WarningMessage?: string | undefined; + LockDuration?: number | undefined; /** - *

      The analysis start date.

      + *

      The compliance mode cooling-off period, in hours.

      * @public */ - StartDate?: Date | undefined; + CoolOffPeriod?: number | undefined; /** - *

      The analysis end date.

      + *

      The date and time at which the compliance mode cooling-off period expires, in the UTC time zone + * (YYYY-MM-DDThh:mm:ss.sssZ).

      * @public */ - EndDate?: Date | undefined; + CoolOffPeriodExpiresOn?: Date | undefined; /** - *

      Indicates whether there are findings.

      + *

      The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

      * @public */ - FindingsFound?: FindingsFound | undefined; + LockCreatedOn?: Date | undefined; /** - *

      The number of network interfaces analyzed.

      + *

      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.

      * @public */ - AnalyzedEniCount?: number | undefined; + LockDurationStartTime?: Date | undefined; /** - *

      The tags.

      + *

      The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

      * @public */ - Tags?: Tag[] | undefined; + LockExpiresOn?: Date | undefined; } /** * @public */ -export interface DescribeNetworkInsightsAccessScopeAnalysesResult { +export interface DescribeLockedSnapshotsResult { /** - *

      The Network Access Scope analyses.

      + *

      Information about the snapshots.

      * @public */ - NetworkInsightsAccessScopeAnalyses?: NetworkInsightsAccessScopeAnalysis[] | undefined; + Snapshots?: LockedSnapshotsInfo[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -8832,94 +8585,114 @@ export interface DescribeNetworkInsightsAccessScopeAnalysesResult { /** * @public */ -export interface DescribeNetworkInsightsAccessScopesRequest { - /** - *

      The IDs of the Network Access Scopes.

      - * @public - */ - NetworkInsightsAccessScopeIds?: string[] | undefined; - +export interface DescribeMacHostsRequest { /** - *

      There are no supported filters.

      + *

      The filters.

      + *
        + *
      • + *

        + * availability-zone - The Availability Zone of the EC2 Mac Dedicated Host.

        + *
      • + *
      • + *

        + * instance-type - The instance type size that the EC2 Mac Dedicated Host is + * configured to support.

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

      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 IDs of the EC2 Mac Dedicated Hosts. + *

      * @public */ - MaxResults?: number | undefined; + HostIds?: string[] | undefined; /** - *

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

      + *

      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.

      * @public */ - DryRun?: boolean | undefined; + MaxResults?: number | undefined; /** - *

      The token for the next page of results.

      + *

      The token to use to retrieve the next page of results.

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

      + * Information about the EC2 Mac Dedicated Host. + *

      * @public */ -export interface DescribeNetworkInsightsAccessScopesResult { +export interface MacHost { /** - *

      The Network Access Scopes.

      + *

      + * The EC2 Mac Dedicated Host ID. + *

      * @public */ - NetworkInsightsAccessScopes?: NetworkInsightsAccessScope[] | undefined; + HostId?: string | undefined; /** - *

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

      + *

      + * The latest macOS versions that the EC2 Mac Dedicated Host can launch without being upgraded. + *

      * @public */ - NextToken?: string | undefined; + MacOSLatestSupportedVersions?: string[] | undefined; } /** * @public */ -export interface DescribeNetworkInsightsAnalysesRequest { - /** - *

      The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

      - * @public - */ - NetworkInsightsAnalysisIds?: string[] | undefined; - +export interface DescribeMacHostsResult { /** - *

      The ID of the path. You must specify either a path ID or analysis IDs.

      + *

      + * Information about the EC2 Mac Dedicated Hosts. + *

      * @public */ - NetworkInsightsPathId?: string | undefined; + MacHosts?: MacHost[] | undefined; /** - *

      The time when the network insights analyses started.

      + *

      The token to use to retrieve the next page of results.

      * @public */ - AnalysisStartTime?: Date | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeManagedPrefixListsRequest { /** - *

      The time when the network insights analyses ended.

      + *

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

      * @public */ - AnalysisEndTime?: Date | undefined; + DryRun?: boolean | undefined; /** - *

      The filters. The following are the possible values:

      + *

      One or more filters.

      *
        *
      • - *

        path-found - A Boolean value that indicates whether a feasible path is found.

        + *

        + * owner-id - The ID of the prefix list owner.

        *
      • *
      • - *

        status - The status of the analysis (running | succeeded | failed).

        + *

        + * prefix-list-id - The ID of the prefix list.

        + *
      • + *
      • + *

        + * prefix-list-name - The name of the prefix list.

        *
      • *
      * @public @@ -8928,140 +8701,220 @@ export interface DescribeNetworkInsightsAnalysesRequest { /** *

      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.

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

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

      + *

      The token for the next page of results.

      * @public */ - DryRun?: boolean | undefined; + NextToken?: string | undefined; /** - *

      The token for the next page of results.

      + *

      One or more prefix list IDs.

      * @public */ - NextToken?: string | undefined; + PrefixListIds?: string[] | undefined; } /** - *

      Describes a network insights analysis.

      * @public */ -export interface NetworkInsightsAnalysis { +export interface DescribeManagedPrefixListsResult { /** - *

      The ID 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.

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

      The Amazon Resource Name (ARN) of the network insights analysis.

      + *

      Information about the prefix lists.

      * @public */ - NetworkInsightsAnalysisArn?: string | undefined; + PrefixLists?: ManagedPrefixList[] | undefined; +} +/** + * @public + */ +export interface DescribeMovingAddressesRequest { /** - *

      The ID of the path.

      + *

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

      * @public */ - NetworkInsightsPathId?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The member accounts that contain resources that the path can traverse.

      + *

      One or more Elastic IP addresses.

      * @public */ - AdditionalAccounts?: string[] | undefined; + PublicIps?: string[] | undefined; /** - *

      The Amazon Resource Names (ARN) of the resources that the path must traverse.

      + *

      The token for the next page of results.

      * @public */ - FilterInArns?: string[] | undefined; + NextToken?: string | undefined; /** - *

      The time the analysis started.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * moving-status - The status of the Elastic IP address + * (MovingToVpc | RestoringToClassic).

        + *
      • + *
      * @public */ - StartDate?: Date | undefined; + Filters?: Filter[] | undefined; /** - *

      The status of the network insights analysis.

      + *

      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.

      * @public */ - Status?: AnalysisStatus | undefined; + MaxResults?: number | undefined; +} + +/** + * @public + * @enum + */ +export const MoveStatus = { + movingToVpc: "movingToVpc", + restoringToClassic: "restoringToClassic", +} as const; + +/** + * @public + */ +export type MoveStatus = (typeof MoveStatus)[keyof typeof MoveStatus]; +/** + * + *

      This action is deprecated.

      + *
      + *

      Describes the status of a moving Elastic IP address.

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

      The status message, if the status is failed.

      + *

      The status of the Elastic IP address that's being moved or restored.

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

      The warning message.

      + *

      The Elastic IP address.

      * @public */ - WarningMessage?: string | undefined; + PublicIp?: string | undefined; +} +/** + * @public + */ +export interface DescribeMovingAddressesResult { /** - *

      Indicates whether the destination is reachable from the source.

      + *

      The status for each Elastic IP address.

      * @public */ - NetworkPathFound?: boolean | undefined; + MovingAddressStatuses?: MovingAddressStatus[] | undefined; /** - *

      The components in the path from source to destination.

      + *

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

      * @public */ - ForwardPathComponents?: PathComponent[] | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeNatGatewaysRequest { /** - *

      The components in the path from destination to source.

      + *

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

      * @public */ - ReturnPathComponents?: PathComponent[] | undefined; + DryRun?: boolean | undefined; /** - *

      The explanations. For more information, see Reachability Analyzer explanation codes.

      + *

      The filters.

      + *
        + *
      • + *

        + * nat-gateway-id - The ID of the NAT gateway.

        + *
      • + *
      • + *

        + * state - The state of the NAT gateway (pending | + * failed | available | deleting | deleted).

        + *
      • + *
      • + *

        + * subnet-id - The ID of the subnet in which the NAT gateway resides.

        + *
      • + *
      • + *

        + * 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 in which the NAT gateway resides.

        + *
      • + *
      * @public */ - Explanations?: Explanation[] | undefined; + Filter?: Filter[] | undefined; /** - *

      Potential intermediate components.

      + *

      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.

      * @public */ - AlternatePathHints?: AlternatePathHint[] | undefined; + MaxResults?: number | undefined; /** - *

      Potential intermediate accounts.

      + *

      The IDs of the NAT gateways.

      * @public */ - SuggestedAccounts?: string[] | undefined; + NatGatewayIds?: string[] | undefined; /** - *

      The tags.

      + *

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

      * @public */ - Tags?: Tag[] | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DescribeNetworkInsightsAnalysesResult { +export interface DescribeNatGatewaysResult { /** - *

      Information about the network insights analyses.

      + *

      Information about the NAT gateways.

      * @public */ - NetworkInsightsAnalyses?: NetworkInsightsAnalysis[] | undefined; + NatGateways?: NatGateway[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -9070,53 +8923,173 @@ export interface DescribeNetworkInsightsAnalysesResult { /** * @public */ -export interface DescribeNetworkInsightsPathsRequest { +export interface DescribeNetworkAclsRequest { /** - *

      The IDs of the paths.

      + *

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

      * @public */ - NetworkInsightsPathIds?: string[] | undefined; + NextToken?: string | undefined; /** - *

      The filters. The following are the possible values:

      + *

      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.

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

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

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

      The IDs of the network ACLs.

      + * @public + */ + NetworkAclIds?: string[] | undefined; + + /** + *

      The filters.

      *
        *
      • - *

        destination - The ID of the resource.

        + *

        + * association.association-id - The ID of an association ID for the ACL.

        *
      • *
      • - *

        filter-at-source.source-address - The source IPv4 address at the source.

        + *

        + * association.network-acl-id - The ID of the network ACL involved in the association.

        *
      • *
      • - *

        filter-at-source.source-port-range - The source port range at the source.

        + *

        + * association.subnet-id - The ID of the subnet involved in the association.

        *
      • *
      • - *

        filter-at-source.destination-address - The destination IPv4 address at the source.

        + *

        + * default - Indicates whether the ACL is the default network ACL for the VPC.

        *
      • *
      • - *

        filter-at-source.destination-port-range - The destination port range at the source.

        + *

        + * entry.cidr - The IPv4 CIDR range specified in the entry.

        *
      • *
      • - *

        filter-at-destination.source-address - The source IPv4 address at the destination.

        + *

        + * entry.icmp.code - The ICMP code specified in the entry, if any.

        *
      • *
      • - *

        filter-at-destination.source-port-range - The source port range at the destination.

        + *

        + * entry.icmp.type - The ICMP type specified in the entry, if any.

        *
      • *
      • - *

        filter-at-destination.destination-address - The destination IPv4 address at the destination.

        + *

        + * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

        *
      • *
      • - *

        filter-at-destination.destination-port-range - The destination port range at the destination.

        + *

        + * entry.port-range.from - The start of the port range specified in the entry.

        *
      • *
      • - *

        protocol - The protocol.

        + *

        + * entry.port-range.to - The end of the port range specified in the entry.

        *
      • *
      • - *

        source - The ID of the resource.

        + *

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

        + *
      • + *
      • + *

        + * entry.rule-number - The number of an entry (in other words, rule) in + * the set of ACL entries.

        + *
      • + *
      • + *

        + * network-acl-id - The ID of the network ACL.

        + *
      • + *
      • + *

        + * owner-id - The ID of the Amazon Web Services account that owns the network ACL.

        + *
      • + *
      • + *

        + * 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 ACL.

        *
      • *
      * @public */ Filters?: Filter[] | undefined; +} + +/** + * @public + */ +export interface DescribeNetworkAclsResult { + /** + *

      Information about the network ACLs.

      + * @public + */ + NetworkAcls?: NetworkAcl[] | undefined; + + /** + *

      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.

      + * @public + */ + NextToken?: string | undefined; +} + +/** + * @public + */ +export interface DescribeNetworkInsightsAccessScopeAnalysesRequest { + /** + *

      The IDs of the Network Access Scope analyses.

      + * @public + */ + NetworkInsightsAccessScopeAnalysisIds?: string[] | undefined; + + /** + *

      The ID of the Network Access Scope.

      + * @public + */ + NetworkInsightsAccessScopeId?: string | undefined; + + /** + *

      Filters the results based on the start time. The analysis must have started on or after this time.

      + * @public + */ + AnalysisStartTimeBegin?: Date | undefined; + + /** + *

      Filters the results based on the start time. The analysis must have started on or before this time.

      + * @public + */ + AnalysisStartTimeEnd?: Date | undefined; + + /** + *

      There are no supported filters.

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

      The maximum number of results to return with a single call. @@ -9142,402 +9115,173 @@ export interface DescribeNetworkInsightsPathsRequest { /** * @public + * @enum */ -export interface DescribeNetworkInsightsPathsResult { - /** - *

      Information about the paths.

      - * @public - */ - NetworkInsightsPaths?: NetworkInsightsPath[] | undefined; +export const FindingsFound = { + false: "false", + true: "true", + unknown: "unknown", +} as const; - /** - *

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

      - * @public - */ - NextToken?: string | undefined; -} +/** + * @public + */ +export type FindingsFound = (typeof FindingsFound)[keyof typeof FindingsFound]; /** * @public * @enum */ -export const NetworkInterfaceAttribute = { - associatePublicIpAddress: "associatePublicIpAddress", - attachment: "attachment", - description: "description", - groupSet: "groupSet", - sourceDestCheck: "sourceDestCheck", +export const AnalysisStatus = { + failed: "failed", + running: "running", + succeeded: "succeeded", } as const; /** * @public */ -export type NetworkInterfaceAttribute = (typeof NetworkInterfaceAttribute)[keyof typeof NetworkInterfaceAttribute]; +export type AnalysisStatus = (typeof AnalysisStatus)[keyof typeof AnalysisStatus]; /** - *

      Contains the parameters for DescribeNetworkInterfaceAttribute.

      + *

      Describes a Network Access Scope analysis.

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

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

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

      The ID of the network interface.

      - * @public - */ - NetworkInterfaceId: string | undefined; - +export interface NetworkInsightsAccessScopeAnalysis { /** - *

      The attribute of the network interface. This parameter is required.

      + *

      The ID of the Network Access Scope analysis.

      * @public */ - Attribute?: NetworkInterfaceAttribute | undefined; -} + NetworkInsightsAccessScopeAnalysisId?: string | undefined; -/** - *

      Contains the output of DescribeNetworkInterfaceAttribute.

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

      The attachment (if any) of the network interface.

      + *

      The Amazon Resource Name (ARN) of the Network Access Scope analysis.

      * @public */ - Attachment?: NetworkInterfaceAttachment | undefined; + NetworkInsightsAccessScopeAnalysisArn?: string | undefined; /** - *

      The description of the network interface.

      + *

      The ID of the Network Access Scope.

      * @public */ - Description?: AttributeValue | undefined; + NetworkInsightsAccessScopeId?: string | undefined; /** - *

      The security groups associated with the network interface.

      + *

      The status.

      * @public */ - Groups?: GroupIdentifier[] | undefined; + Status?: AnalysisStatus | undefined; /** - *

      The ID of the network interface.

      + *

      The status message.

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

      Indicates whether source/destination checking is enabled.

      + *

      The warning message.

      * @public */ - SourceDestCheck?: AttributeBooleanValue | undefined; + WarningMessage?: string | undefined; /** - *

      Indicates whether to assign a public IPv4 address to a network interface. - * This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

      + *

      The analysis start date.

      * @public */ - AssociatePublicIpAddress?: boolean | undefined; -} + StartDate?: Date | undefined; -/** - *

      Contains the parameters for DescribeNetworkInterfacePermissions.

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

      The network interface permission IDs.

      + *

      The analysis end date.

      * @public */ - NetworkInterfacePermissionIds?: string[] | undefined; + EndDate?: Date | undefined; /** - *

      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 Services service.

        - *
      • - *
      • - *

        - * network-interface-permission.permission - The type of - * permission (INSTANCE-ATTACH | - * EIP-ASSOCIATE).

        - *
      • - *
      + *

      Indicates whether there are findings.

      * @public */ - Filters?: Filter[] | undefined; + FindingsFound?: FindingsFound | undefined; /** - *

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

      + *

      The number of network interfaces analyzed.

      * @public */ - NextToken?: string | undefined; + AnalyzedEniCount?: number | undefined; /** - *

      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 tags.

      * @public */ - MaxResults?: number | undefined; + Tags?: Tag[] | undefined; } /** - *

      Contains the output for DescribeNetworkInterfacePermissions.

      * @public */ -export interface DescribeNetworkInterfacePermissionsResult { +export interface DescribeNetworkInsightsAccessScopeAnalysesResult { /** - *

      The network interface permissions.

      + *

      The Network Access Scope analyses.

      * @public */ - NetworkInterfacePermissions?: NetworkInterfacePermission[] | undefined; + NetworkInsightsAccessScopeAnalyses?: NetworkInsightsAccessScopeAnalysis[] | undefined; /** - *

      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.

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

      Contains the parameters for DescribeNetworkInterfaces.

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

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

      - * @public - */ - NextToken?: string | undefined; - +export interface DescribeNetworkInsightsAccessScopesRequest { /** - *

      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.

      + *

      The IDs of the Network Access Scopes.

      * @public */ - MaxResults?: number | undefined; + NetworkInsightsAccessScopeIds?: string[] | undefined; /** - *

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

      + *

      There are no supported filters.

      * @public */ - DryRun?: boolean | undefined; + Filters?: Filter[] | undefined; /** - *

      The network interface IDs.

      - *

      Default: Describes all your network interfaces.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - NetworkInterfaceIds?: string[] | undefined; + MaxResults?: number | undefined; - /** - *

      One or more 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).

        - *
      • - *
      • - *

        - * 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 | efa-only | 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 Services - * 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.

        - *
      • - *
      + /** + *

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

      * @public */ - Filters?: Filter[] | undefined; + DryRun?: boolean | undefined; + + /** + *

      The token for the next page of results.

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface DescribeNetworkInterfacesResult { +export interface DescribeNetworkInsightsAccessScopesResult { /** - *

      Information about the network interfaces.

      + *

      The Network Access Scopes.

      * @public */ - NetworkInterfaces?: NetworkInterface[] | undefined; + NetworkInsightsAccessScopes?: NetworkInsightsAccessScope[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -9546,116 +9290,231 @@ export interface DescribeNetworkInterfacesResult { /** * @public */ -export interface DescribePlacementGroupsRequest { +export interface DescribeNetworkInsightsAnalysesRequest { /** - *

      The IDs of the placement groups.

      + *

      The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

      * @public */ - GroupIds?: string[] | undefined; + NetworkInsightsAnalysisIds?: string[] | undefined; /** - *

      Checks whether you have the required permissions for the operation, without 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 path. You must specify either a path ID or analysis IDs.

      * @public */ - DryRun?: boolean | undefined; + NetworkInsightsPathId?: string | undefined; /** - *

      The names of the placement groups.

      - *

      Constraints:

      - *
        - *
      • - *

        You can specify a name only if the placement group is owned by your - * account.

        - *
      • - *
      • - *

        If a placement group is shared with your account, - * specifying the name results in an error. You must use the GroupId - * parameter instead.

        - *
      • - *
      + *

      The time when the network insights analyses started.

      * @public */ - GroupNames?: string[] | undefined; + AnalysisStartTime?: Date | undefined; /** - *

      The filters.

      + *

      The time when the network insights analyses ended.

      + * @public + */ + AnalysisEndTime?: Date | undefined; + + /** + *

      The filters. The following are the possible values:

      *
        *
      • - *

        - * 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.

        + *

        path-found - A Boolean value that indicates whether a feasible path is found.

        *
      • *
      • - *

        - * 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.

        + *

        status - The status of the analysis (running | succeeded | failed).

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

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

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

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

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

      The token for the next page of results.

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

      Describes a network insights analysis.

      * @public */ -export interface DescribePlacementGroupsResult { +export interface NetworkInsightsAnalysis { /** - *

      Information about the placement groups.

      + *

      The ID of the network insights analysis.

      * @public */ - PlacementGroups?: PlacementGroup[] | undefined; + NetworkInsightsAnalysisId?: string | undefined; + + /** + *

      The Amazon Resource Name (ARN) of the network insights analysis.

      + * @public + */ + NetworkInsightsAnalysisArn?: string | undefined; + + /** + *

      The ID of the path.

      + * @public + */ + NetworkInsightsPathId?: string | undefined; + + /** + *

      The member accounts that contain resources that the path can traverse.

      + * @public + */ + AdditionalAccounts?: string[] | undefined; + + /** + *

      The Amazon Resource Names (ARN) of the resources that the path must traverse.

      + * @public + */ + FilterInArns?: string[] | undefined; + + /** + *

      The time the analysis started.

      + * @public + */ + StartDate?: Date | undefined; + + /** + *

      The status of the network insights analysis.

      + * @public + */ + Status?: AnalysisStatus | undefined; + + /** + *

      The status message, if the status is failed.

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

      The warning message.

      + * @public + */ + WarningMessage?: string | undefined; + + /** + *

      Indicates whether the destination is reachable from the source.

      + * @public + */ + NetworkPathFound?: boolean | undefined; + + /** + *

      The components in the path from source to destination.

      + * @public + */ + ForwardPathComponents?: PathComponent[] | undefined; + + /** + *

      The components in the path from destination to source.

      + * @public + */ + ReturnPathComponents?: PathComponent[] | undefined; + + /** + *

      The explanations. For more information, see Reachability Analyzer explanation codes.

      + * @public + */ + Explanations?: Explanation[] | undefined; + + /** + *

      Potential intermediate components.

      + * @public + */ + AlternatePathHints?: AlternatePathHint[] | undefined; + + /** + *

      Potential intermediate accounts.

      + * @public + */ + SuggestedAccounts?: string[] | undefined; + + /** + *

      The tags.

      + * @public + */ + Tags?: Tag[] | undefined; } /** * @public */ -export interface DescribePrefixListsRequest { +export interface DescribeNetworkInsightsAnalysesResult { /** - *

      Checks whether you have the required permissions for the action, without 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 network insights analyses.

      * @public */ - DryRun?: boolean | undefined; + NetworkInsightsAnalyses?: NetworkInsightsAnalysis[] | undefined; /** - *

      One or more filters.

      + *

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

      + * @public + */ + NextToken?: string | undefined; +} + +/** + * @public + */ +export interface DescribeNetworkInsightsPathsRequest { + /** + *

      The IDs of the paths.

      + * @public + */ + NetworkInsightsPathIds?: string[] | undefined; + + /** + *

      The filters. The following are the possible values:

      *
        *
      • - *

        - * prefix-list-id: The ID of a prefix list.

        + *

        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.

        *
      • *
      • - *

        - * prefix-list-name: The name of a prefix list.

        + *

        filter-at-destination.destination-port-range - The destination port range at the destination.

        + *
      • + *
      • + *

        protocol - The protocol.

        + *
      • + *
      • + *

        source - The ID of the resource.

        *
      • *
      * @public @@ -9664,173 +9523,394 @@ export interface DescribePrefixListsRequest { /** *

      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.

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

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

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

      The token for the next page of results.

      * @public */ NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeNetworkInsightsPathsResult { /** - *

      One or more prefix list IDs.

      + *

      Information about the paths.

      * @public */ - PrefixListIds?: string[] | undefined; + NetworkInsightsPaths?: NetworkInsightsPath[] | undefined; + + /** + *

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

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

      Describes prefixes for Amazon Web Services services.

      * @public + * @enum */ -export interface PrefixList { +export const NetworkInterfaceAttribute = { + associatePublicIpAddress: "associatePublicIpAddress", + attachment: "attachment", + description: "description", + groupSet: "groupSet", + sourceDestCheck: "sourceDestCheck", +} as const; + +/** + * @public + */ +export type NetworkInterfaceAttribute = (typeof NetworkInterfaceAttribute)[keyof typeof NetworkInterfaceAttribute]; + +/** + *

      Contains the parameters for DescribeNetworkInterfaceAttribute.

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

      The IP address range of the Amazon Web Services service.

      + *

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

      * @public */ - Cidrs?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      The ID of the prefix.

      + *

      The ID of the network interface.

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

      The name of the prefix.

      + *

      The attribute of the network interface. This parameter is required.

      * @public */ - PrefixListName?: string | undefined; + Attribute?: NetworkInterfaceAttribute | undefined; } /** + *

      Contains the output of DescribeNetworkInterfaceAttribute.

      * @public */ -export interface DescribePrefixListsResult { +export interface DescribeNetworkInterfaceAttributeResult { /** - *

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

      + *

      The attachment (if any) of the network interface.

      * @public */ - NextToken?: string | undefined; + Attachment?: NetworkInterfaceAttachment | undefined; /** - *

      All available prefix lists.

      + *

      The description of the network interface.

      * @public */ - PrefixLists?: PrefixList[] | undefined; -} + Description?: AttributeValue | undefined; -/** - * @public - */ -export interface DescribePrincipalIdFormatRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 groups associated with the network interface.

      * @public */ - DryRun?: boolean | undefined; + Groups?: GroupIdentifier[] | undefined; /** - *

      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 ID of the network interface.

      * @public */ - Resources?: string[] | undefined; + NetworkInterfaceId?: string | undefined; /** - *

      The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value.

      + *

      Indicates whether source/destination checking is enabled.

      * @public */ - MaxResults?: number | undefined; + SourceDestCheck?: AttributeBooleanValue | undefined; /** - *

      The token to request the next page of results.

      + *

      Indicates whether to assign a public IPv4 address to a network interface. + * This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

      * @public */ - NextToken?: string | undefined; + AssociatePublicIpAddress?: boolean | undefined; } /** - *

      PrincipalIdFormat description

      + *

      Contains the parameters for DescribeNetworkInterfacePermissions.

      * @public */ -export interface PrincipalIdFormat { +export interface DescribeNetworkInterfacePermissionsRequest { /** - *

      PrincipalIdFormatARN description

      + *

      The network interface permission IDs.

      * @public */ - Arn?: string | undefined; + NetworkInterfacePermissionIds?: string[] | undefined; /** - *

      PrincipalIdFormatStatuses description

      + *

      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 Services service.

        + *
      • + *
      • + *

        + * network-interface-permission.permission - The type of + * permission (INSTANCE-ATTACH | + * EIP-ASSOCIATE).

        + *
      • + *
      * @public */ - Statuses?: IdFormat[] | undefined; + Filters?: Filter[] | undefined; + + /** + *

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

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

      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.

      + * @public + */ + MaxResults?: number | undefined; } /** + *

      Contains the output for DescribeNetworkInterfacePermissions.

      * @public */ -export interface DescribePrincipalIdFormatResult { +export interface DescribeNetworkInterfacePermissionsResult { /** - *

      Information about the ID format settings for the ARN.

      + *

      The network interface permissions.

      * @public */ - Principals?: PrincipalIdFormat[] | undefined; + NetworkInterfacePermissions?: NetworkInterfacePermission[] | undefined; /** - *

      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.

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

      Contains the parameters for DescribeNetworkInterfaces.

      * @public */ -export interface DescribePublicIpv4PoolsRequest { +export interface DescribeNetworkInterfacesRequest { /** - *

      The IDs of the address pools.

      + *

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

      * @public */ - PoolIds?: string[] | undefined; + NextToken?: string | undefined; /** - *

      The token for the next page of results.

      + *

      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.

      * @public */ - NextToken?: string | undefined; + MaxResults?: number | undefined; /** - *

      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.

      * @public */ - MaxResults?: number | undefined; + DryRun?: boolean | undefined; + + /** + *

      The network interface IDs.

      + *

      Default: Describes all your network interfaces.

      + * @public + */ + NetworkInterfaceIds?: string[] | undefined; /** *

      One or more 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).

        + *
      • + *
      • + *

        + * 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 | efa-only | 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 Services + * 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.

        *
      • @@ -9838,6 +9918,10 @@ export interface DescribePublicIpv4PoolsRequest { *

        * 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.

        + *
      • *
      * @public */ @@ -9845,118 +9929,118 @@ export interface DescribePublicIpv4PoolsRequest { } /** - *

      Describes an address range of an IPv4 address pool.

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

      The first IP address in the range.

      - * @public - */ - FirstAddress?: string | undefined; - - /** - *

      The last IP address in the range.

      - * @public - */ - LastAddress?: string | undefined; - +export interface DescribeNetworkInterfacesResult { /** - *

      The number of addresses in the range.

      + *

      Information about the network interfaces.

      * @public */ - AddressCount?: number | undefined; + NetworkInterfaces?: NetworkInterface[] | undefined; /** - *

      The number of available addresses in the range.

      + *

      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.

      * @public */ - AvailableAddressCount?: number | undefined; + NextToken?: string | undefined; } /** - *

      Describes an IPv4 address pool.

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

      The ID of the address pool.

      - * @public - */ - PoolId?: string | undefined; - - /** - *

      A description of the address pool.

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

      The address ranges.

      - * @public - */ - PoolAddressRanges?: PublicIpv4PoolRange[] | undefined; - +export interface DescribePlacementGroupsRequest { /** - *

      The total number of addresses.

      + *

      The IDs of the placement groups.

      * @public */ - TotalAddressCount?: number | undefined; + GroupIds?: string[] | undefined; /** - *

      The total number of available addresses.

      + *

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

      * @public */ - TotalAvailableAddressCount?: number | undefined; + DryRun?: boolean | undefined; /** - *

      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.

      + *

      The names of the placement groups.

      + *

      Constraints:

      + *
        + *
      • + *

        You can specify a name only if the placement group is owned by your + * account.

        + *
      • + *
      • + *

        If a placement group is shared with your account, + * specifying the name results in an error. You must use the GroupId + * parameter instead.

        + *
      • + *
      * @public */ - NetworkBorderGroup?: string | undefined; + GroupNames?: string[] | undefined; /** - *

      Any tags for the address pool.

      + *

      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.

        + *
      • + *
      * @public */ - Tags?: Tag[] | undefined; + Filters?: Filter[] | undefined; } /** * @public */ -export interface DescribePublicIpv4PoolsResult { - /** - *

      Information about the address pools.

      - * @public - */ - PublicIpv4Pools?: PublicIpv4Pool[] | undefined; - +export interface DescribePlacementGroupsResult { /** - *

      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 placement groups.

      * @public */ - NextToken?: string | undefined; + PlacementGroups?: PlacementGroup[] | undefined; } /** * @public */ -export interface DescribeRegionsRequest { - /** - *

      The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

      - * @public - */ - RegionNames?: string[] | undefined; - - /** - *

      Indicates whether to display all Regions, including Regions that are disabled for your account.

      - * @public - */ - AllRegions?: boolean | undefined; - +export interface DescribePrefixListsRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -9966,100 +10050,86 @@ export interface DescribeRegionsRequest { DryRun?: boolean | undefined; /** - *

      The filters.

      + *

      One or more 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).

        + *

        + * prefix-list-id: The ID of a prefix list.

        *
      • *
      • *

        - * region-name - The name of the Region (for example, us-east-1).

        + * prefix-list-name: The name of a prefix list.

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

      Describes a Region.

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

      The Region opt-in status. The possible values are opt-in-not-required, opted-in, and - * not-opted-in.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - OptInStatus?: string | undefined; + MaxResults?: number | undefined; /** - *

      The name of the Region.

      + *

      The token for the next page of results.

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

      The Region service endpoint.

      + *

      One or more prefix list IDs.

      * @public */ - Endpoint?: string | undefined; + PrefixListIds?: string[] | undefined; } /** + *

      Describes prefixes for Amazon Web Services services.

      * @public */ -export interface DescribeRegionsResult { +export interface PrefixList { /** - *

      Information about the Regions.

      + *

      The IP address range of the Amazon Web Services service.

      * @public */ - Regions?: Region[] | undefined; -} + Cidrs?: string[] | undefined; -/** - * @public - */ -export interface DescribeReplaceRootVolumeTasksRequest { /** - *

      The ID of the root volume replacement task to view.

      + *

      The ID of the prefix.

      * @public */ - ReplaceRootVolumeTaskIds?: string[] | undefined; + PrefixListId?: string | undefined; /** - *

      Filter to use:

      - *
        - *
      • - *

        - * instance-id - The ID of the instance for which the root volume replacement task was created.

        - *
      • - *
      + *

      The name of the prefix.

      * @public */ - Filters?: Filter[] | undefined; + PrefixListName?: string | undefined; +} +/** + * @public + */ +export interface DescribePrefixListsResult { /** - *

      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 to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - MaxResults?: number | undefined; + NextToken?: string | undefined; /** - *

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

      + *

      All available prefix lists.

      * @public */ - NextToken?: string | undefined; + PrefixLists?: PrefixList[] | undefined; +} +/** + * @public + */ +export interface DescribePrincipalIdFormatRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -10067,903 +10137,984 @@ export interface DescribeReplaceRootVolumeTasksRequest { * @public */ DryRun?: boolean | undefined; -} -/** - * @public - */ -export interface DescribeReplaceRootVolumeTasksResult { /** - *

      Information about the root volume replacement task.

      + *

      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 + *

      * @public */ - ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[] | undefined; + Resources?: string[] | undefined; /** - *

      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 maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

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

      The token to request the next page of results.

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

      PrincipalIdFormat description

      * @public - * @enum */ -export const OfferingClassType = { - CONVERTIBLE: "convertible", - STANDARD: "standard", -} as const; +export interface PrincipalIdFormat { + /** + *

      PrincipalIdFormatARN description

      + * @public + */ + Arn?: string | undefined; -/** - * @public - */ -export type OfferingClassType = (typeof OfferingClassType)[keyof typeof OfferingClassType]; + /** + *

      PrincipalIdFormatStatuses description

      + * @public + */ + Statuses?: IdFormat[] | undefined; +} /** * @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; +export interface DescribePrincipalIdFormatResult { + /** + *

      Information about the ID format settings for the ARN.

      + * @public + */ + Principals?: PrincipalIdFormat[] | undefined; -/** - * @public - */ -export type OfferingTypeValues = (typeof OfferingTypeValues)[keyof typeof OfferingTypeValues]; + /** + *

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

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

      Contains the parameters for DescribeReservedInstances.

      * @public */ -export interface DescribeReservedInstancesRequest { +export interface DescribePublicIpv4PoolsRequest { /** - *

      Describes whether the Reserved Instance is Standard or Convertible.

      + *

      The IDs of the address pools.

      * @public */ - OfferingClass?: OfferingClassType | undefined; + PoolIds?: string[] | undefined; /** - *

      One or more Reserved Instance IDs.

      - *

      Default: Describes all your Reserved Instances, or only those otherwise specified.

      + *

      The token for the next page of results.

      * @public */ - ReservedInstancesIds?: string[] | undefined; + NextToken?: string | undefined; /** - *

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

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - DryRun?: boolean | undefined; + MaxResults?: number | undefined; /** *

      One or more filters.

      *
        *
      • *

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

        - *
      • - *
      • - *

        - * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

        - *
      • - *
      • - *

        - * instance-type - The instance type that is covered by the reservation.

        - *
      • - *
      • - *

        - * scope - The scope of the Reserved Instance (Region or Availability Zone).

        - *
      • - *
      • - *

        - * 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-id - The ID of the Reserved Instance.

        - *
      • - *
      • - *

        - * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

        - *
      • - *
      • - *

        - * 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.

        *
      • *
      • *

        * 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.

        *
      • - *
      • - *

        - * usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

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

      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.

      - * @public - */ - OfferingType?: OfferingTypeValues | undefined; -} - -/** - * @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; + */ + Filters?: Filter[] | undefined; +} /** + *

      Describes an address range of an IPv4 address pool.

      * @public */ -export type RecurringChargeFrequency = (typeof RecurringChargeFrequency)[keyof typeof RecurringChargeFrequency]; +export interface PublicIpv4PoolRange { + /** + *

      The first IP address in the range.

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

      Describes a recurring charge.

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

      The amount of the recurring charge.

      + *

      The last IP address in the range.

      * @public */ - Amount?: number | undefined; + LastAddress?: string | undefined; /** - *

      The frequency of the recurring charge.

      + *

      The number of addresses in the range.

      * @public */ - Frequency?: RecurringChargeFrequency | undefined; -} + AddressCount?: number | undefined; -/** - * @public - * @enum - */ -export const Scope = { - AVAILABILITY_ZONE: "Availability Zone", - REGIONAL: "Region", -} as const; + /** + *

      The number of available addresses in the range.

      + * @public + */ + AvailableAddressCount?: number | undefined; +} /** + *

      Describes an IPv4 address pool.

      * @public */ -export type Scope = (typeof Scope)[keyof typeof Scope]; +export interface PublicIpv4Pool { + /** + *

      The ID of the address pool.

      + * @public + */ + PoolId?: string | undefined; -/** - * @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; + /** + *

      A description of the address pool.

      + * @public + */ + Description?: string | undefined; -/** - * @public - */ -export type ReservedInstanceState = (typeof ReservedInstanceState)[keyof typeof ReservedInstanceState]; + /** + *

      The address ranges.

      + * @public + */ + PoolAddressRanges?: PublicIpv4PoolRange[] | undefined; -/** - *

      Describes a Reserved Instance.

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

      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 total number of addresses.

      * @public */ - CurrencyCode?: CurrencyCodeValues | undefined; + TotalAddressCount?: number | undefined; /** - *

      The tenancy of the instance.

      + *

      The total number of available addresses.

      * @public */ - InstanceTenancy?: Tenancy | undefined; + TotalAvailableAddressCount?: number | undefined; /** - *

      The offering class of the Reserved Instance.

      + *

      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.

      * @public */ - OfferingClass?: OfferingClassType | undefined; + NetworkBorderGroup?: string | undefined; /** - *

      The Reserved Instance offering type.

      + *

      Any tags for the address pool.

      * @public */ - OfferingType?: OfferingTypeValues | undefined; + Tags?: Tag[] | undefined; +} +/** + * @public + */ +export interface DescribePublicIpv4PoolsResult { /** - *

      The recurring charge tag assigned to the resource.

      + *

      Information about the address pools.

      * @public */ - RecurringCharges?: RecurringCharge[] | undefined; + PublicIpv4Pools?: PublicIpv4Pool[] | undefined; /** - *

      The scope of the Reserved Instance.

      + *

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

      * @public */ - Scope?: Scope | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeRegionsRequest { /** - *

      Any tags assigned to the resource.

      + *

      The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

      * @public */ - Tags?: Tag[] | undefined; + RegionNames?: string[] | undefined; /** - *

      The ID of the Reserved Instance.

      + *

      Indicates whether to display all Regions, including Regions that are disabled for your account.

      * @public */ - ReservedInstancesId?: string | undefined; + AllRegions?: boolean | undefined; /** - *

      The instance type on which the Reserved Instance can 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.

      * @public */ - InstanceType?: _InstanceType | undefined; + DryRun?: boolean | undefined; /** - *

      The Availability Zone in which the Reserved Instance can be used.

      + *

      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).

        + *
      • + *
      * @public */ - AvailabilityZone?: string | undefined; + Filters?: Filter[] | undefined; +} +/** + *

      Describes a Region.

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

      The date and time the Reserved Instance started.

      + *

      The Region opt-in status. The possible values are opt-in-not-required, opted-in, and + * not-opted-in.

      * @public */ - Start?: Date | undefined; + OptInStatus?: string | undefined; /** - *

      The time when the Reserved Instance expires.

      + *

      The name of the Region.

      * @public */ - End?: Date | undefined; + RegionName?: string | undefined; /** - *

      The duration of the Reserved Instance, in seconds.

      + *

      The Region service endpoint.

      * @public */ - Duration?: number | undefined; + Endpoint?: string | undefined; +} +/** + * @public + */ +export interface DescribeRegionsResult { /** - *

      The usage price of the Reserved Instance, per hour.

      + *

      Information about the Regions.

      * @public */ - UsagePrice?: number | undefined; + Regions?: Region[] | undefined; +} +/** + * @public + */ +export interface DescribeReplaceRootVolumeTasksRequest { /** - *

      The purchase price of the Reserved Instance.

      + *

      The ID of the root volume replacement task to view.

      * @public */ - FixedPrice?: number | undefined; + ReplaceRootVolumeTaskIds?: string[] | undefined; /** - *

      The number of reservations purchased.

      + *

      Filter to use:

      + *
        + *
      • + *

        + * instance-id - The ID of the instance for which the root volume replacement task was created.

        + *
      • + *
      * @public */ - InstanceCount?: number | undefined; + Filters?: Filter[] | undefined; /** - *

      The Reserved Instance product platform description.

      + *

      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.

      * @public */ - ProductDescription?: RIProductDescription | undefined; + MaxResults?: number | undefined; /** - *

      The state of the Reserved Instance purchase.

      + *

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

      * @public */ - State?: ReservedInstanceState | undefined; -} + NextToken?: string | undefined; -/** - *

      Contains the output for DescribeReservedInstances.

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

      A list of 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.

      * @public */ - ReservedInstances?: ReservedInstances[] | undefined; + DryRun?: boolean | undefined; } /** - *

      Contains the parameters for DescribeReservedInstancesListings.

      * @public */ -export interface DescribeReservedInstancesListingsRequest { +export interface DescribeReplaceRootVolumeTasksResult { /** - *

      One or more Reserved Instance IDs.

      + *

      Information about the root volume replacement task.

      * @public */ - ReservedInstancesId?: string | undefined; + ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[] | undefined; /** - *

      One or more Reserved Instance listing 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.

      * @public */ - ReservedInstancesListingId?: string | undefined; + NextToken?: string | undefined; +} + +/** + * @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; - /** - *

      One or more filters.

      - *
        - *
      • - *

        - * reserved-instances-id - The ID of the Reserved Instances.

        - *
      • - *
      • - *

        - * reserved-instances-listing-id - The ID of the Reserved Instances listing.

        - *
      • - *
      • - *

        - * status - The status of the Reserved Instance listing (pending | active | - * cancelled | closed).

        - *
      • - *
      • - *

        - * status-message - The reason for the status.

        - *
      • - *
      - * @public - */ - Filters?: Filter[] | undefined; -} +/** + * @public + */ +export type OfferingTypeValues = (typeof OfferingTypeValues)[keyof typeof OfferingTypeValues]; /** - *

      Contains the output of DescribeReservedInstancesListings.

      + *

      Contains the parameters for DescribeReservedInstances.

      * @public */ -export interface DescribeReservedInstancesListingsResult { +export interface DescribeReservedInstancesRequest { /** - *

      Information about the Reserved Instance listing.

      + *

      Describes whether the Reserved Instance is Standard or Convertible.

      * @public */ - ReservedInstancesListings?: ReservedInstancesListing[] | undefined; -} + OfferingClass?: OfferingClassType | undefined; -/** - *

      Contains the parameters for DescribeReservedInstancesModifications.

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

      IDs for the submitted modification request.

      + *

      One or more Reserved Instance IDs.

      + *

      Default: Describes all your Reserved Instances, or only those otherwise specified.

      * @public */ - ReservedInstancesModificationIds?: string[] | undefined; + ReservedInstancesIds?: string[] | undefined; /** - *

      The token to retrieve 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.

      * @public */ - NextToken?: string | undefined; + DryRun?: boolean | undefined; /** *

      One or more filters.

      *
        *
      • *

        - * client-token - The idempotency token for the modification request.

        + * availability-zone - The Availability Zone where the Reserved Instance can be used.

        *
      • *
      • *

        - * create-date - The time when the modification request was created.

        + * duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

        *
      • *
      • *

        - * effective-date - The time when the modification becomes effective.

        + * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

        *
      • *
      • *

        - * 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.

        + * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

        *
      • *
      • *

        - * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

        + * instance-type - The instance type that is covered by the reservation.

        *
      • *
      • *

        - * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

        + * scope - The scope of the Reserved Instance (Region or Availability Zone).

        *
      • *
      • *

        - * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

        + * 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-id - The ID of the Reserved Instances modified.

        + * reserved-instances-id - The ID of the Reserved Instance.

        *
      • *
      • *

        - * reserved-instances-modification-id - The ID of the modification request.

        + * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

        *
      • *
      • *

        - * status - The status of the Reserved Instances modification request - * (processing | fulfilled | failed).

        + * state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

        *
      • *
      • *

        - * 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 assigned a tag with a specific key, regardless of the tag value.

        + *
      • + *
      • + *

        + * usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

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

      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.

      + * @public + */ + OfferingType?: OfferingTypeValues | undefined; } /** - *

      Describes the configuration settings for the modified Reserved Instances.

      * @public + * @enum */ -export interface ReservedInstancesConfiguration { - /** - *

      The Availability Zone for the modified Reserved Instances.

      - * @public - */ - AvailabilityZone?: string | undefined; +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; - /** - *

      The number of modified Reserved Instances.

      - * - *

      This is a required field for a request.

      - *
      - * @public - */ - InstanceCount?: number | undefined; +/** + * @public + */ +export type RIProductDescription = (typeof RIProductDescription)[keyof typeof RIProductDescription]; - /** - *

      The instance type for the modified Reserved Instances.

      - * @public - */ - InstanceType?: _InstanceType | undefined; +/** + * @public + * @enum + */ +export const RecurringChargeFrequency = { + Hourly: "Hourly", +} as const; + +/** + * @public + */ +export type RecurringChargeFrequency = (typeof RecurringChargeFrequency)[keyof typeof RecurringChargeFrequency]; +/** + *

      Describes a recurring charge.

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

      The network platform of the modified Reserved Instances.

      + *

      The amount of the recurring charge.

      * @public */ - Platform?: string | undefined; + Amount?: number | undefined; /** - *

      Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

      + *

      The frequency of the recurring charge.

      * @public */ - Scope?: Scope | undefined; + Frequency?: RecurringChargeFrequency | undefined; } /** - *

      Describes the modification request/s.

      * @public + * @enum */ -export interface ReservedInstancesModificationResult { +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", +} as const; + +/** + * @public + */ +export type ReservedInstanceState = (typeof ReservedInstanceState)[keyof typeof ReservedInstanceState]; + +/** + *

      Describes a Reserved Instance.

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

      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 currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. + * At this time, the only supported currency is USD.

      * @public */ - ReservedInstancesId?: string | undefined; + CurrencyCode?: CurrencyCodeValues | undefined; /** - *

      The target Reserved Instances configurations supplied as part of the modification request.

      + *

      The tenancy of the instance.

      * @public */ - TargetConfiguration?: ReservedInstancesConfiguration | undefined; -} + InstanceTenancy?: Tenancy | undefined; -/** - *

      Describes the ID of a Reserved Instance.

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

      The ID of the Reserved Instance.

      + *

      The offering class of the Reserved Instance.

      * @public */ - ReservedInstancesId?: string | undefined; -} + OfferingClass?: OfferingClassType | undefined; -/** - *

      Describes a Reserved Instance modification.

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

      A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. - * For more information, see Ensuring - * Idempotency.

      + *

      The Reserved Instance offering type.

      * @public */ - ClientToken?: string | undefined; + OfferingType?: OfferingTypeValues | undefined; /** - *

      The time when the modification request was created.

      + *

      The recurring charge tag assigned to the resource.

      * @public */ - CreateDate?: Date | undefined; + RecurringCharges?: RecurringCharge[] | undefined; /** - *

      The time for the modification to become effective.

      + *

      The scope of the Reserved Instance.

      * @public */ - EffectiveDate?: Date | undefined; + Scope?: Scope | undefined; /** - *

      Contains target configurations along with their corresponding new Reserved Instance IDs.

      + *

      Any tags assigned to the resource.

      * @public */ - ModificationResults?: ReservedInstancesModificationResult[] | undefined; + Tags?: Tag[] | undefined; /** - *

      The IDs of one or more Reserved Instances.

      + *

      The ID of the Reserved Instance.

      * @public */ - ReservedInstancesIds?: ReservedInstancesId[] | undefined; + ReservedInstancesId?: string | undefined; /** - *

      A unique ID for the Reserved Instance modification.

      + *

      The instance type on which the Reserved Instance can be used.

      * @public */ - ReservedInstancesModificationId?: string | undefined; + InstanceType?: _InstanceType | undefined; /** - *

      The status of the Reserved Instances modification request.

      + *

      The Availability Zone in which the Reserved Instance can be used.

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

      The reason for the status.

      + *

      The date and time the Reserved Instance started.

      * @public */ - StatusMessage?: string | undefined; + Start?: Date | undefined; + + /** + *

      The time when the Reserved Instance expires.

      + * @public + */ + End?: Date | undefined; /** - *

      The time when the modification request was last updated.

      + *

      The duration of the Reserved Instance, in seconds.

      * @public */ - UpdateDate?: Date | undefined; -} + Duration?: number | undefined; -/** - *

      Contains the output of DescribeReservedInstancesModifications.

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

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

      + *

      The usage price of the Reserved Instance, per hour.

      * @public */ - NextToken?: string | undefined; + UsagePrice?: number | undefined; /** - *

      The Reserved Instance modification information.

      + *

      The purchase price of the Reserved Instance.

      * @public */ - ReservedInstancesModifications?: ReservedInstancesModification[] | undefined; -} + FixedPrice?: number | undefined; -/** - *

      Contains the parameters for DescribeReservedInstancesOfferings.

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

      The Availability Zone in which the Reserved Instance can be used.

      + *

      The number of reservations purchased.

      * @public */ - AvailabilityZone?: string | undefined; + InstanceCount?: number | undefined; /** - *

      Include Reserved Instance Marketplace offerings in the response.

      + *

      The Reserved Instance product platform description.

      * @public */ - IncludeMarketplace?: boolean | undefined; + ProductDescription?: RIProductDescription | undefined; /** - *

      The instance type that the reservation will cover (for example, m1.small). - * For more information, see Amazon EC2 instance types in the - * Amazon EC2 User Guide.

      + *

      The state of the Reserved Instance purchase.

      * @public */ - InstanceType?: _InstanceType | undefined; + State?: ReservedInstanceState | undefined; +} +/** + *

      Contains the output for DescribeReservedInstances.

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

      The maximum duration (in seconds) to filter when searching for offerings.

      - *

      Default: 94608000 (3 years)

      + *

      A list of Reserved Instances.

      * @public */ - MaxDuration?: number | undefined; + ReservedInstances?: ReservedInstances[] | undefined; +} +/** + *

      Contains the parameters for DescribeReservedInstancesListings.

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

      The maximum number of instances to filter when searching for offerings.

      - *

      Default: 20

      + *

      One or more Reserved Instance IDs.

      * @public */ - MaxInstanceCount?: number | undefined; + ReservedInstancesId?: string | undefined; /** - *

      The minimum duration (in seconds) to filter when searching for offerings.

      - *

      Default: 2592000 (1 month)

      + *

      One or more Reserved Instance listing IDs.

      * @public */ - MinDuration?: number | undefined; + ReservedInstancesListingId?: string | undefined; /** - *

      The offering class of the Reserved Instance. Can be standard or convertible.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * reserved-instances-id - The ID of the Reserved Instances.

        + *
      • + *
      • + *

        + * reserved-instances-listing-id - The ID of the Reserved Instances listing.

        + *
      • + *
      • + *

        + * status - The status of the Reserved Instance listing (pending | active | + * cancelled | closed).

        + *
      • + *
      • + *

        + * status-message - The reason for the status.

        + *
      • + *
      * @public */ - OfferingClass?: OfferingClassType | undefined; + Filters?: Filter[] | undefined; +} +/** + *

      Contains the output of DescribeReservedInstancesListings.

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

      The Reserved Instance product platform description. Instances that include (Amazon - * VPC) in the description are for use with Amazon VPC.

      + *

      Information about the Reserved Instance listing.

      * @public */ - ProductDescription?: RIProductDescription | undefined; + ReservedInstancesListings?: ReservedInstancesListing[] | undefined; +} +/** + *

      Contains the parameters for DescribeReservedInstancesModifications.

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

      One or more Reserved Instances offering IDs.

      + *

      IDs for the submitted modification request.

      * @public */ - ReservedInstancesOfferingIds?: string[] | undefined; + ReservedInstancesModificationIds?: string[] | undefined; /** - *

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

      + *

      The token to retrieve the next page of results.

      * @public */ - DryRun?: boolean | undefined; + NextToken?: string | undefined; /** *

      One or more filters.

      *
        *
      • *

        - * availability-zone - The Availability Zone where the Reserved Instance can be - * used.

        + * client-token - The idempotency token for the modification request.

        *
      • *
      • *

        - * duration - The duration of the Reserved Instance (for example, one year or - * three years), in seconds (31536000 | 94608000).

        + * create-date - The time when the modification request was created.

        *
      • *
      • *

        - * fixed-price - The purchase price of the Reserved Instance (for example, - * 9800.0).

        + * effective-date - The time when the modification becomes effective.

        *
      • *
      • *

        - * instance-type - The instance type that is covered by the - * reservation.

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

        *
      • *
      • *

        - * 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.

        + * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

        *
      • *
      • *

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

        + * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

        *
      • *
      • *

        - * reserved-instances-offering-id - The Reserved Instances offering - * ID.

        + * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

        *
      • *
      • *

        - * scope - The scope of the Reserved Instance (Availability Zone or - * Region).

        + * reserved-instances-id - The ID of the Reserved Instances modified.

        *
      • *
      • *

        - * usage-price - The usage price of the Reserved Instance, per hour (for - * example, 0.84).

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

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

      Describes the configuration settings for the modified Reserved Instances.

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

      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 - *

      + *

      The Availability Zone for the modified Reserved Instances.

      * @public */ - InstanceTenancy?: Tenancy | undefined; + AvailabilityZone?: string | undefined; /** - *

      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 number of modified Reserved Instances.

      + * + *

      This is a required field for a request.

      + *
      * @public */ - OfferingType?: OfferingTypeValues | undefined; + InstanceCount?: number | undefined; /** - *

      The token to retrieve the next page of results.

      + *

      The instance type for the modified Reserved Instances.

      * @public */ - NextToken?: string | undefined; + InstanceType?: _InstanceType | undefined; /** - *

      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 network platform of the modified Reserved Instances.

      * @public */ - MaxResults?: number | undefined; + Platform?: string | undefined; + + /** + *

      Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

      + * @public + */ + Scope?: Scope | undefined; } /** - *

      Describes a Reserved Instance offering.

      + *

      Describes the modification request/s.

      * @public */ -export interface PricingDetail { +export interface ReservedInstancesModificationResult { /** - *

      The number of reservations available for the price.

      + *

      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.

      * @public */ - Count?: number | undefined; + ReservedInstancesId?: string | undefined; /** - *

      The price per instance.

      + *

      The target Reserved Instances configurations supplied as part of the modification request.

      * @public */ - Price?: number | undefined; + TargetConfiguration?: ReservedInstancesConfiguration | undefined; } /** - *

      Describes a Reserved Instance offering.

      + *

      Describes the ID of a Reserved Instance.

      * @public */ -export interface ReservedInstancesOffering { +export interface ReservedInstancesId { /** - *

      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 ID of the Reserved Instance.

      * @public */ - CurrencyCode?: CurrencyCodeValues | undefined; + ReservedInstancesId?: string | undefined; +} +/** + *

      Describes a Reserved Instance modification.

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

      The tenancy of the instance.

      + *

      A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. + * For more information, see Ensuring + * Idempotency.

      * @public */ - InstanceTenancy?: Tenancy | undefined; + ClientToken?: string | undefined; /** - *

      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.

      + *

      The time when the modification request was created.

      * @public */ - Marketplace?: boolean | undefined; + CreateDate?: Date | undefined; + + /** + *

      The time for the modification to become effective.

      + * @public + */ + EffectiveDate?: Date | undefined; + + /** + *

      Contains target configurations along with their corresponding new Reserved Instance IDs.

      + * @public + */ + ModificationResults?: ReservedInstancesModificationResult[] | undefined; /** - *

      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 IDs of one or more Reserved Instances.

      * @public */ - OfferingClass?: OfferingClassType | undefined; + ReservedInstancesIds?: ReservedInstancesId[] | undefined; /** - *

      The Reserved Instance offering type.

      + *

      A unique ID for the Reserved Instance modification.

      * @public */ - OfferingType?: OfferingTypeValues | undefined; + ReservedInstancesModificationId?: string | undefined; /** - *

      The pricing details of the Reserved Instance offering.

      + *

      The status of the Reserved Instances modification request.

      * @public */ - PricingDetails?: PricingDetail[] | undefined; + Status?: string | undefined; /** - *

      The recurring charge tag assigned to the resource.

      + *

      The reason for the status.

      * @public */ - RecurringCharges?: RecurringCharge[] | undefined; + StatusMessage?: string | undefined; /** - *

      Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

      + *

      The time when the modification request was last updated.

      * @public */ - Scope?: Scope | undefined; + UpdateDate?: Date | undefined; +} +/** + *

      Contains the output of DescribeReservedInstancesModifications.

      + * @public + */ +export interface DescribeReservedInstancesModificationsResult { /** - *

      The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote - * to confirm that an exchange can be made.

      + *

      The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

      * @public */ - ReservedInstancesOfferingId?: string | undefined; + NextToken?: string | undefined; /** - *

      The instance type on which the Reserved Instance can be used.

      + *

      The Reserved Instance modification information.

      * @public */ - InstanceType?: _InstanceType | undefined; + ReservedInstancesModifications?: ReservedInstancesModification[] | undefined; +} +/** + *

      Contains the parameters for DescribeReservedInstancesOfferings.

      + * @public + */ +export interface DescribeReservedInstancesOfferingsRequest { /** *

      The Availability Zone in which the Reserved Instance can be used.

      * @public @@ -10971,506 +11122,527 @@ export interface ReservedInstancesOffering { AvailabilityZone?: string | undefined; /** - *

      The duration of the Reserved Instance, in seconds.

      + *

      Include Reserved Instance Marketplace offerings in the response.

      * @public */ - Duration?: number | undefined; + IncludeMarketplace?: boolean | undefined; /** - *

      The usage price of the Reserved Instance, per hour.

      + *

      The instance type that the reservation will cover (for example, m1.small). + * For more information, see Amazon EC2 instance types in the + * Amazon EC2 User Guide.

      * @public */ - UsagePrice?: number | undefined; + InstanceType?: _InstanceType | undefined; /** - *

      The purchase price of the Reserved Instance.

      + *

      The maximum duration (in seconds) to filter when searching for offerings.

      + *

      Default: 94608000 (3 years)

      * @public */ - FixedPrice?: number | undefined; + MaxDuration?: number | undefined; /** - *

      The Reserved Instance product platform description.

      + *

      The maximum number of instances to filter when searching for offerings.

      + *

      Default: 20

      * @public */ - ProductDescription?: RIProductDescription | undefined; -} + MaxInstanceCount?: number | undefined; -/** - *

      Contains the output of DescribeReservedInstancesOfferings.

      - * @public - */ -export interface DescribeReservedInstancesOfferingsResult { /** - *

      The token to use to retrieve the next page of results. This value is null when - * there are no more results to return.

      + *

      The minimum duration (in seconds) to filter when searching for offerings.

      + *

      Default: 2592000 (1 month)

      * @public */ - NextToken?: string | undefined; + MinDuration?: number | undefined; /** - *

      A list of Reserved Instances offerings.

      + *

      The offering class of the Reserved Instance. Can be standard or convertible.

      * @public */ - ReservedInstancesOfferings?: ReservedInstancesOffering[] | undefined; -} + OfferingClass?: OfferingClassType | undefined; -/** - * @public - */ -export interface DescribeRouteTablesRequest { /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The Reserved Instance product platform description. Instances that include (Amazon + * VPC) in the description are for use with Amazon VPC.

      * @public */ - NextToken?: string | undefined; + ProductDescription?: RIProductDescription | undefined; /** - *

      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.

      + *

      One or more Reserved Instances offering IDs.

      * @public */ - MaxResults?: number | undefined; + ReservedInstancesOfferingIds?: string[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; /** - *

      The IDs of the route tables.

      - * @public - */ - RouteTableIds?: string[] | undefined; - - /** - *

      The filters.

      + *

      One or more filters.

      *
        *
      • *

        - * association.gateway-id - The ID of the gateway involved in the - * association.

        - *
      • - *
      • - *

        - * 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.

        - *
      • - *
      • - *

        - * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

        - *
      • - *
      • - *

        - * route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Services - * service specified in a route in the table.

        - *
      • - *
      • - *

        - * route.egress-only-internet-gateway-id - The ID of an - * egress-only Internet gateway specified in a route in the route table.

        - *
      • - *
      • - *

        - * route.gateway-id - The ID of a gateway specified in a route in the table.

        - *
      • - *
      • - *

        - * route.instance-id - The ID of an instance specified in a route in the table.

        + * availability-zone - The Availability Zone where the Reserved Instance can be + * used.

        *
      • *
      • *

        - * route.nat-gateway-id - The ID of a NAT gateway.

        + * duration - The duration of the Reserved Instance (for example, one year or + * three years), in seconds (31536000 | 94608000).

        *
      • *
      • *

        - * route.transit-gateway-id - The ID of a transit gateway.

        + * fixed-price - The purchase price of the Reserved Instance (for example, + * 9800.0).

        *
      • *
      • *

        - * 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.

        + * instance-type - The instance type that is covered by the + * reservation.

        *
      • *
      • *

        - * 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).

        + * 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.

        *
      • *
      • *

        - * route.vpc-peering-connection-id - The ID of a VPC peering - * connection specified in a route in the table.

        + * 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 for the route table.

        + * usage-price - The usage price of the Reserved Instance, per hour (for + * example, 0.84).

        *
      • *
      * @public */ Filters?: Filter[] | undefined; -} - -/** - *

      Contains the output of DescribeRouteTables.

      - * @public - */ -export interface DescribeRouteTablesResult { - /** - *

      Information about the route tables.

      - * @public - */ - RouteTables?: RouteTable[] | undefined; - - /** - *

      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.

      - * @public - */ - NextToken?: string | undefined; -} - -/** - *

      Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

      - * @public - */ -export interface SlotDateTimeRangeRequest { - /** - *

      The earliest date and time, in UTC, for the Scheduled Instance to start.

      - * @public - */ - EarliestTime: Date | undefined; /** - *

      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.

      + *

      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 + *

      * @public - */ - LatestTime: Date | undefined; -} - -/** - *

      Describes the recurring schedule for a Scheduled Instance.

      - * @public - */ -export interface ScheduledInstanceRecurrenceRequest { + */ + InstanceTenancy?: Tenancy | undefined; + /** - *

      The frequency (Daily, Weekly, or Monthly).

      + *

      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.

      * @public */ - Frequency?: string | undefined; + OfferingType?: OfferingTypeValues | undefined; /** - *

      The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 - * weeks or every 2 months.

      + *

      The token to retrieve the next page of results.

      * @public */ - Interval?: number | undefined; + NextToken?: string | undefined; /** - *

      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.

      + *

      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

      * @public */ - OccurrenceDays?: number[] | undefined; + MaxResults?: number | undefined; +} +/** + *

      Describes a Reserved Instance offering.

      + * @public + */ +export interface PricingDetail { /** - *

      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 number of reservations available for the price.

      * @public */ - OccurrenceRelativeToEnd?: boolean | undefined; + Count?: number | undefined; /** - *

      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 price per instance.

      * @public */ - OccurrenceUnit?: string | undefined; + Price?: number | undefined; } /** - *

      Contains the parameters for DescribeScheduledInstanceAvailability.

      + *

      Describes a Reserved Instance offering.

      * @public */ -export interface DescribeScheduledInstanceAvailabilityRequest { +export interface ReservedInstancesOffering { /** - *

      Checks whether you have the required permissions for the action, without 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 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.

      * @public */ - DryRun?: boolean | undefined; + CurrencyCode?: CurrencyCodeValues | undefined; /** - *

      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).

        - *
      • - *
      + *

      The tenancy of the instance.

      * @public */ - Filters?: Filter[] | undefined; + InstanceTenancy?: Tenancy | undefined; /** - *

      The time period for the first schedule to start.

      + *

      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.

      * @public */ - FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; + Marketplace?: boolean | undefined; /** - *

      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.

      + *

      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.

      * @public */ - MaxResults?: number | undefined; + OfferingClass?: OfferingClassType | undefined; /** - *

      The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours - * and less than 1,720.

      + *

      The Reserved Instance offering type.

      * @public */ - MaxSlotDurationInHours?: number | undefined; + OfferingType?: OfferingTypeValues | undefined; /** - *

      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.

      + *

      The pricing details of the Reserved Instance offering.

      * @public */ - MinSlotDurationInHours?: number | undefined; + PricingDetails?: PricingDetail[] | undefined; /** - *

      The token for the next set of results.

      + *

      The recurring charge tag assigned to the resource.

      * @public */ - NextToken?: string | undefined; + RecurringCharges?: RecurringCharge[] | undefined; /** - *

      The schedule recurrence.

      + *

      Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

      * @public */ - Recurrence: ScheduledInstanceRecurrenceRequest | undefined; -} + Scope?: Scope | undefined; -/** - *

      Describes the recurring schedule for a Scheduled Instance.

      - * @public - */ -export interface ScheduledInstanceRecurrence { /** - *

      The frequency (Daily, Weekly, or Monthly).

      + *

      The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote + * to confirm that an exchange can be made.

      * @public */ - Frequency?: string | undefined; + ReservedInstancesOfferingId?: string | undefined; /** - *

      The interval quantity. The interval unit depends on the value of frequency. For example, every 2 - * weeks or every 2 months.

      + *

      The instance type on which the Reserved Instance can be used.

      * @public */ - Interval?: number | undefined; + InstanceType?: _InstanceType | undefined; /** - *

      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.

      * @public */ - OccurrenceDaySet?: number[] | undefined; + AvailabilityZone?: string | undefined; /** - *

      Indicates whether the occurrence is relative to the end of the specified week or month.

      + *

      The duration of the Reserved Instance, in seconds.

      * @public */ - OccurrenceRelativeToEnd?: boolean | undefined; + Duration?: number | undefined; /** - *

      The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

      + *

      The usage price of the Reserved Instance, per hour.

      * @public */ - OccurrenceUnit?: string | undefined; -} + UsagePrice?: number | undefined; -/** - *

      Describes a schedule that is available for your Scheduled Instances.

      - * @public - */ -export interface ScheduledInstanceAvailability { /** - *

      The Availability Zone.

      + *

      The purchase price of the Reserved Instance.

      * @public */ - AvailabilityZone?: string | undefined; + FixedPrice?: number | undefined; /** - *

      The number of available instances.

      + *

      The Reserved Instance product platform description.

      * @public */ - AvailableInstanceCount?: number | undefined; + ProductDescription?: RIProductDescription | undefined; +} +/** + *

      Contains the output of DescribeReservedInstancesOfferings.

      + * @public + */ +export interface DescribeReservedInstancesOfferingsResult { /** - *

      The time period for the first schedule to start.

      + *

      The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

      * @public */ - FirstSlotStartTime?: Date | undefined; + NextToken?: string | undefined; /** - *

      The hourly price for a single instance.

      + *

      A list of Reserved Instances offerings.

      * @public */ - HourlyPrice?: string | undefined; + ReservedInstancesOfferings?: ReservedInstancesOffering[] | undefined; +} +/** + * @public + */ +export interface DescribeRouteTablesRequest { /** - *

      The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      * @public */ - InstanceType?: string | undefined; + NextToken?: string | undefined; /** - *

      The maximum term. The only possible value is 365 days.

      + *

      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.

      * @public */ - MaxTermDurationInDays?: number | undefined; + MaxResults?: number | undefined; /** - *

      The minimum term. The only possible value is 365 days.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - MinTermDurationInDays?: number | undefined; + DryRun?: boolean | undefined; /** - *

      The network platform.

      + *

      The IDs of the route tables.

      * @public */ - NetworkPlatform?: string | undefined; + RouteTableIds?: string[] | undefined; /** - *

      The platform (Linux/UNIX or Windows).

      + *

      The filters.

      + *
        + *
      • + *

        + * association.gateway-id - The ID of the gateway involved in the + * association.

        + *
      • + *
      • + *

        + * 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.

        + *
      • + *
      • + *

        + * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

        + *
      • + *
      • + *

        + * route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Services + * service specified in a route in the table.

        + *
      • + *
      • + *

        + * route.egress-only-internet-gateway-id - The ID of an + * egress-only Internet gateway specified in a route in the route table.

        + *
      • + *
      • + *

        + * route.gateway-id - The ID of a gateway specified in a route in the table.

        + *
      • + *
      • + *

        + * route.instance-id - The ID of an instance specified in a route in the table.

        + *
      • + *
      • + *

        + * 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.

        + *
      • + *
      * @public */ - Platform?: string | undefined; + Filters?: Filter[] | undefined; +} +/** + *

      Contains the output of DescribeRouteTables.

      + * @public + */ +export interface DescribeRouteTablesResult { /** - *

      The purchase token. This token expires in two hours.

      + *

      Information about the route tables.

      * @public */ - PurchaseToken?: string | undefined; + RouteTables?: RouteTable[] | undefined; /** - *

      The schedule recurrence.

      + *

      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.

      * @public */ - Recurrence?: ScheduledInstanceRecurrence | undefined; + NextToken?: string | undefined; +} +/** + *

      Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

      + * @public + */ +export interface SlotDateTimeRangeRequest { /** - *

      The number of hours in the schedule.

      + *

      The earliest date and time, in UTC, for the Scheduled Instance to start.

      * @public */ - SlotDurationInHours?: number | undefined; + EarliestTime: Date | undefined; /** - *

      The total number of hours for a single instance for the entire term.

      + *

      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.

      * @public */ - TotalScheduledInstanceHours?: number | undefined; + LatestTime: Date | undefined; } /** - *

      Contains the output of DescribeScheduledInstanceAvailability.

      + *

      Describes the recurring schedule for a Scheduled Instance.

      * @public */ -export interface DescribeScheduledInstanceAvailabilityResult { +export interface ScheduledInstanceRecurrenceRequest { /** - *

      The token required to retrieve the next set of results. This value is null when there are no more results to return.

      + *

      The frequency (Daily, Weekly, or Monthly).

      * @public */ - NextToken?: string | undefined; + Frequency?: string | undefined; /** - *

      Information about the available Scheduled Instances.

      + *

      The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 + * weeks or every 2 months.

      * @public */ - ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[] | undefined; -} + Interval?: number | undefined; -/** - *

      Describes the time period for a Scheduled Instance to start its first schedule.

      - * @public - */ -export interface SlotStartTimeRangeRequest { /** - *

      The earliest date and time, in UTC, for the Scheduled Instance to start.

      + *

      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.

      * @public */ - EarliestTime?: Date | undefined; + OccurrenceDays?: number[] | undefined; /** - *

      The latest date and time, in UTC, for the Scheduled Instance to start.

      + *

      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.

      * @public */ - LatestTime?: Date | undefined; + OccurrenceRelativeToEnd?: boolean | undefined; + + /** + *

      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.

      + * @public + */ + OccurrenceUnit?: string | undefined; } /** - *

      Contains the parameters for DescribeScheduledInstances.

      + *

      Contains the parameters for DescribeScheduledInstanceAvailability.

      * @public */ -export interface DescribeScheduledInstancesRequest { +export interface DescribeScheduledInstanceAvailabilityRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -11499,322 +11671,209 @@ export interface DescribeScheduledInstancesRequest { */ Filters?: Filter[] | undefined; - /** - *

      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.

      - * @public - */ - MaxResults?: number | undefined; - - /** - *

      The token for the next set of results.

      - * @public - */ - NextToken?: string | undefined; - - /** - *

      The Scheduled Instance IDs.

      - * @public - */ - ScheduledInstanceIds?: string[] | undefined; - /** *

      The time period for the first schedule to start.

      * @public */ - SlotStartTimeRange?: SlotStartTimeRangeRequest | undefined; -} - -/** - *

      Describes a Scheduled Instance.

      - * @public - */ -export interface ScheduledInstance { - /** - *

      The Availability Zone.

      - * @public - */ - AvailabilityZone?: string | undefined; - - /** - *

      The date when the Scheduled Instance was purchased.

      - * @public - */ - CreateDate?: Date | undefined; - - /** - *

      The hourly price for a single instance.

      - * @public - */ - HourlyPrice?: string | undefined; - - /** - *

      The number of instances.

      - * @public - */ - InstanceCount?: number | undefined; - - /** - *

      The instance type.

      - * @public - */ - InstanceType?: string | undefined; + FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; /** - *

      The network platform.

      + *

      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.

      * @public */ - NetworkPlatform?: string | undefined; + MaxResults?: number | undefined; /** - *

      The time for the next schedule to start.

      + *

      The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours + * and less than 1,720.

      * @public */ - NextSlotStartTime?: Date | undefined; + MaxSlotDurationInHours?: number | undefined; /** - *

      The platform (Linux/UNIX or Windows).

      + *

      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.

      * @public */ - Platform?: string | undefined; + MinSlotDurationInHours?: number | undefined; /** - *

      The time that the previous schedule ended or will end.

      + *

      The token for the next set of results.

      * @public */ - PreviousSlotEndTime?: Date | undefined; + NextToken?: string | undefined; /** *

      The schedule recurrence.

      * @public */ - Recurrence?: ScheduledInstanceRecurrence | undefined; - - /** - *

      The Scheduled Instance ID.

      - * @public - */ - ScheduledInstanceId?: string | undefined; - - /** - *

      The number of hours in the schedule.

      - * @public - */ - SlotDurationInHours?: number | undefined; + Recurrence: ScheduledInstanceRecurrenceRequest | undefined; +} +/** + *

      Describes the recurring schedule for a Scheduled Instance.

      + * @public + */ +export interface ScheduledInstanceRecurrence { /** - *

      The end date for the Scheduled Instance.

      + *

      The frequency (Daily, Weekly, or Monthly).

      * @public */ - TermEndDate?: Date | undefined; + Frequency?: string | undefined; /** - *

      The start date for the Scheduled Instance.

      + *

      The interval quantity. The interval unit depends on the value of frequency. For example, every 2 + * weeks or every 2 months.

      * @public */ - TermStartDate?: Date | undefined; + Interval?: number | undefined; /** - *

      The total number of hours for a single instance for the entire term.

      + *

      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).

      * @public */ - TotalScheduledInstanceHours?: number | undefined; -} + OccurrenceDaySet?: number[] | undefined; -/** - *

      Contains the output of DescribeScheduledInstances.

      - * @public - */ -export interface DescribeScheduledInstancesResult { /** - *

      The token required to retrieve the next set of results. This value is null when there are no more results to return.

      + *

      Indicates whether the occurrence is relative to the end of the specified week or month.

      * @public */ - NextToken?: string | undefined; + OccurrenceRelativeToEnd?: boolean | undefined; /** - *

      Information about the Scheduled Instances.

      + *

      The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

      * @public */ - ScheduledInstanceSet?: ScheduledInstance[] | undefined; + OccurrenceUnit?: string | undefined; } /** + *

      Describes a schedule that is available for your Scheduled Instances.

      * @public */ -export interface DescribeSecurityGroupReferencesRequest { - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; - +export interface ScheduledInstanceAvailability { /** - *

      The IDs of the security groups in your account.

      + *

      The Availability Zone.

      * @public */ - GroupId: string[] | undefined; -} + AvailabilityZone?: string | undefined; -/** - *

      Describes a VPC with a security group that references your security group.

      - * @public - */ -export interface SecurityGroupReference { /** - *

      The ID of your security group.

      + *

      The number of available instances.

      * @public */ - GroupId?: string | undefined; + AvailableInstanceCount?: number | undefined; /** - *

      The ID of the VPC with the referencing security group.

      + *

      The time period for the first schedule to start.

      * @public */ - ReferencingVpcId?: string | undefined; + FirstSlotStartTime?: Date | undefined; /** - *

      The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see - * Update your security groups to reference peer security groups - * in the VPC Peering Guide.

      + *

      The hourly price for a single instance.

      * @public */ - VpcPeeringConnectionId?: string | undefined; + HourlyPrice?: string | undefined; /** - * - *

      This parameter is in preview and may not be available for your account.

      - *
      - *

      The ID of the transit gateway (if applicable).

      + *

      The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

      * @public */ - TransitGatewayId?: string | undefined; -} + InstanceType?: string | undefined; -/** - * @public - */ -export interface DescribeSecurityGroupReferencesResult { /** - *

      Information about the VPCs with the referencing security groups.

      + *

      The maximum term. The only possible value is 365 days.

      * @public */ - SecurityGroupReferenceSet?: SecurityGroupReference[] | undefined; -} + MaxTermDurationInDays?: number | undefined; -/** - * @public - */ -export interface DescribeSecurityGroupRulesRequest { /** - *

      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 minimum term. The only possible value is 365 days.

      * @public */ - Filters?: Filter[] | undefined; + MinTermDurationInDays?: number | undefined; /** - *

      The IDs of the security group rules.

      + *

      The network platform.

      * @public */ - SecurityGroupRuleIds?: string[] | undefined; + NetworkPlatform?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The platform (Linux/UNIX or Windows).

      * @public */ - DryRun?: boolean | undefined; + Platform?: string | undefined; /** - *

      The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

      + *

      The purchase token. This token expires in two hours.

      * @public */ - NextToken?: string | undefined; + PurchaseToken?: string | undefined; /** - *

      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 schedule recurrence.

      * @public */ - MaxResults?: number | undefined; -} + Recurrence?: ScheduledInstanceRecurrence | undefined; -/** - * @public - */ -export interface DescribeSecurityGroupRulesResult { /** - *

      Information about security group rules.

      + *

      The number of hours in the schedule.

      * @public */ - SecurityGroupRules?: SecurityGroupRule[] | undefined; + SlotDurationInHours?: number | undefined; /** - *

      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 number of hours for a single instance for the entire term.

      * @public */ - NextToken?: string | undefined; + TotalScheduledInstanceHours?: number | undefined; } /** + *

      Contains the output of DescribeScheduledInstanceAvailability.

      * @public */ -export interface DescribeSecurityGroupsRequest { +export interface DescribeScheduledInstanceAvailabilityResult { /** - *

      The IDs of the security groups. Required for security groups in a nondefault VPC.

      - *

      Default: Describes all of your security groups.

      + *

      The token required to retrieve the next set of results. This value is null when there are no more results to return.

      * @public */ - GroupIds?: string[] | undefined; + NextToken?: string | undefined; /** - *

      [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.

      + *

      Information about the available Scheduled Instances.

      * @public */ - GroupNames?: string[] | undefined; + ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[] | undefined; +} +/** + *

      Describes the time period for a Scheduled Instance to start its first schedule.

      + * @public + */ +export interface SlotStartTimeRangeRequest { /** - *

      The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

      + *

      The earliest date and time, in UTC, for the Scheduled Instance to start.

      * @public */ - NextToken?: string | undefined; + EarliestTime?: Date | undefined; /** - *

      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 latest date and time, in UTC, for the Scheduled Instance to start.

      * @public */ - MaxResults?: number | undefined; + LatestTime?: Date | undefined; +} +/** + *

      Contains the parameters for DescribeScheduledInstances.

      + * @public + */ +export interface DescribeScheduledInstancesRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -11824,356 +11883,262 @@ export interface DescribeSecurityGroupsRequest { DryRun?: boolean | undefined; /** - *

      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 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.

        + * availability-zone - The Availability Zone (for example, us-west-2a).

        *
      • *
      • *

        - * 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.

        + * instance-type - The instance type (for example, c4.large).

        *
      • *
      • *

        - * vpc-id - The ID of the VPC specified when the security group was created.

        + * platform - The platform (Linux/UNIX or Windows).

        *
      • *
      * @public */ - Filters?: Filter[] | undefined; + Filters?: Filter[] | undefined; + + /** + *

      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.

      + * @public + */ + MaxResults?: number | undefined; + + /** + *

      The token for the next set of results.

      + * @public + */ + NextToken?: string | undefined; + + /** + *

      The Scheduled Instance IDs.

      + * @public + */ + ScheduledInstanceIds?: string[] | undefined; + + /** + *

      The time period for the first schedule to start.

      + * @public + */ + SlotStartTimeRange?: SlotStartTimeRangeRequest | undefined; } /** - *

      Describes a security group.

      + *

      Describes a Scheduled Instance.

      * @public */ -export interface SecurityGroup { +export interface ScheduledInstance { /** - *

      The ID of the security group.

      + *

      The Availability Zone.

      * @public */ - GroupId?: string | undefined; + AvailabilityZone?: string | undefined; /** - *

      The outbound rules associated with the security group.

      + *

      The date when the Scheduled Instance was purchased.

      * @public */ - IpPermissionsEgress?: IpPermission[] | undefined; + CreateDate?: Date | undefined; /** - *

      Any tags assigned to the security group.

      + *

      The hourly price for a single instance.

      * @public */ - Tags?: Tag[] | undefined; + HourlyPrice?: string | undefined; /** - *

      The ID of the VPC for the security group.

      + *

      The number of instances.

      * @public */ - VpcId?: string | undefined; + InstanceCount?: number | undefined; /** - *

      The ARN of the security group.

      + *

      The instance type.

      * @public */ - SecurityGroupArn?: string | undefined; + InstanceType?: string | undefined; /** - *

      The Amazon Web Services account ID of the owner of the security group.

      + *

      The network platform.

      * @public */ - OwnerId?: string | undefined; + NetworkPlatform?: string | undefined; /** - *

      The name of the security group.

      + *

      The time for the next schedule to start.

      * @public */ - GroupName?: string | undefined; + NextSlotStartTime?: Date | undefined; /** - *

      A description of the security group.

      + *

      The platform (Linux/UNIX or Windows).

      * @public */ - Description?: string | undefined; + Platform?: string | undefined; /** - *

      The inbound rules associated with the security group.

      + *

      The time that the previous schedule ended or will end.

      * @public */ - IpPermissions?: IpPermission[] | undefined; -} + PreviousSlotEndTime?: Date | undefined; -/** - * @public - */ -export interface DescribeSecurityGroupsResult { /** - *

      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 schedule recurrence.

      * @public */ - NextToken?: string | undefined; + Recurrence?: ScheduledInstanceRecurrence | undefined; /** - *

      Information about the security groups.

      + *

      The Scheduled Instance ID.

      * @public */ - SecurityGroups?: SecurityGroup[] | undefined; -} + ScheduledInstanceId?: string | undefined; -/** - * @public - */ -export interface DescribeSecurityGroupVpcAssociationsRequest { /** - *

      Security group VPC association filters.

      - *
        - *
      • - *

        - * group-id: The security group ID.

        - *
      • - *
      • - *

        - * vpc-id: The ID of the associated VPC.

        - *
      • - *
      • - *

        - * vpc-owner-id: The account ID of the VPC owner.

        - *
      • - *
      • - *

        - * state: The state 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.

        - *
      • - *
      • - *

        - * 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 number of hours in the schedule.

      * @public */ - Filters?: Filter[] | undefined; + SlotDurationInHours?: number | undefined; /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The end date for the Scheduled Instance.

      * @public */ - NextToken?: string | undefined; + TermEndDate?: Date | undefined; /** - *

      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 start date for the Scheduled Instance.

      * @public */ - MaxResults?: number | undefined; + TermStartDate?: Date | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The total number of hours for a single instance for the entire term.

      * @public */ - DryRun?: boolean | undefined; + TotalScheduledInstanceHours?: number | undefined; } /** - *

      A security group association with a VPC that you made with AssociateSecurityGroupVpc.

      + *

      Contains the output of DescribeScheduledInstances.

      * @public */ -export interface SecurityGroupVpcAssociation { - /** - *

      The association's security group ID.

      - * @public - */ - GroupId?: string | undefined; - +export interface DescribeScheduledInstancesResult { /** - *

      The association's VPC ID.

      + *

      The token required to retrieve the next set of results. This value is null when there are no more results to return.

      * @public */ - VpcId?: string | undefined; + NextToken?: string | undefined; /** - *

      The Amazon Web Services account ID of the owner of the VPC.

      + *

      Information about the Scheduled Instances.

      * @public */ - VpcOwnerId?: string | undefined; + ScheduledInstanceSet?: ScheduledInstance[] | undefined; +} +/** + * @public + */ +export interface DescribeSecurityGroupReferencesRequest { /** - *

      The association's 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.

      * @public */ - State?: SecurityGroupVpcAssociationState | undefined; + DryRun?: boolean | undefined; /** - *

      The association's state reason.

      + *

      The IDs of the security groups in your account.

      * @public */ - StateReason?: string | undefined; + GroupId: string[] | undefined; } /** + *

      Describes a VPC with a security group that references your security group.

      * @public */ -export interface DescribeSecurityGroupVpcAssociationsResult { +export interface SecurityGroupReference { /** - *

      The security group VPC associations.

      + *

      The ID of your security group.

      * @public */ - SecurityGroupVpcAssociations?: SecurityGroupVpcAssociation[] | undefined; + GroupId?: string | undefined; /** - *

      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 VPC with the referencing security group.

      * @public */ - NextToken?: string | undefined; -} + ReferencingVpcId?: string | undefined; -/** - * @public - * @enum - */ -export const SnapshotAttributeName = { - createVolumePermission: "createVolumePermission", - productCodes: "productCodes", -} as const; + /** + *

      The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see + * Update your security groups to reference peer security groups + * in the VPC Peering Guide.

      + * @public + */ + VpcPeeringConnectionId?: string | undefined; + + /** + * + *

      This parameter is in preview and may not be available for your account.

      + *
      + *

      The ID of the transit gateway (if applicable).

      + * @public + */ + TransitGatewayId?: string | undefined; +} /** * @public */ -export type SnapshotAttributeName = (typeof SnapshotAttributeName)[keyof typeof SnapshotAttributeName]; +export interface DescribeSecurityGroupReferencesResult { + /** + *

      Information about the VPCs with the referencing security groups.

      + * @public + */ + SecurityGroupReferenceSet?: SecurityGroupReference[] | undefined; +} /** * @public */ -export interface DescribeSnapshotAttributeRequest { +export interface DescribeSecurityGroupRulesRequest { /** - *

      The snapshot attribute you would like to view.

      + *

      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.

        + *
      • + *
      * @public */ - Attribute: SnapshotAttributeName | undefined; + Filters?: Filter[] | undefined; /** - *

      The ID of the EBS snapshot.

      + *

      The IDs of the security group rules.

      * @public */ - SnapshotId: string | undefined; + SecurityGroupRuleIds?: string[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -12182,89 +12147,76 @@ export interface DescribeSnapshotAttributeRequest { * @public */ DryRun?: boolean | undefined; -} -/** - *

      Describes the user or group to be added or removed from the list of create volume - * permissions for a volume.

      - * @public - */ -export interface CreateVolumePermission { /** - *

      The ID of the Amazon Web Services account to be added or removed.

      + *

      The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      * @public */ - UserId?: string | undefined; + NextToken?: string | undefined; /** - *

      The group to be added or removed. The possible value is all.

      + *

      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.

      * @public */ - Group?: PermissionGroup | undefined; + MaxResults?: number | undefined; } /** * @public */ -export interface DescribeSnapshotAttributeResult { - /** - *

      The product codes.

      - * @public - */ - ProductCodes?: ProductCode[] | undefined; - +export interface DescribeSecurityGroupRulesResult { /** - *

      The ID of the EBS snapshot.

      + *

      Information about security group rules.

      * @public */ - SnapshotId?: string | undefined; + SecurityGroupRules?: SecurityGroupRule[] | undefined; /** - *

      The users and groups that have the permissions for creating volumes from the - * snapshot.

      + *

      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.

      * @public */ - CreateVolumePermissions?: CreateVolumePermission[] | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DescribeSnapshotsRequest { - /** - *

      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.

      - * @public - */ - MaxResults?: number | undefined; - +export interface DescribeSecurityGroupsRequest { /** - *

      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. Required for security groups in a nondefault VPC.

      + *

      Default: Describes all of your security groups.

      * @public */ - NextToken?: string | undefined; + GroupIds?: string[] | undefined; /** - *

      Scopes the results to snapshots with the specified owners. You can specify a combination of - * Amazon Web Services account IDs, self, and amazon.

      + *

      [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.

      * @public */ - OwnerIds?: string[] | undefined; + GroupNames?: string[] | undefined; /** - *

      The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

      + *

      The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      * @public */ - RestorableByUserIds?: string[] | undefined; + NextToken?: string | undefined; /** - *

      The snapshot IDs.

      - *

      Default: Describes the snapshots for which you have create volume permissions.

      + *

      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.

      * @public */ - SnapshotIds?: string[] | undefined; + MaxResults?: number | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -12275,68 +12227,127 @@ export interface DescribeSnapshotsRequest { DryRun?: boolean | undefined; /** - *

      The filters.

      + *

      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 - A description of the snapshot.

        + * 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.

        *
      • *
      • *

        - * encrypted - Indicates whether the snapshot is encrypted - * (true | false)

        + * egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

        *
      • *
      • *

        - * 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.

        + * egress.ip-permission.protocol - The IP protocol for an + * outbound security group rule (tcp | udp | + * icmp, a protocol number, or -1 for all protocols).

        *
      • *
      • *

        - * owner-id - The Amazon Web Services account ID of the owner. We recommend that - * you use the related parameter instead of this filter.

        + * egress.ip-permission.to-port - For an outbound rule, the end + * of port range for the TCP and UDP protocols, or an ICMP code.

        *
      • *
      • *

        - * progress - The progress of the snapshot, as a percentage (for example, - * 80%).

        + * egress.ip-permission.user-id - The ID of an Amazon Web Services account that + * has been referenced in an outbound security group rule.

        *
      • *
      • *

        - * snapshot-id - The snapshot ID.

        + * group-id - The ID of the security group.

        *
      • *
      • *

        - * start-time - The time stamp when the snapshot was initiated.

        + * group-name - The name of the security group.

        *
      • *
      • *

        - * status - The status of the snapshot (pending | - * completed | error).

        + * ip-permission.cidr - An IPv4 CIDR block for an inbound security + * group rule.

        *
      • *
      • *

        - * storage-tier - The storage tier of the snapshot (archive | - * standard).

        + * ip-permission.from-port - For an inbound rule, the start of port + * range for the TCP and UDP protocols, or an ICMP type number.

        *
      • *
      • *

        - * 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.

        + * ip-permission.group-id - The ID of a security group that has been + * referenced in an inbound security group rule.

        *
      • *
      • *

        - * 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-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.

        *
      • *
      • *

        - * volume-id - The ID of the volume the snapshot is for.

        + * 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-size - The size of the volume, in GiB.

        + * vpc-id - The ID of the VPC specified when the security group was created.

        *
      • *
      * @public @@ -12345,174 +12356,196 @@ export interface DescribeSnapshotsRequest { } /** + *

      Describes a security group.

      * @public */ -export interface DescribeSnapshotsResult { +export interface SecurityGroup { /** - *

      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 security group.

      * @public */ - NextToken?: string | undefined; + GroupId?: string | undefined; /** - *

      Information about the snapshots.

      + *

      The outbound rules associated with the security group.

      * @public */ - Snapshots?: Snapshot[] | undefined; -} + IpPermissionsEgress?: IpPermission[] | undefined; -/** - * @public - */ -export interface DescribeSnapshotTierStatusRequest { /** - *

      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)

        - *
      • - *
      + *

      Any tags assigned to the security group.

      * @public */ - Filters?: Filter[] | undefined; + Tags?: Tag[] | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The ID of the VPC for the security group.

      * @public */ - DryRun?: boolean | undefined; + VpcId?: string | undefined; /** - *

      The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

      + *

      The ARN of the security group.

      * @public */ - NextToken?: string | undefined; + SecurityGroupArn?: string | undefined; /** - *

      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 of the owner of the security group.

      * @public */ - MaxResults?: number | undefined; -} + OwnerId?: string | undefined; -/** - * @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; + /** + *

      The name of the security group.

      + * @public + */ + GroupName?: string | undefined; -/** - * @public - */ -export type TieringOperationStatus = (typeof TieringOperationStatus)[keyof typeof TieringOperationStatus]; + /** + *

      A description of the security group.

      + * @public + */ + Description?: string | undefined; + + /** + *

      The inbound rules associated with the security group.

      + * @public + */ + IpPermissions?: IpPermission[] | undefined; +} /** - *

      Provides information about a snapshot's storage tier.

      * @public */ -export interface SnapshotTierStatus { +export interface DescribeSecurityGroupsResult { /** - *

      The ID of the snapshot.

      + *

      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.

      * @public */ - SnapshotId?: string | undefined; + NextToken?: string | undefined; /** - *

      The ID of the volume from which the snapshot was created.

      + *

      Information about the security groups.

      * @public */ - VolumeId?: string | undefined; + SecurityGroups?: SecurityGroup[] | undefined; +} + +/** + * @public + */ +export interface DescribeSecurityGroupVpcAssociationsRequest { + /** + *

      Security group VPC association filters.

      + *
        + *
      • + *

        + * group-id: The security group ID.

        + *
      • + *
      • + *

        + * vpc-id: The ID of the associated VPC.

        + *
      • + *
      • + *

        + * vpc-owner-id: The account ID of the VPC owner.

        + *
      • + *
      • + *

        + * state: The state 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.

        + *
      • + *
      • + *

        + * 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.

        + *
      • + *
      + * @public + */ + Filters?: Filter[] | undefined; /** - *

      The state of the snapshot.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      * @public */ - Status?: SnapshotState | undefined; + NextToken?: string | undefined; /** - *

      The ID of the Amazon Web Services account that owns 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.

      * @public */ - OwnerId?: string | undefined; + MaxResults?: number | undefined; /** - *

      The tags that are assigned to 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.

      * @public */ - Tags?: Tag[] | undefined; + DryRun?: boolean | undefined; +} +/** + *

      A security group association with a VPC that you made with AssociateSecurityGroupVpc.

      + * @public + */ +export interface SecurityGroupVpcAssociation { /** - *

      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 association's security group ID.

      * @public */ - StorageTier?: StorageTier | undefined; + GroupId?: string | undefined; /** - *

      The date and time when the last archive or restore process was started.

      + *

      The association's VPC ID.

      * @public */ - LastTieringStartTime?: Date | undefined; + VpcId?: string | undefined; /** - *

      The progress of the last archive or restore process, as a percentage.

      + *

      The Amazon Web Services account ID of the owner of the VPC.

      * @public */ - LastTieringProgress?: number | undefined; + VpcOwnerId?: string | undefined; /** - *

      The status of the last archive or restore process.

      + *

      The association's state.

      * @public */ - LastTieringOperationStatus?: TieringOperationStatus | undefined; + State?: SecurityGroupVpcAssociationState | undefined; /** - *

      A message describing the status of the last archive or restore process.

      + *

      The association's state reason.

      * @public */ - LastTieringOperationStatusDetail?: string | undefined; + StateReason?: string | undefined; +} +/** + * @public + */ +export interface DescribeSecurityGroupVpcAssociationsResult { /** - *

      The date and time when the last archive process was completed.

      + *

      The security group VPC associations.

      * @public */ - ArchivalCompleteTime?: Date | undefined; + SecurityGroupVpcAssociations?: SecurityGroupVpcAssociation[] | undefined; /** - *

      Only for archived snapshots that are temporarily restored. Indicates the date and - * time when a temporarily restored snapshot will be automatically re-archived.

      + *

      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.

      * @public */ - RestoreExpiryTime?: Date | undefined; + NextToken?: string | undefined; } /** diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 4031c5f0dacd..d0b19886bccf 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -10,7 +10,6 @@ import { AsnAssociation, AssociationStatus, BatchState, - CapacityReservationState, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, @@ -71,9 +70,12 @@ import { ServiceConfiguration, ServiceConnectivityType, ServiceTypeDetail, + Snapshot, + SnapshotState, SpotDatafeedSubscription, SpotInstanceStateFault, State, + StorageTier, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorSession, @@ -88,6 +90,7 @@ import { VerifiedAccessEndpoint, VerifiedAccessGroup, Volume, + VpcBlockPublicAccessExclusion, VpcEndpoint, VpnConnection, VpnConnectionFilterSensitiveLog, @@ -104,302 +107,275 @@ import { FastSnapshotRestoreStateCode, Filter, MetricType, - PeriodType, + PermissionGroup, ProductCode, StatisticType, } from "./models_3"; -import { AttributeBooleanValue, RIProductDescription, SnapshotTierStatus } from "./models_4"; +import { AttributeBooleanValue, RIProductDescription } from "./models_4"; /** * @public + * @enum */ -export interface DescribeSnapshotTierStatusResult { - /** - *

      Information about the snapshot's storage tier.

      - * @public - */ - SnapshotTierStatuses?: SnapshotTierStatus[] | undefined; - - /** - *

      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.

      - * @public - */ - NextToken?: string | undefined; -} +export const SnapshotAttributeName = { + createVolumePermission: "createVolumePermission", + productCodes: "productCodes", +} as const; /** - *

      Contains the parameters for DescribeSpotDatafeedSubscription.

      * @public */ -export interface DescribeSpotDatafeedSubscriptionRequest { - /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; -} +export type SnapshotAttributeName = (typeof SnapshotAttributeName)[keyof typeof SnapshotAttributeName]; /** - *

      Contains the output of DescribeSpotDatafeedSubscription.

      * @public */ -export interface DescribeSpotDatafeedSubscriptionResult { +export interface DescribeSnapshotAttributeRequest { /** - *

      The Spot Instance data feed subscription.

      + *

      The snapshot attribute you would like to view.

      * @public */ - SpotDatafeedSubscription?: SpotDatafeedSubscription | undefined; -} + Attribute: SnapshotAttributeName | undefined; -/** - *

      Contains the parameters for DescribeSpotFleetInstances.

      - * @public - */ -export interface DescribeSpotFleetInstancesRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 EBS snapshot.

      * @public */ - DryRun?: boolean | undefined; + SnapshotId: string | undefined; /** - *

      The ID of the Spot Fleet 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.

      * @public */ - SpotFleetRequestId: string | undefined; + DryRun?: boolean | undefined; +} +/** + *

      Describes the user or group to be added or removed from the list of create volume + * permissions for a volume.

      + * @public + */ +export interface CreateVolumePermission { /** - *

      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 Amazon Web Services account to be added or removed.

      * @public */ - NextToken?: string | undefined; + UserId?: string | undefined; /** - *

      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 group to be added or removed. The possible value is all.

      * @public */ - MaxResults?: number | undefined; + Group?: PermissionGroup | undefined; } /** - *

      Contains the output of DescribeSpotFleetInstances.

      * @public */ -export interface DescribeSpotFleetInstancesResponse { +export interface DescribeSnapshotAttributeResult { /** - *

      The running instances. This list is refreshed periodically and might be out of - * date.

      + *

      The product codes.

      * @public */ - ActiveInstances?: ActiveInstance[] | undefined; + ProductCodes?: ProductCode[] | undefined; /** - *

      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 EBS snapshot.

      * @public */ - NextToken?: string | undefined; + SnapshotId?: string | undefined; /** - *

      The ID of the Spot Fleet request.

      + *

      The users and groups that have the permissions for creating volumes from the + * snapshot.

      * @public */ - SpotFleetRequestId?: string | undefined; + CreateVolumePermissions?: CreateVolumePermission[] | undefined; } /** - * @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]; - -/** - *

      Contains the parameters for DescribeSpotFleetRequestHistory.

      * @public */ -export interface DescribeSpotFleetRequestHistoryRequest { - /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; - +export interface DescribeSnapshotsRequest { /** - *

      The ID of the Spot Fleet request.

      + *

      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.

      * @public */ - SpotFleetRequestId: string | undefined; + MaxResults?: number | undefined; /** - *

      The type of events to describe. By default, all events are described.

      + *

      The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      * @public */ - EventType?: EventType | undefined; + NextToken?: string | undefined; /** - *

      The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

      + *

      Scopes the results to snapshots with the specified owners. You can specify a combination of + * Amazon Web Services account IDs, self, and amazon.

      * @public */ - StartTime: Date | undefined; + OwnerIds?: string[] | undefined; /** - *

      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 Amazon Web Services accounts that can create volumes from the snapshot.

      * @public */ - NextToken?: string | undefined; + RestorableByUserIds?: string[] | undefined; /** - *

      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 snapshot IDs.

      + *

      Default: Describes the snapshots for which you have create volume permissions.

      * @public */ - MaxResults?: number | undefined; -} + SnapshotIds?: string[] | undefined; -/** - *

      Describes an event in the history of the Spot Fleet request.

      - * @public - */ -export interface HistoryRecord { /** - *

      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.

      * @public */ - EventInformation?: EventInformation | undefined; + DryRun?: boolean | undefined; /** - *

      The event type.

      + *

      The filters.

      *
        *
      • *

        - * error - An error with the Spot Fleet request.

        + * description - A description of the snapshot.

        *
      • *
      • *

        - * fleetRequestChange - A change in the status or configuration of - * the Spot Fleet request.

        + * encrypted - Indicates whether the snapshot is encrypted + * (true | false)

        *
      • *
      • *

        - * instanceChange - An instance was launched or terminated.

        + * 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.

        *
      • *
      • *

        - * Information - An informational event.

        + * 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.

        *
      • *
      * @public */ - EventType?: EventType | undefined; - - /** - *

      The date and time of the event, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

      - * @public - */ - Timestamp?: Date | undefined; + Filters?: Filter[] | undefined; } /** - *

      Contains the output of DescribeSpotFleetRequestHistory.

      * @public */ -export interface DescribeSpotFleetRequestHistoryResponse { - /** - *

      Information about the events in the history of the Spot Fleet request.

      - * @public - */ - HistoryRecords?: HistoryRecord[] | undefined; - - /** - *

      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.

      - * @public - */ - LastEvaluatedTime?: Date | undefined; - +export interface DescribeSnapshotsResult { /** - *

      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.

      * @public */ NextToken?: string | undefined; /** - *

      The ID of the Spot Fleet request.

      - * @public - */ - SpotFleetRequestId?: string | undefined; - - /** - *

      The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

      + *

      Information about the snapshots.

      * @public */ - StartTime?: Date | undefined; + Snapshots?: Snapshot[] | undefined; } /** - *

      Contains the parameters for DescribeSpotFleetRequests.

      * @public */ -export interface DescribeSpotFleetRequestsRequest { +export interface DescribeSnapshotTierStatusRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 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)

        + *
      • + *
      * @public */ - DryRun?: boolean | undefined; + Filters?: Filter[] | undefined; /** - *

      The IDs of the Spot Fleet 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.

      * @public */ - SpotFleetRequestIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      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 returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      * @public */ NextToken?: string | undefined; /** *

      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.

      + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      * @public */ MaxResults?: number | undefined; @@ -409,1314 +385,661 @@ export interface DescribeSpotFleetRequestsRequest { * @public * @enum */ -export const ExcessCapacityTerminationPolicy = { - DEFAULT: "default", - NO_TERMINATION: "noTermination", +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 ExcessCapacityTerminationPolicy = - (typeof ExcessCapacityTerminationPolicy)[keyof typeof ExcessCapacityTerminationPolicy]; +export type TieringOperationStatus = (typeof TieringOperationStatus)[keyof typeof TieringOperationStatus]; /** - *

      Describes whether monitoring is enabled.

      + *

      Provides information about a snapshot's storage tier.

      * @public */ -export interface SpotFleetMonitoring { +export interface SnapshotTierStatus { /** - *

      Enables monitoring for the instance.

      - *

      Default: false - *

      + *

      The ID of the snapshot.

      * @public */ - Enabled?: boolean | undefined; -} - -/** - *

      Describes a network interface.

      - * @public - */ -export interface InstanceNetworkInterfaceSpecification { - /** - *

      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.

      - *

      Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses - * associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

      - * @public - */ - AssociatePublicIpAddress?: boolean | undefined; - - /** - *

      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.

      - * @public - */ - DeleteOnTermination?: boolean | undefined; - - /** - *

      The description of the network interface. Applies only if creating a network interface when launching an instance.

      - * @public - */ - Description?: string | undefined; + SnapshotId?: string | undefined; /** - *

      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 ID of the volume from which the snapshot was created.

      * @public */ - DeviceIndex?: number | undefined; + VolumeId?: string | undefined; /** - *

      The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

      + *

      The state of the snapshot.

      * @public */ - Groups?: string[] | undefined; + Status?: SnapshotState | undefined; /** - *

      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 ID of the Amazon Web Services account that owns the snapshot.

      * @public */ - Ipv6AddressCount?: number | undefined; + OwnerId?: string | undefined; /** - *

      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 tags that are assigned to the snapshot.

      * @public */ - Ipv6Addresses?: InstanceIpv6Address[] | undefined; + Tags?: Tag[] | undefined; /** - *

      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 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.

      * @public */ - NetworkInterfaceId?: string | undefined; + StorageTier?: StorageTier | undefined; /** - *

      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 date and time when the last archive or restore process was started.

      * @public */ - PrivateIpAddress?: string | undefined; + LastTieringStartTime?: Date | undefined; /** - *

      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.

      + *

      The progress of the last archive or restore process, as a percentage.

      * @public */ - PrivateIpAddresses?: PrivateIpAddressSpecification[] | undefined; + LastTieringProgress?: number | undefined; /** - *

      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.

      + *

      The status of the last archive or restore process.

      * @public */ - SecondaryPrivateIpAddressCount?: number | undefined; + LastTieringOperationStatus?: TieringOperationStatus | undefined; /** - *

      The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

      + *

      A message describing the status of the last archive or restore process.

      * @public */ - SubnetId?: string | undefined; + LastTieringOperationStatusDetail?: string | undefined; /** - *

      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 date and time when the last archive process was completed.

      * @public */ - AssociateCarrierIpAddress?: boolean | undefined; + ArchivalCompleteTime?: Date | undefined; /** - *

      The type of network interface.

      - *

      If you specify efa-only, do not assign any IP addresses to the network - * interface. EFA-only network interfaces do not support IP addresses.

      - *

      Valid values: interface | efa | efa-only - *

      + *

      Only for archived snapshots that are temporarily restored. Indicates the date and + * time when a temporarily restored snapshot will be automatically re-archived.

      * @public */ - InterfaceType?: string | undefined; + RestoreExpiryTime?: Date | undefined; +} +/** + * @public + */ +export interface DescribeSnapshotTierStatusResult { /** - *

      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.

      + *

      Information about the snapshot's storage tier.

      * @public */ - NetworkCardIndex?: number | undefined; + SnapshotTierStatuses?: SnapshotTierStatus[] | undefined; /** - *

      The IPv4 delegated prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv4PrefixCount option.

      + *

      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.

      * @public */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[] | undefined; + NextToken?: string | undefined; +} +/** + *

      Contains the parameters for DescribeSpotDatafeedSubscription.

      + * @public + */ +export interface DescribeSpotDatafeedSubscriptionRequest { /** - *

      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.

      + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      * @public */ - Ipv4PrefixCount?: number | undefined; + DryRun?: boolean | undefined; +} +/** + *

      Contains the output of DescribeSpotDatafeedSubscription.

      + * @public + */ +export interface DescribeSpotDatafeedSubscriptionResult { /** - *

      The IPv6 delegated prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv6PrefixCount option.

      + *

      The Spot Instance data feed subscription.

      * @public */ - Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[] | undefined; + SpotDatafeedSubscription?: SpotDatafeedSubscription | undefined; +} +/** + *

      Contains the parameters for DescribeSpotFleetInstances.

      + * @public + */ +export interface DescribeSpotFleetInstancesRequest { /** - *

      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.

      * @public */ - Ipv6PrefixCount?: number | undefined; + DryRun?: boolean | undefined; /** - *

      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 ID of the Spot Fleet request.

      * @public */ - PrimaryIpv6?: boolean | undefined; + SpotFleetRequestId: string | undefined; /** - *

      Specifies the ENA Express settings for the network interface that's attached to - * the instance.

      + *

      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.

      * @public */ - EnaSrdSpecification?: EnaSrdSpecificationRequest | undefined; + NextToken?: string | undefined; /** - *

      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 EC2 User Guide.

      + *

      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.

      * @public */ - ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined; + MaxResults?: number | undefined; } /** - *

      Describes Spot Instance placement.

      + *

      Contains the output of DescribeSpotFleetInstances.

      * @public */ -export interface SpotPlacement { +export interface DescribeSpotFleetInstancesResponse { /** - *

      The Availability Zone.

      - *

      [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; - * for example, "us-west-2a, us-west-2b".

      + *

      The running instances. This list is refreshed periodically and might be out of + * date.

      * @public */ - AvailabilityZone?: string | undefined; + ActiveInstances?: ActiveInstance[] | undefined; /** - *

      The name of the placement group.

      + *

      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.

      * @public */ - GroupName?: string | undefined; + NextToken?: string | undefined; /** - *

      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 ID of the Spot Fleet request.

      * @public */ - Tenancy?: Tenancy | undefined; + SpotFleetRequestId?: string | undefined; } /** - *

      The tags for a Spot Fleet resource.

      * @public + * @enum */ -export interface SpotFleetTagSpecification { - /** - *

      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 - * .

      - * @public - */ - ResourceType?: ResourceType | undefined; +export const EventType = { + BATCH_CHANGE: "fleetRequestChange", + ERROR: "error", + INFORMATION: "information", + INSTANCE_CHANGE: "instanceChange", +} as const; - /** - *

      The tags.

      - * @public - */ - Tags?: Tag[] | undefined; -} +/** + * @public + */ +export type EventType = (typeof EventType)[keyof typeof EventType]; /** - *

      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.

      + *

      Contains the parameters for DescribeSpotFleetRequestHistory.

      * @public */ -export interface SpotFleetLaunchSpecification { +export interface DescribeSpotFleetRequestHistoryRequest { /** - *

      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.

      * @public */ - AddressingType?: string | undefined; + DryRun?: boolean | undefined; /** - *

      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 ID of the Spot Fleet request.

      * @public */ - BlockDeviceMappings?: BlockDeviceMapping[] | undefined; + SpotFleetRequestId: string | undefined; /** - *

      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 type of events to describe. By default, all events are described.

      * @public */ - EbsOptimized?: boolean | undefined; + EventType?: EventType | undefined; /** - *

      The IAM instance profile.

      + *

      The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

      * @public */ - IamInstanceProfile?: IamInstanceProfileSpecification | undefined; + StartTime: Date | undefined; /** - *

      The ID of the AMI.

      + *

      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.

      * @public */ - ImageId?: string | undefined; + NextToken?: string | undefined; /** - *

      The 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.

      * @public */ - InstanceType?: _InstanceType | undefined; + MaxResults?: number | undefined; +} +/** + *

      Describes an event in the history of the Spot Fleet request.

      + * @public + */ +export interface HistoryRecord { /** - *

      The ID of the kernel.

      + *

      Information about the event.

      * @public */ - KernelId?: string | undefined; + EventInformation?: EventInformation | undefined; /** - *

      The name of the key pair.

      - * @public + *

      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.

        + *
      • + *
      + * @public */ - KeyName?: string | undefined; + EventType?: EventType | undefined; /** - *

      Enable or disable monitoring for the instances.

      + *

      The date and time of the event, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

      * @public */ - Monitoring?: SpotFleetMonitoring | undefined; + Timestamp?: Date | undefined; +} +/** + *

      Contains the output of DescribeSpotFleetRequestHistory.

      + * @public + */ +export interface DescribeSpotFleetRequestHistoryResponse { /** - *

      The network interfaces.

      - * - *

      - * SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). - * You must use LaunchTemplateConfig instead.

      - *
      + *

      Information about the events in the history of the Spot Fleet request.

      * @public */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined; + HistoryRecords?: HistoryRecord[] | undefined; /** - *

      The placement information.

      + *

      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.

      * @public */ - Placement?: SpotPlacement | undefined; + LastEvaluatedTime?: Date | undefined; /** - *

      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.

      + *

      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.

      * @public */ - RamdiskId?: string | undefined; + NextToken?: string | undefined; /** - *

      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 ID of the Spot Fleet request.

      * @public */ - SpotPrice?: string | undefined; + SpotFleetRequestId?: string | undefined; /** - *

      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".

      - *

      If you specify a network interface, you must specify any subnets as part of the - * network interface instead of using this parameter.

      + *

      The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

      * @public */ - SubnetId?: string | undefined; + StartTime?: Date | undefined; +} +/** + *

      Contains the parameters for DescribeSpotFleetRequests.

      + * @public + */ +export interface DescribeSpotFleetRequestsRequest { /** - *

      The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

      + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      * @public */ - UserData?: string | undefined; + DryRun?: boolean | undefined; /** - *

      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.

      - * - *

      When specifying weights, the price used in the lowestPrice and - * priceCapacityOptimized allocation strategies is per - * unit hour (where the instance price is divided by the specified - * weight). However, if all the specified weights are above the requested - * TargetCapacity, resulting in only 1 instance being launched, the price - * used is per instance hour.

      - *
      + *

      The IDs of the Spot Fleet requests.

      * @public */ - WeightedCapacity?: number | undefined; + SpotFleetRequestIds?: string[] | undefined; /** - *

      The tags to apply during creation.

      + *

      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.

      * @public */ - TagSpecifications?: SpotFleetTagSpecification[] | undefined; + NextToken?: string | undefined; /** - *

      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 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.

      * @public */ - InstanceRequirements?: InstanceRequirements | undefined; + MaxResults?: number | undefined; +} + +/** + * @public + * @enum + */ +export const ExcessCapacityTerminationPolicy = { + DEFAULT: "default", + NO_TERMINATION: "noTermination", +} as const; + +/** + * @public + */ +export type ExcessCapacityTerminationPolicy = + (typeof ExcessCapacityTerminationPolicy)[keyof typeof ExcessCapacityTerminationPolicy]; +/** + *

      Describes whether monitoring is enabled.

      + * @public + */ +export interface SpotFleetMonitoring { /** - *

      The security groups.

      - *

      If you specify a network interface, you must specify any security groups as part of - * the network interface instead of using this parameter.

      + *

      Enables monitoring for the instance.

      + *

      Default: false + *

      * @public */ - SecurityGroups?: GroupIdentifier[] | undefined; + Enabled?: boolean | undefined; } /** - *

      Describes overrides for a launch template.

      + *

      Describes a network interface.

      * @public */ -export interface LaunchTemplateOverrides { +export interface InstanceNetworkInterfaceSpecification { /** - *

      The instance type.

      + *

      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.

      + *

      Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses + * associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

      * @public */ - InstanceType?: _InstanceType | undefined; + AssociatePublicIpAddress?: boolean | undefined; /** - *

      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.

      - *
      + *

      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.

      * @public */ - SpotPrice?: string | undefined; + DeleteOnTermination?: boolean | undefined; /** - *

      The ID of the subnet in which to launch the instances.

      + *

      The description of the network interface. Applies only if creating a network interface when launching an instance.

      * @public */ - SubnetId?: string | undefined; + Description?: string | undefined; /** - *

      The Availability Zone in which to launch the instances.

      + *

      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.

      * @public */ - AvailabilityZone?: string | undefined; + DeviceIndex?: number | undefined; /** - *

      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.

      - * - *

      When specifying weights, the price used in the lowestPrice and - * priceCapacityOptimized allocation strategies is per - * unit hour (where the instance price is divided by the specified - * weight). However, if all the specified weights are above the requested - * TargetCapacity, resulting in only 1 instance being launched, the price - * used is per instance hour.

      - *
      + *

      The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

      * @public */ - WeightedCapacity?: number | undefined; + Groups?: string[] | undefined; /** - *

      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.

      + *

      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.

      * @public */ - Priority?: number | undefined; + Ipv6AddressCount?: number | undefined; /** - *

      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.

      - *
      + *

      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.

      * @public */ - InstanceRequirements?: InstanceRequirements | undefined; -} + Ipv6Addresses?: InstanceIpv6Address[] | undefined; -/** - *

      Describes a launch template and overrides.

      - * @public - */ -export interface LaunchTemplateConfig { /** - *

      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 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.

      * @public */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification | undefined; + NetworkInterfaceId?: string | undefined; /** - *

      Any parameters that you specify override the same parameters in the launch - * template.

      + *

      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.

      * @public */ - Overrides?: LaunchTemplateOverrides[] | undefined; -} + PrivateIpAddress?: string | undefined; -/** - *

      Describes a Classic Load Balancer.

      - * @public - */ -export interface ClassicLoadBalancer { - /** - *

      The name of the load balancer.

      - * @public - */ - Name?: string | undefined; -} - -/** - *

      Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers - * the running Spot Instances with these Classic Load Balancers.

      - * @public - */ -export interface ClassicLoadBalancersConfig { - /** - *

      One or more Classic Load Balancers.

      - * @public - */ - ClassicLoadBalancers?: ClassicLoadBalancer[] | undefined; -} - -/** - *

      Describes a load balancer target group.

      - * @public - */ -export interface TargetGroup { - /** - *

      The Amazon Resource Name (ARN) of the target group.

      - * @public - */ - Arn?: string | undefined; -} - -/** - *

      Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the - * running Spot Instances with these target groups.

      - * @public - */ -export interface TargetGroupsConfig { - /** - *

      One or more target groups.

      - * @public - */ - TargetGroups?: TargetGroup[] | undefined; -} - -/** - *

      Describes the Classic Load Balancers and target groups to attach to a Spot Fleet - * request.

      - * @public - */ -export interface LoadBalancersConfig { - /** - *

      The Classic Load Balancers.

      - * @public - */ - ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig | undefined; - - /** - *

      The target groups.

      - * @public - */ - TargetGroupsConfig?: TargetGroupsConfig | undefined; -} - -/** - * @public - * @enum - */ -export const OnDemandAllocationStrategy = { - LOWEST_PRICE: "lowestPrice", - PRIORITIZED: "prioritized", -} as const; - -/** - * @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]; - -/** - *

      The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your - * Spot Instance is at an elevated risk of being interrupted. For more information, see - * Capacity - * rebalancing in the Amazon EC2 User Guide.

      - * @public - */ -export interface SpotCapacityRebalance { - /** - *

      The replacement strategy to use. Only available for fleets of type - * maintain.

      - *

      - * launch - Spot Fleet launches a new replacement Spot Instance when a - * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet - * does not terminate the instances that receive a rebalance notification. You can - * terminate the old instances, or you can leave them running. You are charged for all - * instances while they are running.

      - *

      - * launch-before-terminate - Spot Fleet launches a new replacement Spot - * Instance when a rebalance notification is emitted for an existing Spot Instance in the - * fleet, and then, after a delay that you specify (in TerminationDelay), - * terminates the instances that received a rebalance notification.

      - * @public - */ - ReplacementStrategy?: ReplacementStrategy | undefined; - - /** - *

      The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot - * Instance after launching a new replacement Spot Instance.

      - *

      Required when ReplacementStrategy is set to launch-before-terminate.

      - *

      Not valid when ReplacementStrategy is set to launch.

      - *

      Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

      - * @public - */ - TerminationDelay?: number | undefined; -} - -/** - *

      The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

      - * @public - */ -export interface SpotMaintenanceStrategies { - /** - *

      The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your - * Spot Instance is at an elevated risk of being interrupted. For more information, see - * Capacity - * rebalancing in the Amazon EC2 User Guide.

      - * @public - */ - CapacityRebalance?: SpotCapacityRebalance | undefined; -} - -/** - *

      Describes the configuration of a Spot Fleet request.

      - * @public - */ -export interface SpotFleetRequestConfigData { - /** - *

      The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance - * pools specified by the Spot Fleet launch configuration. For more information, see Allocation - * strategies for Spot Instances in the Amazon EC2 User Guide.

      - *
      - *
      priceCapacityOptimized (recommended)
      - *
      - *

      Spot Fleet identifies the pools with - * the highest capacity availability for the number of instances that are launching. This means - * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption - * in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

      - *
      - *
      capacityOptimized
      - *
      - *

      Spot Fleet identifies the pools with - * the highest capacity availability for the number of instances that are launching. This means - * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption - * in the near term. To give certain - * instance types a higher chance of launching first, use - * capacityOptimizedPrioritized. Set a priority for each instance type by - * using the Priority parameter for LaunchTemplateOverrides. You can - * assign the same priority to different LaunchTemplateOverrides. EC2 implements - * the priorities on a best-effort basis, but optimizes for capacity first. - * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a - * launch template. Note that if the OnDemandAllocationStrategy is set to - * prioritized, the same priority is applied when fulfilling On-Demand - * capacity.

      - *
      - *
      diversified
      - *
      - *

      Spot Fleet requests instances from all of the Spot Instance pools that you - * specify.

      - *
      - *
      lowestPrice (not recommended)
      - *
      - * - *

      We don't recommend the lowestPrice allocation strategy because - * it has the highest risk of interruption for your Spot Instances.

      - *
      - *

      Spot Fleet requests instances from the lowest priced Spot Instance pool that has available - * capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances - * come from the next lowest priced pool that has available capacity. If a pool runs - * out of capacity before fulfilling your desired capacity, Spot Fleet will continue to - * fulfill your request by drawing from the next lowest priced pool. To ensure that - * your desired capacity is met, you might receive Spot Instances from several pools. Because - * this strategy only considers instance price and not capacity availability, it - * might lead to high interruption rates.

      - *
      - *
      - *

      Default: lowestPrice - *

      - * @public - */ - AllocationStrategy?: AllocationStrategy | undefined; - - /** - *

      The order of the launch template overrides to use in fulfilling On-Demand capacity. If - * you specify lowestPrice, Spot Fleet uses price to determine the order, launching - * the lowest price first. If you specify prioritized, Spot Fleet uses the priority - * that you assign to each Spot Fleet launch template override, launching the highest priority - * first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

      - * @public - */ - OnDemandAllocationStrategy?: OnDemandAllocationStrategy | undefined; - - /** - *

      The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

      - * @public - */ - SpotMaintenanceStrategies?: SpotMaintenanceStrategies | undefined; - - /** - *

      A unique, case-sensitive identifier that you provide to ensure the idempotency of your - * listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

      - * @public - */ - ClientToken?: string | undefined; - - /** - *

      Indicates whether running instances should be terminated if you decrease the - * target capacity of the Spot Fleet request below the current size of the Spot Fleet.

      - *

      Supported only for fleets of type maintain.

      - * @public - */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | undefined; - - /** - *

      The number of units fulfilled by this request compared to the set target capacity. You - * cannot set this value.

      - * @public - */ - FulfilledCapacity?: number | undefined; - - /** - *

      The number of On-Demand units fulfilled by this request compared to the set target - * On-Demand capacity.

      - * @public - */ - OnDemandFulfilledCapacity?: number | undefined; - - /** - *

      The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role - * that grants the Spot Fleet the permission to request, launch, terminate, and tag instances - * on your behalf. For more information, see Spot - * Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet can - * terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set - * TerminateInstancesWithExpiration.

      - * @public - */ - IamFleetRole: string | undefined; - - /** - *

      The launch specifications for the Spot Fleet request. If you specify - * LaunchSpecifications, you can't specify - * LaunchTemplateConfigs. If you include On-Demand capacity in your - * request, you must use LaunchTemplateConfigs.

      - * - *

      If an AMI specified in a launch specification is deregistered or disabled, no new - * instances can be launched from the AMI. For fleets of type maintain, the - * target capacity will not be maintained.

      - *
      - * @public - */ - LaunchSpecifications?: SpotFleetLaunchSpecification[] | undefined; - - /** - *

      The launch template and overrides. If you specify LaunchTemplateConfigs, - * you can't specify LaunchSpecifications. If you include On-Demand capacity - * in your request, you must use LaunchTemplateConfigs.

      - * @public - */ - LaunchTemplateConfigs?: LaunchTemplateConfig[] | undefined; - - /** - *

      The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend - * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      - * - *

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      - *
      - * @public - */ - SpotPrice?: string | undefined; - - /** - *

      The number of units to request for the Spot Fleet. You can choose to set the target - * capacity in terms of instances or a performance characteristic that is important to your - * application workload, such as vCPUs, memory, or I/O. If the request type is - * maintain, you can specify a target capacity of 0 and add capacity - * later.

      - * @public - */ - TargetCapacity: number | undefined; - - /** - *

      The number of On-Demand units to request. You can choose to set the target capacity in - * terms of instances or a performance characteristic that is important to your application - * workload, such as vCPUs, memory, or I/O. If the request type is maintain, - * you can specify a target capacity of 0 and add capacity later.

      - * @public - */ - OnDemandTargetCapacity?: number | undefined; - - /** - *

      The maximum amount per hour for On-Demand Instances that you're willing to pay. You - * can use the onDemandMaxTotalPrice parameter, the - * spotMaxTotalPrice parameter, or both parameters to ensure that your - * fleet cost does not exceed your budget. If you set a maximum price per hour for the - * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the - * maximum amount you're willing to pay. When the maximum amount you're willing to pay is - * reached, the fleet stops launching instances even if it hasn’t met the target - * capacity.

      - * - *

      If your fleet includes T instances that are configured as unlimited, - * and if their average CPU usage exceeds the baseline utilization, you will incur a charge - * for surplus credits. The onDemandMaxTotalPrice does not account for surplus - * credits, and, if you use surplus credits, your final cost might be higher than what you - * specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the - * Amazon EC2 User Guide.

      - *
      - * @public - */ - OnDemandMaxTotalPrice?: string | undefined; - - /** - *

      The maximum amount per hour for Spot Instances that you're willing to pay. You can use - * the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice - * parameter, or both parameters to ensure that your fleet cost does not exceed your budget. - * If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will - * launch instances until it reaches the maximum amount you're willing to pay. When the - * maximum amount you're willing to pay is reached, the fleet stops launching instances even - * if it hasn’t met the target capacity.

      - * - *

      If your fleet includes T instances that are configured as unlimited, - * and if their average CPU usage exceeds the baseline utilization, you will incur a charge - * for surplus credits. The spotMaxTotalPrice does not account for surplus - * credits, and, if you use surplus credits, your final cost might be higher than what you - * specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the - * Amazon EC2 User Guide.

      - *
      - * @public - */ - SpotMaxTotalPrice?: string | undefined; - - /** - *

      Indicates whether running Spot Instances are terminated when the Spot Fleet request - * expires.

      - * @public - */ - TerminateInstancesWithExpiration?: boolean | undefined; - - /** - *

      The type of request. Indicates whether the Spot Fleet only requests the target - * capacity or also attempts to maintain it. When this value is request, the - * Spot Fleet only places the required requests. It does not attempt to replenish Spot - * Instances if capacity is diminished, nor does it submit requests in alternative Spot - * pools if capacity is not available. When this value is maintain, the Spot - * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet - * capacity and automatically replenishes any interrupted instances. Default: - * maintain. instant is listed but is not used by Spot - * Fleet.

      - * @public - */ - Type?: FleetType | undefined; - - /** - *

      The start date and time of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * By default, Amazon EC2 starts fulfilling the request immediately.

      - * @public - */ - ValidFrom?: Date | undefined; - - /** - *

      The end date and time of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * After the end date and time, no new Spot Instance requests are placed or able to fulfill - * the request. If no value is specified, the Spot Fleet request remains until you cancel - * it.

      - * @public - */ - ValidUntil?: Date | undefined; - - /** - *

      Indicates whether Spot Fleet should replace unhealthy instances.

      - * @public - */ - ReplaceUnhealthyInstances?: boolean | undefined; - - /** - *

      The behavior when a Spot Instance is interrupted. The default is - * terminate.

      - * @public - */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined; - - /** - *

      One or more Classic Load Balancers and target groups to attach to the Spot Fleet - * request. Spot Fleet registers the running Spot Instances with the specified Classic Load - * Balancers and target groups.

      - *

      With Network Load Balancers, Spot Fleet cannot register instances that have the - * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, - * M3, and T1.

      - * @public - */ - LoadBalancersConfig?: LoadBalancersConfig | undefined; - - /** - *

      The number of Spot pools across which to allocate your target Spot capacity. Valid - * only when Spot AllocationStrategy is set to - * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly - * allocates your target Spot capacity across the number of Spot pools that you - * specify.

      - *

      Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a - * best effort basis. If a pool runs out of Spot capacity before fulfilling your target - * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest - * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than - * the number of pools that you specified. Similarly, if most of the pools have no Spot - * capacity, you might receive your full target capacity from fewer than the number of - * pools that you specified.

      - * @public - */ - InstancePoolsToUseCount?: number | undefined; - - /** - *

      Reserved.

      - * @public - */ - Context?: string | undefined; - - /** - *

      The unit for the target capacity. You can specify this parameter only when - * using attribute-based instance type selection.

      - *

      Default: units (the number of instances)

      - * @public - */ - TargetCapacityUnitType?: TargetCapacityUnitType | undefined; - - /** - *

      The key-value pair for tagging the Spot Fleet request on creation. The value for - * ResourceType must be spot-fleet-request, otherwise the - * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch - * template (valid only if you use LaunchTemplateConfigs) or in - * the - * SpotFleetTagSpecification - * (valid only if you use - * LaunchSpecifications). For information about tagging after launch, see - * Tag your resources.

      - * @public - */ - TagSpecifications?: TagSpecification[] | undefined; -} - -/** - *

      Describes a Spot Fleet request.

      - * @public - */ -export interface SpotFleetRequestConfig { - /** - *

      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.

      - * @public - */ - ActivityStatus?: ActivityStatus | undefined; - - /** - *

      The creation date and time of the request.

      - * @public - */ - CreateTime?: Date | undefined; - - /** - *

      The configuration of the Spot Fleet request.

      - * @public - */ - SpotFleetRequestConfig?: SpotFleetRequestConfigData | undefined; - - /** - *

      The ID of the Spot Fleet request.

      - * @public - */ - SpotFleetRequestId?: string | undefined; - - /** - *

      The state of the Spot Fleet request.

      - * @public - */ - SpotFleetRequestState?: BatchState | undefined; - - /** - *

      The tags for a Spot Fleet resource.

      - * @public - */ - Tags?: Tag[] | undefined; -} - -/** - *

      Contains the output of DescribeSpotFleetRequests.

      - * @public - */ -export interface DescribeSpotFleetRequestsResponse { - /** - *

      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.

      - * @public - */ - NextToken?: string | undefined; - - /** - *

      Information about the configuration of your Spot Fleet.

      - * @public - */ - SpotFleetRequestConfigs?: SpotFleetRequestConfig[] | undefined; -} - -/** - *

      Contains the parameters for DescribeSpotInstanceRequests.

      - * @public - */ -export interface DescribeSpotInstanceRequestsRequest { - /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      - * @public - */ - NextToken?: string | undefined; - - /** - *

      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.

      - * @public - */ - MaxResults?: number | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; - - /** - *

      The IDs of the Spot Instance requests.

      - * @public - */ - SpotInstanceRequestIds?: string[] | undefined; - - /** - *

      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 or gp3 for General Purpose SSD, io1 - * or io2 for Provisioned IOPS SSD, st1 for Throughput - * Optimized HDD, sc1 for 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.

        - *
      • - *
      • - *

        - * 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.

        - *
      • - *
      + /** + *

      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.

      * @public */ - Filters?: Filter[] | undefined; + PrivateIpAddresses?: PrivateIpAddressSpecification[] | undefined; + + /** + *

      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.

      + * @public + */ + SecondaryPrivateIpAddressCount?: number | undefined; + + /** + *

      The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

      + * @public + */ + SubnetId?: string | undefined; + + /** + *

      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.

      + * @public + */ + AssociateCarrierIpAddress?: boolean | undefined; + + /** + *

      The type of network interface.

      + *

      If you specify efa-only, do not assign any IP addresses to the network + * interface. EFA-only network interfaces do not support IP addresses.

      + *

      Valid values: interface | efa | efa-only + *

      + * @public + */ + InterfaceType?: string | undefined; + + /** + *

      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.

      + * @public + */ + NetworkCardIndex?: number | undefined; + + /** + *

      The IPv4 delegated prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv4PrefixCount option.

      + * @public + */ + Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[] | undefined; + + /** + *

      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.

      + * @public + */ + Ipv4PrefixCount?: number | undefined; + + /** + *

      The IPv6 delegated prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv6PrefixCount option.

      + * @public + */ + Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[] | undefined; + + /** + *

      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.

      + * @public + */ + Ipv6PrefixCount?: number | undefined; + + /** + *

      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.

      + * @public + */ + PrimaryIpv6?: boolean | undefined; + + /** + *

      Specifies the ENA Express settings for the network interface that's attached to + * the instance.

      + * @public + */ + EnaSrdSpecification?: EnaSrdSpecificationRequest | undefined; + + /** + *

      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 EC2 User Guide.

      + * @public + */ + ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined; } /** - *

      Describes the monitoring of an instance.

      + *

      Describes Spot Instance placement.

      * @public */ -export interface RunInstancesMonitoringEnabled { +export interface SpotPlacement { /** - *

      Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

      + *

      The Availability Zone.

      + *

      [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; + * for example, "us-west-2a, us-west-2b".

      * @public */ - Enabled: boolean | undefined; + AvailabilityZone?: string | undefined; + + /** + *

      The name of the placement group.

      + * @public + */ + GroupName?: string | undefined; + + /** + *

      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.

      + * @public + */ + Tenancy?: Tenancy | undefined; } /** - *

      Describes the launch specification for an instance.

      + *

      The tags for a Spot Fleet resource.

      * @public */ -export interface LaunchSpecification { +export interface SpotFleetTagSpecification { /** - *

      The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

      + *

      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 + * .

      * @public */ - UserData?: string | undefined; + ResourceType?: ResourceType | undefined; + + /** + *

      The tags.

      + * @public + */ + Tags?: Tag[] | undefined; +} +/** + *

      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.

      + * @public + */ +export interface SpotFleetLaunchSpecification { /** *

      Deprecated.

      * @public @@ -1724,13 +1047,16 @@ export interface LaunchSpecification { AddressingType?: string | undefined; /** - *

      The block device mapping entries.

      + *

      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.

      * @public */ BlockDeviceMappings?: BlockDeviceMapping[] | undefined; /** - *

      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.

      + *

      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 *

      * @public @@ -1750,7 +1076,7 @@ export interface LaunchSpecification { ImageId?: string | undefined; /** - *

      The instance type. Only one instance type can be specified.

      + *

      The instance type.

      * @public */ InstanceType?: _InstanceType | undefined; @@ -1768,591 +1094,749 @@ export interface LaunchSpecification { KeyName?: string | undefined; /** - *

      The network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

      + *

      Enable or disable monitoring for the instances.

      + * @public + */ + Monitoring?: SpotFleetMonitoring | undefined; + + /** + *

      The network interfaces.

      + * + *

      + * SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). + * You must use LaunchTemplateConfig instead.

      + *
      * @public */ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined; /** - *

      The placement information for the instance.

      + *

      The placement information.

      * @public */ Placement?: SpotPlacement | undefined; /** - *

      The ID of the RAM disk.

      + *

      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.

      * @public */ RamdiskId?: string | undefined; /** - *

      The ID of the subnet in which to launch the instance.

      + *

      The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to + * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      + * + *

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      + *
      * @public */ - SubnetId?: string | undefined; + SpotPrice?: string | undefined; /** - *

      The IDs of the security groups.

      + *

      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".

      + *

      If you specify a network interface, you must specify any subnets as part of the + * network interface instead of using this parameter.

      * @public */ - SecurityGroups?: GroupIdentifier[] | undefined; + SubnetId?: string | undefined; /** - *

      Describes the monitoring of an instance.

      + *

      The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

      * @public */ - Monitoring?: RunInstancesMonitoringEnabled | undefined; -} - -/** - * @public - * @enum - */ -export const SpotInstanceState = { - active: "active", - cancelled: "cancelled", - closed: "closed", - disabled: "disabled", - failed: "failed", - open: "open", -} as const; + UserData?: string | undefined; -/** - * @public - */ -export type SpotInstanceState = (typeof SpotInstanceState)[keyof typeof SpotInstanceState]; + /** + *

      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.

      + * + *

      When specifying weights, the price used in the lowestPrice and + * priceCapacityOptimized allocation strategies is per + * unit hour (where the instance price is divided by the specified + * weight). However, if all the specified weights are above the requested + * TargetCapacity, resulting in only 1 instance being launched, the price + * used is per instance hour.

      + *
      + * @public + */ + WeightedCapacity?: number | undefined; -/** - *

      Describes the status of a Spot Instance request.

      - * @public - */ -export interface SpotInstanceStatus { /** - *

      The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide.

      + *

      The tags to apply during creation.

      * @public */ - Code?: string | undefined; + TagSpecifications?: SpotFleetTagSpecification[] | undefined; /** - *

      The description for the status code.

      + *

      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.

      + *
      * @public */ - Message?: string | undefined; + InstanceRequirements?: InstanceRequirements | undefined; /** - *

      The date and time of the most recent status update, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

      + *

      The security groups.

      + *

      If you specify a network interface, you must specify any security groups as part of + * the network interface instead of using this parameter.

      * @public */ - UpdateTime?: Date | undefined; + SecurityGroups?: GroupIdentifier[] | undefined; } /** - *

      Describes a Spot Instance request.

      + *

      Describes overrides for a launch template.

      * @public */ -export interface SpotInstanceRequest { +export interface LaunchTemplateOverrides { /** - *

      Deprecated.

      + *

      The instance type.

      * @public */ - ActualBlockHourlyPrice?: string | undefined; + InstanceType?: _InstanceType | undefined; /** - *

      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 maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to + * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      + * + *

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      + *
      * @public */ - AvailabilityZoneGroup?: string | undefined; + SpotPrice?: string | undefined; /** - *

      Deprecated.

      + *

      The ID of the subnet in which to launch the instances.

      * @public */ - BlockDurationMinutes?: number | undefined; + SubnetId?: string | undefined; /** - *

      The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

      + *

      The Availability Zone in which to launch the instances.

      * @public */ - CreateTime?: Date | undefined; + AvailabilityZone?: string | undefined; /** - *

      The fault codes for the Spot Instance request, if any.

      + *

      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.

      + * + *

      When specifying weights, the price used in the lowestPrice and + * priceCapacityOptimized allocation strategies is per + * unit hour (where the instance price is divided by the specified + * weight). However, if all the specified weights are above the requested + * TargetCapacity, resulting in only 1 instance being launched, the price + * used is per instance hour.

      + *
      * @public */ - Fault?: SpotInstanceStateFault | undefined; + WeightedCapacity?: number | undefined; /** - *

      The instance ID, if an instance has been launched to fulfill the Spot Instance request.

      + *

      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.

      * @public */ - InstanceId?: string | undefined; + Priority?: number | undefined; /** - *

      The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

      + *

      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.

      + *
      * @public */ - LaunchGroup?: string | undefined; + InstanceRequirements?: InstanceRequirements | undefined; +} +/** + *

      Describes a launch template and overrides.

      + * @public + */ +export interface LaunchTemplateConfig { /** - *

      Additional information for launching instances.

      + *

      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.

      * @public */ - LaunchSpecification?: LaunchSpecification | undefined; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification | undefined; /** - *

      The Availability Zone in which the request is launched.

      + *

      Any parameters that you specify override the same parameters in the launch + * template.

      * @public */ - LaunchedAvailabilityZone?: string | undefined; + Overrides?: LaunchTemplateOverrides[] | undefined; +} +/** + *

      Describes a Classic Load Balancer.

      + * @public + */ +export interface ClassicLoadBalancer { /** - *

      The product description associated with the Spot Instance.

      + *

      The name of the load balancer.

      * @public */ - ProductDescription?: RIProductDescription | undefined; + Name?: string | undefined; +} +/** + *

      Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers + * the running Spot Instances with these Classic Load Balancers.

      + * @public + */ +export interface ClassicLoadBalancersConfig { /** - *

      The ID of the Spot Instance request.

      + *

      One or more Classic Load Balancers.

      * @public */ - SpotInstanceRequestId?: string | undefined; + ClassicLoadBalancers?: ClassicLoadBalancer[] | undefined; +} +/** + *

      Describes a load balancer target group.

      + * @public + */ +export interface TargetGroup { /** - *

      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 Amazon Resource Name (ARN) of the target group.

      * @public */ - SpotPrice?: string | undefined; + Arn?: string | undefined; +} +/** + *

      Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the + * running Spot Instances with these target groups.

      + * @public + */ +export interface TargetGroupsConfig { /** - *

      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.

      + *

      One or more target groups.

      * @public */ - State?: SpotInstanceState | undefined; + TargetGroups?: TargetGroup[] | undefined; +} +/** + *

      Describes the Classic Load Balancers and target groups to attach to a Spot Fleet + * request.

      + * @public + */ +export interface LoadBalancersConfig { /** - *

      The status code and status message describing the Spot Instance request.

      + *

      The Classic Load Balancers.

      * @public */ - Status?: SpotInstanceStatus | undefined; + ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig | undefined; /** - *

      Any tags assigned to the resource.

      + *

      The target groups.

      * @public */ - Tags?: Tag[] | undefined; + TargetGroupsConfig?: TargetGroupsConfig | undefined; +} - /** - *

      The Spot Instance request type.

      - * @public - */ - Type?: SpotInstanceType | undefined; +/** + * @public + * @enum + */ +export const OnDemandAllocationStrategy = { + LOWEST_PRICE: "lowestPrice", + PRIORITIZED: "prioritized", +} as const; - /** - *

      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.

      - * @public - */ - ValidFrom?: Date | undefined; +/** + * @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]; +/** + *

      The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your + * Spot Instance is at an elevated risk of being interrupted. For more information, see + * Capacity + * rebalancing in the Amazon EC2 User Guide.

      + * @public + */ +export interface SpotCapacityRebalance { /** - *

      The 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 replacement strategy to use. Only available for fleets of type + * maintain.

      + *

      + * launch - Spot Fleet launches a new replacement Spot Instance when a + * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet + * does not terminate the instances that receive a rebalance notification. You can + * terminate the old instances, or you can leave them running. You are charged for all + * instances while they are running.

      + *

      + * launch-before-terminate - Spot Fleet launches a new replacement Spot + * Instance when a rebalance notification is emitted for an existing Spot Instance in the + * fleet, and then, after a delay that you specify (in TerminationDelay), + * terminates the instances that received a rebalance notification.

      * @public */ - ValidUntil?: Date | undefined; + ReplacementStrategy?: ReplacementStrategy | undefined; /** - *

      The behavior when a Spot Instance is interrupted.

      + *

      The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot + * Instance after launching a new replacement Spot Instance.

      + *

      Required when ReplacementStrategy is set to launch-before-terminate.

      + *

      Not valid when ReplacementStrategy is set to launch.

      + *

      Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

      * @public */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined; + TerminationDelay?: number | undefined; } /** - *

      Contains the output of DescribeSpotInstanceRequests.

      + *

      The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

      * @public */ -export interface DescribeSpotInstanceRequestsResult { - /** - *

      The Spot Instance requests.

      - * @public - */ - SpotInstanceRequests?: SpotInstanceRequest[] | undefined; - +export interface SpotMaintenanceStrategies { /** - *

      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 Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your + * Spot Instance is at an elevated risk of being interrupted. For more information, see + * Capacity + * rebalancing in the Amazon EC2 User Guide.

      * @public */ - NextToken?: string | undefined; + CapacityRebalance?: SpotCapacityRebalance | undefined; } /** - *

      Contains the parameters for DescribeSpotPriceHistory.

      + *

      Describes the configuration of a Spot Fleet request.

      * @public */ -export interface DescribeSpotPriceHistoryRequest { +export interface SpotFleetRequestConfigData { /** - *

      Checks whether you have the required permissions for the action, without 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 strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance + * pools specified by the Spot Fleet launch configuration. For more information, see Allocation + * strategies for Spot Instances in the Amazon EC2 User Guide.

      + *
      + *
      priceCapacityOptimized (recommended)
      + *
      + *

      Spot Fleet identifies the pools with + * the highest capacity availability for the number of instances that are launching. This means + * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption + * in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

      + *
      + *
      capacityOptimized
      + *
      + *

      Spot Fleet identifies the pools with + * the highest capacity availability for the number of instances that are launching. This means + * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption + * in the near term. To give certain + * instance types a higher chance of launching first, use + * capacityOptimizedPrioritized. Set a priority for each instance type by + * using the Priority parameter for LaunchTemplateOverrides. You can + * assign the same priority to different LaunchTemplateOverrides. EC2 implements + * the priorities on a best-effort basis, but optimizes for capacity first. + * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a + * launch template. Note that if the OnDemandAllocationStrategy is set to + * prioritized, the same priority is applied when fulfilling On-Demand + * capacity.

      + *
      + *
      diversified
      + *
      + *

      Spot Fleet requests instances from all of the Spot Instance pools that you + * specify.

      + *
      + *
      lowestPrice (not recommended)
      + *
      + * + *

      We don't recommend the lowestPrice allocation strategy because + * it has the highest risk of interruption for your Spot Instances.

      + *
      + *

      Spot Fleet requests instances from the lowest priced Spot Instance pool that has available + * capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances + * come from the next lowest priced pool that has available capacity. If a pool runs + * out of capacity before fulfilling your desired capacity, Spot Fleet will continue to + * fulfill your request by drawing from the next lowest priced pool. To ensure that + * your desired capacity is met, you might receive Spot Instances from several pools. Because + * this strategy only considers instance price and not capacity availability, it + * might lead to high interruption rates.

      + *
      + *
      + *

      Default: lowestPrice + *

      * @public */ - DryRun?: boolean | undefined; + AllocationStrategy?: AllocationStrategy | undefined; /** - *

      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 order of the launch template overrides to use in fulfilling On-Demand capacity. If + * you specify lowestPrice, Spot Fleet uses price to determine the order, launching + * the lowest price first. If you specify prioritized, Spot Fleet uses the priority + * that you assign to each Spot Fleet launch template override, launching the highest priority + * first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

      * @public */ - StartTime?: Date | undefined; + OnDemandAllocationStrategy?: OnDemandAllocationStrategy | undefined; /** - *

      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 strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

      * @public */ - EndTime?: Date | undefined; + SpotMaintenanceStrategies?: SpotMaintenanceStrategies | undefined; /** - *

      Filters the results by the specified instance types.

      + *

      A unique, case-sensitive identifier that you provide to ensure the idempotency of your + * listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

      * @public */ - InstanceTypes?: _InstanceType[] | undefined; + ClientToken?: string | undefined; /** - *

      Filters the results by the specified basic product descriptions.

      + *

      Indicates whether running instances should be terminated if you decrease the + * target capacity of the Spot Fleet request below the current size of the Spot Fleet.

      + *

      Supported only for fleets of type maintain.

      * @public */ - ProductDescriptions?: string[] | undefined; + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | undefined; /** - *

      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.

        - *
      • - *
      + *

      The number of units fulfilled by this request compared to the set target capacity. You + * cannot set this value.

      * @public */ - Filters?: Filter[] | undefined; + FulfilledCapacity?: number | undefined; /** - *

      Filters the results by the specified Availability Zone.

      + *

      The number of On-Demand units fulfilled by this request compared to the set target + * On-Demand capacity.

      * @public */ - AvailabilityZone?: string | undefined; + OnDemandFulfilledCapacity?: number | undefined; /** - *

      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 an Identity and Access Management (IAM) role + * that grants the Spot Fleet the permission to request, launch, terminate, and tag instances + * on your behalf. For more information, see Spot + * Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet can + * terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set + * TerminateInstancesWithExpiration.

      * @public */ - MaxResults?: number | undefined; + IamFleetRole: string | undefined; /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The launch specifications for the Spot Fleet request. If you specify + * LaunchSpecifications, you can't specify + * LaunchTemplateConfigs. If you include On-Demand capacity in your + * request, you must use LaunchTemplateConfigs.

      + * + *

      If an AMI specified in a launch specification is deregistered or disabled, no new + * instances can be launched from the AMI. For fleets of type maintain, the + * target capacity will not be maintained.

      + *
      * @public */ - NextToken?: string | undefined; -} + LaunchSpecifications?: SpotFleetLaunchSpecification[] | undefined; -/** - *

      The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend - * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      - * - *

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      - *
      - * @public - */ -export interface SpotPrice { /** - *

      The Availability Zone.

      + *

      The launch template and overrides. If you specify LaunchTemplateConfigs, + * you can't specify LaunchSpecifications. If you include On-Demand capacity + * in your request, you must use LaunchTemplateConfigs.

      * @public */ - AvailabilityZone?: string | undefined; + LaunchTemplateConfigs?: LaunchTemplateConfig[] | undefined; /** - *

      The instance type.

      + *

      The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend + * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      + * + *

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      + *
      * @public */ - InstanceType?: _InstanceType | undefined; + SpotPrice?: string | undefined; /** - *

      A general description of the AMI.

      + *

      The number of units to request for the Spot Fleet. You can choose to set the target + * capacity in terms of instances or a performance characteristic that is important to your + * application workload, such as vCPUs, memory, or I/O. If the request type is + * maintain, you can specify a target capacity of 0 and add capacity + * later.

      * @public */ - ProductDescription?: RIProductDescription | undefined; + TargetCapacity: number | undefined; /** - *

      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 number of On-Demand units to request. You can choose to set the target capacity in + * terms of instances or a performance characteristic that is important to your application + * workload, such as vCPUs, memory, or I/O. If the request type is maintain, + * you can specify a target capacity of 0 and add capacity later.

      * @public */ - SpotPrice?: string | undefined; + OnDemandTargetCapacity?: number | undefined; /** - *

      The date and time the request was created, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

      + *

      The maximum amount per hour for On-Demand Instances that you're willing to pay. You + * can use the onDemandMaxTotalPrice parameter, the + * spotMaxTotalPrice parameter, or both parameters to ensure that your + * fleet cost does not exceed your budget. If you set a maximum price per hour for the + * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the + * maximum amount you're willing to pay. When the maximum amount you're willing to pay is + * reached, the fleet stops launching instances even if it hasn’t met the target + * capacity.

      + * + *

      If your fleet includes T instances that are configured as unlimited, + * and if their average CPU usage exceeds the baseline utilization, you will incur a charge + * for surplus credits. The onDemandMaxTotalPrice does not account for surplus + * credits, and, if you use surplus credits, your final cost might be higher than what you + * specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the + * Amazon EC2 User Guide.

      + *
      * @public */ - Timestamp?: Date | undefined; -} + OnDemandMaxTotalPrice?: string | undefined; -/** - *

      Contains the output of DescribeSpotPriceHistory.

      - * @public - */ -export interface DescribeSpotPriceHistoryResult { /** - *

      The token to include in another request to get the next page of items. This value is - * an empty string ("") or null when there are no more items to return.

      + *

      The maximum amount per hour for Spot Instances that you're willing to pay. You can use + * the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice + * parameter, or both parameters to ensure that your fleet cost does not exceed your budget. + * If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will + * launch instances until it reaches the maximum amount you're willing to pay. When the + * maximum amount you're willing to pay is reached, the fleet stops launching instances even + * if it hasn’t met the target capacity.

      + * + *

      If your fleet includes T instances that are configured as unlimited, + * and if their average CPU usage exceeds the baseline utilization, you will incur a charge + * for surplus credits. The spotMaxTotalPrice does not account for surplus + * credits, and, if you use surplus credits, your final cost might be higher than what you + * specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the + * Amazon EC2 User Guide.

      + *
      * @public */ - NextToken?: string | undefined; + SpotMaxTotalPrice?: string | undefined; /** - *

      The historical Spot prices.

      + *

      Indicates whether running Spot Instances are terminated when the Spot Fleet request + * expires.

      * @public */ - SpotPriceHistory?: SpotPrice[] | undefined; -} + TerminateInstancesWithExpiration?: boolean | undefined; -/** - * @public - */ -export interface DescribeStaleSecurityGroupsRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 type of request. Indicates whether the Spot Fleet only requests the target + * capacity or also attempts to maintain it. When this value is request, the + * Spot Fleet only places the required requests. It does not attempt to replenish Spot + * Instances if capacity is diminished, nor does it submit requests in alternative Spot + * pools if capacity is not available. When this value is maintain, the Spot + * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet + * capacity and automatically replenishes any interrupted instances. Default: + * maintain. instant is listed but is not used by Spot + * Fleet.

      * @public */ - DryRun?: boolean | undefined; + Type?: FleetType | undefined; /** - *

      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 start date and time of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * By default, Amazon EC2 starts fulfilling the request immediately.

      * @public */ - MaxResults?: number | undefined; + ValidFrom?: Date | undefined; /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The end date and time of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * After the end date and time, no new Spot Instance requests are placed or able to fulfill + * the request. If no value is specified, the Spot Fleet request remains until you cancel + * it.

      * @public */ - NextToken?: string | undefined; + ValidUntil?: Date | undefined; /** - *

      The ID of the VPC.

      + *

      Indicates whether Spot Fleet should replace unhealthy instances.

      * @public */ - VpcId: string | undefined; -} + ReplaceUnhealthyInstances?: boolean | undefined; -/** - *

      Describes a stale rule in a security group.

      - * @public - */ -export interface StaleIpPermission { /** - *

      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 ICMP type or -1 (all ICMP types).

      + *

      The behavior when a Spot Instance is interrupted. The default is + * terminate.

      * @public */ - FromPort?: number | undefined; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined; /** - *

      The IP protocol name (tcp, udp, icmp, icmpv6) or number - * (see Protocol Numbers).

      + *

      One or more Classic Load Balancers and target groups to attach to the Spot Fleet + * request. Spot Fleet registers the running Spot Instances with the specified Classic Load + * Balancers and target groups.

      + *

      With Network Load Balancers, Spot Fleet cannot register instances that have the + * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, + * M3, and T1.

      * @public */ - IpProtocol?: string | undefined; + LoadBalancersConfig?: LoadBalancersConfig | undefined; /** - *

      The IP ranges. Not applicable for stale security group rules.

      + *

      The number of Spot pools across which to allocate your target Spot capacity. Valid + * only when Spot AllocationStrategy is set to + * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly + * allocates your target Spot capacity across the number of Spot pools that you + * specify.

      + *

      Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a + * best effort basis. If a pool runs out of Spot capacity before fulfilling your target + * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest + * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than + * the number of pools that you specified. Similarly, if most of the pools have no Spot + * capacity, you might receive your full target capacity from fewer than the number of + * pools that you specified.

      * @public */ - IpRanges?: string[] | undefined; + InstancePoolsToUseCount?: number | undefined; /** - *

      The prefix list IDs. Not applicable for stale security group rules.

      + *

      Reserved.

      * @public */ - PrefixListIds?: string[] | undefined; + Context?: string | undefined; /** - *

      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 ICMP code or -1 (all ICMP codes).

      + *

      The unit for the target capacity. You can specify this parameter only when + * using attribute-based instance type selection.

      + *

      Default: units (the number of instances)

      * @public */ - ToPort?: number | undefined; + TargetCapacityUnitType?: TargetCapacityUnitType | undefined; /** - *

      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 key-value pair for tagging the Spot Fleet request on creation. The value for + * ResourceType must be spot-fleet-request, otherwise the + * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch + * template (valid only if you use LaunchTemplateConfigs) or in + * the + * SpotFleetTagSpecification + * (valid only if you use + * LaunchSpecifications). For information about tagging after launch, see + * Tag your resources.

      * @public */ - UserIdGroupPairs?: UserIdGroupPair[] | undefined; + TagSpecifications?: TagSpecification[] | undefined; } /** - *

      Describes a stale security group (a security group that contains stale rules).

      + *

      Describes a Spot Fleet request.

      * @public */ -export interface StaleSecurityGroup { +export interface SpotFleetRequestConfig { /** - *

      The description of the security group.

      + *

      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.

      * @public */ - Description?: string | undefined; + ActivityStatus?: ActivityStatus | undefined; /** - *

      The ID of the security group.

      + *

      The creation date and time of the request.

      * @public */ - GroupId?: string | undefined; + CreateTime?: Date | undefined; /** - *

      The name of the security group.

      + *

      The configuration of the Spot Fleet request.

      * @public */ - GroupName?: string | undefined; + SpotFleetRequestConfig?: SpotFleetRequestConfigData | undefined; /** - *

      Information about the stale inbound rules in the security group.

      + *

      The ID of the Spot Fleet request.

      * @public */ - StaleIpPermissions?: StaleIpPermission[] | undefined; + SpotFleetRequestId?: string | undefined; /** - *

      Information about the stale outbound rules in the security group.

      + *

      The state of the Spot Fleet request.

      * @public */ - StaleIpPermissionsEgress?: StaleIpPermission[] | undefined; + SpotFleetRequestState?: BatchState | undefined; /** - *

      The ID of the VPC for the security group.

      + *

      The tags for a Spot Fleet resource.

      * @public */ - VpcId?: string | undefined; + Tags?: Tag[] | undefined; } /** + *

      Contains the output of DescribeSpotFleetRequests.

      * @public */ -export interface DescribeStaleSecurityGroupsResult { +export interface DescribeSpotFleetRequestsResponse { /** - *

      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.

      * @public */ NextToken?: string | undefined; /** - *

      Information about the stale security groups.

      + *

      Information about the configuration of your Spot Fleet.

      * @public */ - StaleSecurityGroupSet?: StaleSecurityGroup[] | undefined; + SpotFleetRequestConfigs?: SpotFleetRequestConfig[] | undefined; } /** + *

      Contains the parameters for DescribeSpotInstanceRequests.

      * @public */ -export interface DescribeStoreImageTasksRequest { - /** - *

      The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

      - * @public - */ - ImageIds?: string[] | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; - - /** - *

      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.

      - *
      - * @public - */ - Filters?: Filter[] | undefined; - +export interface DescribeSpotInstanceRequestsRequest { /** *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      * @public @@ -2363,209 +1847,200 @@ export interface DescribeStoreImageTasksRequest { *

      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.

      * @public */ MaxResults?: number | undefined; -} - -/** - *

      The information about the AMI store task, including the progress of the task.

      - * @public - */ -export interface StoreImageTaskResult { - /** - *

      The ID of the AMI that is being stored.

      - * @public - */ - AmiId?: string | undefined; - - /** - *

      The time the task started.

      - * @public - */ - TaskStartTime?: Date | undefined; - - /** - *

      The name of the Amazon S3 bucket that contains the stored AMI object.

      - * @public - */ - Bucket?: string | undefined; /** - *

      The name of the stored AMI object in the bucket.

      - * @public - */ - S3objectKey?: string | undefined; - - /** - *

      The progress of the task as a percentage.

      - * @public - */ - ProgressPercentage?: number | undefined; - - /** - *

      The state of the store task (InProgress, Completed, or - * Failed).

      - * @public - */ - StoreTaskState?: string | undefined; - - /** - *

      If the tasks fails, the reason for the failure is returned. If the task succeeds, - * null is returned.

      - * @public - */ - StoreTaskFailureReason?: string | undefined; -} - -/** - * @public - */ -export interface DescribeStoreImageTasksResult { - /** - *

      The information about the AMI store tasks.

      + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      * @public */ - StoreImageTaskResults?: StoreImageTaskResult[] | undefined; + DryRun?: boolean | undefined; /** - *

      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 Spot Instance requests.

      * @public */ - NextToken?: string | undefined; -} + SpotInstanceRequestIds?: string[] | undefined; -/** - * @public - */ -export interface DescribeSubnetsRequest { /** *

      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.

        *
      • *
      • *

        - * availability-zone-id - The ID of the Availability Zone for the subnet. - * You can also use availabilityZoneId as the filter name.

        + * create-time - The time stamp when the Spot Instance request was + * created.

        *
      • *
      • *

        - * available-ip-address-count - The number of IPv4 addresses in the - * subnet that are available.

        + * fault-code - The fault code related to the request.

        *
      • *
      • *

        - * 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.

        + * fault-message - The fault message related to the request.

        *
      • *
      • *

        - * customer-owned-ipv4-pool - The customer-owned IPv4 address pool - * associated with the subnet.

        + * instance-id - The ID of the instance that fulfilled the + * request.

        *
      • *
      • *

        - * 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-group - The Spot Instance launch group.

        *
      • *
      • *

        - * 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.block-device-mapping.delete-on-termination - Indicates + * whether the EBS volume is deleted on instance termination.

        *
      • *
      • *

        - * 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.block-device-mapping.device-name - The device name for the + * volume in the block device mapping (for example, /dev/sdh or + * xvdh).

        *
      • *
      • *

        - * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR - * block associated with the subnet.

        + * launch.block-device-mapping.snapshot-id - The ID of the snapshot + * for the EBS volume.

        *
      • *
      • *

        - * ipv6-cidr-block-association.association-id - An association ID - * for an IPv6 CIDR block associated with the subnet.

        + * launch.block-device-mapping.volume-size - The size of the EBS + * volume, in GiB.

        *
      • *
      • *

        - * ipv6-cidr-block-association.state - The state of an IPv6 CIDR - * block associated with the subnet.

        + * launch.block-device-mapping.volume-type - The type of EBS volume: + * gp2 or gp3 for General Purpose SSD, io1 + * or io2 for Provisioned IOPS SSD, st1 for Throughput + * Optimized HDD, sc1 for Cold HDD, or standard for + * Magnetic.

        *
      • *
      • *

        - * ipv6-native - Indicates whether this is an IPv6 only subnet - * (true | false).

        + * launch.group-id - The ID of the security group for the + * instance.

        *
      • *
      • *

        - * 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.

        + * launch.group-name - The name of the security group for the + * instance.

        *
      • *
      • *

        - * map-public-ip-on-launch - Indicates whether instances launched in - * this subnet receive a public IPv4 address.

        + * launch.image-id - The ID of the AMI.

        *
      • *
      • *

        - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

        + * launch.instance-type - The type of instance (for example, + * m3.medium).

        *
      • *
      • *

        - * owner-id - The ID of the Amazon Web Services account that owns the - * subnet.

        + * launch.kernel-id - The kernel ID.

        *
      • *
      • *

        - * 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).

        + * launch.key-name - The name of the key pair the instance launched + * with.

        *
      • *
      • *

        - * 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.

        + * launch.monitoring-enabled - Whether detailed monitoring is + * enabled for the Spot 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.

        + * launch.ramdisk-id - The RAM disk ID.

        *
      • *
      • *

        - * state - The state of the subnet (pending | available).

        + * launched-availability-zone - The Availability Zone in which the + * request is launched.

        *
      • *
      • *

        - * subnet-arn - The Amazon Resource Name (ARN) of the subnet.

        + * network-interface.addresses.primary - Indicates whether the IP + * address is the primary private IP address.

        *
      • *
      • *

        - * subnet-id - The ID of the subnet.

        + * network-interface.delete-on-termination - Indicates whether the + * network interface is deleted when the instance is terminated.

        *
      • *
      • *

        - * 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. + * 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.

        + *
      • + *
      • + *

        + * 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.

        *
      • *
      • @@ -2574,387 +2049,415 @@ 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.

        *
      • *
      * @public */ - Filters?: Filter[] | undefined; + Filters?: Filter[] | undefined; +} + +/** + *

      Describes the monitoring of an instance.

      + * @public + */ +export interface RunInstancesMonitoringEnabled { + /** + *

      Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

      + * @public + */ + Enabled: boolean | undefined; +} + +/** + *

      Describes the launch specification for an instance.

      + * @public + */ +export interface LaunchSpecification { + /** + *

      The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

      + * @public + */ + UserData?: string | undefined; + + /** + *

      Deprecated.

      + * @public + */ + AddressingType?: string | undefined; + + /** + *

      The block device mapping entries.

      + * @public + */ + BlockDeviceMappings?: BlockDeviceMapping[] | undefined; + + /** + *

      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 + *

      + * @public + */ + EbsOptimized?: boolean | undefined; + + /** + *

      The IAM instance profile.

      + * @public + */ + IamInstanceProfile?: IamInstanceProfileSpecification | undefined; + + /** + *

      The ID of the AMI.

      + * @public + */ + ImageId?: string | undefined; + + /** + *

      The instance type. Only one instance type can be specified.

      + * @public + */ + InstanceType?: _InstanceType | undefined; + + /** + *

      The ID of the kernel.

      + * @public + */ + KernelId?: string | undefined; + + /** + *

      The name of the key pair.

      + * @public + */ + KeyName?: string | undefined; /** - *

      The IDs of the subnets.

      - *

      Default: Describes all your subnets.

      + *

      The network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

      * @public */ - SubnetIds?: string[] | undefined; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined; /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The placement information for the instance.

      * @public */ - NextToken?: string | undefined; + Placement?: SpotPlacement | undefined; /** - *

      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 RAM disk.

      * @public */ - MaxResults?: number | undefined; + RamdiskId?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The ID of the subnet in which to launch the instance.

      * @public */ - DryRun?: boolean | undefined; -} + SubnetId?: string | undefined; -/** - * @public - */ -export interface DescribeSubnetsResult { /** - *

      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 security groups.

      * @public */ - NextToken?: string | undefined; + SecurityGroups?: GroupIdentifier[] | undefined; /** - *

      Information about the subnets.

      + *

      Describes the monitoring of an instance.

      * @public */ - Subnets?: Subnet[] | undefined; + Monitoring?: RunInstancesMonitoringEnabled | undefined; } /** * @public + * @enum */ -export interface DescribeTagsRequest { - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; +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]; +/** + *

      Describes the status of a Spot Instance request.

      + * @public + */ +export interface SpotInstanceStatus { /** - *

      The filters.

      - *
        - *
      • - *

        - * key - The tag key.

        - *
      • - *
      • - *

        - * resource-id - The ID of the resource.

        - *
      • - *
      • - *

        - * resource-type - The resource type. For a list of possible values, see - * TagSpecification.

        - *
      • - *
      • - *

        - * 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 status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide.

      * @public */ - Filters?: Filter[] | undefined; + Code?: string | undefined; /** - *

      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 description for the status code.

      * @public */ - MaxResults?: number | undefined; + Message?: string | undefined; /** - *

      The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

      + *

      The date and time of the most recent status update, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

      * @public */ - NextToken?: string | undefined; + UpdateTime?: Date | undefined; } /** - *

      Describes a tag.

      + *

      Describes a Spot Instance request.

      * @public */ -export interface TagDescription { +export interface SpotInstanceRequest { /** - *

      The tag key.

      + *

      Deprecated.

      * @public */ - Key?: string | undefined; + ActualBlockHourlyPrice?: string | undefined; /** - *

      The ID of the resource.

      + *

      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.

      * @public */ - ResourceId?: string | undefined; + AvailabilityZoneGroup?: string | undefined; /** - *

      The resource type.

      + *

      Deprecated.

      * @public */ - ResourceType?: ResourceType | undefined; + BlockDurationMinutes?: number | undefined; /** - *

      The tag value.

      + *

      The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

      * @public */ - Value?: string | undefined; -} + CreateTime?: Date | undefined; -/** - * @public - */ -export interface DescribeTagsResult { /** - *

      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 fault codes for the Spot Instance request, if any.

      * @public */ - NextToken?: string | undefined; + Fault?: SpotInstanceStateFault | undefined; /** - *

      The tags.

      + *

      The instance ID, if an instance has been launched to fulfill the Spot Instance request.

      * @public */ - Tags?: TagDescription[] | undefined; -} + InstanceId?: string | undefined; -/** - * @public - */ -export interface DescribeTrafficMirrorFilterRulesRequest { /** - *

      Traffic filter rule IDs.

      + *

      The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

      * @public */ - TrafficMirrorFilterRuleIds?: string[] | undefined; + LaunchGroup?: string | undefined; /** - *

      Traffic filter ID.

      + *

      Additional information for launching instances.

      * @public */ - TrafficMirrorFilterId?: string | undefined; + LaunchSpecification?: LaunchSpecification | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The Availability Zone in which the request is launched.

      * @public */ - DryRun?: boolean | undefined; + LaunchedAvailabilityZone?: string | undefined; /** - *

      Traffic mirror filters.

      - *
        - *
      • - *

        - * traffic-mirror-filter-rule-id: The ID of the Traffic Mirror rule.

        - *
      • - *
      • - *

        - * traffic-mirror-filter-id: The ID of the filter that this rule is associated with.

        - *
      • - *
      • - *

        - * rule-number: The number of the Traffic Mirror rule.

        - *
      • - *
      • - *

        - * rule-action: The action taken on the filtered traffic. Possible actions are accept and reject.

        - *
      • - *
      • - *

        - * traffic-direction: The traffic direction. Possible directions are ingress and egress.

        - *
      • - *
      • - *

        - * protocol: The protocol, for example UDP, assigned to the Traffic Mirror rule.

        - *
      • - *
      • - *

        - * source-cidr-block: The source CIDR block assigned to the Traffic Mirror rule.

        - *
      • - *
      • - *

        - * destination-cidr-block: The destination CIDR block assigned to the Traffic Mirror rule.

        - *
      • - *
      • - *

        - * description: The description of the Traffic Mirror rule.

        - *
      • - *
      + *

      The product description associated with the Spot Instance.

      * @public */ - Filters?: Filter[] | undefined; + ProductDescription?: RIProductDescription | undefined; /** - *

      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 Spot Instance request.

      * @public */ - MaxResults?: number | undefined; + SpotInstanceRequestId?: string | undefined; /** - *

      The token for the next page of results.

      + *

      The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend + * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      + * + *

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      + *
      * @public */ - NextToken?: string | undefined; -} + SpotPrice?: string | undefined; -/** - * @public - */ -export interface DescribeTrafficMirrorFilterRulesResult { /** - *

      Traffic mirror rules.

      + *

      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.

      * @public */ - TrafficMirrorFilterRules?: TrafficMirrorFilterRule[] | undefined; + State?: SpotInstanceState | undefined; /** - *

      The token to use to retrieve the next page of results. The value is null when there are no more results to return.

      + *

      The status code and status message describing the Spot Instance request.

      * @public */ - NextToken?: string | undefined; -} + Status?: SpotInstanceStatus | undefined; -/** - * @public - */ -export interface DescribeTrafficMirrorFiltersRequest { /** - *

      The ID of the Traffic Mirror filter.

      + *

      Any tags assigned to the resource.

      * @public */ - TrafficMirrorFilterIds?: string[] | undefined; + Tags?: Tag[] | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The Spot Instance request type.

      * @public */ - DryRun?: boolean | undefined; + Type?: SpotInstanceType | undefined; /** - *

      One or more filters. The possible values are:

      + *

      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.

      + * @public + */ + ValidFrom?: Date | undefined; + + /** + *

      The end date of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ).

      *
        *
      • - *

        - * description: The Traffic Mirror filter description.

        + *

        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. + *

        *
      • *
      • - *

        - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

        + *

        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.

        *
      • *
      * @public */ - Filters?: Filter[] | undefined; - - /** - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      - * @public - */ - MaxResults?: number | undefined; + ValidUntil?: Date | undefined; /** - *

      The token for the next page of results.

      + *

      The behavior when a Spot Instance is interrupted.

      * @public */ - NextToken?: string | undefined; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined; } /** + *

      Contains the output of DescribeSpotInstanceRequests.

      * @public */ -export interface DescribeTrafficMirrorFiltersResult { +export interface DescribeSpotInstanceRequestsResult { /** - *

      Information about one or more Traffic Mirror filters.

      + *

      The Spot Instance requests.

      * @public */ - TrafficMirrorFilters?: TrafficMirrorFilter[] | undefined; + SpotInstanceRequests?: SpotInstanceRequest[] | undefined; /** - *

      The token to use to retrieve the next page of results. The 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.

      * @public */ NextToken?: string | undefined; } /** + *

      Contains the parameters for DescribeSpotPriceHistory.

      * @public */ -export interface DescribeTrafficMirrorSessionsRequest { +export interface DescribeSpotPriceHistoryRequest { /** - *

      The ID of the Traffic Mirror session.

      + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      * @public */ - TrafficMirrorSessionIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      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).

      * @public */ - DryRun?: boolean | undefined; + StartTime?: Date | undefined; /** - *

      One or more filters. The possible values are:

      + *

      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).

      + * @public + */ + EndTime?: Date | undefined; + + /** + *

      Filters the results by the specified instance types.

      + * @public + */ + InstanceTypes?: _InstanceType[] | undefined; + + /** + *

      Filters the results by the specified basic product descriptions.

      + * @public + */ + ProductDescriptions?: string[] | undefined; + + /** + *

      The filters.

      *
        *
      • *

        - * 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.

        + * availability-zone - The Availability Zone for which prices should + * be returned.

        *
      • *
      • *

        - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

        + * instance-type - The type of instance (for example, + * m3.medium).

        *
      • *
      • *

        - * traffic-mirror-session-id: The ID of the Traffic Mirror session.

        + * 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)).

        *
      • *
      • *

        - * traffic-mirror-target-id: The ID of the Traffic Mirror target.

        + * spot-price - The Spot price. The value must match exactly (or use + * wildcards; greater than or less than comparison is not supported).

        *
      • *
      • *

        - * virtual-network-id: The virtual network ID of the Traffic Mirror session.

        + * 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.

        *
      • *
      * @public @@ -2962,359 +2465,348 @@ export interface DescribeTrafficMirrorSessionsRequest { Filters?: Filter[] | undefined; /** - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      - * @public - */ - MaxResults?: number | undefined; - - /** - *

      The token for the next page of results.

      + *

      Filters the results by the specified Availability Zone.

      * @public */ - NextToken?: string | undefined; -} + AvailabilityZone?: string | undefined; -/** - * @public - */ -export interface DescribeTrafficMirrorSessionsResult { /** - *

      Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

      + *

      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.

      * @public */ - TrafficMirrorSessions?: TrafficMirrorSession[] | undefined; + MaxResults?: number | undefined; /** - *

      The token to use to retrieve the next page of results. The value is null when there are no more results to return.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      * @public */ NextToken?: string | undefined; } /** + *

      The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend + * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      + * + *

      If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

      + *
      * @public */ -export interface DescribeTrafficMirrorTargetsRequest { +export interface SpotPrice { /** - *

      The ID of the Traffic Mirror targets.

      + *

      The Availability Zone.

      * @public */ - TrafficMirrorTargetIds?: string[] | undefined; + AvailabilityZone?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The instance type.

      * @public */ - DryRun?: boolean | undefined; + InstanceType?: _InstanceType | undefined; /** - *

      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.

        - *
      • - *
      + *

      A general description of the AMI.

      * @public */ - Filters?: Filter[] | undefined; + ProductDescription?: RIProductDescription | undefined; /** - *

      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.

      + *
      * @public */ - MaxResults?: number | undefined; + SpotPrice?: string | undefined; /** - *

      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).

      * @public */ - NextToken?: string | undefined; + Timestamp?: Date | undefined; } /** + *

      Contains the output of DescribeSpotPriceHistory.

      * @public */ -export interface DescribeTrafficMirrorTargetsResult { +export interface DescribeSpotPriceHistoryResult { /** - *

      Information about one or more Traffic Mirror targets.

      + *

      The token to include in another request to get the next page of items. This value is + * an empty string ("") or null when there are no more items to return.

      * @public */ - TrafficMirrorTargets?: TrafficMirrorTarget[] | undefined; + NextToken?: string | undefined; /** - *

      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.

      * @public */ - NextToken?: string | undefined; + SpotPriceHistory?: SpotPrice[] | undefined; } /** * @public */ -export interface DescribeTransitGatewayAttachmentsRequest { - /** - *

      The IDs of the attachments.

      - * @public - */ - TransitGatewayAttachmentIds?: string[] | undefined; - - /** - *

      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.

        - *
      • - *
      +export interface DescribeStaleSecurityGroupsRequest { + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - Filters?: Filter[] | undefined; + DryRun?: boolean | undefined; /** - *

      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.

      * @public */ MaxResults?: number | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The ID of the VPC.

      * @public */ - DryRun?: boolean | undefined; + VpcId: string | undefined; } /** - *

      Describes an association.

      + *

      Describes a stale rule in a security group.

      * @public */ -export interface TransitGatewayAttachmentAssociation { +export interface StaleIpPermission { /** - *

      The ID of the route table for the transit gateway.

      + *

      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 ICMP type or -1 (all ICMP types).

      * @public */ - TransitGatewayRouteTableId?: string | undefined; + FromPort?: number | undefined; /** - *

      The state of the association.

      + *

      The IP protocol name (tcp, udp, icmp, icmpv6) or number + * (see Protocol Numbers).

      * @public */ - State?: TransitGatewayAssociationState | undefined; -} + IpProtocol?: string | undefined; -/** - *

      Describes an attachment between a resource and a transit gateway.

      - * @public - */ -export interface TransitGatewayAttachment { /** - *

      The ID of the attachment.

      + *

      The IP ranges. Not applicable for stale security group rules.

      * @public */ - TransitGatewayAttachmentId?: string | undefined; + IpRanges?: string[] | undefined; /** - *

      The ID of the transit gateway.

      + *

      The prefix list IDs. Not applicable for stale security group rules.

      * @public */ - TransitGatewayId?: string | undefined; + PrefixListIds?: string[] | undefined; /** - *

      The ID of the Amazon Web Services account that owns the transit gateway.

      + *

      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 ICMP code or -1 (all ICMP codes).

      * @public */ - TransitGatewayOwnerId?: string | undefined; + ToPort?: number | undefined; /** - *

      The ID of the Amazon Web Services account that owns the resource.

      + *

      The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

      * @public */ - ResourceOwnerId?: string | undefined; + UserIdGroupPairs?: UserIdGroupPair[] | undefined; +} +/** + *

      Describes a stale security group (a security group that contains stale rules).

      + * @public + */ +export interface StaleSecurityGroup { /** - *

      The resource type. Note that the tgw-peering resource type has been deprecated.

      + *

      The description of the security group.

      * @public */ - ResourceType?: TransitGatewayAttachmentResourceType | undefined; + Description?: string | undefined; /** - *

      The ID of the resource.

      + *

      The ID of the security group.

      * @public */ - ResourceId?: string | undefined; + GroupId?: string | undefined; /** - *

      The attachment state. Note that the initiating state has been deprecated.

      + *

      The name of the security group.

      * @public */ - State?: TransitGatewayAttachmentState | undefined; + GroupName?: string | undefined; /** - *

      The association.

      + *

      Information about the stale inbound rules in the security group.

      * @public */ - Association?: TransitGatewayAttachmentAssociation | undefined; + StaleIpPermissions?: StaleIpPermission[] | undefined; /** - *

      The creation time.

      + *

      Information about the stale outbound rules in the security group.

      * @public */ - CreationTime?: Date | undefined; + StaleIpPermissionsEgress?: StaleIpPermission[] | undefined; /** - *

      The tags for the attachment.

      + *

      The ID of the VPC for the security group.

      * @public */ - Tags?: Tag[] | undefined; + VpcId?: string | undefined; } /** * @public */ -export interface DescribeTransitGatewayAttachmentsResult { +export interface DescribeStaleSecurityGroupsResult { /** - *

      Information about the attachments.

      + *

      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.

      * @public */ - TransitGatewayAttachments?: TransitGatewayAttachment[] | undefined; + NextToken?: string | undefined; /** - *

      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 stale security groups.

      * @public */ - NextToken?: string | undefined; + StaleSecurityGroupSet?: StaleSecurityGroup[] | undefined; } /** * @public */ -export interface DescribeTransitGatewayConnectPeersRequest { +export interface DescribeStoreImageTasksRequest { /** - *

      The IDs of the Connect peers.

      + *

      The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a + * request.

      * @public */ - TransitGatewayConnectPeerIds?: string[] | undefined; + ImageIds?: string[] | undefined; /** - *

      One or more filters. The possible values are:

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      The filters.

      *
        *
      • *

        - * state - The state of the Connect peer (pending | - * available | deleting | - * deleted).

        - *
      • - *
      • - *

        - * transit-gateway-attachment-id - The ID of the attachment.

        + * task-state - Returns tasks in a certain state (InProgress | + * Completed | Failed)

        *
      • *
      • *

        - * transit-gateway-connect-peer-id - The ID of the Connect peer.

        + * 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.

      + *
      * @public */ Filters?: Filter[] | undefined; /** - *

      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.

      + * @public + */ + NextToken?: string | undefined; + + /** + *

      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.

      * @public */ MaxResults?: number | undefined; +} +/** + *

      The information about the AMI store task, including the progress of the task.

      + * @public + */ +export interface StoreImageTaskResult { /** - *

      The token for the next page of results.

      + *

      The ID of the AMI that is being stored.

      * @public */ - NextToken?: string | undefined; + AmiId?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The time the task started.

      * @public */ - DryRun?: boolean | undefined; + TaskStartTime?: Date | undefined; + + /** + *

      The name of the Amazon S3 bucket that contains the stored AMI object.

      + * @public + */ + Bucket?: string | undefined; + + /** + *

      The name of the stored AMI object in the bucket.

      + * @public + */ + S3objectKey?: string | undefined; + + /** + *

      The progress of the task as a percentage.

      + * @public + */ + ProgressPercentage?: number | undefined; + + /** + *

      The state of the store task (InProgress, Completed, or + * Failed).

      + * @public + */ + StoreTaskState?: string | undefined; + + /** + *

      If the tasks fails, the reason for the failure is returned. If the task succeeds, + * null is returned.

      + * @public + */ + StoreTaskFailureReason?: string | undefined; } /** * @public */ -export interface DescribeTransitGatewayConnectPeersResult { +export interface DescribeStoreImageTasksResult { /** - *

      Information about the Connect peers.

      + *

      The information about the AMI store tasks.

      * @public */ - TransitGatewayConnectPeers?: TransitGatewayConnectPeer[] | undefined; + StoreImageTaskResults?: StoreImageTaskResult[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -3323,110 +2815,140 @@ export interface DescribeTransitGatewayConnectPeersResult { /** * @public */ -export interface DescribeTransitGatewayConnectsRequest { - /** - *

      The IDs of the attachments.

      - * @public - */ - TransitGatewayAttachmentIds?: string[] | undefined; - +export interface DescribeSubnetsRequest { /** - *

      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.

        *
      • *
      • *

        - * state - The state of the attachment (initiating | - * initiatingRequest | pendingAcceptance | - * rollingBack | pending | available | - * modifying | deleting | deleted | - * failed | rejected | rejecting | - * failing).

        + * ipv6-cidr-block-association.state - The state of an IPv6 CIDR + * block associated with the subnet.

        *
      • *
      • *

        - * transit-gateway-attachment-id - The ID of the - * Connect attachment.

        + * ipv6-native - Indicates whether this is an IPv6 only subnet + * (true | false).

        *
      • *
      • *

        - * transit-gateway-id - The ID of the transit gateway.

        + * 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.

        *
      • *
      • *

        - * transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

        + * map-public-ip-on-launch - Indicates whether instances launched in + * this subnet receive a public IPv4 address.

        *
      • - *
      - * @public - */ - Filters?: Filter[] | undefined; - - /** - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      - * @public - */ - MaxResults?: number | undefined; - - /** - *

      The token for the next page of results.

      - * @public - */ - NextToken?: string | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; -} - -/** - * @public - */ -export interface DescribeTransitGatewayConnectsResult { - /** - *

      Information about the Connect attachments.

      - * @public - */ - TransitGatewayConnects?: TransitGatewayConnect[] | undefined; - - /** - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      - * @public - */ - NextToken?: string | undefined; -} - -/** - * @public - */ -export interface DescribeTransitGatewayMulticastDomainsRequest { - /** - *

      The ID of the transit gateway multicast domain.

      - * @public - */ - TransitGatewayMulticastDomainIds?: string[] | undefined; - - /** - *

      One or more filters. The possible values are:

      - *
        *
      • *

        - * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

        + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

        *
      • *
      • *

        - * transit-gateway-id - The ID of the transit gateway.

        + * owner-id - The ID of the Amazon Web Services account that owns the + * subnet.

        *
      • *
      • *

        - * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

        + * 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.

        + *
      • + *
      • + *

        + * 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.

        + *
      • + *
      • + *

        + * vpc-id - The ID of the VPC for the subnet.

        *
      • *
      * @public @@ -3434,18 +2956,26 @@ export interface DescribeTransitGatewayMulticastDomainsRequest { Filters?: Filter[] | undefined; /** - *

      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 IDs of the subnets.

      + *

      Default: Describes all your subnets.

      * @public */ - MaxResults?: number | undefined; + SubnetIds?: string[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; + /** + *

      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.

      + * @public + */ + MaxResults?: number | undefined; + /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3458,61 +2988,57 @@ export interface DescribeTransitGatewayMulticastDomainsRequest { /** * @public */ -export interface DescribeTransitGatewayMulticastDomainsResult { +export interface DescribeSubnetsResult { /** - *

      Information about the transit gateway multicast domains.

      + *

      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.

      * @public */ - TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[] | undefined; + NextToken?: string | undefined; /** - *

      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 subnets.

      * @public */ - NextToken?: string | undefined; + Subnets?: Subnet[] | undefined; } /** * @public */ -export interface DescribeTransitGatewayPeeringAttachmentsRequest { +export interface DescribeTagsRequest { /** - *

      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.

      * @public */ - TransitGatewayAttachmentIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      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. For a list of possible values, see + * TagSpecification.

        *
      • *
      • *

        - * 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.

        *
      • *
      * @public @@ -3520,111 +3046,133 @@ export interface DescribeTransitGatewayPeeringAttachmentsRequest { Filters?: Filter[] | undefined; /** - *

      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.

      * @public */ MaxResults?: number | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; } /** + *

      Describes a tag.

      * @public */ -export interface DescribeTransitGatewayPeeringAttachmentsResult { - /** - *

      The transit gateway peering attachments.

      - * @public - */ - TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[] | undefined; - +export interface TagDescription { /** - *

      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.

      * @public */ - NextToken?: string | undefined; -} + Key?: string | undefined; -/** - * @public - */ -export interface DescribeTransitGatewayPolicyTablesRequest { /** - *

      The IDs of the transit gateway policy tables.

      + *

      The ID of the resource.

      * @public */ - TransitGatewayPolicyTableIds?: string[] | undefined; + ResourceId?: string | undefined; /** - *

      The filters associated with the transit gateway policy table.

      + *

      The resource type.

      * @public */ - Filters?: Filter[] | undefined; + ResourceType?: ResourceType | undefined; /** - *

      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.

      * @public */ - MaxResults?: number | undefined; + Value?: string | undefined; +} +/** + * @public + */ +export interface DescribeTagsResult { /** - *

      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.

      * @public */ NextToken?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The tags.

      * @public */ - DryRun?: boolean | undefined; + Tags?: TagDescription[] | undefined; } /** * @public */ -export interface DescribeTransitGatewayPolicyTablesResult { +export interface DescribeTrafficMirrorFilterRulesRequest { /** - *

      Describes the transit gateway policy tables.

      + *

      Traffic filter rule IDs.

      * @public */ - TransitGatewayPolicyTables?: TransitGatewayPolicyTable[] | undefined; + TrafficMirrorFilterRuleIds?: string[] | undefined; /** - *

      The token for the next page of results.

      + *

      Traffic filter ID.

      * @public */ - NextToken?: string | undefined; -} + TrafficMirrorFilterId?: string | undefined; -/** - * @public - */ -export interface DescribeTransitGatewayRouteTableAnnouncementsRequest { /** - *

      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.

      * @public */ - TransitGatewayRouteTableAnnouncementIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      The filters associated with the transit gateway policy table.

      + *

      Traffic mirror filters.

      + *
        + *
      • + *

        + * traffic-mirror-filter-rule-id: The ID of the Traffic Mirror rule.

        + *
      • + *
      • + *

        + * traffic-mirror-filter-id: The ID of the filter that this rule is associated with.

        + *
      • + *
      • + *

        + * rule-number: The number of the Traffic Mirror rule.

        + *
      • + *
      • + *

        + * rule-action: The action taken on the filtered traffic. Possible actions are accept and reject.

        + *
      • + *
      • + *

        + * traffic-direction: The traffic direction. Possible directions are ingress and egress.

        + *
      • + *
      • + *

        + * protocol: The protocol, for example UDP, assigned to the Traffic Mirror rule.

        + *
      • + *
      • + *

        + * source-cidr-block: The source CIDR block assigned to the Traffic Mirror rule.

        + *
      • + *
      • + *

        + * destination-cidr-block: The destination CIDR block assigned to the Traffic Mirror rule.

        + *
      • + *
      • + *

        + * description: The description of the Traffic Mirror rule.

        + *
      • + *
      * @public */ Filters?: Filter[] | undefined; @@ -3641,28 +3189,20 @@ export interface DescribeTransitGatewayRouteTableAnnouncementsRequest { * @public */ NextToken?: string | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeTransitGatewayRouteTableAnnouncementsResult { +export interface DescribeTrafficMirrorFilterRulesResult { /** - *

      Describes the transit gateway route table announcement.

      + *

      Traffic mirror rules.

      * @public */ - TransitGatewayRouteTableAnnouncements?: TransitGatewayRouteTableAnnouncement[] | undefined; + TrafficMirrorFilterRules?: TrafficMirrorFilterRule[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -3671,37 +3211,31 @@ export interface DescribeTransitGatewayRouteTableAnnouncementsResult { /** * @public */ -export interface DescribeTransitGatewayRouteTablesRequest { +export interface DescribeTrafficMirrorFiltersRequest { /** - *

      The IDs of the transit gateway route tables.

      + *

      The ID of the Traffic Mirror filter.

      * @public */ - TransitGatewayRouteTableIds?: string[] | undefined; + TrafficMirrorFilterIds?: string[] | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; /** *

      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.

        + * description: The Traffic Mirror filter description.

        *
      • *
      • *

        - * transit-gateway-route-table-id - The ID of the transit gateway route table.

        + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

        *
      • *
      * @public @@ -3720,28 +3254,20 @@ export interface DescribeTransitGatewayRouteTablesRequest { * @public */ NextToken?: string | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeTransitGatewayRouteTablesResult { +export interface DescribeTrafficMirrorFiltersResult { /** - *

      Information about the transit gateway route tables.

      + *

      Information about one or more Traffic Mirror filters.

      * @public */ - TransitGatewayRouteTables?: TransitGatewayRouteTable[] | undefined; + TrafficMirrorFilters?: TrafficMirrorFilter[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -3750,68 +3276,59 @@ export interface DescribeTransitGatewayRouteTablesResult { /** * @public */ -export interface DescribeTransitGatewaysRequest { +export interface DescribeTrafficMirrorSessionsRequest { /** - *

      The IDs of the transit gateways.

      + *

      The ID of the Traffic Mirror session.

      * @public */ - TransitGatewayIds?: string[] | undefined; + TrafficMirrorSessionIds?: string[] | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; /** *

      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).

        + * description: The Traffic Mirror session description.

        *
      • *
      • *

        - * options.default-route-table-association - Indicates whether resource attachments are automatically - * associated with the default association route table (enable | disable).

        + * network-interface-id: The ID of the Traffic Mirror session network interface.

        *
      • *
      • *

        - * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate - * routes to the default propagation route table (enable | disable).

        + * owner-id: The ID of the account that owns the Traffic Mirror session.

        *
      • *
      • *

        - * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

        + * packet-length: The assigned number of packets to mirror.

        *
      • *
      • *

        - * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

        + * session-number: The assigned session number.

        *
      • *
      • *

        - * owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

        + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

        *
      • *
      • *

        - * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

        + * traffic-mirror-session-id: The ID of the Traffic Mirror session.

        *
      • *
      • *

        - * transit-gateway-id - The ID of the transit gateway.

        + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

        *
      • *
      • *

        - * tag-key - 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.

        + * virtual-network-id: The virtual network ID of the Traffic Mirror session.

        *
      • *
      * @public @@ -3830,28 +3347,20 @@ export interface DescribeTransitGatewaysRequest { * @public */ NextToken?: string | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeTransitGatewaysResult { +export interface DescribeTrafficMirrorSessionsResult { /** - *

      Information about the transit gateways.

      + *

      Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

      * @public */ - TransitGateways?: TransitGateway[] | undefined; + TrafficMirrorSessions?: TrafficMirrorSession[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -3860,31 +3369,43 @@ export interface DescribeTransitGatewaysResult { /** * @public */ -export interface DescribeTransitGatewayVpcAttachmentsRequest { +export interface DescribeTrafficMirrorTargetsRequest { /** - *

      The IDs of the attachments.

      + *

      The ID of the Traffic Mirror targets.

      * @public */ - TransitGatewayAttachmentIds?: string[] | undefined; + TrafficMirrorTargetIds?: string[] | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; /** *

      One or more filters. The possible values are:

      *
        *
      • *

        - * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

        + * description: The Traffic Mirror target description.

        *
      • *
      • *

        - * transit-gateway-attachment-id - The ID of the attachment.

        + * network-interface-id: The ID of the Traffic Mirror session network interface.

        *
      • *
      • *

        - * transit-gateway-id - The ID of the transit gateway.

        + * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

        *
      • *
      • *

        - * vpc-id - The ID of the VPC.

        + * owner-id: The ID of the account that owns the Traffic Mirror session.

        + *
      • + *
      • + *

        + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

        *
      • *
      * @public @@ -3903,28 +3424,20 @@ export interface DescribeTransitGatewayVpcAttachmentsRequest { * @public */ NextToken?: string | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeTransitGatewayVpcAttachmentsResult { +export interface DescribeTrafficMirrorTargetsResult { /** - *

      Information about the VPC attachments.

      + *

      Information about one or more Traffic Mirror targets.

      * @public */ - TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[] | undefined; + TrafficMirrorTargets?: TrafficMirrorTarget[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -3933,37 +3446,67 @@ export interface DescribeTransitGatewayVpcAttachmentsResult { /** * @public */ -export interface DescribeTrunkInterfaceAssociationsRequest { - /** - *

      The IDs of the associations.

      - * @public - */ - AssociationIds?: string[] | undefined; - +export interface DescribeTransitGatewayAttachmentsRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 attachments.

      * @public */ - DryRun?: boolean | undefined; + TransitGatewayAttachmentIds?: string[] | undefined; /** - *

      One or more filters.

      + *

      One or more filters. The possible values are:

      *
        *
      • *

        - * gre-key - The ID of a trunk interface association.

        + * 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.

        *
      • *
      • *

        - * interface-protocol - The interface protocol. Valid values are VLAN and GRE.

        + * 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.

        *
      • *
      * @public */ Filters?: Filter[] | undefined; + /** + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      + * @public + */ + MaxResults?: number | undefined; + /** *

      The token for the next page of results.

      * @public @@ -3971,89 +3514,107 @@ export interface DescribeTrunkInterfaceAssociationsRequest { NextToken?: string | undefined; /** - *

      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.

      * @public */ - MaxResults?: number | undefined; + DryRun?: boolean | undefined; } /** + *

      Describes an association.

      * @public */ -export interface DescribeTrunkInterfaceAssociationsResult { +export interface TransitGatewayAttachmentAssociation { /** - *

      Information about the trunk associations.

      + *

      The ID of the route table for the transit gateway.

      * @public */ - InterfaceAssociations?: TrunkInterfaceAssociation[] | undefined; + TransitGatewayRouteTableId?: string | undefined; /** - *

      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.

      * @public */ - NextToken?: string | undefined; + State?: TransitGatewayAssociationState | undefined; } /** + *

      Describes an attachment between a resource and a transit gateway.

      * @public */ -export interface DescribeVerifiedAccessEndpointsRequest { +export interface TransitGatewayAttachment { /** - *

      The ID of the Verified Access endpoint.

      + *

      The ID of the attachment.

      * @public */ - VerifiedAccessEndpointIds?: string[] | undefined; + TransitGatewayAttachmentId?: string | undefined; /** - *

      The ID of the Verified Access instance.

      + *

      The ID of the transit gateway.

      * @public */ - VerifiedAccessInstanceId?: string | undefined; + TransitGatewayId?: string | undefined; /** - *

      The ID of the Verified Access group.

      + *

      The ID of the Amazon Web Services account that owns the transit gateway.

      * @public */ - VerifiedAccessGroupId?: string | undefined; + TransitGatewayOwnerId?: string | undefined; /** - *

      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 Amazon Web Services account that owns the resource.

      * @public */ - MaxResults?: number | undefined; + ResourceOwnerId?: string | undefined; /** - *

      The token for the next page of results.

      + *

      The resource type. Note that the tgw-peering resource type has been deprecated.

      * @public */ - NextToken?: string | undefined; + ResourceType?: TransitGatewayAttachmentResourceType | undefined; /** - *

      One or more filters. Filter names and values are case-sensitive.

      + *

      The ID of the resource.

      * @public */ - Filters?: Filter[] | undefined; + ResourceId?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The attachment state. Note that the initiating state has been deprecated.

      * @public */ - DryRun?: boolean | undefined; + State?: TransitGatewayAttachmentState | undefined; + + /** + *

      The association.

      + * @public + */ + Association?: TransitGatewayAttachmentAssociation | undefined; + + /** + *

      The creation time.

      + * @public + */ + CreationTime?: Date | undefined; + + /** + *

      The tags for the attachment.

      + * @public + */ + Tags?: Tag[] | undefined; } /** * @public */ -export interface DescribeVerifiedAccessEndpointsResult { +export interface DescribeTransitGatewayAttachmentsResult { /** - *

      Details about the Verified Access endpoints.

      + *

      Information about the attachments.

      * @public */ - VerifiedAccessEndpoints?: VerifiedAccessEndpoint[] | undefined; + TransitGatewayAttachments?: TransitGatewayAttachment[] | undefined; /** *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      @@ -4065,18 +3626,34 @@ export interface DescribeVerifiedAccessEndpointsResult { /** * @public */ -export interface DescribeVerifiedAccessGroupsRequest { +export interface DescribeTransitGatewayConnectPeersRequest { /** - *

      The ID of the Verified Access groups.

      + *

      The IDs of the Connect peers.

      * @public */ - VerifiedAccessGroupIds?: string[] | undefined; + TransitGatewayConnectPeerIds?: string[] | undefined; /** - *

      The ID of the Verified Access instance.

      + *

      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.

        + *
      • + *
      * @public */ - VerifiedAccessInstanceId?: string | undefined; + Filters?: Filter[] | undefined; /** *

      The maximum number of results to return with a single call. @@ -4091,12 +3668,6 @@ export interface DescribeVerifiedAccessGroupsRequest { */ NextToken?: string | undefined; - /** - *

      One or more filters. Filter names and values are case-sensitive.

      - * @public - */ - Filters?: Filter[] | undefined; - /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4109,12 +3680,12 @@ export interface DescribeVerifiedAccessGroupsRequest { /** * @public */ -export interface DescribeVerifiedAccessGroupsResult { +export interface DescribeTransitGatewayConnectPeersResult { /** - *

      Details about the Verified Access groups.

      + *

      Information about the Connect peers.

      * @public */ - VerifiedAccessGroups?: VerifiedAccessGroup[] | undefined; + TransitGatewayConnectPeers?: TransitGatewayConnectPeer[] | undefined; /** *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      @@ -4126,12 +3697,46 @@ export interface DescribeVerifiedAccessGroupsResult { /** * @public */ -export interface DescribeVerifiedAccessInstanceLoggingConfigurationsRequest { +export interface DescribeTransitGatewayConnectsRequest { /** - *

      The IDs of the Verified Access instances.

      + *

      The IDs of the attachments.

      * @public */ - VerifiedAccessInstanceIds?: string[] | undefined; + TransitGatewayAttachmentIds?: string[] | undefined; + + /** + *

      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.

        + *
      • + *
      + * @public + */ + Filters?: Filter[] | undefined; /** *

      The maximum number of results to return with a single call. @@ -4146,201 +3751,179 @@ export interface DescribeVerifiedAccessInstanceLoggingConfigurationsRequest { */ NextToken?: string | undefined; - /** - *

      One or more filters. Filter names and values are case-sensitive.

      - * @public - */ - Filters?: Filter[] | undefined; - /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

      * @public */ - DryRun?: boolean | undefined; -} - -/** - * @public - * @enum - */ -export const VerifiedAccessLogDeliveryStatusCode = { - FAILED: "failed", - SUCCESS: "success", -} as const; - -/** - * @public - */ -export type VerifiedAccessLogDeliveryStatusCode = - (typeof VerifiedAccessLogDeliveryStatusCode)[keyof typeof VerifiedAccessLogDeliveryStatusCode]; - -/** - *

      Describes a log delivery status.

      - * @public - */ -export interface VerifiedAccessLogDeliveryStatus { - /** - *

      The status code.

      - * @public - */ - Code?: VerifiedAccessLogDeliveryStatusCode | undefined; - - /** - *

      The status message.

      - * @public - */ - Message?: string | undefined; -} - -/** - *

      Options for CloudWatch Logs as a logging destination.

      - * @public - */ -export interface VerifiedAccessLogCloudWatchLogsDestination { - /** - *

      Indicates whether logging is enabled.

      - * @public - */ - Enabled?: boolean | undefined; - - /** - *

      The delivery status for access logs.

      - * @public - */ - DeliveryStatus?: VerifiedAccessLogDeliveryStatus | undefined; - - /** - *

      The ID of the CloudWatch Logs log group.

      - * @public - */ - LogGroup?: string | undefined; -} - -/** - *

      Options for Kinesis as a logging destination.

      - * @public - */ -export interface VerifiedAccessLogKinesisDataFirehoseDestination { - /** - *

      Indicates whether logging is enabled.

      - * @public - */ - Enabled?: boolean | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DescribeTransitGatewayConnectsResult { /** - *

      The delivery status.

      + *

      Information about the Connect attachments.

      * @public */ - DeliveryStatus?: VerifiedAccessLogDeliveryStatus | undefined; + TransitGatewayConnects?: TransitGatewayConnect[] | undefined; /** - *

      The ID of the delivery stream.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - DeliveryStream?: string | undefined; + NextToken?: string | undefined; } /** - *

      Options for Amazon S3 as a logging destination.

      * @public */ -export interface VerifiedAccessLogS3Destination { +export interface DescribeTransitGatewayMulticastDomainsRequest { /** - *

      Indicates whether logging is enabled.

      + *

      The ID of the transit gateway multicast domain.

      * @public */ - Enabled?: boolean | undefined; + TransitGatewayMulticastDomainIds?: string[] | undefined; /** - *

      The delivery status.

      + *

      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.

        + *
      • + *
      * @public */ - DeliveryStatus?: VerifiedAccessLogDeliveryStatus | undefined; + Filters?: Filter[] | undefined; /** - *

      The bucket name.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - BucketName?: string | undefined; + MaxResults?: number | undefined; /** - *

      The bucket prefix.

      + *

      The token for the next page of results.

      * @public */ - Prefix?: string | undefined; + NextToken?: string | undefined; /** - *

      The Amazon Web Services account number that owns the bucket.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - BucketOwner?: string | undefined; + DryRun?: boolean | undefined; } /** - *

      Describes the options for Verified Access logs.

      * @public */ -export interface VerifiedAccessLogs { +export interface DescribeTransitGatewayMulticastDomainsResult { /** - *

      Amazon S3 logging options.

      + *

      Information about the transit gateway multicast domains.

      * @public */ - S3?: VerifiedAccessLogS3Destination | undefined; + TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[] | undefined; /** - *

      CloudWatch Logs logging destination.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestination | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeTransitGatewayPeeringAttachmentsRequest { /** - *

      Kinesis logging destination.

      + *

      One or more IDs of the transit gateway peering attachments.

      * @public */ - KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestination | undefined; + TransitGatewayAttachmentIds?: string[] | undefined; /** - *

      The log version.

      + *

      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.

        + *
      • + *
      * @public */ - LogVersion?: string | undefined; + Filters?: Filter[] | undefined; /** - *

      Indicates whether trust data is included in the logs.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - IncludeTrustContext?: boolean | undefined; -} + MaxResults?: number | undefined; -/** - *

      Describes logging options for an Amazon Web Services Verified Access instance.

      - * @public - */ -export interface VerifiedAccessInstanceLoggingConfiguration { /** - *

      The ID of the Amazon Web Services Verified Access instance.

      + *

      The token for the next page of results.

      * @public */ - VerifiedAccessInstanceId?: string | undefined; + NextToken?: string | undefined; /** - *

      Details about the logging options.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - AccessLogs?: VerifiedAccessLogs | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeVerifiedAccessInstanceLoggingConfigurationsResult { +export interface DescribeTransitGatewayPeeringAttachmentsResult { /** - *

      The logging configuration for the Verified Access instances.

      + *

      The transit gateway peering attachments.

      * @public */ - LoggingConfigurations?: VerifiedAccessInstanceLoggingConfiguration[] | undefined; + TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[] | undefined; /** *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      @@ -4352,12 +3935,18 @@ export interface DescribeVerifiedAccessInstanceLoggingConfigurationsResult { /** * @public */ -export interface DescribeVerifiedAccessInstancesRequest { +export interface DescribeTransitGatewayPolicyTablesRequest { /** - *

      The IDs of the Verified Access instances.

      + *

      The IDs of the transit gateway policy tables.

      * @public */ - VerifiedAccessInstanceIds?: string[] | undefined; + TransitGatewayPolicyTableIds?: string[] | undefined; + + /** + *

      The filters associated with the transit gateway policy table.

      + * @public + */ + Filters?: Filter[] | undefined; /** *

      The maximum number of results to return with a single call. @@ -4372,12 +3961,6 @@ export interface DescribeVerifiedAccessInstancesRequest { */ NextToken?: string | undefined; - /** - *

      One or more filters. Filter names and values are case-sensitive.

      - * @public - */ - Filters?: Filter[] | undefined; - /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4390,15 +3973,15 @@ export interface DescribeVerifiedAccessInstancesRequest { /** * @public */ -export interface DescribeVerifiedAccessInstancesResult { +export interface DescribeTransitGatewayPolicyTablesResult { /** - *

      Details about the Verified Access instances.

      + *

      Describes the transit gateway policy tables.

      * @public */ - VerifiedAccessInstances?: VerifiedAccessInstance[] | undefined; + TransitGatewayPolicyTables?: TransitGatewayPolicyTable[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -4407,12 +3990,18 @@ export interface DescribeVerifiedAccessInstancesResult { /** * @public */ -export interface DescribeVerifiedAccessTrustProvidersRequest { +export interface DescribeTransitGatewayRouteTableAnnouncementsRequest { /** - *

      The IDs of the Verified Access trust providers.

      + *

      The IDs of the transit gateway route tables that are being advertised.

      * @public */ - VerifiedAccessTrustProviderIds?: string[] | undefined; + TransitGatewayRouteTableAnnouncementIds?: string[] | undefined; + + /** + *

      The filters associated with the transit gateway policy table.

      + * @public + */ + Filters?: Filter[] | undefined; /** *

      The maximum number of results to return with a single call. @@ -4427,12 +4016,6 @@ export interface DescribeVerifiedAccessTrustProvidersRequest { */ NextToken?: string | undefined; - /** - *

      One or more filters. Filter names and values are case-sensitive.

      - * @public - */ - Filters?: Filter[] | undefined; - /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4445,15 +4028,15 @@ export interface DescribeVerifiedAccessTrustProvidersRequest { /** * @public */ -export interface DescribeVerifiedAccessTrustProvidersResult { +export interface DescribeTransitGatewayRouteTableAnnouncementsResult { /** - *

      Details about the Verified Access trust providers.

      + *

      Describes the transit gateway route table announcement.

      * @public */ - VerifiedAccessTrustProviders?: VerifiedAccessTrustProvider[] | undefined; + TransitGatewayRouteTableAnnouncements?: TransitGatewayRouteTableAnnouncement[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -4461,33 +4044,56 @@ export interface DescribeVerifiedAccessTrustProvidersResult { /** * @public - * @enum */ -export const VolumeAttributeName = { - autoEnableIO: "autoEnableIO", - productCodes: "productCodes", -} as const; +export interface DescribeTransitGatewayRouteTablesRequest { + /** + *

      The IDs of the transit gateway route tables.

      + * @public + */ + TransitGatewayRouteTableIds?: string[] | undefined; -/** - * @public - */ -export type VolumeAttributeName = (typeof VolumeAttributeName)[keyof typeof VolumeAttributeName]; + /** + *

      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.

        + *
      • + *
      + * @public + */ + Filters?: Filter[] | undefined; -/** - * @public - */ -export interface DescribeVolumeAttributeRequest { /** - *

      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.

      * @public */ - Attribute: VolumeAttributeName | undefined; + MaxResults?: number | undefined; /** - *

      The ID of the volume.

      + *

      The token for the next page of results.

      * @public */ - VolumeId: string | undefined; + NextToken?: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -4501,128 +4107,158 @@ export interface DescribeVolumeAttributeRequest { /** * @public */ -export interface DescribeVolumeAttributeResult { - /** - *

      The state of autoEnableIO attribute.

      - * @public - */ - AutoEnableIO?: AttributeBooleanValue | undefined; - +export interface DescribeTransitGatewayRouteTablesResult { /** - *

      A list of product codes.

      + *

      Information about the transit gateway route tables.

      * @public */ - ProductCodes?: ProductCode[] | undefined; + TransitGatewayRouteTables?: TransitGatewayRouteTable[] | undefined; /** - *

      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.

      * @public */ - VolumeId?: string | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DescribeVolumesRequest { - /** - *

      The volume IDs. If not specified, then all volumes are included in the response.

      - * @public - */ - VolumeIds?: string[] | undefined; - +export interface DescribeTransitGatewaysRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 transit gateways.

      * @public */ - DryRun?: boolean | undefined; + TransitGatewayIds?: string[] | undefined; /** - *

      The filters.

      + *

      One or more filters. The possible values are:

      *
        *
      • *

        - * attachment.attach-time - The time stamp when the attachment - * initiated.

        - *
      • - *
      • - *

        - * attachment.delete-on-termination - Whether the volume is deleted on - * instance termination.

        + * options.propagation-default-route-table-id - The ID of the default propagation route table.

        *
      • *
      • *

        - * attachment.device - The device name specified in the block device mapping - * (for example, /dev/sda1).

        + * options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

        *
      • *
      • *

        - * attachment.instance-id - The ID of the instance the volume is attached - * to.

        + * options.association-default-route-table-id - The ID of the default association route table.

        *
      • *
      • *

        - * attachment.status - The attachment state (attaching | - * attached | detaching).

        + * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

        *
      • *
      • *

        - * availability-zone - The Availability Zone in which the volume was - * created.

        + * options.default-route-table-association - Indicates whether resource attachments are automatically + * associated with the default association route table (enable | disable).

        *
      • *
      • *

        - * create-time - The time stamp when the volume was created.

        + * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate + * routes to the default propagation route table (enable | disable).

        *
      • *
      • *

        - * encrypted - Indicates whether the volume is encrypted (true - * | false)

        + * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

        *
      • *
      • *

        - * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true - * | false)

        + * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

        *
      • *
      • *

        - * fast-restored - Indicates whether the volume was created from a - * snapshot that is enabled for fast snapshot restore (true | - * false).

        + * owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

        *
      • *
      • *

        - * size - The size of the volume, in GiB.

        + * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

        *
      • *
      • *

        - * snapshot-id - The snapshot from which the volume was created.

        + * transit-gateway-id - The ID of the transit gateway.

        *
      • *
      • *

        - * status - The state of the volume (creating | - * available | in-use | deleting | - * deleted | error).

        + * tag-key - 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.

        *
      • + *
      + * @public + */ + Filters?: Filter[] | undefined; + + /** + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      + * @public + */ + MaxResults?: number | undefined; + + /** + *

      The token for the next page of results.

      + * @public + */ + NextToken?: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; +} + +/** + * @public + */ +export interface DescribeTransitGatewaysResult { + /** + *

      Information about the transit gateways.

      + * @public + */ + TransitGateways?: TransitGateway[] | undefined; + + /** + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + * @public + */ + NextToken?: string | undefined; +} + +/** + * @public + */ +export interface DescribeTransitGatewayVpcAttachmentsRequest { + /** + *

      The IDs of the attachments.

      + * @public + */ + TransitGatewayAttachmentIds?: string[] | undefined; + + /** + *

      One or more filters. The possible values 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.

        + * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

        *
      • *
      • *

        - * 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.

        + * transit-gateway-attachment-id - The ID of the attachment.

        *
      • *
      • *

        - * volume-id - The volume ID.

        + * transit-gateway-id - The ID of the transit gateway.

        *
      • *
      • *

        - * volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | - * st1 | sc1| standard)

        + * vpc-id - The ID of the VPC.

        *
      • *
      * @public @@ -4630,106 +4266,72 @@ export interface DescribeVolumesRequest { Filters?: Filter[] | undefined; /** - *

      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 results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      + * @public + */ + MaxResults?: number | undefined; + + /** + *

      The token for the next page of results.

      * @public */ NextToken?: string | undefined; /** - *

      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.

      * @public */ - MaxResults?: number | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeVolumesResult { +export interface DescribeTransitGatewayVpcAttachmentsResult { /** - *

      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 VPC attachments.

      * @public */ - NextToken?: string | undefined; + TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[] | undefined; /** - *

      Information about the volumes.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - Volumes?: Volume[] | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DescribeVolumesModificationsRequest { +export interface DescribeTrunkInterfaceAssociationsRequest { /** - *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ - DryRun?: boolean | undefined; + AssociationIds?: string[] | undefined; /** - *

      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.

      * @public */ - VolumeIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      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.

        *
      • *
      * @public @@ -4737,181 +4339,192 @@ export interface DescribeVolumesModificationsRequest { Filters?: Filter[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; /** - *

      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.

      * @public */ MaxResults?: number | undefined; } -/** - * @public - * @enum - */ -export const VolumeModificationState = { - completed: "completed", - failed: "failed", - modifying: "modifying", - optimizing: "optimizing", -} as const; - /** * @public */ -export type VolumeModificationState = (typeof VolumeModificationState)[keyof typeof VolumeModificationState]; +export interface DescribeTrunkInterfaceAssociationsResult { + /** + *

      Information about the trunk associations.

      + * @public + */ + InterfaceAssociations?: TrunkInterfaceAssociation[] | undefined; -/** - *

      Describes the modification status of an EBS volume.

      - * @public - */ -export interface VolumeModification { /** - *

      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.

      * @public */ - VolumeId?: string | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeVerifiedAccessEndpointsRequest { /** - *

      The current modification state.

      + *

      The ID of the Verified Access endpoint.

      * @public */ - ModificationState?: VolumeModificationState | undefined; + VerifiedAccessEndpointIds?: string[] | undefined; /** - *

      A status message about the modification progress or failure.

      + *

      The ID of the Verified Access instance.

      * @public */ - StatusMessage?: string | undefined; + VerifiedAccessInstanceId?: string | undefined; /** - *

      The target size of the volume, in GiB.

      + *

      The ID of the Verified Access group.

      * @public */ - TargetSize?: number | undefined; + VerifiedAccessGroupId?: string | undefined; /** - *

      The target IOPS rate of the volume.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - TargetIops?: number | undefined; + MaxResults?: number | undefined; /** - *

      The target EBS volume type of the volume.

      + *

      The token for the next page of results.

      * @public */ - TargetVolumeType?: VolumeType | undefined; + NextToken?: string | undefined; /** - *

      The target throughput of the volume, in MiB/s.

      + *

      One or more filters. Filter names and values are case-sensitive.

      * @public */ - TargetThroughput?: number | undefined; + Filters?: Filter[] | undefined; /** - *

      The target setting for Amazon EBS Multi-Attach.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - TargetMultiAttachEnabled?: boolean | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DescribeVerifiedAccessEndpointsResult { /** - *

      The original size of the volume, in GiB.

      + *

      Details about the Verified Access endpoints.

      * @public */ - OriginalSize?: number | undefined; + VerifiedAccessEndpoints?: VerifiedAccessEndpoint[] | undefined; /** - *

      The original IOPS rate 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.

      * @public */ - OriginalIops?: number | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface DescribeVerifiedAccessGroupsRequest { /** - *

      The original EBS volume type of the volume.

      + *

      The ID of the Verified Access groups.

      * @public */ - OriginalVolumeType?: VolumeType | undefined; + VerifiedAccessGroupIds?: string[] | undefined; /** - *

      The original throughput of the volume, in MiB/s.

      + *

      The ID of the Verified Access instance.

      * @public */ - OriginalThroughput?: number | undefined; + VerifiedAccessInstanceId?: string | undefined; /** - *

      The original setting for Amazon EBS Multi-Attach.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - OriginalMultiAttachEnabled?: boolean | undefined; + MaxResults?: number | undefined; /** - *

      The modification progress, from 0 to 100 percent complete.

      + *

      The token for the next page of results.

      * @public */ - Progress?: number | undefined; + NextToken?: string | undefined; /** - *

      The modification start time.

      + *

      One or more filters. Filter names and values are case-sensitive.

      * @public */ - StartTime?: Date | undefined; + Filters?: Filter[] | undefined; /** - *

      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.

      * @public */ - EndTime?: Date | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeVolumesModificationsResult { +export interface DescribeVerifiedAccessGroupsResult { /** - *

      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.

      + *

      Details about the Verified Access groups.

      * @public */ - NextToken?: string | undefined; + VerifiedAccessGroups?: VerifiedAccessGroup[] | undefined; /** - *

      Information about the volume modifications.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - VolumesModifications?: VolumeModification[] | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DescribeVolumeStatusRequest { +export interface DescribeVerifiedAccessInstanceLoggingConfigurationsRequest { /** - *

      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 IDs of the Verified Access instances.

      + * @public + */ + VerifiedAccessInstanceIds?: string[] | undefined; + + /** + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ MaxResults?: number | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; /** - *

      The IDs of the volumes.

      - *

      Default: Describes all your volumes.

      + *

      One or more filters. Filter names and values are case-sensitive.

      * @public */ - VolumeIds?: string[] | undefined; + Filters?: Filter[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -4920,326 +4533,279 @@ export interface DescribeVolumeStatusRequest { * @public */ DryRun?: boolean | undefined; +} + +/** + * @public + * @enum + */ +export const VerifiedAccessLogDeliveryStatusCode = { + FAILED: "failed", + SUCCESS: "success", +} as const; + +/** + * @public + */ +export type VerifiedAccessLogDeliveryStatusCode = + (typeof VerifiedAccessLogDeliveryStatusCode)[keyof typeof VerifiedAccessLogDeliveryStatusCode]; +/** + *

      Describes a log delivery status.

      + * @public + */ +export interface VerifiedAccessLogDeliveryStatus { /** - *

      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 status code.

      * @public */ - Filters?: Filter[] | undefined; + Code?: VerifiedAccessLogDeliveryStatusCode | undefined; + + /** + *

      The status message.

      + * @public + */ + Message?: string | undefined; } /** - *

      Describes a volume status operation code.

      + *

      Options for CloudWatch Logs as a logging destination.

      * @public */ -export interface VolumeStatusAction { +export interface VerifiedAccessLogCloudWatchLogsDestination { /** - *

      The code identifying the operation, for example, enable-volume-io.

      + *

      Indicates whether logging is enabled.

      * @public */ - Code?: string | undefined; + Enabled?: boolean | undefined; /** - *

      A description of the operation.

      + *

      The delivery status for access logs.

      + * @public + */ + DeliveryStatus?: VerifiedAccessLogDeliveryStatus | undefined; + + /** + *

      The ID of the CloudWatch Logs log group.

      + * @public + */ + LogGroup?: string | undefined; +} + +/** + *

      Options for Kinesis as a logging destination.

      + * @public + */ +export interface VerifiedAccessLogKinesisDataFirehoseDestination { + /** + *

      Indicates whether logging is enabled.

      + * @public + */ + Enabled?: boolean | undefined; + + /** + *

      The delivery status.

      + * @public + */ + DeliveryStatus?: VerifiedAccessLogDeliveryStatus | undefined; + + /** + *

      The ID of the delivery stream.

      + * @public + */ + DeliveryStream?: string | undefined; +} + +/** + *

      Options for Amazon S3 as a logging destination.

      + * @public + */ +export interface VerifiedAccessLogS3Destination { + /** + *

      Indicates whether logging is enabled.

      * @public */ - Description?: string | undefined; + Enabled?: boolean | undefined; /** - *

      The ID of the event associated with this operation.

      + *

      The delivery status.

      * @public */ - EventId?: string | undefined; + DeliveryStatus?: VerifiedAccessLogDeliveryStatus | undefined; /** - *

      The event type associated with this operation.

      + *

      The bucket name.

      * @public */ - EventType?: string | undefined; -} + BucketName?: string | undefined; -/** - *

      Information about the instances to which the volume is attached.

      - * @public - */ -export interface VolumeStatusAttachmentStatus { /** - *

      The maximum IOPS supported by the attached instance.

      + *

      The bucket prefix.

      * @public */ - IoPerformance?: string | undefined; + Prefix?: string | undefined; /** - *

      The ID of the attached instance.

      + *

      The Amazon Web Services account number that owns the bucket.

      * @public */ - InstanceId?: string | undefined; + BucketOwner?: string | undefined; } /** - *

      Describes a volume status event.

      + *

      Describes the options for Verified Access logs.

      * @public */ -export interface VolumeStatusEvent { - /** - *

      A description of the event.

      - * @public - */ - Description?: string | undefined; - +export interface VerifiedAccessLogs { /** - *

      The ID of this event.

      + *

      Amazon S3 logging options.

      * @public */ - EventId?: string | undefined; + S3?: VerifiedAccessLogS3Destination | undefined; /** - *

      The type of this event.

      + *

      CloudWatch Logs logging destination.

      * @public */ - EventType?: string | undefined; + CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestination | undefined; /** - *

      The latest end time of the event.

      + *

      Kinesis logging destination.

      * @public */ - NotAfter?: Date | undefined; + KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestination | undefined; /** - *

      The earliest start time of the event.

      + *

      The log version.

      * @public */ - NotBefore?: Date | undefined; + LogVersion?: string | undefined; /** - *

      The ID of the instance associated with the event.

      + *

      Indicates whether trust data is included in the logs.

      * @public */ - InstanceId?: string | undefined; + IncludeTrustContext?: boolean | undefined; } /** - * @public - * @enum - */ -export const VolumeStatusName = { - io_enabled: "io-enabled", - io_performance: "io-performance", -} as const; - -/** - * @public - */ -export type VolumeStatusName = (typeof VolumeStatusName)[keyof typeof VolumeStatusName]; - -/** - *

      Describes a volume status.

      + *

      Describes logging options for an Amazon Web Services Verified Access instance.

      * @public */ -export interface VolumeStatusDetails { +export interface VerifiedAccessInstanceLoggingConfiguration { /** - *

      The name of the volume status.

      + *

      The ID of the Amazon Web Services Verified Access instance.

      * @public */ - Name?: VolumeStatusName | undefined; + VerifiedAccessInstanceId?: string | undefined; /** - *

      The intended status of the volume status.

      + *

      Details about the logging options.

      * @public */ - Status?: string | undefined; + AccessLogs?: VerifiedAccessLogs | undefined; } /** - * @public - * @enum - */ -export const VolumeStatusInfoStatus = { - impaired: "impaired", - insufficient_data: "insufficient-data", - ok: "ok", -} as const; - -/** - * @public - */ -export type VolumeStatusInfoStatus = (typeof VolumeStatusInfoStatus)[keyof typeof VolumeStatusInfoStatus]; - -/** - *

      Describes the status of a volume.

      * @public */ -export interface VolumeStatusInfo { +export interface DescribeVerifiedAccessInstanceLoggingConfigurationsResult { /** - *

      The details of the volume status.

      + *

      The logging configuration for the Verified Access instances.

      * @public */ - Details?: VolumeStatusDetails[] | undefined; + LoggingConfigurations?: VerifiedAccessInstanceLoggingConfiguration[] | undefined; /** - *

      The status 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.

      * @public */ - Status?: VolumeStatusInfoStatus | undefined; + NextToken?: string | undefined; } /** - *

      Describes the volume status.

      * @public */ -export interface VolumeStatusItem { +export interface DescribeVerifiedAccessInstancesRequest { /** - *

      The details of the operation.

      + *

      The IDs of the Verified Access instances.

      * @public */ - Actions?: VolumeStatusAction[] | undefined; + VerifiedAccessInstanceIds?: string[] | undefined; /** - *

      The Availability Zone of the volume.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - AvailabilityZone?: string | undefined; + MaxResults?: number | undefined; /** - *

      The Amazon Resource Name (ARN) of the Outpost.

      + *

      The token for the next page of results.

      * @public */ - OutpostArn?: string | undefined; + NextToken?: string | undefined; /** - *

      A list of events associated with the volume.

      + *

      One or more filters. Filter names and values are case-sensitive.

      * @public */ - Events?: VolumeStatusEvent[] | undefined; + Filters?: Filter[] | undefined; /** - *

      The volume 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.

      * @public */ - VolumeId?: string | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DescribeVerifiedAccessInstancesResult { /** - *

      The volume status.

      + *

      Details about the Verified Access instances.

      * @public */ - VolumeStatus?: VolumeStatusInfo | undefined; + VerifiedAccessInstances?: VerifiedAccessInstance[] | undefined; /** - *

      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.

      * @public */ - AttachmentStatuses?: VolumeStatusAttachmentStatus[] | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DescribeVolumeStatusResult { +export interface DescribeVerifiedAccessTrustProvidersRequest { /** - *

      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 trust providers.

      * @public */ - NextToken?: string | undefined; + VerifiedAccessTrustProviderIds?: string[] | undefined; /** - *

      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.

      * @public */ - VolumeStatuses?: VolumeStatusItem[] | undefined; -} - -/** - * @public - * @enum - */ -export const VpcAttributeName = { - enableDnsHostnames: "enableDnsHostnames", - enableDnsSupport: "enableDnsSupport", - enableNetworkAddressUsageMetrics: "enableNetworkAddressUsageMetrics", -} as const; - -/** - * @public - */ -export type VpcAttributeName = (typeof VpcAttributeName)[keyof typeof VpcAttributeName]; + MaxResults?: number | undefined; -/** - * @public - */ -export interface DescribeVpcAttributeRequest { /** - *

      The VPC attribute.

      + *

      The token for the next page of results.

      * @public */ - Attribute: VpcAttributeName | undefined; + NextToken?: string | undefined; /** - *

      The ID of the VPC.

      + *

      One or more filters. Filter names and values are case-sensitive.

      * @public */ - VpcId: string | undefined; + Filters?: Filter[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -5253,183 +4819,228 @@ export interface DescribeVpcAttributeRequest { /** * @public */ -export interface DescribeVpcAttributeResult { +export interface DescribeVerifiedAccessTrustProvidersResult { /** - *

      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.

      + *

      Details about the Verified Access trust providers.

      * @public */ - EnableDnsHostnames?: AttributeBooleanValue | undefined; + VerifiedAccessTrustProviders?: VerifiedAccessTrustProvider[] | undefined; /** - *

      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 token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - EnableDnsSupport?: AttributeBooleanValue | undefined; + NextToken?: string | undefined; +} - /** - *

      Indicates whether Network Address Usage metrics are enabled for your VPC.

      - * @public - */ - EnableNetworkAddressUsageMetrics?: AttributeBooleanValue | undefined; +/** + * @public + * @enum + */ +export const VolumeAttributeName = { + autoEnableIO: "autoEnableIO", + productCodes: "productCodes", +} as const; - /** - *

      The ID of the VPC.

      - * @public - */ - VpcId?: string | undefined; -} +/** + * @public + */ +export type VolumeAttributeName = (typeof VolumeAttributeName)[keyof typeof VolumeAttributeName]; /** * @public */ -export interface DescribeVpcClassicLinkRequest { +export interface DescribeVolumeAttributeRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 attribute of the volume. This parameter is required.

      * @public */ - DryRun?: boolean | undefined; + Attribute: VolumeAttributeName | undefined; /** - *

      The VPCs for which you want to describe the ClassicLink status.

      + *

      The ID of the volume.

      * @public */ - VpcIds?: string[] | undefined; + VolumeId: string | undefined; /** - *

      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.

        - *
      • - *
      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - Filters?: Filter[] | undefined; + DryRun?: boolean | undefined; } /** - * - *

      Deprecated.

      - *
      - *

      Describes whether a VPC is enabled for ClassicLink.

      * @public */ -export interface VpcClassicLink { +export interface DescribeVolumeAttributeResult { /** - *

      Indicates whether the VPC is enabled for ClassicLink.

      + *

      The state of autoEnableIO attribute.

      * @public */ - ClassicLinkEnabled?: boolean | undefined; + AutoEnableIO?: AttributeBooleanValue | undefined; /** - *

      Any tags assigned to the VPC.

      + *

      A list of product codes.

      * @public */ - Tags?: Tag[] | undefined; + ProductCodes?: ProductCode[] | undefined; /** - *

      The ID of the VPC.

      + *

      The ID of the volume.

      * @public */ - VpcId?: string | undefined; + VolumeId?: string | undefined; } /** * @public */ -export interface DescribeVpcClassicLinkResult { +export interface DescribeVolumesRequest { /** - *

      The ClassicLink status of the VPCs.

      + *

      The volume IDs. If not specified, then all volumes are included in the response.

      * @public */ - Vpcs?: VpcClassicLink[] | undefined; -} + VolumeIds?: string[] | undefined; -/** - * @public - */ -export interface DescribeVpcClassicLinkDnsSupportRequest { /** - *

      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.

      * @public */ - VpcIds?: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      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 filters.

      + *
        + *
      • + *

        + * attachment.attach-time - The time stamp when the attachment + * initiated.

        + *
      • + *
      • + *

        + * attachment.delete-on-termination - Whether the volume is deleted on + * instance termination.

        + *
      • + *
      • + *

        + * attachment.device - The device name specified in the block device mapping + * (for example, /dev/sda1).

        + *
      • + *
      • + *

        + * 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)

        + *
      • + *
      * @public */ - MaxResults?: number | undefined; + Filters?: Filter[] | undefined; /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      * @public */ NextToken?: string | undefined; -} - -/** - * - *

      Deprecated.

      - *
      - *

      Describes the ClassicLink DNS support status of a VPC.

      - * @public - */ -export interface ClassicLinkDnsSupport { - /** - *

      Indicates whether ClassicLink DNS support is enabled for the VPC.

      - * @public - */ - ClassicLinkDnsSupported?: boolean | undefined; /** - *

      The ID of the VPC.

      + *

      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.

      * @public */ - VpcId?: string | undefined; + MaxResults?: number | undefined; } /** * @public */ -export interface DescribeVpcClassicLinkDnsSupportResult { +export interface DescribeVolumesResult { /** - *

      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.

      * @public */ NextToken?: string | undefined; /** - *

      Information about the ClassicLink DNS support status of the VPCs.

      + *

      Information about the volumes.

      * @public */ - Vpcs?: ClassicLinkDnsSupport[] | undefined; + Volumes?: Volume[] | undefined; } /** * @public */ -export interface DescribeVpcEndpointConnectionNotificationsRequest { +export interface DescribeVolumesModificationsRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5439,41 +5050,60 @@ export interface DescribeVpcEndpointConnectionNotificationsRequest { DryRun?: boolean | undefined; /** - *

      The ID of the notification.

      + *

      The IDs of the volumes.

      * @public */ - ConnectionNotificationId?: string | undefined; + VolumeIds?: string[] | undefined; /** *

      The filters.

      *
        *
      • *

        - * connection-notification-arn - The ARN of the SNS topic for the - * notification.

        + * modification-state - The current modification state (modifying | + * optimizing | completed | failed).

        *
      • *
      • *

        - * connection-notification-id - The ID of the - * notification.

        + * original-iops - The original IOPS rate of the volume.

        *
      • *
      • *

        - * connection-notification-state - The state of the notification - * (Enabled | Disabled).

        + * original-size - The original size of the volume, in GiB.

        *
      • *
      • *

        - * connection-notification-type - The type of notification - * (Topic).

        + * original-volume-type - The original volume type of the volume (standard | + * io1 | io2 | gp2 | sc1 | st1).

        *
      • *
      • *

        - * service-id - The ID of the endpoint service.

        + * originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

        *
      • *
      • *

        - * vpc-endpoint-id - The ID of the VPC endpoint.

        + * 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.

        *
      • *
      * @public @@ -5481,439 +5111,557 @@ export interface DescribeVpcEndpointConnectionNotificationsRequest { Filters?: Filter[] | undefined; /** - *

      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 token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      * @public */ - MaxResults?: number | undefined; + NextToken?: string | undefined; /** - *

      The token to request 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.

      * @public */ - NextToken?: string | undefined; + MaxResults?: number | undefined; } /** * @public + * @enum */ -export interface DescribeVpcEndpointConnectionNotificationsResult { +export const VolumeModificationState = { + completed: "completed", + failed: "failed", + modifying: "modifying", + optimizing: "optimizing", +} as const; + +/** + * @public + */ +export type VolumeModificationState = (typeof VolumeModificationState)[keyof typeof VolumeModificationState]; + +/** + *

      Describes the modification status of an EBS volume.

      + * @public + */ +export interface VolumeModification { /** - *

      The notifications.

      + *

      The ID of the volume.

      * @public */ - ConnectionNotificationSet?: ConnectionNotification[] | undefined; + VolumeId?: string | undefined; /** - *

      The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

      + *

      The current modification state.

      * @public */ - NextToken?: string | undefined; -} + ModificationState?: VolumeModificationState | undefined; -/** - * @public - */ -export interface DescribeVpcEndpointConnectionsRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 status message about the modification progress or failure.

      + * @public + */ + StatusMessage?: string | undefined; + + /** + *

      The target size of the volume, in GiB.

      * @public */ - DryRun?: boolean | undefined; + TargetSize?: number | undefined; /** - *

      The filters.

      - *
        - *
      • - *

        - * ip-address-type - The IP address type (ipv4 | ipv6).

        - *
      • - *
      • - *

        - * service-id - The ID of the service.

        - *
      • - *
      • - *

        - * vpc-endpoint-owner - The ID of the Amazon Web Services account ID - * that owns the endpoint.

        - *
      • - *
      • - *

        - * vpc-endpoint-state - The state of the endpoint - * (pendingAcceptance | pending | - * available | deleting | deleted | - * rejected | failed).

        - *
      • - *
      • - *

        - * vpc-endpoint-id - The ID of the endpoint.

        - *
      • - *
      + *

      The target IOPS rate of the volume.

      * @public */ - Filters?: Filter[] | undefined; + TargetIops?: number | undefined; /** - *

      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 target EBS volume type of the volume.

      * @public */ - MaxResults?: number | undefined; + TargetVolumeType?: VolumeType | undefined; /** - *

      The token to retrieve the next page of results.

      + *

      The target throughput of the volume, in MiB/s.

      * @public */ - NextToken?: string | undefined; -} + TargetThroughput?: number | undefined; -/** - *

      Describes a VPC endpoint connection to a service.

      - * @public - */ -export interface VpcEndpointConnection { /** - *

      The ID of the service to which the endpoint is connected.

      + *

      The target setting for Amazon EBS Multi-Attach.

      * @public */ - ServiceId?: string | undefined; + TargetMultiAttachEnabled?: boolean | undefined; /** - *

      The ID of the VPC endpoint.

      + *

      The original size of the volume, in GiB.

      * @public */ - VpcEndpointId?: string | undefined; + OriginalSize?: number | undefined; /** - *

      The ID of the Amazon Web Services account that owns the VPC endpoint.

      + *

      The original IOPS rate of the volume.

      * @public */ - VpcEndpointOwner?: string | undefined; + OriginalIops?: number | undefined; /** - *

      The state of the VPC endpoint.

      + *

      The original EBS volume type of the volume.

      * @public */ - VpcEndpointState?: State | undefined; + OriginalVolumeType?: VolumeType | undefined; /** - *

      The date and time that the VPC endpoint was created.

      + *

      The original throughput of the volume, in MiB/s.

      * @public */ - CreationTimestamp?: Date | undefined; + OriginalThroughput?: number | undefined; /** - *

      The DNS entries for the VPC endpoint.

      + *

      The original setting for Amazon EBS Multi-Attach.

      * @public */ - DnsEntries?: DnsEntry[] | undefined; + OriginalMultiAttachEnabled?: boolean | undefined; /** - *

      The Amazon Resource Names (ARNs) of the network load balancers for the service.

      + *

      The modification progress, from 0 to 100 percent complete.

      * @public */ - NetworkLoadBalancerArns?: string[] | undefined; + Progress?: number | undefined; /** - *

      The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

      + *

      The modification start time.

      * @public */ - GatewayLoadBalancerArns?: string[] | undefined; + StartTime?: Date | undefined; /** - *

      The IP address type for the endpoint.

      + *

      The modification completion or failure time.

      * @public */ - IpAddressType?: IpAddressType | undefined; + EndTime?: Date | undefined; +} +/** + * @public + */ +export interface DescribeVolumesModificationsResult { /** - *

      The ID of the VPC endpoint connection.

      + *

      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.

      * @public */ - VpcEndpointConnectionId?: string | undefined; + NextToken?: string | undefined; /** - *

      The tags.

      + *

      Information about the volume modifications.

      * @public */ - Tags?: Tag[] | undefined; + VolumesModifications?: VolumeModification[] | undefined; } /** * @public */ -export interface DescribeVpcEndpointConnectionsResult { +export interface DescribeVolumeStatusRequest { /** - *

      Information about the VPC endpoint connections.

      + *

      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.

      * @public */ - VpcEndpointConnections?: VpcEndpointConnection[] | undefined; + MaxResults?: number | undefined; /** - *

      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 returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      * @public */ NextToken?: string | undefined; -} -/** - * @public - */ -export interface DescribeVpcEndpointsRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 volumes.

      + *

      Default: Describes all your volumes.

      * @public */ - DryRun?: boolean | undefined; + VolumeIds?: string[] | undefined; /** - *

      The IDs of the VPC endpoints.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - VpcEndpointIds?: string[] | undefined; + DryRun?: boolean | undefined; /** *

      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).

        *
      • *
      * @public */ - Filters?: Filter[] | undefined; + Filters?: Filter[] | undefined; +} + +/** + *

      Describes a volume status operation code.

      + * @public + */ +export interface VolumeStatusAction { + /** + *

      The code identifying the operation, for example, enable-volume-io.

      + * @public + */ + Code?: string | undefined; + + /** + *

      A description of the operation.

      + * @public + */ + Description?: string | undefined; + + /** + *

      The ID of the event associated with this operation.

      + * @public + */ + EventId?: string | undefined; + + /** + *

      The event type associated with this operation.

      + * @public + */ + EventType?: string | undefined; +} + +/** + *

      Information about the instances to which the volume is attached.

      + * @public + */ +export interface VolumeStatusAttachmentStatus { + /** + *

      The maximum IOPS supported by the attached instance.

      + * @public + */ + IoPerformance?: string | undefined; + + /** + *

      The ID of the attached instance.

      + * @public + */ + InstanceId?: string | undefined; +} + +/** + *

      Describes a volume status event.

      + * @public + */ +export interface VolumeStatusEvent { + /** + *

      A description of the event.

      + * @public + */ + Description?: string | undefined; + + /** + *

      The ID of this event.

      + * @public + */ + EventId?: string | undefined; + + /** + *

      The type of this event.

      + * @public + */ + EventType?: string | undefined; + + /** + *

      The latest end time of the event.

      + * @public + */ + NotAfter?: Date | undefined; /** - *

      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 earliest start time of the event.

      * @public */ - MaxResults?: number | undefined; + NotBefore?: Date | undefined; /** - *

      The token for the next set of items to return. (You received this token from a prior call.)

      + *

      The ID of the instance associated with the event.

      * @public */ - NextToken?: string | undefined; + InstanceId?: string | undefined; } /** * @public + * @enum */ -export interface DescribeVpcEndpointsResult { +export const VolumeStatusName = { + io_enabled: "io-enabled", + io_performance: "io-performance", +} as const; + +/** + * @public + */ +export type VolumeStatusName = (typeof VolumeStatusName)[keyof typeof VolumeStatusName]; + +/** + *

      Describes a volume status.

      + * @public + */ +export interface VolumeStatusDetails { /** - *

      Information about the VPC endpoints.

      + *

      The name of the volume status.

      * @public */ - VpcEndpoints?: VpcEndpoint[] | undefined; + Name?: VolumeStatusName | undefined; /** - *

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

      + *

      The intended status of the volume status.

      * @public */ - NextToken?: string | undefined; + Status?: string | undefined; } /** * @public + * @enum */ -export interface DescribeVpcEndpointServiceConfigurationsRequest { +export const VolumeStatusInfoStatus = { + impaired: "impaired", + insufficient_data: "insufficient-data", + ok: "ok", +} as const; + +/** + * @public + */ +export type VolumeStatusInfoStatus = (typeof VolumeStatusInfoStatus)[keyof typeof VolumeStatusInfoStatus]; + +/** + *

      Describes the status of a volume.

      + * @public + */ +export interface VolumeStatusInfo { /** - *

      Checks whether you have the required permissions for the action, without 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 details of the volume status.

      * @public */ - DryRun?: boolean | undefined; + Details?: VolumeStatusDetails[] | undefined; /** - *

      The IDs of the endpoint services.

      + *

      The status of the volume.

      * @public */ - ServiceIds?: string[] | undefined; + Status?: VolumeStatusInfoStatus | undefined; +} +/** + *

      Describes the volume status.

      + * @public + */ +export interface VolumeStatusItem { /** - *

      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.

        - *
      • - *
      + *

      The details of the operation.

      * @public */ - Filters?: Filter[] | undefined; + Actions?: VolumeStatusAction[] | undefined; /** - *

      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 Availability Zone of the volume.

      * @public */ - MaxResults?: number | undefined; + AvailabilityZone?: string | undefined; /** - *

      The token to retrieve the next page of results.

      + *

      The Amazon Resource Name (ARN) of the Outpost.

      * @public */ - NextToken?: string | undefined; -} + OutpostArn?: string | undefined; -/** - * @public - */ -export interface DescribeVpcEndpointServiceConfigurationsResult { /** - *

      Information about the services.

      + *

      A list of events associated with the volume.

      * @public */ - ServiceConfigurations?: ServiceConfiguration[] | undefined; + Events?: VolumeStatusEvent[] | undefined; /** - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The volume ID.

      * @public */ - NextToken?: string | undefined; + VolumeId?: string | undefined; + + /** + *

      The volume status.

      + * @public + */ + VolumeStatus?: VolumeStatusInfo | undefined; + + /** + *

      Information about the instances to which the volume is attached.

      + * @public + */ + AttachmentStatuses?: VolumeStatusAttachmentStatus[] | undefined; } /** * @public */ -export interface DescribeVpcEndpointServicePermissionsRequest { +export interface DescribeVolumeStatusResult { /** - *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ - DryRun?: boolean | undefined; + NextToken?: string | undefined; /** - *

      The ID of the service.

      + *

      Information about the status of the volumes.

      * @public */ - ServiceId: string | undefined; + VolumeStatuses?: VolumeStatusItem[] | undefined; +} + +/** + * @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 { /** - *

      The filters.

      - *
        - *
      • - *

        - * principal - The ARN of the principal.

        - *
      • - *
      • - *

        - * principal-type - The principal type (All | - * Service | OrganizationUnit | Account - * | User | Role).

        - *
      • - *
      + *

      The VPC attribute.

      * @public */ - Filters?: Filter[] | undefined; + Attribute: VpcAttributeName | undefined; /** - *

      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 VPC.

      * @public */ - MaxResults?: number | undefined; + VpcId: string | undefined; /** - *

      The token to retrieve 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.

      * @public */ - NextToken?: string | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DescribeVpcEndpointServicePermissionsResult { +export interface DescribeVpcAttributeResult { /** - *

      Information about the allowed principals.

      + *

      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.

      * @public */ - AllowedPrincipals?: AllowedPrincipal[] | undefined; + EnableDnsHostnames?: AttributeBooleanValue | undefined; /** - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      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.

      * @public */ - NextToken?: string | undefined; + EnableDnsSupport?: AttributeBooleanValue | undefined; + + /** + *

      Indicates whether Network Address Usage metrics are enabled for your VPC.

      + * @public + */ + EnableNetworkAddressUsageMetrics?: AttributeBooleanValue | undefined; + + /** + *

      The ID of the VPC.

      + * @public + */ + VpcId?: string | undefined; } /** * @public */ -export interface DescribeVpcEndpointServicesRequest { +export interface DescribeVpcBlockPublicAccessExclusionsRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5923,210 +5671,333 @@ export interface DescribeVpcEndpointServicesRequest { DryRun?: boolean | undefined; /** - *

      The service names.

      - * @public - */ - ServiceNames?: string[] | undefined; - - /** - *

      The filters.

      + *

      Filters for the request:

      *
        *
      • *

        - * owner - The ID or alias of the Amazon Web Services account that owns - * the service.

        + * resource-arn - The Amazon Resource Name (ARN) of a exclusion.

        *
      • *
      • *

        - * service-name - The name of the service.

        + * internet-gateway-exclusion-mode - The mode of a VPC BPA exclusion. Possible values: bidirectional-access-allowed | egress-access-allowed.

        *
      • *
      • *

        - * service-type - The type of service (Interface | - * Gateway | GatewayLoadBalancer).

        + * state - The state of VPC BPA. Possible values: create-in-progress | create-complete | update-in-progress | update-complete | delete-in-progress | deleted-complete | disable-in-progress | disable-complete + *

        *
      • *
      • *

        - * 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: - 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-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 assigned a tag with a specific value, regardless of the tag key.

        *
      • *
      * @public */ - Filters?: Filter[] | undefined; + Filters?: Filter[] | undefined; + + /** + *

      IDs of exclusions.

      + * @public + */ + ExclusionIds?: string[] | undefined; + + /** + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + * @public + */ + NextToken?: string | undefined; /** - *

      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. + * For more information, see Pagination.

      * @public */ MaxResults?: number | undefined; +} +/** + * @public + */ +export interface DescribeVpcBlockPublicAccessExclusionsResult { /** - *

      The token for the next set of items to return. (You received this token from a prior call.)

      + *

      Details related to the exclusions.

      + * @public + */ + VpcBlockPublicAccessExclusions?: VpcBlockPublicAccessExclusion[] | undefined; + + /** + *

      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.

      * @public */ NextToken?: string | undefined; } /** - *

      Information about the Private DNS name for interface endpoints.

      * @public */ -export interface PrivateDnsDetails { +export interface DescribeVpcBlockPublicAccessOptionsRequest { /** - *

      The private DNS name assigned to the VPC endpoint service.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - PrivateDnsName?: string | undefined; + DryRun?: boolean | undefined; } /** - *

      Describes a VPC endpoint service.

      * @public + * @enum */ -export interface ServiceDetail { - /** - *

      The name of the service.

      - * @public - */ - ServiceName?: string | undefined; +export const InternetGatewayBlockMode = { + block_bidirectional: "block-bidirectional", + block_ingress: "block-ingress", + off: "off", +} as const; + +/** + * @public + */ +export type InternetGatewayBlockMode = (typeof InternetGatewayBlockMode)[keyof typeof InternetGatewayBlockMode]; + +/** + * @public + * @enum + */ +export const VpcBlockPublicAccessState = { + default_state: "default-state", + update_complete: "update-complete", + update_in_progress: "update-in-progress", +} as const; + +/** + * @public + */ +export type VpcBlockPublicAccessState = (typeof VpcBlockPublicAccessState)[keyof typeof VpcBlockPublicAccessState]; +/** + *

      VPC Block public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

      + * @public + */ +export interface VpcBlockPublicAccessOptions { /** - *

      The ID of the endpoint service.

      + *

      An Amazon Web Services account ID.

      * @public */ - ServiceId?: string | undefined; + AwsAccountId?: string | undefined; /** - *

      The type of service.

      + *

      An Amazon Web Services Region.

      * @public */ - ServiceType?: ServiceTypeDetail[] | undefined; + AwsRegion?: string | undefined; /** - *

      The Availability Zones in which the service is available.

      + *

      The current state of VPC BPA.

      * @public */ - AvailabilityZones?: string[] | undefined; + State?: VpcBlockPublicAccessState | undefined; /** - *

      The Amazon Web Services account ID of the service owner.

      + *

      The current mode of VPC BPA.

      + *
        + *
      • + *

        + * bidirectional-access-allowed: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.

        + *
      • + *
      • + *

        + * bidirectional-access-blocked: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).

        + *
      • + *
      • + *

        + * ingress-access-blocked: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.

        + *
      • + *
      * @public */ - Owner?: string | undefined; + InternetGatewayBlockMode?: InternetGatewayBlockMode | undefined; /** - *

      The DNS names for the service.

      + *

      The reason for the current state.

      * @public */ - BaseEndpointDnsNames?: string[] | undefined; + Reason?: string | undefined; /** - *

      The private DNS name for the service.

      + *

      The last time the VPC BPA mode was updated.

      * @public */ - PrivateDnsName?: string | undefined; + LastUpdateTimestamp?: Date | undefined; +} +/** + * @public + */ +export interface DescribeVpcBlockPublicAccessOptionsResult { /** - *

      The private DNS names assigned to the VPC endpoint service.

      + *

      Details related to the options.

      * @public */ - PrivateDnsNames?: PrivateDnsDetails[] | undefined; + VpcBlockPublicAccessOptions?: VpcBlockPublicAccessOptions | undefined; +} +/** + * @public + */ +export interface DescribeVpcClassicLinkRequest { /** - *

      Indicates whether the service supports endpoint policies.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - VpcEndpointPolicySupported?: boolean | undefined; + DryRun?: boolean | undefined; /** - *

      Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

      + *

      The VPCs for which you want to describe the ClassicLink status.

      * @public */ - AcceptanceRequired?: boolean | undefined; + VpcIds?: string[] | undefined; /** - *

      Indicates whether the service manages its VPC endpoints. Management of the service VPC - * endpoints using the VPC endpoint API is restricted.

      + *

      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.

        + *
      • + *
      * @public */ - ManagesVpcEndpoints?: boolean | undefined; + Filters?: Filter[] | undefined; +} +/** + * + *

      Deprecated.

      + *
      + *

      Describes whether a VPC is enabled for ClassicLink.

      + * @public + */ +export interface VpcClassicLink { /** - *

      The payer responsibility.

      + *

      Indicates whether the VPC is enabled for ClassicLink.

      * @public */ - PayerResponsibility?: PayerResponsibility | undefined; + ClassicLinkEnabled?: boolean | undefined; /** - *

      The tags assigned to the service.

      + *

      Any tags assigned to the VPC.

      * @public */ Tags?: Tag[] | undefined; /** - *

      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.

      * @public */ - PrivateDnsNameVerificationState?: DnsNameState | undefined; + VpcId?: string | undefined; +} +/** + * @public + */ +export interface DescribeVpcClassicLinkResult { /** - *

      The supported IP address types.

      + *

      The ClassicLink status of the VPCs.

      * @public */ - SupportedIpAddressTypes?: ServiceConnectivityType[] | undefined; + Vpcs?: VpcClassicLink[] | undefined; } /** * @public */ -export interface DescribeVpcEndpointServicesResult { +export interface DescribeVpcClassicLinkDnsSupportRequest { /** - *

      The supported services.

      + *

      The IDs of the VPCs.

      * @public */ - ServiceNames?: string[] | undefined; + VpcIds?: string[] | undefined; /** - *

      Information about the service.

      + *

      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.

      * @public */ - ServiceDetails?: ServiceDetail[] | undefined; + MaxResults?: number | undefined; /** - *

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      * @public */ NextToken?: string | undefined; } /** + * + *

      Deprecated.

      + *
      + *

      Describes the ClassicLink DNS support status of a VPC.

      * @public */ -export interface DescribeVpcPeeringConnectionsRequest { +export interface ClassicLinkDnsSupport { /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      Indicates whether ClassicLink DNS support is enabled for the VPC.

      + * @public + */ + ClassicLinkDnsSupported?: boolean | undefined; + + /** + *

      The ID of the VPC.

      + * @public + */ + VpcId?: string | undefined; +} + +/** + * @public + */ +export interface DescribeVpcClassicLinkDnsSupportResult { + /** + *

      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.

      * @public */ NextToken?: string | undefined; /** - *

      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.

      + *

      Information about the ClassicLink DNS support status of the VPCs.

      * @public */ - MaxResults?: number | undefined; + Vpcs?: ClassicLinkDnsSupport[] | undefined; +} +/** + * @public + */ +export interface DescribeVpcEndpointConnectionNotificationsRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -6136,92 +6007,74 @@ export interface DescribeVpcPeeringConnectionsRequest { DryRun?: boolean | undefined; /** - *

      The IDs of the VPC peering connections.

      - *

      Default: Describes all your VPC peering connections.

      + *

      The ID of the notification.

      * @public */ - VpcPeeringConnectionIds?: string[] | undefined; + ConnectionNotificationId?: string | undefined; /** *

      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.

        + * connection-notification-arn - The ARN of the SNS topic for the + * notification.

        *
      • *
      • *

        - * status-code - The status of the VPC peering connection - * (pending-acceptance | failed | - * expired | provisioning | active | - * deleting | deleted | - * rejected).

        + * connection-notification-id - The ID of the + * notification.

        *
      • *
      • *

        - * status-message - A message that provides more information about the status - * of the VPC peering connection, if applicable.

        + * 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-peering-connection-id - The ID of the VPC peering connection.

        + * vpc-endpoint-id - The ID of the VPC endpoint.

        *
      • *
      * @public */ - Filters?: Filter[] | undefined; + Filters?: Filter[] | undefined; + + /** + *

      The maximum number of results to return in a single call. To retrieve the remaining + * results, make another request with the returned NextToken value.

      + * @public + */ + MaxResults?: number | undefined; + + /** + *

      The token to request the next page of results.

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface DescribeVpcPeeringConnectionsResult { +export interface DescribeVpcEndpointConnectionNotificationsResult { /** - *

      Information about the VPC peering connections.

      + *

      The notifications.

      * @public */ - VpcPeeringConnections?: VpcPeeringConnection[] | undefined; + ConnectionNotificationSet?: ConnectionNotification[] | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; @@ -6230,79 +6083,41 @@ export interface DescribeVpcPeeringConnectionsResult { /** * @public */ -export interface DescribeVpcsRequest { +export interface DescribeVpcEndpointConnectionsRequest { + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; + /** *

      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.

        + * ip-address-type - The IP address type (ipv4 | ipv6).

        *
      • *
      • *

        - * state - The state of the VPC (pending | available).

        + * service-id - The ID of the 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.

        + * vpc-endpoint-owner - The ID of the Amazon Web Services account ID + * that owns the endpoint.

        *
      • *
      • *

        - * 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-state - The state of the endpoint + * (pendingAcceptance | pending | + * available | deleting | deleted | + * rejected | failed).

        *
      • *
      • *

        - * vpc-id - The ID of the VPC.

        + * vpc-endpoint-id - The ID of the endpoint.

        *
      • *
      * @public @@ -6310,95 +6125,143 @@ export interface DescribeVpcsRequest { Filters?: Filter[] | undefined; /** - *

      The IDs of the VPCs.

      + *

      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.

      * @public */ - VpcIds?: string[] | undefined; + MaxResults?: number | undefined; /** - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The token to retrieve the next page of results.

      * @public */ NextToken?: string | undefined; +} +/** + *

      Describes a VPC endpoint connection to a service.

      + * @public + */ +export interface VpcEndpointConnection { /** - *

      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 service to which the endpoint is connected.

      * @public */ - MaxResults?: number | undefined; + ServiceId?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The ID of the VPC endpoint.

      * @public */ - DryRun?: boolean | undefined; + VpcEndpointId?: string | undefined; + + /** + *

      The ID of the Amazon Web Services account that owns the VPC endpoint.

      + * @public + */ + VpcEndpointOwner?: string | undefined; + + /** + *

      The state of the VPC endpoint.

      + * @public + */ + VpcEndpointState?: State | undefined; + + /** + *

      The date and time that the VPC endpoint was created.

      + * @public + */ + CreationTimestamp?: Date | undefined; + + /** + *

      The DNS entries for the VPC endpoint.

      + * @public + */ + DnsEntries?: DnsEntry[] | undefined; + + /** + *

      The Amazon Resource Names (ARNs) of the network load balancers for the service.

      + * @public + */ + NetworkLoadBalancerArns?: string[] | undefined; + + /** + *

      The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

      + * @public + */ + GatewayLoadBalancerArns?: string[] | undefined; + + /** + *

      The IP address type for the endpoint.

      + * @public + */ + IpAddressType?: IpAddressType | undefined; + + /** + *

      The ID of the VPC endpoint connection.

      + * @public + */ + VpcEndpointConnectionId?: string | undefined; + + /** + *

      The tags.

      + * @public + */ + Tags?: Tag[] | undefined; } /** * @public */ -export interface DescribeVpcsResult { +export interface DescribeVpcEndpointConnectionsResult { /** - *

      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 VPC endpoint connections.

      * @public */ - NextToken?: string | undefined; + VpcEndpointConnections?: VpcEndpointConnection[] | undefined; /** - *

      Information about the VPCs.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - Vpcs?: Vpc[] | undefined; + NextToken?: string | undefined; } /** - *

      Contains the parameters for DescribeVpnConnections.

      * @public */ -export interface DescribeVpnConnectionsRequest { +export interface DescribeVpcEndpointsRequest { /** - *

      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.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      The IDs of the VPC endpoints.

      + * @public + */ + VpcEndpointIds?: string[] | undefined; + + /** + *

      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.

        + * ip-address-type - The IP address type (ipv4 | ipv6).

        *
      • *
      • *

        - * bgp-asn - The BGP Autonomous System Number (ASN) associated with - * a BGP device.

        + * service-name - The name of the 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.

        + * 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.

        *
      • *
      • *

        @@ -6406,22 +6269,22 @@ export interface DescribeVpnConnectionsRequest { *

      • *
      • *

        - * type - The type of VPN connection. Currently the only supported - * type is ipsec.1.

        + * vpc-id - The ID of the VPC in which the endpoint resides.

        *
      • *
      • *

        - * vpn-connection-id - The ID of the VPN connection.

        + * vpc-endpoint-id - The ID of 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-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

        *
      • *
      * @public @@ -6429,124 +6292,126 @@ export interface DescribeVpnConnectionsRequest { Filters?: Filter[] | undefined; /** - *

      One or more VPN connection IDs.

      - *

      Default: Describes your VPN connections.

      + *

      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.

      * @public */ - VpnConnectionIds?: string[] | undefined; + MaxResults?: number | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      + *

      The token for the next set of items to return. (You received this token from a prior call.)

      * @public */ - DryRun?: boolean | undefined; + NextToken?: string | undefined; } /** - *

      Contains the output of DescribeVpnConnections.

      * @public */ -export interface DescribeVpnConnectionsResult { +export interface DescribeVpcEndpointsResult { /** - *

      Information about one or more VPN connections.

      + *

      Information about the VPC endpoints.

      * @public */ - VpnConnections?: VpnConnection[] | undefined; + VpcEndpoints?: VpcEndpoint[] | undefined; + + /** + *

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

      + * @public + */ + NextToken?: string | undefined; } /** - *

      Contains the parameters for DescribeVpnGateways.

      * @public */ -export interface DescribeVpnGatewaysRequest { +export interface DescribeVpcEndpointServiceConfigurationsRequest { /** - *

      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.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      The IDs of the endpoint services.

      + * @public + */ + ServiceIds?: string[] | undefined; + + /** + *

      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).

        + * service-name - The name of the service.

        *
      • *
      • *

        - * attachment.vpc-id - The ID of an attached VPC.

        + * service-id - The ID of the service.

        *
      • *
      • *

        - * availability-zone - The Availability Zone for the virtual private - * gateway (if applicable).

        + * service-state - The state of the service (Pending | + * Available | Deleting | Deleted | + * Failed).

        *
      • *
      • *

        - * state - The state of the virtual private gateway - * (pending | available | deleting | - * deleted).

        + * 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: - 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.

        - *
      • *
      * @public */ Filters?: Filter[] | undefined; /** - *

      One or more virtual private gateway IDs.

      - *

      Default: Describes all your virtual private gateways.

      + *

      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.

      * @public */ - VpnGatewayIds?: string[] | undefined; + MaxResults?: number | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      + *

      The token to retrieve the next page of results.

      * @public */ - DryRun?: boolean | undefined; + NextToken?: string | undefined; } /** - *

      Contains the output of DescribeVpnGateways.

      * @public */ -export interface DescribeVpnGatewaysResult { +export interface DescribeVpcEndpointServiceConfigurationsResult { /** - *

      Information about one or more virtual private gateways.

      + *

      Information about the services.

      * @public */ - VpnGateways?: VpnGateway[] | undefined; + ServiceConfigurations?: ServiceConfiguration[] | undefined; + + /** + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface DetachClassicLinkVpcRequest { +export interface DescribeVpcEndpointServicePermissionsRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -6556,33 +6421,67 @@ export interface DetachClassicLinkVpcRequest { DryRun?: boolean | undefined; /** - *

      The ID of the instance to unlink from the VPC.

      + *

      The ID of the service.

      * @public */ - InstanceId: string | undefined; + ServiceId: string | undefined; /** - *

      The ID of the VPC to which the instance is linked.

      + *

      The filters.

      + *
        + *
      • + *

        + * principal - The ARN of the principal.

        + *
      • + *
      • + *

        + * principal-type - The principal type (All | + * Service | OrganizationUnit | Account + * | User | Role).

        + *
      • + *
      * @public */ - VpcId: string | undefined; + Filters?: Filter[] | undefined; + + /** + *

      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.

      + * @public + */ + MaxResults?: number | undefined; + + /** + *

      The token to retrieve the next page of results.

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface DetachClassicLinkVpcResult { +export interface DescribeVpcEndpointServicePermissionsResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      Information about the allowed principals.

      * @public */ - Return?: boolean | undefined; + AllowedPrincipals?: AllowedPrincipal[] | undefined; + + /** + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface DetachInternetGatewayRequest { +export interface DescribeVpcEndpointServicesRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -6592,302 +6491,416 @@ export interface DetachInternetGatewayRequest { DryRun?: boolean | undefined; /** - *

      The ID of the internet gateway.

      + *

      The service names.

      * @public */ - InternetGatewayId: string | undefined; + ServiceNames?: string[] | undefined; /** - *

      The ID of the VPC.

      + *

      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.

        + *
      • + *
      * @public */ - VpcId: string | undefined; -} + Filters?: Filter[] | undefined; -/** - *

      Contains the parameters for DetachNetworkInterface.

      - * @public - */ -export interface DetachNetworkInterfaceRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 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.

      * @public */ - DryRun?: boolean | undefined; + MaxResults?: number | undefined; /** - *

      The ID of the attachment.

      + *

      The token for the next set of items to return. (You received this token from a prior call.)

      * @public */ - AttachmentId: string | undefined; + NextToken?: string | undefined; +} +/** + *

      Information about the Private DNS name for interface endpoints.

      + * @public + */ +export interface PrivateDnsDetails { /** - *

      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.

        - *
      • - *
      - *
      + *

      The private DNS name assigned to the VPC endpoint service.

      * @public */ - Force?: boolean | undefined; + PrivateDnsName?: string | undefined; } /** + *

      Describes a VPC endpoint service.

      * @public */ -export interface DetachVerifiedAccessTrustProviderRequest { +export interface ServiceDetail { /** - *

      The ID of the Verified Access instance.

      + *

      The name of the service.

      * @public */ - VerifiedAccessInstanceId: string | undefined; + ServiceName?: string | undefined; /** - *

      The ID of the Verified Access trust provider.

      + *

      The ID of the endpoint service.

      * @public */ - VerifiedAccessTrustProviderId: string | undefined; + ServiceId?: string | undefined; /** - *

      A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring idempotency.

      + *

      The type of service.

      * @public */ - ClientToken?: string | undefined; + ServiceType?: ServiceTypeDetail[] | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The Availability Zones in which the service is available.

      + * @public + */ + AvailabilityZones?: string[] | undefined; + + /** + *

      The Amazon Web Services account ID of the service owner.

      * @public */ - DryRun?: boolean | undefined; -} + Owner?: string | undefined; -/** - * @public - */ -export interface DetachVerifiedAccessTrustProviderResult { /** - *

      Details about the Verified Access trust provider.

      + *

      The DNS names for the service.

      * @public */ - VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider | undefined; + BaseEndpointDnsNames?: string[] | undefined; /** - *

      Details about the Verified Access instance.

      + *

      The private DNS name for the service.

      * @public */ - VerifiedAccessInstance?: VerifiedAccessInstance | undefined; -} + PrivateDnsName?: string | undefined; -/** - * @public - */ -export interface DetachVolumeRequest { /** - *

      The device name.

      + *

      The private DNS names assigned to the VPC endpoint service.

      * @public */ - Device?: string | undefined; + PrivateDnsNames?: PrivateDnsDetails[] | undefined; /** - *

      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.

      + *

      Indicates whether the service supports endpoint policies.

      * @public */ - Force?: boolean | undefined; + VpcEndpointPolicySupported?: boolean | undefined; /** - *

      The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

      + *

      Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

      * @public */ - InstanceId?: string | undefined; + AcceptanceRequired?: boolean | undefined; /** - *

      The ID of the volume.

      + *

      Indicates whether the service manages its VPC endpoints. Management of the service VPC + * endpoints using the VPC endpoint API is restricted.

      * @public */ - VolumeId: string | undefined; + ManagesVpcEndpoints?: boolean | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The payer responsibility.

      * @public */ - DryRun?: boolean | undefined; -} + PayerResponsibility?: PayerResponsibility | undefined; -/** - *

      Contains the parameters for DetachVpnGateway.

      - * @public - */ -export interface DetachVpnGatewayRequest { /** - *

      The ID of the VPC.

      + *

      The tags assigned to the service.

      * @public */ - VpcId: string | undefined; + Tags?: Tag[] | undefined; /** - *

      The ID of the virtual private gateway.

      + *

      The verification state of the VPC endpoint service.

      + *

      Consumers of the endpoint service cannot use the private name when the state is not verified.

      * @public */ - VpnGatewayId: string | undefined; + PrivateDnsNameVerificationState?: DnsNameState | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      + *

      The supported IP address types.

      * @public */ - DryRun?: boolean | undefined; + SupportedIpAddressTypes?: ServiceConnectivityType[] | undefined; } /** * @public */ -export interface DisableAddressTransferRequest { +export interface DescribeVpcEndpointServicesResult { /** - *

      The allocation ID of an Elastic IP address.

      + *

      The supported services.

      * @public */ - AllocationId: string | undefined; + ServiceNames?: string[] | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Information about the service.

      * @public */ - DryRun?: boolean | undefined; -} + ServiceDetails?: ServiceDetail[] | undefined; -/** - * @public - */ -export interface DisableAddressTransferResult { /** - *

      An Elastic IP address transfer.

      + *

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

      * @public */ - AddressTransfer?: AddressTransfer | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface DisableAwsNetworkPerformanceMetricSubscriptionRequest { +export interface DescribeVpcPeeringConnectionsRequest { /** - *

      The source Region or Availability Zone that the metric subscription is disabled for. For example, us-east-1.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      * @public */ - Source?: string | undefined; + NextToken?: string | undefined; /** - *

      The target Region or Availability Zone that the metric subscription is disabled for. For example, eu-north-1.

      + *

      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.

      * @public */ - Destination?: string | undefined; + MaxResults?: number | undefined; /** - *

      The metric used for the disabled subscription.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - Metric?: MetricType | undefined; + DryRun?: boolean | undefined; /** - *

      The statistic used for the disabled subscription.

      + *

      The IDs of the VPC peering connections.

      + *

      Default: Describes all your VPC peering connections.

      * @public */ - Statistic?: StatisticType | undefined; + VpcPeeringConnectionIds?: string[] | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      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.

        + *
      • + *
      * @public */ - DryRun?: boolean | undefined; + Filters?: Filter[] | undefined; } /** * @public */ -export interface DisableAwsNetworkPerformanceMetricSubscriptionResult { +export interface DescribeVpcPeeringConnectionsResult { /** - *

      Indicates whether the unsubscribe action was successful.

      + *

      Information about the VPC peering connections.

      * @public */ - Output?: boolean | undefined; + VpcPeeringConnections?: VpcPeeringConnection[] | undefined; + + /** + *

      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.

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface DisableEbsEncryptionByDefaultRequest { +export interface DescribeVpcsRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 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.

        + *
      • + *
      * @public */ - DryRun?: boolean | undefined; -} + Filters?: Filter[] | undefined; -/** - * @public - */ -export interface DisableEbsEncryptionByDefaultResult { /** - *

      The updated status of encryption by default.

      + *

      The IDs of the VPCs.

      * @public */ - EbsEncryptionByDefault?: boolean | undefined; -} + VpcIds?: string[] | undefined; -/** - * @public - */ -export interface DisableFastLaunchRequest { /** - *

      Specify the ID of the image for which to disable Windows fast launch.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      * @public */ - ImageId: string | undefined; + NextToken?: string | undefined; /** - *

      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 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.

      * @public */ - Force?: boolean | undefined; + MaxResults?: number | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -6896,259 +6909,339 @@ export interface DisableFastLaunchRequest { /** * @public */ -export interface DisableFastLaunchResult { - /** - *

      The ID of the image for which Windows fast launch was disabled.

      - * @public - */ - ImageId?: string | undefined; - - /** - *

      The pre-provisioning resource type that must be cleaned after turning off Windows fast launch - * for the Windows AMI. Supported values include: snapshot.

      - * @public - */ - ResourceType?: FastLaunchResourceType | undefined; - - /** - *

      Parameters that were used for Windows fast launch for the Windows AMI before - * Windows fast launch was disabled. This informs the clean-up process.

      - * @public - */ - SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse | undefined; - - /** - *

      The launch template that was used to launch Windows instances from pre-provisioned snapshots.

      - * @public - */ - LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse | undefined; - - /** - *

      The maximum number of instances that Amazon EC2 can launch at the same time to - * create pre-provisioned snapshots for Windows fast launch.

      - * @public - */ - MaxParallelLaunches?: number | undefined; - - /** - *

      The owner of the Windows AMI for which Windows fast launch was disabled.

      - * @public - */ - OwnerId?: string | undefined; - - /** - *

      The current state of Windows fast launch for the specified Windows AMI.

      - * @public - */ - State?: FastLaunchStateCode | undefined; - +export interface DescribeVpcsResult { /** - *

      The reason that the state changed for Windows fast launch for the Windows AMI.

      + *

      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.

      * @public */ - StateTransitionReason?: string | undefined; + NextToken?: string | undefined; /** - *

      The time that the state changed for Windows fast launch for the Windows AMI.

      + *

      Information about the VPCs.

      * @public */ - StateTransitionTime?: Date | undefined; + Vpcs?: Vpc[] | undefined; } /** + *

      Contains the parameters for DescribeVpnConnections.

      * @public */ -export interface DisableFastSnapshotRestoresRequest { +export interface DescribeVpnConnectionsRequest { /** - *

      One or more Availability Zones. For example, us-east-2a.

      + *

      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.

        + *
      • + *
      * @public */ - AvailabilityZones: string[] | undefined; + Filters?: Filter[] | undefined; /** - *

      The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

      + *

      One or more VPN connection IDs.

      + *

      Default: Describes your VPN connections.

      * @public */ - SourceSnapshotIds: string[] | undefined; + VpnConnectionIds?: string[] | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; } /** - *

      Describes fast snapshot restores that were successfully disabled.

      + *

      Contains the output of DescribeVpnConnections.

      * @public */ -export interface DisableFastSnapshotRestoreSuccessItem { - /** - *

      The ID of the snapshot.

      - * @public - */ - SnapshotId?: string | undefined; - - /** - *

      The Availability Zone.

      - * @public - */ - AvailabilityZone?: string | undefined; - +export interface DescribeVpnConnectionsResult { /** - *

      The state of fast snapshot restores for the snapshot.

      + *

      Information about one or more VPN connections.

      * @public */ - State?: FastSnapshotRestoreStateCode | undefined; + VpnConnections?: VpnConnection[] | undefined; +} +/** + *

      Contains the parameters for DescribeVpnGateways.

      + * @public + */ +export interface DescribeVpnGatewaysRequest { /** - *

      The reason for the state transition. The possible values are as follows:

      + *

      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.

        *
      • *
      * @public */ - StateTransitionReason?: string | undefined; - - /** - *

      The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

      - * @public - */ - OwnerId?: string | undefined; + Filters?: Filter[] | undefined; /** - *

      The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

      + *

      One or more virtual private gateway IDs.

      + *

      Default: Describes all your virtual private gateways.

      * @public */ - OwnerAlias?: string | undefined; + VpnGatewayIds?: string[] | undefined; /** - *

      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.

      * @public */ - EnablingTime?: Date | undefined; + DryRun?: boolean | undefined; +} +/** + *

      Contains the output of DescribeVpnGateways.

      + * @public + */ +export interface DescribeVpnGatewaysResult { /** - *

      The time at which fast snapshot restores entered the optimizing state.

      + *

      Information about one or more virtual private gateways.

      * @public */ - OptimizingTime?: Date | undefined; + VpnGateways?: VpnGateway[] | undefined; +} +/** + * @public + */ +export interface DetachClassicLinkVpcRequest { /** - *

      The time at which fast snapshot restores entered the enabled 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.

      * @public */ - EnabledTime?: Date | undefined; + DryRun?: boolean | undefined; /** - *

      The time at which fast snapshot restores entered the disabling state.

      + *

      The ID of the instance to unlink from the VPC.

      * @public */ - DisablingTime?: Date | undefined; + InstanceId: string | undefined; /** - *

      The time at which fast snapshot restores entered the disabled state.

      + *

      The ID of the VPC to which the instance is linked.

      * @public */ - DisabledTime?: Date | undefined; + VpcId: string | undefined; } /** - *

      Describes an error that occurred when disabling fast snapshot restores.

      * @public */ -export interface DisableFastSnapshotRestoreStateError { - /** - *

      The error code.

      - * @public - */ - Code?: string | undefined; - +export interface DetachClassicLinkVpcResult { /** - *

      The error message.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - Message?: string | undefined; + Return?: boolean | undefined; } /** - *

      Contains information about an error that occurred when disabling fast snapshot restores.

      * @public */ -export interface DisableFastSnapshotRestoreStateErrorItem { +export interface DetachInternetGatewayRequest { /** - *

      The 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.

      * @public */ - AvailabilityZone?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The error.

      + *

      The ID of the internet gateway.

      * @public */ - Error?: DisableFastSnapshotRestoreStateError | undefined; + InternetGatewayId: string | undefined; + + /** + *

      The ID of the VPC.

      + * @public + */ + VpcId: string | undefined; } /** - *

      Contains information about the errors that occurred when disabling fast snapshot restores.

      + *

      Contains the parameters for DetachNetworkInterface.

      * @public */ -export interface DisableFastSnapshotRestoreErrorItem { +export interface DetachNetworkInterfaceRequest { /** - *

      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.

      * @public */ - SnapshotId?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The errors.

      + *

      The ID of the attachment.

      * @public */ - FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[] | undefined; + AttachmentId: string | undefined; + + /** + *

      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.

        + *
      • + *
      + *
      + * @public + */ + Force?: boolean | undefined; } /** * @public */ -export interface DisableFastSnapshotRestoresResult { +export interface DetachVerifiedAccessTrustProviderRequest { /** - *

      Information about the snapshots for which fast snapshot restores were successfully disabled.

      + *

      The ID of the Verified Access instance.

      * @public */ - Successful?: DisableFastSnapshotRestoreSuccessItem[] | undefined; + VerifiedAccessInstanceId: string | undefined; /** - *

      Information about the snapshots for which fast snapshot restores could not be disabled.

      + *

      The ID of the Verified Access trust provider.

      * @public */ - Unsuccessful?: DisableFastSnapshotRestoreErrorItem[] | undefined; -} + VerifiedAccessTrustProviderId: string | undefined; -/** - * @public - */ -export interface DisableImageRequest { /** - *

      The ID of the AMI.

      + *

      A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring idempotency.

      * @public */ - ImageId: string | undefined; + ClientToken?: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -7157,97 +7250,103 @@ export interface DisableImageRequest { /** * @public */ -export interface DisableImageResult { +export interface DetachVerifiedAccessTrustProviderResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      Details about the Verified Access trust provider.

      * @public */ - Return?: boolean | undefined; -} + VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider | undefined; -/** - * @public - */ -export interface DisableImageBlockPublicAccessRequest { /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + *

      Details about the Verified Access instance.

      * @public */ - DryRun?: boolean | undefined; + VerifiedAccessInstance?: VerifiedAccessInstance | undefined; } /** * @public - * @enum */ -export const ImageBlockPublicAccessDisabledState = { - unblocked: "unblocked", -} as const; +export interface DetachVolumeRequest { + /** + *

      The device name.

      + * @public + */ + Device?: string | undefined; -/** - * @public - */ -export type ImageBlockPublicAccessDisabledState = - (typeof ImageBlockPublicAccessDisabledState)[keyof typeof ImageBlockPublicAccessDisabledState]; + /** + *

      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.

      + * @public + */ + Force?: boolean | undefined; -/** - * @public - */ -export interface DisableImageBlockPublicAccessResult { /** - *

      Returns unblocked if the request succeeds; otherwise, it returns an - * error.

      + *

      The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

      * @public */ - ImageBlockPublicAccessState?: ImageBlockPublicAccessDisabledState | undefined; -} + InstanceId?: string | undefined; -/** - * @public - */ -export interface DisableImageDeprecationRequest { /** - *

      The ID of the AMI.

      + *

      The ID of the volume.

      * @public */ - ImageId: string | undefined; + VolumeId: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; } /** + *

      Contains the parameters for DetachVpnGateway.

      * @public */ -export interface DisableImageDeprecationResult { +export interface DetachVpnGatewayRequest { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      The ID of the VPC.

      * @public */ - Return?: boolean | undefined; + VpcId: string | undefined; + + /** + *

      The ID of the virtual private gateway.

      + * @public + */ + VpnGatewayId: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; } /** * @public */ -export interface DisableImageDeregistrationProtectionRequest { +export interface DisableAddressTransferRequest { /** - *

      The ID of the AMI.

      + *

      The allocation ID of an Elastic IP address.

      * @public */ - ImageId: string | undefined; + AllocationId: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -7256,50 +7355,46 @@ export interface DisableImageDeregistrationProtectionRequest { /** * @public */ -export interface DisableImageDeregistrationProtectionResult { +export interface DisableAddressTransferResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      An Elastic IP address transfer.

      * @public */ - Return?: string | undefined; + AddressTransfer?: AddressTransfer | undefined; } /** * @public */ -export interface DisableIpamOrganizationAdminAccountRequest { +export interface DisableAwsNetworkPerformanceMetricSubscriptionRequest { /** - *

      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 source Region or Availability Zone that the metric subscription is disabled for. For example, us-east-1.

      * @public */ - DryRun?: boolean | undefined; + Source?: string | undefined; /** - *

      The Organizations member account ID that you want to disable as IPAM account.

      + *

      The target Region or Availability Zone that the metric subscription is disabled for. For example, eu-north-1.

      * @public */ - DelegatedAdminAccountId: string | undefined; -} + Destination?: string | undefined; -/** - * @public - */ -export interface DisableIpamOrganizationAdminAccountResult { /** - *

      The result of disabling the IPAM account.

      + *

      The metric used for the disabled subscription.

      + * @public + */ + Metric?: MetricType | undefined; + + /** + *

      The statistic used for the disabled subscription.

      * @public */ - Success?: boolean | undefined; -} + Statistic?: StatisticType | undefined; -/** - * @public - */ -export interface DisableSerialConsoleAccessRequest { /** - *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ DryRun?: boolean | undefined; @@ -7308,20 +7403,18 @@ export interface DisableSerialConsoleAccessRequest { /** * @public */ -export interface DisableSerialConsoleAccessResult { +export interface DisableAwsNetworkPerformanceMetricSubscriptionResult { /** - *

      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.

      + *

      Indicates whether the unsubscribe action was successful.

      * @public */ - SerialConsoleAccessEnabled?: boolean | undefined; + Output?: boolean | undefined; } /** * @public */ -export interface DisableSnapshotBlockPublicAccessRequest { +export interface DisableEbsEncryptionByDefaultRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -7331,330 +7424,301 @@ export interface DisableSnapshotBlockPublicAccessRequest { DryRun?: boolean | undefined; } -/** - * @public - * @enum - */ -export const SnapshotBlockPublicAccessState = { - block_all_sharing: "block-all-sharing", - block_new_sharing: "block-new-sharing", - unblocked: "unblocked", -} as const; - -/** - * @public - */ -export type SnapshotBlockPublicAccessState = - (typeof SnapshotBlockPublicAccessState)[keyof typeof SnapshotBlockPublicAccessState]; - /** * @public */ -export interface DisableSnapshotBlockPublicAccessResult { +export interface DisableEbsEncryptionByDefaultResult { /** - *

      Returns unblocked if the request succeeds.

      + *

      The updated status of encryption by default.

      * @public */ - State?: SnapshotBlockPublicAccessState | undefined; + EbsEncryptionByDefault?: boolean | undefined; } /** * @public */ -export interface DisableTransitGatewayRouteTablePropagationRequest { +export interface DisableFastLaunchRequest { /** - *

      The ID of the propagation route table.

      + *

      Specify the ID of the image for which to disable Windows fast launch.

      * @public */ - TransitGatewayRouteTableId: string | undefined; + ImageId: string | undefined; /** - *

      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.

      * @public */ - TransitGatewayAttachmentId?: string | undefined; + Force?: boolean | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; - - /** - *

      The ID of the route table announcement.

      - * @public - */ - TransitGatewayRouteTableAnnouncementId?: string | undefined; } /** * @public - * @enum */ -export const TransitGatewayPropagationState = { - disabled: "disabled", - disabling: "disabling", - enabled: "enabled", - enabling: "enabling", -} as const; +export interface DisableFastLaunchResult { + /** + *

      The ID of the image for which Windows fast launch was disabled.

      + * @public + */ + ImageId?: string | undefined; -/** - * @public - */ -export type TransitGatewayPropagationState = - (typeof TransitGatewayPropagationState)[keyof typeof TransitGatewayPropagationState]; + /** + *

      The pre-provisioning resource type that must be cleaned after turning off Windows fast + * launch for the Windows AMI. Supported values include: snapshot.

      + * @public + */ + ResourceType?: FastLaunchResourceType | undefined; -/** - *

      Describes route propagation.

      - * @public - */ -export interface TransitGatewayPropagation { /** - *

      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.

      * @public */ - TransitGatewayAttachmentId?: string | undefined; + SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse | undefined; /** - *

      The ID of the resource.

      + *

      The launch template that was used to launch Windows instances from pre-provisioned + * snapshots.

      * @public */ - ResourceId?: string | undefined; + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse | undefined; /** - *

      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.

      * @public */ - ResourceType?: TransitGatewayAttachmentResourceType | undefined; + MaxParallelLaunches?: number | undefined; /** - *

      The ID of the transit gateway route table.

      + *

      The owner of the Windows AMI for which Windows fast launch was disabled.

      * @public */ - TransitGatewayRouteTableId?: string | undefined; + OwnerId?: string | undefined; /** - *

      The state.

      + *

      The current state of Windows fast launch for the specified Windows AMI.

      * @public */ - State?: TransitGatewayPropagationState | undefined; + State?: FastLaunchStateCode | undefined; /** - *

      The ID of the transit gateway route table announcement.

      + *

      The reason that the state changed for Windows fast launch for the Windows AMI.

      * @public */ - TransitGatewayRouteTableAnnouncementId?: string | undefined; -} + StateTransitionReason?: string | undefined; -/** - * @public - */ -export interface DisableTransitGatewayRouteTablePropagationResult { /** - *

      Information about route propagation.

      + *

      The time that the state changed for Windows fast launch for the Windows AMI.

      * @public */ - Propagation?: TransitGatewayPropagation | undefined; + StateTransitionTime?: Date | undefined; } /** - *

      Contains the parameters for DisableVgwRoutePropagation.

      * @public */ -export interface DisableVgwRoutePropagationRequest { +export interface DisableFastSnapshotRestoresRequest { /** - *

      The ID of the virtual private gateway.

      + *

      One or more Availability Zones. For example, us-east-2a.

      * @public */ - GatewayId: string | undefined; + AvailabilityZones: string[] | undefined; /** - *

      The ID of the route table.

      + *

      The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

      * @public */ - RouteTableId: string | undefined; + SourceSnapshotIds: string[] | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; } /** + *

      Describes fast snapshot restores that were successfully disabled.

      * @public */ -export interface DisableVpcClassicLinkRequest { +export interface DisableFastSnapshotRestoreSuccessItem { /** - *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ - DryRun?: boolean | undefined; + SnapshotId?: string | undefined; /** - *

      The ID of the VPC.

      + *

      The Availability Zone.

      * @public */ - VpcId: string | undefined; -} + AvailabilityZone?: string | undefined; -/** - * @public - */ -export interface DisableVpcClassicLinkResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      The state of fast snapshot restores for the snapshot.

      * @public */ - Return?: boolean | undefined; -} + State?: FastSnapshotRestoreStateCode | undefined; -/** - * @public - */ -export interface DisableVpcClassicLinkDnsSupportRequest { /** - *

      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.

        + *
      • + *
      * @public */ - VpcId?: string | undefined; -} + StateTransitionReason?: string | undefined; -/** - * @public - */ -export interface DisableVpcClassicLinkDnsSupportResult { /** - *

      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.

      * @public */ - Return?: boolean | undefined; -} + OwnerId?: string | undefined; -/** - * @public - */ -export interface DisassociateAddressRequest { /** - *

      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.

      * @public */ - AssociationId?: string | undefined; + OwnerAlias?: string | undefined; /** - *

      Deprecated.

      + *

      The time at which fast snapshot restores entered the enabling state.

      * @public */ - PublicIp?: string | undefined; + EnablingTime?: Date | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The time at which fast snapshot restores entered the optimizing state.

      * @public */ - DryRun?: boolean | undefined; -} + OptimizingTime?: Date | undefined; -/** - * @public - */ -export interface DisassociateCapacityReservationBillingOwnerRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 enabled state.

      * @public */ - DryRun?: boolean | undefined; + EnabledTime?: Date | undefined; /** - *

      The ID of the Capacity Reservation.

      + *

      The time at which fast snapshot restores entered the disabling state.

      * @public */ - CapacityReservationId: string | undefined; + DisablingTime?: Date | undefined; /** - *

      The ID of the consumer account to which the request was sent.

      + *

      The time at which fast snapshot restores entered the disabled state.

      * @public */ - UnusedReservationBillingOwnerId: string | undefined; + DisabledTime?: Date | undefined; } /** + *

      Describes an error that occurred when disabling fast snapshot restores.

      * @public */ -export interface DisassociateCapacityReservationBillingOwnerResult { +export interface DisableFastSnapshotRestoreStateError { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      The error code.

      * @public */ - Return?: boolean | undefined; + Code?: string | undefined; + + /** + *

      The error message.

      + * @public + */ + Message?: string | undefined; } /** + *

      Contains information about an error that occurred when disabling fast snapshot restores.

      * @public */ -export interface DisassociateClientVpnTargetNetworkRequest { +export interface DisableFastSnapshotRestoreStateErrorItem { /** - *

      The ID of the Client VPN endpoint from which to disassociate the target network.

      + *

      The Availability Zone.

      * @public */ - ClientVpnEndpointId: string | undefined; + AvailabilityZone?: string | undefined; + + /** + *

      The error.

      + * @public + */ + Error?: DisableFastSnapshotRestoreStateError | undefined; +} +/** + *

      Contains information about the errors that occurred when disabling fast snapshot restores.

      + * @public + */ +export interface DisableFastSnapshotRestoreErrorItem { /** - *

      The ID of the target network association.

      + *

      The ID of the snapshot.

      * @public */ - AssociationId: string | undefined; + SnapshotId?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + *

      The errors.

      * @public */ - DryRun?: boolean | undefined; + FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[] | undefined; } /** * @public */ -export interface DisassociateClientVpnTargetNetworkResult { +export interface DisableFastSnapshotRestoresResult { /** - *

      The ID of the target network association.

      + *

      Information about the snapshots for which fast snapshot restores were successfully disabled.

      * @public */ - AssociationId?: string | undefined; + Successful?: DisableFastSnapshotRestoreSuccessItem[] | undefined; /** - *

      The current state of the target network association.

      + *

      Information about the snapshots for which fast snapshot restores could not be disabled.

      * @public */ - Status?: AssociationStatus | undefined; + Unsuccessful?: DisableFastSnapshotRestoreErrorItem[] | undefined; } /** * @public */ -export interface DisassociateEnclaveCertificateIamRoleRequest { - /** - *

      The ARN of the ACM certificate from which to disassociate the IAM role.

      - * @public - */ - CertificateArn: string | undefined; - +export interface DisableImageRequest { /** - *

      The ARN of the IAM role to disassociate.

      + *

      The ID of the AMI.

      * @public */ - RoleArn: string | undefined; + ImageId: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -7663,7 +7727,7 @@ export interface DisassociateEnclaveCertificateIamRoleRequest { /** * @public */ -export interface DisassociateEnclaveCertificateIamRoleResult { +export interface DisableImageResult { /** *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public @@ -7674,92 +7738,108 @@ export interface DisassociateEnclaveCertificateIamRoleResult { /** * @public */ -export interface DisassociateIamInstanceProfileRequest { +export interface DisableImageBlockPublicAccessRequest { /** - *

      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.

      * @public */ - AssociationId: string | undefined; + DryRun?: boolean | undefined; } /** * @public + * @enum */ -export interface DisassociateIamInstanceProfileResult { - /** - *

      Information about the IAM instance profile association.

      - * @public - */ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation | undefined; -} +export const ImageBlockPublicAccessDisabledState = { + unblocked: "unblocked", +} as const; /** - *

      The targets to disassociate from the specified event window.

      * @public */ -export interface InstanceEventWindowDisassociationRequest { +export type ImageBlockPublicAccessDisabledState = + (typeof ImageBlockPublicAccessDisabledState)[keyof typeof ImageBlockPublicAccessDisabledState]; + +/** + * @public + */ +export interface DisableImageBlockPublicAccessResult { /** - *

      The IDs of the instances to disassociate from the event window.

      + *

      Returns unblocked if the request succeeds; otherwise, it returns an + * error.

      * @public */ - InstanceIds?: string[] | undefined; + ImageBlockPublicAccessState?: ImageBlockPublicAccessDisabledState | undefined; +} +/** + * @public + */ +export interface DisableImageDeprecationRequest { /** - *

      The instance tags to disassociate from the event window. Any instances associated with - * the tags will be disassociated from the event window.

      + *

      The ID of the AMI.

      * @public */ - InstanceTags?: Tag[] | undefined; + ImageId: string | undefined; /** - *

      The IDs of the Dedicated Hosts to disassociate from 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.

      * @public */ - DedicatedHostIds?: string[] | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DisassociateInstanceEventWindowRequest { +export interface DisableImageDeprecationResult { /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - DryRun?: boolean | undefined; + Return?: boolean | undefined; +} +/** + * @public + */ +export interface DisableImageDeregistrationProtectionRequest { /** - *

      The ID of the event window.

      + *

      The ID of the AMI.

      * @public */ - InstanceEventWindowId: string | undefined; + ImageId: string | undefined; /** - *

      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.

      * @public */ - AssociationTarget: InstanceEventWindowDisassociationRequest | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface DisassociateInstanceEventWindowResult { +export interface DisableImageDeregistrationProtectionResult { /** - *

      Information about the event window.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - InstanceEventWindow?: InstanceEventWindow | undefined; + Return?: string | undefined; } /** * @public */ -export interface DisassociateIpamByoasnRequest { +export interface DisableIpamOrganizationAdminAccountRequest { /** - *

      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.

      * @public @@ -7767,80 +7847,102 @@ export interface DisassociateIpamByoasnRequest { DryRun?: boolean | undefined; /** - *

      A public 2-byte or 4-byte ASN.

      - * @public - */ - Asn: string | undefined; - - /** - *

      A BYOIP CIDR.

      + *

      The Organizations member account ID that you want to disable as IPAM account.

      * @public */ - Cidr: string | undefined; + DelegatedAdminAccountId: string | undefined; } /** * @public */ -export interface DisassociateIpamByoasnResult { +export interface DisableIpamOrganizationAdminAccountResult { /** - *

      An ASN and BYOIP CIDR association.

      + *

      The result of disabling the IPAM account.

      * @public */ - AsnAssociation?: AsnAssociation | undefined; + Success?: boolean | undefined; } /** * @public */ -export interface DisassociateIpamResourceDiscoveryRequest { +export interface DisableSerialConsoleAccessRequest { /** - *

      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.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DisableSerialConsoleAccessResult { /** - *

      A resource discovery association ID.

      + *

      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.

      * @public */ - IpamResourceDiscoveryAssociationId: string | undefined; + SerialConsoleAccessEnabled?: boolean | undefined; } /** * @public */ -export interface DisassociateIpamResourceDiscoveryResult { +export interface DisableSnapshotBlockPublicAccessRequest { /** - *

      A resource discovery 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.

      * @public */ - IpamResourceDiscoveryAssociation?: IpamResourceDiscoveryAssociation | undefined; + DryRun?: boolean | undefined; } /** * @public + * @enum */ -export interface DisassociateNatGatewayAddressRequest { +export const SnapshotBlockPublicAccessState = { + block_all_sharing: "block-all-sharing", + block_new_sharing: "block-new-sharing", + unblocked: "unblocked", +} as const; + +/** + * @public + */ +export type SnapshotBlockPublicAccessState = + (typeof SnapshotBlockPublicAccessState)[keyof typeof SnapshotBlockPublicAccessState]; + +/** + * @public + */ +export interface DisableSnapshotBlockPublicAccessResult { /** - *

      The ID of the NAT gateway.

      + *

      Returns unblocked if the request succeeds.

      * @public */ - NatGatewayId: string | undefined; + State?: SnapshotBlockPublicAccessState | undefined; +} +/** + * @public + */ +export interface DisableTransitGatewayRouteTablePropagationRequest { /** - *

      The association IDs of EIPs that have been associated with the NAT gateway.

      + *

      The ID of the propagation route table.

      * @public */ - AssociationIds: string[] | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

      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.

      + *

      The ID of the attachment.

      * @public */ - MaxDrainDurationSeconds?: number | undefined; + TransitGatewayAttachmentId?: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -7849,64 +7951,106 @@ export interface DisassociateNatGatewayAddressRequest { * @public */ DryRun?: boolean | undefined; + + /** + *

      The ID of the route table announcement.

      + * @public + */ + TransitGatewayRouteTableAnnouncementId?: string | undefined; } /** * @public + * @enum */ -export interface DisassociateNatGatewayAddressResult { +export const TransitGatewayPropagationState = { + disabled: "disabled", + disabling: "disabling", + enabled: "enabled", + enabling: "enabling", +} as const; + +/** + * @public + */ +export type TransitGatewayPropagationState = + (typeof TransitGatewayPropagationState)[keyof typeof TransitGatewayPropagationState]; + +/** + *

      Describes route propagation.

      + * @public + */ +export interface TransitGatewayPropagation { /** - *

      The ID of the NAT gateway.

      + *

      The ID of the attachment.

      * @public */ - NatGatewayId?: string | undefined; + TransitGatewayAttachmentId?: string | undefined; /** - *

      Information about the NAT gateway IP addresses.

      + *

      The ID of the resource.

      * @public */ - NatGatewayAddresses?: NatGatewayAddress[] | undefined; -} + ResourceId?: string | undefined; -/** - * @public - */ -export interface DisassociateRouteTableRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 resource type. Note that the tgw-peering resource type has been deprecated.

      + * @public + */ + ResourceType?: TransitGatewayAttachmentResourceType | undefined; + + /** + *

      The ID of the transit gateway route table.

      + * @public + */ + TransitGatewayRouteTableId?: string | undefined; + + /** + *

      The state.

      + * @public + */ + State?: TransitGatewayPropagationState | undefined; + + /** + *

      The ID of the transit gateway route table announcement.

      * @public */ - DryRun?: boolean | undefined; + TransitGatewayRouteTableAnnouncementId?: string | undefined; +} +/** + * @public + */ +export interface DisableTransitGatewayRouteTablePropagationResult { /** - *

      The association ID representing the current association between the route table and subnet or gateway.

      + *

      Information about route propagation.

      * @public */ - AssociationId: string | undefined; + Propagation?: TransitGatewayPropagation | undefined; } /** + *

      Contains the parameters for DisableVgwRoutePropagation.

      * @public */ -export interface DisassociateSecurityGroupVpcRequest { +export interface DisableVgwRoutePropagationRequest { /** - *

      A security group ID.

      + *

      The ID of the virtual private gateway.

      * @public */ - GroupId: string | undefined; + GatewayId: string | undefined; /** - *

      A VPC ID.

      + *

      The ID of the route table.

      * @public */ - VpcId: string | undefined; + RouteTableId: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -7915,63 +8059,70 @@ export interface DisassociateSecurityGroupVpcRequest { /** * @public */ -export interface DisassociateSecurityGroupVpcResult { +export interface DisableVpcClassicLinkRequest { /** - *

      The state of the disassociation.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - State?: SecurityGroupVpcAssociationState | undefined; -} + DryRun?: boolean | undefined; -/** - * @public - */ -export interface DisassociateSubnetCidrBlockRequest { /** - *

      The association ID for the CIDR block.

      + *

      The ID of the VPC.

      * @public */ - AssociationId: string | undefined; + VpcId: string | undefined; } /** * @public */ -export interface DisassociateSubnetCidrBlockResult { +export interface DisableVpcClassicLinkResult { /** - *

      Information about the IPv6 CIDR block association.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation | undefined; + Return?: boolean | undefined; +} +/** + * @public + */ +export interface DisableVpcClassicLinkDnsSupportRequest { /** - *

      The ID of the subnet.

      + *

      The ID of the VPC.

      * @public */ - SubnetId?: string | undefined; + VpcId?: string | undefined; } /** * @public */ -export interface DisassociateTransitGatewayMulticastDomainRequest { +export interface DisableVpcClassicLinkDnsSupportResult { /** - *

      The ID of the transit gateway multicast domain.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - TransitGatewayMulticastDomainId: string | undefined; + Return?: boolean | undefined; +} +/** + * @public + */ +export interface DisassociateAddressRequest { /** - *

      The ID of the attachment.

      + *

      The association ID. This parameter is required.

      * @public */ - TransitGatewayAttachmentId: string | undefined; + AssociationId?: string | undefined; /** - *

      The IDs of the subnets;

      + *

      Deprecated.

      * @public */ - SubnetIds: string[] | undefined; + PublicIp?: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -7985,70 +8136,55 @@ export interface DisassociateTransitGatewayMulticastDomainRequest { /** * @public */ -export interface DisassociateTransitGatewayMulticastDomainResult { - /** - *

      Information about the association.

      - * @public - */ - Associations?: TransitGatewayMulticastDomainAssociations | undefined; -} - -/** - * @public - */ -export interface DisassociateTransitGatewayPolicyTableRequest { +export interface DisassociateCapacityReservationBillingOwnerRequest { /** - *

      The ID of the disassociated 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.

      * @public */ - TransitGatewayPolicyTableId: string | undefined; + DryRun?: boolean | undefined; /** - *

      The ID of the transit gateway attachment to disassociate from the policy table.

      + *

      The ID of the Capacity Reservation.

      * @public */ - TransitGatewayAttachmentId: string | undefined; + CapacityReservationId: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The ID of the consumer account to which the request was sent.

      * @public */ - DryRun?: boolean | undefined; + UnusedReservationBillingOwnerId: string | undefined; } /** * @public */ -export interface DisassociateTransitGatewayPolicyTableResult { +export interface DisassociateCapacityReservationBillingOwnerResult { /** - *

      Returns details about the transit gateway policy table disassociation.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - Association?: TransitGatewayPolicyTableAssociation | undefined; + Return?: boolean | undefined; } /** * @public */ -export interface DisassociateTransitGatewayRouteTableRequest { +export interface DisassociateClientVpnTargetNetworkRequest { /** - *

      The ID of the transit gateway route table.

      + *

      The ID of the Client VPN endpoint from which to disassociate the target network.

      * @public */ - TransitGatewayRouteTableId: string | undefined; + ClientVpnEndpointId: string | undefined; /** - *

      The ID of the attachment.

      + *

      The ID of the target network association.

      * @public */ - TransitGatewayAttachmentId: string | undefined; + AssociationId: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -8057,36 +8193,38 @@ export interface DisassociateTransitGatewayRouteTableRequest { /** * @public */ -export interface DisassociateTransitGatewayRouteTableResult { +export interface DisassociateClientVpnTargetNetworkResult { /** - *

      Information about the association.

      + *

      The ID of the target network association.

      * @public */ - Association?: TransitGatewayAssociation | undefined; + AssociationId?: string | undefined; + + /** + *

      The current state of the target network association.

      + * @public + */ + Status?: AssociationStatus | undefined; } /** * @public */ -export interface DisassociateTrunkInterfaceRequest { +export interface DisassociateEnclaveCertificateIamRoleRequest { /** - *

      The ID of the association

      + *

      The ARN of the ACM certificate from which to disassociate the IAM role.

      * @public */ - AssociationId: string | undefined; + CertificateArn: string | undefined; /** - *

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * idempotency.

      + *

      The ARN of the IAM role to disassociate.

      * @public */ - ClientToken?: string | undefined; + RoleArn: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -8095,120 +8233,101 @@ export interface DisassociateTrunkInterfaceRequest { /** * @public */ -export interface DisassociateTrunkInterfaceResult { +export interface DisassociateEnclaveCertificateIamRoleResult { /** *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ Return?: boolean | undefined; +} +/** + * @public + */ +export interface DisassociateIamInstanceProfileRequest { /** - *

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * idempotency.

      + *

      The ID of the IAM instance profile association.

      * @public */ - ClientToken?: string | undefined; + AssociationId: string | undefined; } /** * @public */ -export interface DisassociateVpcCidrBlockRequest { +export interface DisassociateIamInstanceProfileResult { /** - *

      The association ID for the CIDR block.

      + *

      Information about the IAM instance profile association.

      * @public */ - AssociationId: string | undefined; + IamInstanceProfileAssociation?: IamInstanceProfileAssociation | undefined; } /** + *

      The targets to disassociate from the specified event window.

      * @public */ -export interface DisassociateVpcCidrBlockResult { +export interface InstanceEventWindowDisassociationRequest { /** - *

      Information about the IPv6 CIDR block association.

      + *

      The IDs of the instances to disassociate from the event window.

      * @public */ - Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation | undefined; + InstanceIds?: string[] | undefined; /** - *

      Information about the IPv4 CIDR block association.

      + *

      The instance tags to disassociate from the event window. Any instances associated with + * the tags will be disassociated from the event window.

      * @public */ - CidrBlockAssociation?: VpcCidrBlockAssociation | undefined; + InstanceTags?: Tag[] | undefined; /** - *

      The ID of the VPC.

      + *

      The IDs of the Dedicated Hosts to disassociate from the event window.

      * @public */ - VpcId?: string | undefined; + DedicatedHostIds?: string[] | undefined; } /** * @public */ -export interface EnableAddressTransferRequest { +export interface DisassociateInstanceEventWindowRequest { /** - *

      The allocation ID of an Elastic 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.

      * @public */ - AllocationId: string | undefined; + DryRun?: boolean | undefined; /** - *

      The ID of the account that you want to transfer the Elastic IP address to.

      + *

      The ID of the event window.

      * @public */ - TransferAccountId: string | undefined; + InstanceEventWindowId: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      One or more targets to disassociate from the specified event window.

      * @public */ - DryRun?: boolean | undefined; + AssociationTarget: InstanceEventWindowDisassociationRequest | undefined; } /** * @public */ -export interface EnableAddressTransferResult { +export interface DisassociateInstanceEventWindowResult { /** - *

      An Elastic IP address transfer.

      + *

      Information about the event window.

      * @public */ - AddressTransfer?: AddressTransfer | undefined; + InstanceEventWindow?: InstanceEventWindow | undefined; } /** * @public */ -export interface EnableAwsNetworkPerformanceMetricSubscriptionRequest { - /** - *

      The source Region (like us-east-1) or Availability Zone ID (like use1-az1) that the metric subscription is enabled for. If you use Availability Zone IDs, the Source and Destination Availability Zones must be in the same Region.

      - * @public - */ - Source?: string | undefined; - - /** - *

      The target Region (like us-east-2) or Availability Zone ID (like use2-az2) that the metric subscription is enabled for. If you use Availability Zone IDs, the Source and Destination Availability Zones must be in the same Region.

      - * @public - */ - Destination?: string | undefined; - - /** - *

      The metric used for the enabled subscription.

      - * @public - */ - Metric?: MetricType | undefined; - - /** - *

      The statistic used for the enabled subscription.

      - * @public - */ - Statistic?: StatisticType | undefined; - +export interface DisassociateIpamByoasnRequest { /** *

      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -8216,213 +8335,213 @@ export interface EnableAwsNetworkPerformanceMetricSubscriptionRequest { * @public */ DryRun?: boolean | undefined; -} -/** - * @public - */ -export interface EnableAwsNetworkPerformanceMetricSubscriptionResult { /** - *

      Indicates whether the subscribe action was successful.

      + *

      A public 2-byte or 4-byte ASN.

      * @public */ - Output?: boolean | undefined; -} - -/** - * @public - */ -export interface EnableEbsEncryptionByDefaultRequest { + Asn: string | undefined; + /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      A BYOIP CIDR.

      * @public */ - DryRun?: boolean | undefined; + Cidr: string | undefined; } /** * @public */ -export interface EnableEbsEncryptionByDefaultResult { +export interface DisassociateIpamByoasnResult { /** - *

      The updated status of encryption by default.

      + *

      An ASN and BYOIP CIDR association.

      * @public */ - EbsEncryptionByDefault?: boolean | undefined; + AsnAssociation?: AsnAssociation | undefined; } /** - *

      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.

      - *
      * @public */ -export interface FastLaunchLaunchTemplateSpecificationRequest { - /** - *

      Specify the ID of the launch template that the AMI should use for Windows fast launch.

      - * @public - */ - LaunchTemplateId?: string | undefined; - +export interface DisassociateIpamResourceDiscoveryRequest { /** - *

      Specify the name of the launch template that the AMI should use 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.

      * @public */ - LaunchTemplateName?: string | undefined; + DryRun?: boolean | undefined; /** - *

      Specify the version of the launch template that the AMI should use for Windows fast launch.

      + *

      A resource discovery association ID.

      * @public */ - Version: string | undefined; + IpamResourceDiscoveryAssociationId: string | undefined; } /** - *

      Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch - * enabled AMI.

      * @public */ -export interface FastLaunchSnapshotConfigurationRequest { +export interface DisassociateIpamResourceDiscoveryResult { /** - *

      The number of pre-provisioned snapshots to keep on hand for a Windows fast launch - * enabled AMI.

      + *

      A resource discovery association.

      * @public */ - TargetResourceCount?: number | undefined; + IpamResourceDiscoveryAssociation?: IpamResourceDiscoveryAssociation | undefined; } /** * @public */ -export interface EnableFastLaunchRequest { +export interface DisassociateNatGatewayAddressRequest { /** - *

      Specify the ID of the image for which to enable Windows fast launch.

      + *

      The ID of the NAT gateway.

      * @public */ - ImageId: string | undefined; + NatGatewayId: string | undefined; /** - *

      The type of resource to use for pre-provisioning the AMI for Windows fast launch. - * Supported values include: snapshot, which is the default value.

      + *

      The association IDs of EIPs that have been associated with the NAT gateway.

      * @public */ - ResourceType?: string | undefined; + AssociationIds: string[] | undefined; /** - *

      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.

      + *

      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.

      * @public */ - SnapshotConfiguration?: FastLaunchSnapshotConfigurationRequest | undefined; + MaxDrainDurationSeconds?: number | undefined; /** - *

      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.

      * @public */ - LaunchTemplate?: FastLaunchLaunchTemplateSpecificationRequest | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DisassociateNatGatewayAddressResult { /** - *

      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.

      + *

      The ID of the NAT gateway.

      * @public */ - MaxParallelLaunches?: number | undefined; + NatGatewayId?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + *

      Information about the NAT gateway IP addresses.

      * @public */ - DryRun?: boolean | undefined; + NatGatewayAddresses?: NatGatewayAddress[] | undefined; } /** * @public */ -export interface EnableFastLaunchResult { +export interface DisassociateRouteTableRequest { /** - *

      The image ID that identifies the AMI for which Windows fast launch was enabled.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - ImageId?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The type of resource that was defined for pre-provisioning the AMI for Windows fast launch.

      + *

      The association ID representing the current association between the route table and subnet or gateway.

      * @public */ - ResourceType?: FastLaunchResourceType | undefined; + AssociationId: string | undefined; +} +/** + * @public + */ +export interface DisassociateSecurityGroupVpcRequest { /** - *

      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 security group ID.

      * @public */ - SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse | undefined; + GroupId: string | undefined; /** - *

      The launch template that is used when launching Windows instances from pre-provisioned snapshots.

      + *

      A VPC ID.

      * @public */ - LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse | undefined; + VpcId: string | undefined; /** - *

      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.

      * @public */ - MaxParallelLaunches?: number | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DisassociateSecurityGroupVpcResult { /** - *

      The owner ID for the AMI for which Windows fast launch was enabled.

      + *

      The state of the disassociation.

      * @public */ - OwnerId?: string | undefined; + State?: SecurityGroupVpcAssociationState | undefined; +} +/** + * @public + */ +export interface DisassociateSubnetCidrBlockRequest { /** - *

      The current state of Windows fast launch for the specified AMI.

      + *

      The association ID for the CIDR block.

      * @public */ - State?: FastLaunchStateCode | undefined; + AssociationId: string | undefined; +} +/** + * @public + */ +export interface DisassociateSubnetCidrBlockResult { /** - *

      The reason that the state changed for Windows fast launch for the AMI.

      + *

      Information about the IPv6 CIDR block association.

      * @public */ - StateTransitionReason?: string | undefined; + Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation | undefined; /** - *

      The time that the state changed for Windows fast launch for the AMI.

      + *

      The ID of the subnet.

      * @public */ - StateTransitionTime?: Date | undefined; + SubnetId?: string | undefined; } /** * @public */ -export interface EnableFastSnapshotRestoresRequest { +export interface DisassociateTransitGatewayMulticastDomainRequest { /** - *

      One or more Availability Zones. For example, us-east-2a.

      + *

      The ID of the transit gateway multicast domain.

      * @public */ - AvailabilityZones: string[] | undefined; + TransitGatewayMulticastDomainId: string | undefined; /** - *

      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 ID of the attachment.

      * @public */ - SourceSnapshotIds: string[] | undefined; + TransitGatewayAttachmentId: string | undefined; + + /** + *

      The IDs of the subnets;

      + * @public + */ + SubnetIds: string[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8434,174 +8553,188 @@ export interface EnableFastSnapshotRestoresRequest { } /** - *

      Describes fast snapshot restores that were successfully enabled.

      * @public */ -export interface EnableFastSnapshotRestoreSuccessItem { - /** - *

      The ID of the snapshot.

      - * @public - */ - SnapshotId?: string | undefined; - - /** - *

      The Availability Zone.

      - * @public - */ - AvailabilityZone?: string | undefined; - +export interface DisassociateTransitGatewayMulticastDomainResult { /** - *

      The state of fast snapshot restores.

      + *

      Information about the association.

      * @public */ - State?: FastSnapshotRestoreStateCode | undefined; + Associations?: TransitGatewayMulticastDomainAssociations | undefined; +} +/** + * @public + */ +export interface DisassociateTransitGatewayPolicyTableRequest { /** - *

      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 disassociated policy table.

      * @public */ - StateTransitionReason?: string | undefined; + TransitGatewayPolicyTableId: string | undefined; /** - *

      The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

      + *

      The ID of the transit gateway attachment to disassociate from the policy table.

      * @public */ - OwnerId?: string | undefined; + TransitGatewayAttachmentId: string | undefined; /** - *

      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.

      * @public */ - OwnerAlias?: string | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DisassociateTransitGatewayPolicyTableResult { /** - *

      The time at which fast snapshot restores entered the enabling state.

      + *

      Returns details about the transit gateway policy table disassociation.

      * @public */ - EnablingTime?: Date | undefined; + Association?: TransitGatewayPolicyTableAssociation | undefined; +} +/** + * @public + */ +export interface DisassociateTransitGatewayRouteTableRequest { /** - *

      The time at which fast snapshot restores entered the optimizing state.

      + *

      The ID of the transit gateway route table.

      * @public */ - OptimizingTime?: Date | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

      The time at which fast snapshot restores entered the enabled state.

      + *

      The ID of the attachment.

      * @public */ - EnabledTime?: Date | undefined; + TransitGatewayAttachmentId: string | undefined; /** - *

      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.

      * @public */ - DisablingTime?: Date | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface DisassociateTransitGatewayRouteTableResult { /** - *

      The time at which fast snapshot restores entered the disabled state.

      + *

      Information about the association.

      * @public */ - DisabledTime?: Date | undefined; + Association?: TransitGatewayAssociation | undefined; } /** - *

      Describes an error that occurred when enabling fast snapshot restores.

      * @public */ -export interface EnableFastSnapshotRestoreStateError { +export interface DisassociateTrunkInterfaceRequest { /** - *

      The error code.

      + *

      The ID of the association

      * @public */ - Code?: string | undefined; + AssociationId: string | undefined; /** - *

      The error message.

      + *

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * idempotency.

      * @public */ - Message?: string | undefined; + ClientToken?: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; } /** - *

      Contains information about an error that occurred when enabling fast snapshot restores.

      * @public */ -export interface EnableFastSnapshotRestoreStateErrorItem { +export interface DisassociateTrunkInterfaceResult { /** - *

      The Availability Zone.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - AvailabilityZone?: string | undefined; + Return?: boolean | undefined; /** - *

      The error.

      + *

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * idempotency.

      * @public */ - Error?: EnableFastSnapshotRestoreStateError | undefined; + ClientToken?: string | undefined; } /** - *

      Contains information about the errors that occurred when enabling fast snapshot restores.

      * @public */ -export interface EnableFastSnapshotRestoreErrorItem { - /** - *

      The ID of the snapshot.

      - * @public - */ - SnapshotId?: string | undefined; - +export interface DisassociateVpcCidrBlockRequest { /** - *

      The errors.

      + *

      The association ID for the CIDR block.

      * @public */ - FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[] | undefined; + AssociationId: string | undefined; } /** * @public */ -export interface EnableFastSnapshotRestoresResult { +export interface DisassociateVpcCidrBlockResult { /** - *

      Information about the snapshots for which fast snapshot restores were successfully enabled.

      + *

      Information about the IPv6 CIDR block association.

      * @public */ - Successful?: EnableFastSnapshotRestoreSuccessItem[] | undefined; + Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation | undefined; /** - *

      Information about the snapshots for which fast snapshot restores could not be enabled.

      + *

      Information about the IPv4 CIDR block association.

      * @public */ - Unsuccessful?: EnableFastSnapshotRestoreErrorItem[] | undefined; + CidrBlockAssociation?: VpcCidrBlockAssociation | undefined; + + /** + *

      The ID of the VPC.

      + * @public + */ + VpcId?: string | undefined; } /** * @public */ -export interface EnableImageRequest { +export interface EnableAddressTransferRequest { /** - *

      The ID of the AMI.

      + *

      The allocation ID of an Elastic IP address.

      * @public */ - ImageId: string | undefined; + AllocationId: string | undefined; + + /** + *

      The ID of the account that you want to transfer the Elastic IP address to.

      + * @public + */ + TransferAccountId: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -8610,44 +8743,46 @@ export interface EnableImageRequest { /** * @public */ -export interface EnableImageResult { +export interface EnableAddressTransferResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      An Elastic IP address transfer.

      * @public */ - Return?: boolean | undefined; + AddressTransfer?: AddressTransfer | undefined; } /** * @public - * @enum */ -export const ImageBlockPublicAccessEnabledState = { - block_new_sharing: "block-new-sharing", -} as const; +export interface EnableAwsNetworkPerformanceMetricSubscriptionRequest { + /** + *

      The source Region (like us-east-1) or Availability Zone ID (like use1-az1) that the metric subscription is enabled for. If you use Availability Zone IDs, the Source and Destination Availability Zones must be in the same Region.

      + * @public + */ + Source?: string | undefined; -/** - * @public - */ -export type ImageBlockPublicAccessEnabledState = - (typeof ImageBlockPublicAccessEnabledState)[keyof typeof ImageBlockPublicAccessEnabledState]; + /** + *

      The target Region (like us-east-2) or Availability Zone ID (like use2-az2) that the metric subscription is enabled for. If you use Availability Zone IDs, the Source and Destination Availability Zones must be in the same Region.

      + * @public + */ + Destination?: string | undefined; -/** - * @public - */ -export interface EnableImageBlockPublicAccessRequest { /** - *

      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 metric used for the enabled subscription.

      * @public */ - ImageBlockPublicAccessState: ImageBlockPublicAccessEnabledState | undefined; + Metric?: MetricType | undefined; + + /** + *

      The statistic used for the enabled subscription.

      + * @public + */ + Statistic?: StatisticType | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -8656,40 +8791,22 @@ export interface EnableImageBlockPublicAccessRequest { /** * @public */ -export interface EnableImageBlockPublicAccessResult { +export interface EnableAwsNetworkPerformanceMetricSubscriptionResult { /** - *

      Returns block-new-sharing if the request succeeds; otherwise, it returns an - * error.

      + *

      Indicates whether the subscribe action was successful.

      * @public */ - ImageBlockPublicAccessState?: ImageBlockPublicAccessEnabledState | undefined; + Output?: boolean | undefined; } /** * @public */ -export interface EnableImageDeprecationRequest { - /** - *

      The ID of the AMI.

      - * @public - */ - ImageId: string | undefined; - - /** - *

      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.

      - * @public - */ - DeprecateAt: Date | undefined; - +export interface EnableEbsEncryptionByDefaultRequest { /** *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ DryRun?: boolean | undefined; @@ -8698,89 +8815,104 @@ export interface EnableImageDeprecationRequest { /** * @public */ -export interface EnableImageDeprecationResult { +export interface EnableEbsEncryptionByDefaultResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      The updated status of encryption by default.

      * @public */ - Return?: boolean | undefined; + EbsEncryptionByDefault?: boolean | undefined; } /** + *

      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.

      + *
      * @public */ -export interface EnableImageDeregistrationProtectionRequest { +export interface FastLaunchLaunchTemplateSpecificationRequest { /** - *

      The ID of the AMI.

      + *

      Specify the ID of the launch template that the AMI should use for Windows fast + * launch.

      * @public */ - ImageId: string | undefined; + LaunchTemplateId?: string | undefined; /** - *

      If true, enforces deregistration protection for 24 hours after deregistration - * protection is disabled.

      + *

      Specify the name of the launch template that the AMI should use for Windows fast + * launch.

      * @public */ - WithCooldown?: boolean | undefined; + LaunchTemplateName?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + *

      Specify the version of the launch template that the AMI should use for Windows fast + * launch.

      * @public */ - DryRun?: boolean | undefined; + Version: string | undefined; } /** + *

      Configuration settings for creating and managing pre-provisioned snapshots for a Windows + * fast launch enabled AMI.

      * @public */ -export interface EnableImageDeregistrationProtectionResult { +export interface FastLaunchSnapshotConfigurationRequest { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      The number of pre-provisioned snapshots to keep on hand for a Windows fast launch enabled + * AMI.

      * @public */ - Return?: string | undefined; + TargetResourceCount?: number | undefined; } /** * @public */ -export interface EnableIpamOrganizationAdminAccountRequest { +export interface EnableFastLaunchRequest { /** - *

      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.

      + *

      Specify the ID of the image for which to enable Windows fast launch.

      * @public */ - DryRun?: boolean | undefined; + ImageId: string | undefined; /** - *

      The Organizations member account ID that you want to enable as the IPAM account.

      + *

      The type of resource to use for pre-provisioning the AMI for Windows fast launch. + * Supported values include: snapshot, which is the default value.

      * @public */ - DelegatedAdminAccountId: string | undefined; -} + ResourceType?: string | undefined; -/** - * @public - */ -export interface EnableIpamOrganizationAdminAccountResult { /** - *

      The result of enabling the IPAM account.

      + *

      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.

      * @public */ - Success?: boolean | undefined; -} + SnapshotConfiguration?: FastLaunchSnapshotConfigurationRequest | undefined; + + /** + *

      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.

      + * @public + */ + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationRequest | undefined; + + /** + *

      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.

      + * @public + */ + MaxParallelLaunches?: number | undefined; -/** - * @public - */ -export interface EnableReachabilityAnalyzerOrganizationSharingRequest { /** *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ DryRun?: boolean | undefined; @@ -8789,104 +8921,83 @@ export interface EnableReachabilityAnalyzerOrganizationSharingRequest { /** * @public */ -export interface EnableReachabilityAnalyzerOrganizationSharingResult { +export interface EnableFastLaunchResult { /** - *

      Returns true if the request succeeds; otherwise, returns an error.

      + *

      The image ID that identifies the AMI for which Windows fast launch was enabled.

      * @public */ - ReturnValue?: boolean | undefined; -} + ImageId?: string | undefined; -/** - * @public - */ -export interface EnableSerialConsoleAccessRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 type of resource that was defined for pre-provisioning the AMI for Windows fast + * launch.

      * @public */ - DryRun?: boolean | undefined; -} + ResourceType?: FastLaunchResourceType | undefined; -/** - * @public - */ -export interface EnableSerialConsoleAccessResult { /** - *

      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.

      + *

      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.

      * @public */ - SerialConsoleAccessEnabled?: boolean | undefined; -} + SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse | undefined; -/** - * @public - */ -export interface EnableSnapshotBlockPublicAccessRequest { /** - *

      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.

        - *
      • - *
      • - *

        - * 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.

        - *
      • - *
      - *

      - * unblocked is not a valid value for EnableSnapshotBlockPublicAccess.

      + *

      The launch template that is used when launching Windows instances from pre-provisioned + * snapshots.

      + * @public + */ + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse | undefined; + + /** + *

      The maximum number of instances that Amazon EC2 can launch at the same time to create + * pre-provisioned snapshots for Windows fast launch.

      * @public */ - State: SnapshotBlockPublicAccessState | undefined; + MaxParallelLaunches?: number | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The owner ID for the AMI for which Windows fast launch was enabled.

      * @public */ - DryRun?: boolean | undefined; -} + OwnerId?: string | undefined; -/** - * @public - */ -export interface EnableSnapshotBlockPublicAccessResult { /** - *

      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 current state of Windows fast launch for the specified AMI.

      * @public */ - State?: SnapshotBlockPublicAccessState | undefined; + State?: FastLaunchStateCode | undefined; + + /** + *

      The reason that the state changed for Windows fast launch for the AMI.

      + * @public + */ + StateTransitionReason?: string | undefined; + + /** + *

      The time that the state changed for Windows fast launch for the AMI.

      + * @public + */ + StateTransitionTime?: Date | undefined; } /** * @public */ -export interface EnableTransitGatewayRouteTablePropagationRequest { +export interface EnableFastSnapshotRestoresRequest { /** - *

      The ID of the propagation route table.

      + *

      One or more Availability Zones. For example, us-east-2a.

      * @public */ - TransitGatewayRouteTableId: string | undefined; + AvailabilityZones: string[] | undefined; /** - *

      The ID of the attachment.

      + *

      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.

      * @public */ - TransitGatewayAttachmentId?: string | undefined; + SourceSnapshotIds: string[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8895,205 +9006,177 @@ export interface EnableTransitGatewayRouteTablePropagationRequest { * @public */ DryRun?: boolean | undefined; - - /** - *

      The ID of the transit gateway route table announcement.

      - * @public - */ - TransitGatewayRouteTableAnnouncementId?: string | undefined; } /** + *

      Describes fast snapshot restores that were successfully enabled.

      * @public */ -export interface EnableTransitGatewayRouteTablePropagationResult { +export interface EnableFastSnapshotRestoreSuccessItem { /** - *

      Information about route propagation.

      + *

      The ID of the snapshot.

      * @public */ - Propagation?: TransitGatewayPropagation | undefined; -} + SnapshotId?: string | undefined; -/** - *

      Contains the parameters for EnableVgwRoutePropagation.

      - * @public - */ -export interface EnableVgwRoutePropagationRequest { /** - *

      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 Availability Zone.

      * @public */ - GatewayId: string | undefined; + AvailabilityZone?: string | undefined; /** - *

      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 state of fast snapshot restores.

      * @public */ - RouteTableId: string | undefined; + State?: FastSnapshotRestoreStateCode | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      + *

      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.

        + *
      • + *
      * @public */ - DryRun?: boolean | undefined; -} + StateTransitionReason?: string | undefined; -/** - * @public - */ -export interface EnableVolumeIORequest { /** - *

      Checks whether you have the required permissions for the action, without 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 enabled fast snapshot restores on the snapshot.

      * @public */ - DryRun?: boolean | undefined; + OwnerId?: string | undefined; /** - *

      The ID of the volume.

      + *

      The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

      * @public */ - VolumeId: string | undefined; -} + OwnerAlias?: string | undefined; -/** - * @public - */ -export interface EnableVpcClassicLinkRequest { /** - *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ - DryRun?: boolean | undefined; + EnablingTime?: Date | undefined; /** - *

      The ID of the VPC.

      + *

      The time at which fast snapshot restores entered the optimizing state.

      * @public */ - VpcId: string | undefined; -} + OptimizingTime?: Date | undefined; -/** - * @public - */ -export interface EnableVpcClassicLinkResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      The time at which fast snapshot restores entered the enabled state.

      * @public */ - Return?: boolean | undefined; -} + EnabledTime?: Date | undefined; -/** - * @public - */ -export interface EnableVpcClassicLinkDnsSupportRequest { /** - *

      The ID of the VPC.

      + *

      The time at which fast snapshot restores entered the disabling state.

      * @public */ - VpcId?: string | undefined; -} + DisablingTime?: Date | undefined; -/** - * @public - */ -export interface EnableVpcClassicLinkDnsSupportResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an error.

      + *

      The time at which fast snapshot restores entered the disabled state.

      * @public */ - Return?: boolean | undefined; + DisabledTime?: Date | undefined; } /** + *

      Describes an error that occurred when enabling fast snapshot restores.

      * @public */ -export interface ExportClientVpnClientCertificateRevocationListRequest { +export interface EnableFastSnapshotRestoreStateError { /** - *

      The ID of the Client VPN endpoint.

      + *

      The error code.

      * @public */ - ClientVpnEndpointId: string | undefined; + Code?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + *

      The error message.

      * @public */ - DryRun?: boolean | undefined; + Message?: string | undefined; } /** + *

      Contains information about an error that occurred when enabling fast snapshot restores.

      * @public - * @enum */ -export const ClientCertificateRevocationListStatusCode = { - active: "active", - pending: "pending", -} as const; +export interface EnableFastSnapshotRestoreStateErrorItem { + /** + *

      The Availability Zone.

      + * @public + */ + AvailabilityZone?: string | undefined; -/** - * @public - */ -export type ClientCertificateRevocationListStatusCode = - (typeof ClientCertificateRevocationListStatusCode)[keyof typeof ClientCertificateRevocationListStatusCode]; + /** + *

      The error.

      + * @public + */ + Error?: EnableFastSnapshotRestoreStateError | undefined; +} /** - *

      Describes the state of a client certificate revocation list.

      + *

      Contains information about the errors that occurred when enabling fast snapshot restores.

      * @public */ -export interface ClientCertificateRevocationListStatus { +export interface EnableFastSnapshotRestoreErrorItem { /** - *

      The state of the client certificate revocation list.

      + *

      The ID of the snapshot.

      * @public */ - Code?: ClientCertificateRevocationListStatusCode | undefined; + SnapshotId?: string | undefined; /** - *

      A message about the status of the client certificate revocation list, if applicable.

      + *

      The errors.

      * @public */ - Message?: string | undefined; + FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[] | undefined; } /** * @public */ -export interface ExportClientVpnClientCertificateRevocationListResult { +export interface EnableFastSnapshotRestoresResult { /** - *

      Information about the client certificate revocation list.

      + *

      Information about the snapshots for which fast snapshot restores were successfully enabled.

      * @public */ - CertificateRevocationList?: string | undefined; + Successful?: EnableFastSnapshotRestoreSuccessItem[] | undefined; /** - *

      The current state of the client certificate revocation list.

      + *

      Information about the snapshots for which fast snapshot restores could not be enabled.

      * @public */ - Status?: ClientCertificateRevocationListStatus | undefined; + Unsuccessful?: EnableFastSnapshotRestoreErrorItem[] | undefined; } /** * @public */ -export interface ExportClientVpnClientConfigurationRequest { +export interface EnableImageRequest { /** - *

      The ID of the Client VPN endpoint.

      + *

      The ID of the AMI.

      * @public */ - ClientVpnEndpointId: string | undefined; + ImageId: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -9102,215 +9185,245 @@ export interface ExportClientVpnClientConfigurationRequest { /** * @public */ -export interface ExportClientVpnClientConfigurationResult { +export interface EnableImageResult { /** - *

      The contents of the Client VPN endpoint configuration file.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - ClientConfiguration?: string | undefined; + Return?: boolean | undefined; } /** - *

      Describes the destination for an export image task.

      * @public + * @enum */ -export interface ExportTaskS3LocationRequest { - /** - *

      The destination Amazon S3 bucket.

      - * @public - */ - S3Bucket: string | undefined; - - /** - *

      The prefix (logical hierarchy) in the bucket.

      - * @public - */ - S3Prefix?: string | undefined; -} +export const ImageBlockPublicAccessEnabledState = { + block_new_sharing: "block-new-sharing", +} as const; /** * @public */ -export interface ExportImageRequest { - /** - *

      Token to enable idempotency for export image requests.

      - * @public - */ - ClientToken?: string | undefined; +export type ImageBlockPublicAccessEnabledState = + (typeof ImageBlockPublicAccessEnabledState)[keyof typeof ImageBlockPublicAccessEnabledState]; +/** + * @public + */ +export interface EnableImageBlockPublicAccessRequest { /** - *

      A description of the image being exported. The maximum length is 255 characters.

      + *

      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.

      * @public */ - Description?: string | undefined; + ImageBlockPublicAccessState: ImageBlockPublicAccessEnabledState | undefined; /** - *

      The disk image format.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ - DiskImageFormat: DiskImageFormat | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface EnableImageBlockPublicAccessResult { /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Returns block-new-sharing if the request succeeds; otherwise, it returns an + * error.

      * @public */ - DryRun?: boolean | undefined; + ImageBlockPublicAccessState?: ImageBlockPublicAccessEnabledState | undefined; +} +/** + * @public + */ +export interface EnableImageDeprecationRequest { /** - *

      The ID of the image.

      + *

      The ID of the AMI.

      * @public */ ImageId: string | undefined; /** - *

      The Amazon S3 bucket for the destination image. The destination bucket must exist.

      + *

      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.

      * @public */ - S3ExportLocation: ExportTaskS3LocationRequest | undefined; + DeprecateAt: Date | undefined; /** - *

      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.

      * @public */ - RoleName?: string | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface EnableImageDeprecationResult { /** - *

      The tags to apply to the export image task during creation.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - TagSpecifications?: TagSpecification[] | undefined; + Return?: boolean | undefined; } /** * @public */ -export interface ExportImageResult { +export interface EnableImageDeregistrationProtectionRequest { /** - *

      A description of the image being exported.

      + *

      The ID of the AMI.

      * @public */ - Description?: string | undefined; + ImageId: string | undefined; /** - *

      The disk image format for the exported image.

      + *

      If true, enforces deregistration protection for 24 hours after deregistration + * protection is disabled.

      * @public */ - DiskImageFormat?: DiskImageFormat | undefined; + WithCooldown?: boolean | undefined; /** - *

      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.

      * @public */ - ExportImageTaskId?: string | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface EnableImageDeregistrationProtectionResult { /** - *

      The ID of the image.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - ImageId?: string | undefined; + Return?: string | undefined; +} +/** + * @public + */ +export interface EnableIpamOrganizationAdminAccountRequest { /** - *

      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.

      * @public */ - RoleName?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The percent complete of the export image task.

      + *

      The Organizations member account ID that you want to enable as the IPAM account.

      * @public */ - Progress?: string | undefined; + DelegatedAdminAccountId: string | undefined; +} +/** + * @public + */ +export interface EnableIpamOrganizationAdminAccountResult { /** - *

      Information about the destination Amazon S3 bucket.

      + *

      The result of enabling the IPAM account.

      * @public */ - S3ExportLocation?: ExportTaskS3Location | undefined; + Success?: boolean | undefined; +} +/** + * @public + */ +export interface EnableReachabilityAnalyzerOrganizationSharingRequest { /** - *

      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.

      * @public */ - Status?: string | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface EnableReachabilityAnalyzerOrganizationSharingResult { /** - *

      The status message for the export image task.

      + *

      Returns true if the request succeeds; otherwise, returns an error.

      * @public */ - StatusMessage?: string | undefined; + ReturnValue?: boolean | undefined; +} +/** + * @public + */ +export interface EnableSerialConsoleAccessRequest { /** - *

      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.

      * @public */ - Tags?: Tag[] | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface ExportTransitGatewayRoutesRequest { +export interface EnableSerialConsoleAccessResult { /** - *

      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.

      * @public */ - TransitGatewayRouteTableId: string | undefined; + SerialConsoleAccessEnabled?: boolean | undefined; +} +/** + * @public + */ +export interface EnableSnapshotBlockPublicAccessRequest { /** - *

      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.

        *
      • *
      • *

        - * 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.

        *
      • *
      + *

      + * unblocked is not a valid value for EnableSnapshotBlockPublicAccess.

      * @public */ - Filters?: Filter[] | undefined; - - /** - *

      The name of the S3 bucket.

      - * @public - */ - S3Bucket: string | undefined; + State: SnapshotBlockPublicAccessState | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -9324,473 +9437,444 @@ export interface ExportTransitGatewayRoutesRequest { /** * @public */ -export interface ExportTransitGatewayRoutesResult { - /** - *

      The URL of the exported file in Amazon S3. For example, - * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

      - * @public - */ - S3Location?: string | undefined; -} - -/** - * @public - */ -export interface GetAssociatedEnclaveCertificateIamRolesRequest { - /** - *

      The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon - * S3 object information.

      - * @public - */ - CertificateArn: string | undefined; - +export interface EnableSnapshotBlockPublicAccessResult { /** - *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ - DryRun?: boolean | undefined; + State?: SnapshotBlockPublicAccessState | undefined; } /** - *

      Information about the associated IAM roles.

      * @public */ -export interface AssociatedRole { +export interface EnableTransitGatewayRouteTablePropagationRequest { /** - *

      The ARN of the associated IAM role.

      + *

      The ID of the propagation route table.

      * @public */ - AssociatedRoleArn?: string | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

      The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

      + *

      The ID of the attachment.

      * @public */ - CertificateS3BucketName?: string | undefined; + TransitGatewayAttachmentId?: string | undefined; /** - *

      The key of the Amazon S3 object where the certificate, certificate chain, and encrypted private key bundle - * are stored. The object key is formatted 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.

      * @public */ - CertificateS3ObjectKey?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The ID of the KMS key used to encrypt the private key.

      + *

      The ID of the transit gateway route table announcement.

      * @public */ - EncryptionKmsKeyId?: string | undefined; + TransitGatewayRouteTableAnnouncementId?: string | undefined; } /** * @public */ -export interface GetAssociatedEnclaveCertificateIamRolesResult { +export interface EnableTransitGatewayRouteTablePropagationResult { /** - *

      Information about the associated IAM roles.

      + *

      Information about route propagation.

      * @public */ - AssociatedRoles?: AssociatedRole[] | undefined; + Propagation?: TransitGatewayPropagation | undefined; } /** + *

      Contains the parameters for EnableVgwRoutePropagation.

      * @public */ -export interface GetAssociatedIpv6PoolCidrsRequest { - /** - *

      The ID of the IPv6 address pool.

      - * @public - */ - PoolId: string | undefined; - +export interface EnableVgwRoutePropagationRequest { /** - *

      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. + *

      * @public */ - NextToken?: string | undefined; + GatewayId: string | undefined; /** - *

      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.

      * @public */ - MaxResults?: number | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + RouteTableId: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; } /** - *

      Describes an IPv6 CIDR block association.

      * @public */ -export interface Ipv6CidrAssociation { +export interface EnableVolumeIORequest { /** - *

      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.

      * @public */ - Ipv6Cidr?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The resource that's associated with the IPv6 CIDR block.

      + *

      The ID of the volume.

      * @public */ - AssociatedResource?: string | undefined; + VolumeId: string | undefined; } /** * @public */ -export interface GetAssociatedIpv6PoolCidrsResult { +export interface EnableVpcClassicLinkRequest { /** - *

      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.

      * @public */ - Ipv6CidrAssociations?: Ipv6CidrAssociation[] | undefined; + DryRun?: boolean | undefined; /** - *

      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.

      * @public */ - NextToken?: string | undefined; + VpcId: string | undefined; } /** - *

      A query used for retrieving network health data.

      * @public */ -export interface DataQuery { - /** - *

      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.

      - * @public - */ - Id?: string | undefined; - +export interface EnableVpcClassicLinkResult { /** - *

      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.

      * @public */ - Source?: string | undefined; + Return?: boolean | undefined; +} +/** + * @public + */ +export interface EnableVpcClassicLinkDnsSupportRequest { /** - *

      The Region or Availability Zone that's the target for the data query. For example, eu-north-1.

      + *

      The ID of the VPC.

      * @public */ - Destination?: string | undefined; + VpcId?: string | undefined; +} +/** + * @public + */ +export interface EnableVpcClassicLinkDnsSupportResult { /** - *

      The metric used for the network performance request.

      + *

      Returns true if the request succeeds; otherwise, it returns an error.

      * @public */ - Metric?: MetricType | undefined; + Return?: boolean | undefined; +} +/** + * @public + */ +export interface ExportClientVpnClientCertificateRevocationListRequest { /** - *

      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.

      * @public */ - Statistic?: StatisticType | undefined; + ClientVpnEndpointId: string | undefined; /** - *

      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.

      * @public */ - Period?: PeriodType | undefined; + DryRun?: boolean | undefined; } /** + * @public + * @enum + */ +export const ClientCertificateRevocationListStatusCode = { + active: "active", + pending: "pending", +} as const; + +/** + * @public + */ +export type ClientCertificateRevocationListStatusCode = + (typeof ClientCertificateRevocationListStatusCode)[keyof typeof ClientCertificateRevocationListStatusCode]; + +/** + *

      Describes the state of a client certificate revocation list.

      * @public */ -export interface GetAwsNetworkPerformanceDataRequest { +export interface ClientCertificateRevocationListStatus { /** - *

      A list of network performance data queries.

      + *

      The state of the client certificate revocation list.

      * @public */ - DataQueries?: DataQuery[] | undefined; + Code?: ClientCertificateRevocationListStatusCode | undefined; /** - *

      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.

      * @public */ - StartTime?: Date | undefined; + Message?: string | undefined; +} +/** + * @public + */ +export interface ExportClientVpnClientCertificateRevocationListResult { /** - *

      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.

      * @public */ - EndTime?: Date | undefined; + CertificateRevocationList?: string | undefined; /** - *

      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.

      * @public */ - MaxResults?: number | undefined; + Status?: ClientCertificateRevocationListStatus | undefined; +} +/** + * @public + */ +export interface ExportClientVpnClientConfigurationRequest { /** - *

      The token for the next page of results.

      + *

      The ID of the Client VPN endpoint.

      * @public */ - NextToken?: string | undefined; + ClientVpnEndpointId: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; } /** - *

      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.

      * @public */ -export interface MetricPoint { +export interface ExportClientVpnClientConfigurationResult { /** - *

      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.

      * @public */ - StartDate?: Date | undefined; + ClientConfiguration?: string | undefined; +} +/** + *

      Describes the destination for an export image task.

      + * @public + */ +export interface ExportTaskS3LocationRequest { /** - *

      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.

      * @public */ - EndDate?: Date | undefined; + S3Bucket: string | undefined; - Value?: number | undefined; /** - *

      The status of the metric point.

      + *

      The prefix (logical hierarchy) in the bucket.

      * @public */ - Status?: string | undefined; + S3Prefix?: string | undefined; } /** - *

      The response to a DataQuery.

      * @public */ -export interface DataResponse { - /** - *

      The ID passed in the DataQuery.

      - * @public - */ - Id?: string | undefined; - +export interface ExportImageRequest { /** - *

      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.

      * @public */ - Source?: string | undefined; + ClientToken?: string | undefined; /** - *

      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.

      * @public */ - Destination?: string | undefined; + Description?: string | undefined; /** - *

      The metric used for the network performance request.

      + *

      The disk image format.

      * @public */ - Metric?: MetricType | undefined; + DiskImageFormat: DiskImageFormat | undefined; /** - *

      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.

      * @public */ - Statistic?: StatisticType | undefined; + DryRun?: boolean | undefined; /** - *

      The period used for the network performance request.

      + *

      The ID of the image.

      * @public */ - Period?: PeriodType | undefined; + ImageId: string | undefined; /** - *

      A list of MetricPoint objects.

      + *

      The Amazon S3 bucket for the destination image. The destination bucket must exist.

      * @public */ - MetricPoints?: MetricPoint[] | undefined; -} + S3ExportLocation: ExportTaskS3LocationRequest | undefined; -/** - * @public - */ -export interface GetAwsNetworkPerformanceDataResult { /** - *

      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'.

      * @public */ - DataResponses?: DataResponse[] | undefined; + RoleName?: string | undefined; /** - *

      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.

      * @public */ - NextToken?: string | undefined; + TagSpecifications?: TagSpecification[] | undefined; } /** * @public */ -export interface GetCapacityReservationUsageRequest { +export interface ExportImageResult { /** - *

      The ID of the Capacity Reservation.

      + *

      A description of the image being exported.

      * @public */ - CapacityReservationId: string | undefined; + Description?: string | undefined; /** - *

      The token to use to retrieve the next page of results.

      + *

      The disk image format for the exported image.

      * @public */ - NextToken?: string | undefined; + DiskImageFormat?: DiskImageFormat | undefined; /** - *

      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 export image task.

      * @public */ - MaxResults?: number | undefined; + ExportImageTaskId?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + *

      The ID of the image.

      * @public */ - DryRun?: boolean | undefined; -} + ImageId?: string | undefined; -/** - *

      Information about the Capacity Reservation usage.

      - * @public - */ -export interface InstanceUsage { /** - *

      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.

      * @public */ - AccountId?: string | undefined; + RoleName?: string | undefined; /** - *

      The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

      + *

      The percent complete of the export image task.

      * @public */ - UsedInstanceCount?: number | undefined; -} + Progress?: string | undefined; -/** - * @public - */ -export interface GetCapacityReservationUsageResult { /** - *

      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.

      * @public */ - NextToken?: string | undefined; + S3ExportLocation?: ExportTaskS3Location | undefined; /** - *

      The ID of the Capacity Reservation.

      + *

      The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

      * @public */ - CapacityReservationId?: string | undefined; + Status?: string | undefined; /** - *

      The type of instance for which the Capacity Reservation reserves capacity.

      + *

      The status message for the export image task.

      * @public */ - InstanceType?: string | undefined; + StatusMessage?: string | undefined; /** - *

      The number of instances for which the Capacity Reservation reserves capacity.

      + *

      Any tags assigned to the export image task.

      * @public */ - TotalInstanceCount?: number | undefined; + Tags?: Tag[] | undefined; +} +/** + * @public + */ +export interface ExportTransitGatewayRoutesRequest { /** - *

      The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

      + *

      The ID of the route table.

      * @public */ - AvailableInstanceCount?: number | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

      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.

        + * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

        *
      • *
      • *

        - * 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.resource-id - The resource id of the transit gateway attachment.

        *
      • *
      • *

        - * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no - * longer available for your use.

        + * route-search.exact-match - The exact match of the specified filter.

        *
      • *
      • *

        - * pending - The Capacity Reservation request was successful but the capacity - * provisioning is still pending.

        + * route-search.longest-prefix-match - The longest prefix that matches the route.

        *
      • *
      • *

        - * 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.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

        *
      • - *
      - * @public - */ - State?: CapacityReservationState | undefined; - - /** - *

      Information about the Capacity Reservation usage.

      - * @public - */ - InstanceUsages?: InstanceUsage[] | undefined; -} - -/** - * @public - */ -export interface GetCoipPoolUsageRequest { - /** - *

      The ID of the address pool.

      - * @public - */ - PoolId: string | undefined; - - /** - *

      One or more filters.

      - *
        *
      • *

        - * coip-address-usage.allocation-id - The allocation ID of the 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-account-id - The ID of the Amazon Web Services account that is using the customer-owned IP address.

        + * state - The state of the route (active | blackhole).

        *
      • *
      • *

        - * coip-address-usage.aws-service - The Amazon Web Services service that is using the customer-owned IP address.

        + * transit-gateway-route-destination-cidr-block - The CIDR range.

        *
      • *
      • *

        - * coip-address-usage.co-ip - The customer-owned IP address.

        + * type - The type of route (propagated | + * static).

        *
      • *
      * @public @@ -9798,17 +9882,10 @@ export interface GetCoipPoolUsageRequest { Filters?: Filter[] | undefined; /** - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      - * @public - */ - MaxResults?: number | undefined; - - /** - *

      The token for the next page of results.

      + *

      The name of the S3 bucket.

      * @public */ - NextToken?: string | undefined; + S3Bucket: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -9820,33 +9897,15 @@ export interface GetCoipPoolUsageRequest { } /** - *

      Describes address usage for a customer-owned address pool.

      * @public */ -export interface CoipAddressUsage { - /** - *

      The allocation ID of the address.

      - * @public - */ - AllocationId?: string | undefined; - - /** - *

      The Amazon Web Services account ID.

      - * @public - */ - AwsAccountId?: string | undefined; - - /** - *

      The Amazon Web Services service.

      - * @public - */ - AwsService?: string | undefined; - +export interface ExportTransitGatewayRoutesResult { /** - *

      The customer-owned IP address.

      + *

      The URL of the exported file in Amazon S3. For example, + * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

      * @public */ - CoIp?: string | undefined; + S3Location?: string | undefined; } /** diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index 2552a15db473..2ea6f8b8fb3b 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -9,6 +9,7 @@ import { Affinity, ApplianceModeSupportValue, AutoPlacement, + CapacityReservationState, CurrencyCodeValues, DnsSupportValue, EnaSrdSpecification, @@ -29,8 +30,6 @@ import { TransitGatewayPolicyTableAssociation, TransitGatewayVpcAttachment, UnsuccessfulItem, - VerifiedAccessInstance, - VerifiedAccessSseSpecificationResponse, } from "./models_0"; import { @@ -84,10 +83,7 @@ import { TrafficMirrorSession, TransitGateway, TransitGatewayPrefixListReference, - VerifiedAccessEndpoint, VerifiedAccessEndpointProtocol, - VerifiedAccessGroup, - VerifiedAccessSseSpecificationRequest, VpnEcmpSupportValue, } from "./models_2"; @@ -98,8 +94,11 @@ import { FpgaImageAttribute, FpgaImageAttributeName, IpamPoolCidr, + MetricType, PaymentOption, + PeriodType, PermissionGroup, + StatisticType, } from "./models_3"; import { @@ -108,7 +107,6 @@ import { ArchitectureValues, AttributeBooleanValue, BootModeValues, - CreateVolumePermission, HttpTokensState, ImportImageLicenseConfigurationResponse, InstanceAttributeName, @@ -121,7 +119,6 @@ import { LaunchPermission, LockState, ReservedInstancesConfiguration, - SnapshotAttributeName, SnapshotDetail, SnapshotDetailFilterSensitiveLog, SnapshotTaskDetail, @@ -130,364 +127,328 @@ import { } from "./models_4"; import { - CoipAddressUsage, + CreateVolumePermission, ExcessCapacityTerminationPolicy, LaunchTemplateConfig, + SnapshotAttributeName, SnapshotBlockPublicAccessState, TransitGatewayPropagationState, - VerifiedAccessInstanceLoggingConfiguration, } from "./models_5"; /** * @public */ -export interface GetCoipPoolUsageResult { +export interface GetAssociatedEnclaveCertificateIamRolesRequest { /** - *

      The ID of the customer-owned address pool.

      + *

      The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon + * S3 object information.

      * @public */ - CoipPoolId?: string | undefined; + CertificateArn: string | undefined; /** - *

      Information about the address usage.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ - CoipAddressUsages?: CoipAddressUsage[] | undefined; + DryRun?: boolean | undefined; +} +/** + *

      Information about the associated IAM roles.

      + * @public + */ +export interface AssociatedRole { /** - *

      The ID of the local gateway route table.

      + *

      The ARN of the associated IAM role.

      * @public */ - LocalGatewayRouteTableId?: string | undefined; + AssociatedRoleArn?: string | undefined; /** - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

      * @public */ - NextToken?: string | undefined; -} + CertificateS3BucketName?: string | undefined; -/** - * @public - */ -export interface GetConsoleOutputRequest { /** - *

      The ID of the instance.

      + *

      The key of the Amazon S3 object where the certificate, certificate chain, and encrypted private key bundle + * are stored. The object key is formatted as follows: role_arn/certificate_arn. + *

      * @public */ - InstanceId: string | undefined; + CertificateS3ObjectKey?: string | undefined; /** - *

      When enabled, retrieves the latest console output for the instance.

      - *

      Default: disabled (false)

      + *

      The ID of the KMS key used to encrypt the private key.

      * @public */ - Latest?: boolean | undefined; + EncryptionKmsKeyId?: string | undefined; +} +/** + * @public + */ +export interface GetAssociatedEnclaveCertificateIamRolesResult { /** - *

      Checks whether you have the required permissions for the operation, without 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 associated IAM roles.

      * @public */ - DryRun?: boolean | undefined; + AssociatedRoles?: AssociatedRole[] | undefined; } /** * @public */ -export interface GetConsoleOutputResult { +export interface GetAssociatedIpv6PoolCidrsRequest { /** - *

      The ID of the instance.

      + *

      The ID of the IPv6 address pool.

      * @public */ - InstanceId?: string | undefined; + PoolId: string | undefined; /** - *

      The time at which the output was last updated.

      + *

      The token for the next page of results.

      * @public */ - Timestamp?: Date | undefined; + NextToken?: string | undefined; /** - *

      The console output, base64-encoded. If you are using a command line tool, the tool - * decodes the output for you.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - Output?: string | undefined; -} + MaxResults?: number | undefined; -/** - * @public - */ -export interface GetConsoleScreenshotRequest { /** - *

      Checks whether you have the required permissions for the operation, without 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.

      * @public */ DryRun?: boolean | undefined; +} +/** + *

      Describes an IPv6 CIDR block association.

      + * @public + */ +export interface Ipv6CidrAssociation { /** - *

      The ID of the instance.

      + *

      The IPv6 CIDR block.

      * @public */ - InstanceId: string | undefined; + Ipv6Cidr?: string | undefined; /** - *

      When set to true, acts as keystroke input and wakes up an instance that's - * in standby or "sleep" mode.

      + *

      The resource that's associated with the IPv6 CIDR block.

      * @public */ - WakeUp?: boolean | undefined; + AssociatedResource?: string | undefined; } /** * @public */ -export interface GetConsoleScreenshotResult { +export interface GetAssociatedIpv6PoolCidrsResult { /** - *

      The data that comprises the image.

      + *

      Information about the IPv6 CIDR block associations.

      * @public */ - ImageData?: string | undefined; + Ipv6CidrAssociations?: Ipv6CidrAssociation[] | undefined; /** - *

      The ID of the instance.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - InstanceId?: string | undefined; + NextToken?: string | undefined; } /** + *

      A query used for retrieving network health data.

      * @public - * @enum */ -export const UnlimitedSupportedInstanceFamily = { - t2: "t2", - t3: "t3", - t3a: "t3a", - t4g: "t4g", -} as const; +export interface DataQuery { + /** + *

      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.

      + * @public + */ + Id?: string | undefined; -/** - * @public - */ -export type UnlimitedSupportedInstanceFamily = - (typeof UnlimitedSupportedInstanceFamily)[keyof typeof UnlimitedSupportedInstanceFamily]; + /** + *

      The Region or Availability Zone that's the source for the data query. For example, us-east-1.

      + * @public + */ + Source?: string | undefined; -/** - * @public - */ -export interface GetDefaultCreditSpecificationRequest { /** - *

      Checks whether you have the required permissions for the operation, without 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 target for the data query. For example, eu-north-1.

      * @public */ - DryRun?: boolean | undefined; + Destination?: string | undefined; /** - *

      The instance family.

      + *

      The metric used for the network performance request.

      * @public */ - InstanceFamily: UnlimitedSupportedInstanceFamily | undefined; -} + Metric?: MetricType | undefined; -/** - *

      Describes the default credit option for CPU usage of a burstable performance instance - * family.

      - * @public - */ -export interface InstanceFamilyCreditSpecification { /** - *

      The instance family.

      + *

      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.

      * @public */ - InstanceFamily?: UnlimitedSupportedInstanceFamily | undefined; + Statistic?: StatisticType | undefined; /** - *

      The default credit option for CPU usage of the instance family. Valid values are - * standard and unlimited.

      + *

      The aggregation period used for the data query.

      * @public */ - CpuCredits?: string | undefined; + Period?: PeriodType | undefined; } /** * @public */ -export interface GetDefaultCreditSpecificationResult { +export interface GetAwsNetworkPerformanceDataRequest { /** - *

      The default credit option for CPU usage of the instance family.

      + *

      A list of network performance data queries.

      * @public */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification | undefined; -} + DataQueries?: DataQuery[] | undefined; -/** - * @public - */ -export interface GetEbsDefaultKmsKeyIdRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 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.

      * @public */ - DryRun?: boolean | undefined; -} + StartTime?: Date | undefined; -/** - * @public - */ -export interface GetEbsDefaultKmsKeyIdResult { /** - *

      The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

      + *

      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.

      * @public */ - KmsKeyId?: string | undefined; -} + EndTime?: Date | undefined; -/** - * @public - */ -export interface GetEbsEncryptionByDefaultRequest { /** - *

      Checks whether you have the required permissions for the action, without 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.

      * @public */ - DryRun?: boolean | undefined; -} + MaxResults?: number | undefined; -/** - * @public - */ -export interface GetEbsEncryptionByDefaultResult { /** - *

      Indicates whether encryption by default is enabled.

      + *

      The token for the next page of results.

      * @public */ - EbsEncryptionByDefault?: boolean | undefined; + NextToken?: string | undefined; /** - *

      Reserved 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.

      * @public */ - SseType?: SSEType | undefined; + DryRun?: boolean | undefined; } /** - * @public - * @enum - */ -export const PartitionLoadFrequency = { - DAILY: "daily", - MONTHLY: "monthly", - NONE: "none", - WEEKLY: "weekly", -} as const; - -/** + *

      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.

      * @public */ -export type PartitionLoadFrequency = (typeof PartitionLoadFrequency)[keyof typeof PartitionLoadFrequency]; +export interface MetricPoint { + /** + *

      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.

      + * @public + */ + StartDate?: Date | undefined; -/** - *

      Describes integration options for Amazon Athena.

      - * @public - */ -export interface AthenaIntegration { /** - *

      The location in Amazon S3 to store the generated CloudFormation template.

      + *

      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.

      * @public */ - IntegrationResultS3DestinationArn: string | undefined; + EndDate?: Date | undefined; + Value?: number | undefined; /** - *

      The schedule for adding new partitions to the table.

      + *

      The status of the metric point.

      * @public */ - PartitionLoadFrequency: PartitionLoadFrequency | undefined; + Status?: string | undefined; +} +/** + *

      The response to a DataQuery.

      + * @public + */ +export interface DataResponse { /** - *

      The start date for the partition.

      + *

      The ID passed in the DataQuery.

      * @public */ - PartitionStartDate?: Date | undefined; + Id?: string | undefined; /** - *

      The end date for the partition.

      + *

      The Region or Availability Zone that's the source for the data query. For example, us-east-1.

      * @public */ - PartitionEndDate?: Date | undefined; -} + Source?: string | undefined; -/** - *

      Describes service integrations with VPC Flow logs.

      - * @public - */ -export interface IntegrateServices { /** - *

      Information about the integration with Amazon Athena.

      + *

      The Region or Availability Zone that's the destination for the data query. For example, eu-west-1.

      * @public */ - AthenaIntegrations?: AthenaIntegration[] | undefined; -} + Destination?: string | undefined; -/** - * @public - */ -export interface GetFlowLogsIntegrationTemplateRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 network performance request.

      * @public */ - DryRun?: boolean | undefined; + Metric?: MetricType | undefined; /** - *

      The ID of the flow log.

      + *

      The statistic used for the network performance request.

      * @public */ - FlowLogId: string | undefined; + Statistic?: StatisticType | undefined; /** - *

      To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

      + *

      The period used for the network performance request.

      * @public */ - ConfigDeliveryS3DestinationArn: string | undefined; + Period?: PeriodType | undefined; /** - *

      Information about the service integration.

      + *

      A list of MetricPoint objects.

      * @public */ - IntegrateServices: IntegrateServices | undefined; + MetricPoints?: MetricPoint[] | undefined; } /** * @public */ -export interface GetFlowLogsIntegrationTemplateResult { +export interface GetAwsNetworkPerformanceDataResult { /** - *

      The generated CloudFormation template.

      + *

      The list of data responses.

      * @public */ - Result?: string | undefined; + DataResponses?: DataResponse[] | undefined; + + /** + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface GetGroupsForCapacityReservationRequest { +export interface GetCapacityReservationUsageRequest { /** - *

      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 ID of the Capacity Reservation.

      * @public */ CapacityReservationId: string | undefined; @@ -513,27 +474,27 @@ export interface GetGroupsForCapacityReservationRequest { } /** - *

      Describes a resource group to which a Capacity Reservation has been added.

      + *

      Information about the Capacity Reservation usage.

      * @public */ -export interface CapacityReservationGroup { +export interface InstanceUsage { /** - *

      The ARN of the resource group.

      + *

      The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

      * @public */ - GroupArn?: string | undefined; + AccountId?: string | undefined; /** - *

      The ID of the Amazon Web Services account that owns the resource group.

      + *

      The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

      * @public */ - OwnerId?: string | undefined; + UsedInstanceCount?: number | undefined; } /** * @public */ -export interface GetGroupsForCapacityReservationResult { +export interface GetCapacityReservationUsageResult { /** *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public @@ -541,160 +502,201 @@ export interface GetGroupsForCapacityReservationResult { NextToken?: string | undefined; /** - *

      Information about the resource groups to which the Capacity Reservation has been added.

      + *

      The ID of the Capacity Reservation.

      * @public */ - CapacityReservationGroups?: CapacityReservationGroup[] | undefined; -} + CapacityReservationId?: string | undefined; -/** - * @public - */ -export interface GetHostReservationPurchasePreviewRequest { /** - *

      The IDs of the Dedicated Hosts with which the reservation is associated.

      + *

      The type of instance for which the Capacity Reservation reserves capacity.

      * @public */ - HostIdSet: string[] | undefined; + InstanceType?: string | undefined; /** - *

      The offering ID of the reservation.

      + *

      The number of instances for which the Capacity Reservation reserves capacity.

      * @public */ - OfferingId: string | undefined; -} + TotalInstanceCount?: number | undefined; -/** - *

      Describes the result of the purchase.

      - * @public - */ -export interface Purchase { /** - *

      The currency in which the UpfrontPrice and HourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

      + *

      The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

      * @public */ - CurrencyCode?: CurrencyCodeValues | undefined; + AvailableInstanceCount?: number | undefined; /** - *

      The duration of the reservation's term in seconds.

      + *

      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.

        + *
      • + *
      * @public */ - Duration?: number | undefined; + State?: CapacityReservationState | undefined; /** - *

      The IDs of the Dedicated Hosts associated with the reservation.

      + *

      Information about the Capacity Reservation usage.

      * @public */ - HostIdSet?: string[] | undefined; + InstanceUsages?: InstanceUsage[] | undefined; +} +/** + * @public + */ +export interface GetCoipPoolUsageRequest { /** - *

      The ID of the reservation.

      + *

      The ID of the address pool.

      * @public */ - HostReservationId?: string | undefined; + PoolId: string | undefined; /** - *

      The hourly price of the reservation per hour.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * coip-address-usage.allocation-id - The allocation ID of the address.

        + *
      • + *
      • + *

        + * 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.

        + *
      • + *
      * @public */ - HourlyPrice?: string | undefined; + Filters?: Filter[] | undefined; /** - *

      The instance family on the Dedicated Host that the reservation can be associated - * with.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      * @public */ - InstanceFamily?: string | undefined; + MaxResults?: number | undefined; /** - *

      The payment option for the reservation.

      + *

      The token for the next page of results.

      * @public */ - PaymentOption?: PaymentOption | undefined; + NextToken?: string | undefined; /** - *

      The upfront price of 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.

      * @public */ - UpfrontPrice?: string | undefined; + DryRun?: boolean | undefined; } /** + *

      Describes address usage for a customer-owned address pool.

      * @public */ -export interface GetHostReservationPurchasePreviewResult { +export interface CoipAddressUsage { /** - *

      The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

      + *

      The allocation ID of the address.

      * @public */ - CurrencyCode?: CurrencyCodeValues | undefined; + AllocationId?: string | undefined; /** - *

      The purchase information of the Dedicated Host reservation and the Dedicated Hosts - * associated with it.

      + *

      The Amazon Web Services account ID.

      * @public */ - Purchase?: Purchase[] | undefined; + AwsAccountId?: string | undefined; /** - *

      The potential total hourly price of the reservation per hour.

      + *

      The Amazon Web Services service.

      * @public */ - TotalHourlyPrice?: string | undefined; + AwsService?: string | undefined; /** - *

      The potential total upfront price. This is billed immediately.

      + *

      The customer-owned IP address.

      * @public */ - TotalUpfrontPrice?: string | undefined; + CoIp?: string | undefined; } /** * @public */ -export interface GetImageBlockPublicAccessStateRequest { +export interface GetCoipPoolUsageResult { /** - *

      Checks whether you have the required permissions for the action, without 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 customer-owned address pool.

      * @public */ - DryRun?: boolean | undefined; -} + CoipPoolId?: string | undefined; -/** - * @public - */ -export interface GetImageBlockPublicAccessStateResult { /** - *

      The current state of block public access for AMIs at the account level in the specified - * Amazon Web Services Region.

      - *

      Possible values:

      - *
        - *
      • - *

        - * block-new-sharing - Any attempt to publicly share your AMIs in the - * specified Region is blocked.

        - *
      • - *
      • - *

        - * unblocked - Your AMIs in the specified Region can be publicly - * shared.

        - *
      • - *
      + *

      Information about the address usage.

      * @public */ - ImageBlockPublicAccessState?: string | undefined; + CoipAddressUsages?: CoipAddressUsage[] | undefined; + + /** + *

      The ID of the local gateway route table.

      + * @public + */ + LocalGatewayRouteTableId?: string | undefined; + + /** + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + * @public + */ + NextToken?: string | undefined; } /** * @public */ -export interface GetInstanceMetadataDefaultsRequest { +export interface GetConsoleOutputRequest { + /** + *

      The ID of the instance.

      + * @public + */ + InstanceId: string | undefined; + + /** + *

      When enabled, retrieves the latest console output for the instance.

      + *

      Default: disabled (false)

      + * @public + */ + Latest?: boolean | undefined; + /** *

      Checks whether you have the required permissions for the operation, without actually making the * request, and provides an error response. If you have the required permissions, the error response is @@ -705,119 +707,147 @@ export interface GetInstanceMetadataDefaultsRequest { } /** - *

      The default instance metadata service (IMDS) settings that were set at the account - * level in the specified Amazon Web Services
 Region.

      * @public */ -export interface InstanceMetadataDefaultsResponse { - /** - *

      Indicates whether IMDSv2 is required.

      - *
        - *
      • - *

        - * optional – IMDSv2 is optional, which means that you can - * use either IMDSv2 or IMDSv1.

        - *
      • - *
      • - *

        - * required – IMDSv2 is required, which means that IMDSv1 is - * disabled, and you must use IMDSv2.

        - *
      • - *
      - * @public - */ - HttpTokens?: HttpTokensState | undefined; - +export interface GetConsoleOutputResult { /** - *

      The maximum number of hops that the metadata token can travel.

      + *

      The ID of the instance.

      * @public */ - HttpPutResponseHopLimit?: number | undefined; + InstanceId?: string | undefined; /** - *

      Indicates whether the IMDS endpoint for an instance is enabled or disabled. When disabled, the instance - * metadata can't be accessed.

      + *

      The time at which the output was last updated.

      * @public */ - HttpEndpoint?: InstanceMetadataEndpointState | undefined; + Timestamp?: Date | undefined; /** - *

      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 in the - * Amazon EC2 User Guide.

      + *

      The console output, base64-encoded. If you are using a command line tool, the tool + * decodes the output for you.

      * @public */ - InstanceMetadataTags?: InstanceMetadataTagsState | undefined; + Output?: string | undefined; } /** * @public */ -export interface GetInstanceMetadataDefaultsResult { +export interface GetConsoleScreenshotRequest { /** - *

      The account-level default IMDS settings.

      + *

      Checks whether you have the required permissions for the operation, without actually making the + * request, and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ - AccountLevel?: InstanceMetadataDefaultsResponse | undefined; + DryRun?: boolean | undefined; + + /** + *

      The ID of the instance.

      + * @public + */ + InstanceId: string | undefined; + + /** + *

      When set to true, acts as keystroke input and wakes up an instance that's + * in standby or "sleep" mode.

      + * @public + */ + WakeUp?: boolean | undefined; } /** * @public - * @enum */ -export const EkPubKeyFormat = { - der: "der", - tpmt: "tpmt", -} as const; +export interface GetConsoleScreenshotResult { + /** + *

      The data that comprises the image.

      + * @public + */ + ImageData?: string | undefined; -/** - * @public - */ -export type EkPubKeyFormat = (typeof EkPubKeyFormat)[keyof typeof EkPubKeyFormat]; + /** + *

      The ID of the instance.

      + * @public + */ + InstanceId?: string | undefined; +} /** * @public * @enum */ -export const EkPubKeyType = { - ECC_SEC_P384: "ecc-sec-p384", - RSA_2048: "rsa-2048", +export const UnlimitedSupportedInstanceFamily = { + t2: "t2", + t3: "t3", + t3a: "t3a", + t4g: "t4g", } as const; /** * @public */ -export type EkPubKeyType = (typeof EkPubKeyType)[keyof typeof EkPubKeyType]; +export type UnlimitedSupportedInstanceFamily = + (typeof UnlimitedSupportedInstanceFamily)[keyof typeof UnlimitedSupportedInstanceFamily]; /** * @public */ -export interface GetInstanceTpmEkPubRequest { +export interface GetDefaultCreditSpecificationRequest { /** - *

      The ID of the instance for which to get the public endorsement key.

      + *

      Checks whether you have the required permissions for the operation, without actually making the + * request, and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ - InstanceId: string | undefined; + DryRun?: boolean | undefined; /** - *

      The required public endorsement key type.

      + *

      The instance family.

      * @public */ - KeyType: EkPubKeyType | undefined; + InstanceFamily: UnlimitedSupportedInstanceFamily | undefined; +} +/** + *

      Describes the default credit option for CPU usage of a burstable performance instance + * family.

      + * @public + */ +export interface InstanceFamilyCreditSpecification { /** - *

      The required public endorsement key format. Specify der for a DER-encoded public - * key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is - * compatible with tpm2-tools. The returned key is base64 encoded.

      + *

      The instance family.

      * @public */ - KeyFormat: EkPubKeyFormat | undefined; + InstanceFamily?: UnlimitedSupportedInstanceFamily | undefined; /** - *

      Specify this parameter to verify whether the request will succeed, without actually making the - * request. If the request will succeed, the response is DryRunOperation. Otherwise, - * the response is UnauthorizedOperation.

      + *

      The default credit option for CPU usage of the instance family. Valid values are + * standard and unlimited.

      + * @public + */ + CpuCredits?: string | undefined; +} + +/** + * @public + */ +export interface GetDefaultCreditSpecificationResult { + /** + *

      The default credit option for CPU usage of the instance family.

      + * @public + */ + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification | undefined; +} + +/** + * @public + */ +export interface GetEbsDefaultKmsKeyIdRequest { + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; @@ -826,344 +856,521 @@ export interface GetInstanceTpmEkPubRequest { /** * @public */ -export interface GetInstanceTpmEkPubResult { +export interface GetEbsDefaultKmsKeyIdResult { /** - *

      The ID of the instance.

      + *

      The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

      * @public */ - InstanceId?: string | undefined; + KmsKeyId?: string | undefined; +} +/** + * @public + */ +export interface GetEbsEncryptionByDefaultRequest { /** - *

      The public endorsement key 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.

      * @public */ - KeyType?: EkPubKeyType | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface GetEbsEncryptionByDefaultResult { /** - *

      The public endorsement key format.

      + *

      Indicates whether encryption by default is enabled.

      * @public */ - KeyFormat?: EkPubKeyFormat | undefined; + EbsEncryptionByDefault?: boolean | undefined; /** - *

      The public endorsement key material.

      + *

      Reserved for future use.

      * @public */ - KeyValue?: string | undefined; + SseType?: SSEType | undefined; } +/** + * @public + * @enum + */ +export const PartitionLoadFrequency = { + DAILY: "daily", + MONTHLY: "monthly", + NONE: "none", + WEEKLY: "weekly", +} as const; + /** * @public */ -export interface GetInstanceTypesFromInstanceRequirementsRequest { +export type PartitionLoadFrequency = (typeof PartitionLoadFrequency)[keyof typeof PartitionLoadFrequency]; + +/** + *

      Describes integration options for Amazon Athena.

      + * @public + */ +export interface AthenaIntegration { /** - *

      Checks whether you have the required permissions for the action, without 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 location in Amazon S3 to store the generated CloudFormation template.

      * @public */ - DryRun?: boolean | undefined; + IntegrationResultS3DestinationArn: string | undefined; /** - *

      The processor architecture type.

      + *

      The schedule for adding new partitions to the table.

      * @public */ - ArchitectureTypes: ArchitectureType[] | undefined; + PartitionLoadFrequency: PartitionLoadFrequency | undefined; /** - *

      The virtualization type.

      + *

      The start date for the partition.

      * @public */ - VirtualizationTypes: VirtualizationType[] | undefined; + PartitionStartDate?: Date | undefined; /** - *

      The attributes required for the instance types.

      + *

      The end date for the partition.

      * @public */ - InstanceRequirements: InstanceRequirementsRequest | undefined; + PartitionEndDate?: Date | undefined; +} +/** + *

      Describes service integrations with VPC Flow logs.

      + * @public + */ +export interface IntegrateServices { /** - *

      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.

      + *

      Information about the integration with Amazon Athena.

      * @public */ - MaxResults?: number | undefined; + AthenaIntegrations?: AthenaIntegration[] | undefined; +} +/** + * @public + */ +export interface GetFlowLogsIntegrationTemplateRequest { /** - *

      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.

      * @public */ - NextToken?: string | undefined; + DryRun?: boolean | undefined; + + /** + *

      The ID of the flow log.

      + * @public + */ + FlowLogId: string | undefined; + + /** + *

      To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

      + * @public + */ + ConfigDeliveryS3DestinationArn: string | undefined; + + /** + *

      Information about the service integration.

      + * @public + */ + IntegrateServices: IntegrateServices | undefined; } /** - *

      The list of instance types with the specified instance attributes.

      * @public */ -export interface InstanceTypeInfoFromInstanceRequirements { +export interface GetFlowLogsIntegrationTemplateResult { /** - *

      The matching instance type.

      + *

      The generated CloudFormation template.

      * @public */ - InstanceType?: string | undefined; + Result?: string | undefined; } /** * @public */ -export interface GetInstanceTypesFromInstanceRequirementsResult { +export interface GetGroupsForCapacityReservationRequest { /** - *

      The instance types with the specified instance attributes.

      + *

      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.

      * @public */ - InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[] | undefined; + CapacityReservationId: string | undefined; /** - *

      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.

      * @public */ NextToken?: string | undefined; + + /** + *

      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.

      + * @public + */ + MaxResults?: number | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; } /** + *

      Describes a resource group to which a Capacity Reservation has been added.

      * @public */ -export interface GetInstanceUefiDataRequest { +export interface CapacityReservationGroup { /** - *

      The ID of the instance from which to retrieve the UEFI data.

      + *

      The ARN of the resource group.

      * @public */ - InstanceId: string | undefined; + GroupArn?: string | undefined; /** - *

      Checks whether you have the required permissions for the operation, without 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 resource group.

      * @public */ - DryRun?: boolean | undefined; + OwnerId?: string | undefined; } /** * @public */ -export interface GetInstanceUefiDataResult { +export interface GetGroupsForCapacityReservationResult { /** - *

      The ID of the instance from which to retrieve the UEFI data.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - InstanceId?: string | undefined; + NextToken?: string | undefined; /** - *

      Base64 representation of the non-volatile UEFI variable store.

      + *

      Information about the resource groups to which the Capacity Reservation has been added.

      * @public */ - UefiData?: string | undefined; + CapacityReservationGroups?: CapacityReservationGroup[] | undefined; } /** * @public */ -export interface GetIpamAddressHistoryRequest { +export interface GetHostReservationPurchasePreviewRequest { /** - *

      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 with which the reservation is associated.

      * @public */ - DryRun?: boolean | undefined; + HostIdSet: string[] | undefined; /** - *

      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 offering ID of the reservation.

      * @public */ - Cidr: string | undefined; + OfferingId: string | undefined; +} +/** + *

      Describes the result of the purchase.

      + * @public + */ +export interface Purchase { /** - *

      The ID of the IPAM scope that the CIDR is in.

      + *

      The currency in which the UpfrontPrice and HourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

      * @public */ - IpamScopeId: string | undefined; + CurrencyCode?: CurrencyCodeValues | undefined; /** - *

      The ID of the VPC you want your history records filtered by.

      + *

      The duration of the reservation's term in seconds.

      * @public */ - VpcId?: string | undefined; + Duration?: number | undefined; /** - *

      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 IDs of the Dedicated Hosts associated with the reservation.

      * @public */ - StartTime?: Date | undefined; + HostIdSet?: string[] | undefined; /** - *

      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.

      + *

      The ID of the reservation.

      * @public */ - EndTime?: Date | undefined; + HostReservationId?: string | undefined; /** - *

      The maximum number of historical results you would like returned per page. Defaults to 100.

      + *

      The hourly price of the reservation per hour.

      * @public */ - MaxResults?: number | undefined; + HourlyPrice?: string | undefined; /** - *

      The token for the next page of results.

      + *

      The instance family on the Dedicated Host that the reservation can be associated + * with.

      * @public */ - NextToken?: string | undefined; + InstanceFamily?: string | undefined; + + /** + *

      The payment option for the reservation.

      + * @public + */ + PaymentOption?: PaymentOption | undefined; + + /** + *

      The upfront price of the reservation.

      + * @public + */ + UpfrontPrice?: string | undefined; } /** * @public - * @enum */ -export const IpamComplianceStatus = { - compliant: "compliant", - ignored: "ignored", - noncompliant: "noncompliant", - unmanaged: "unmanaged", -} as const; +export interface GetHostReservationPurchasePreviewResult { + /** + *

      The currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

      + * @public + */ + CurrencyCode?: CurrencyCodeValues | undefined; -/** - * @public - */ -export type IpamComplianceStatus = (typeof IpamComplianceStatus)[keyof typeof IpamComplianceStatus]; + /** + *

      The purchase information of the Dedicated Host reservation and the Dedicated Hosts + * associated with it.

      + * @public + */ + Purchase?: Purchase[] | undefined; -/** - * @public - * @enum - */ -export const IpamOverlapStatus = { - ignored: "ignored", - nonoverlapping: "nonoverlapping", - overlapping: "overlapping", -} as const; + /** + *

      The potential total hourly price of the reservation per hour.

      + * @public + */ + TotalHourlyPrice?: string | undefined; + + /** + *

      The potential total upfront price. This is billed immediately.

      + * @public + */ + TotalUpfrontPrice?: string | undefined; +} /** * @public */ -export type IpamOverlapStatus = (typeof IpamOverlapStatus)[keyof typeof IpamOverlapStatus]; +export interface GetImageBlockPublicAccessStateRequest { + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; +} /** * @public - * @enum */ -export const IpamAddressHistoryResourceType = { - eip: "eip", - instance: "instance", - network_interface: "network-interface", - subnet: "subnet", - vpc: "vpc", -} as const; +export interface GetImageBlockPublicAccessStateResult { + /** + *

      The current state of block public access for AMIs at the account level in the specified + * Amazon Web Services Region.

      + *

      Possible values:

      + *
        + *
      • + *

        + * block-new-sharing - Any attempt to publicly share your AMIs in the + * specified Region is blocked.

        + *
      • + *
      • + *

        + * unblocked - Your AMIs in the specified Region can be publicly + * shared.

        + *
      • + *
      + * @public + */ + ImageBlockPublicAccessState?: string | undefined; +} /** * @public */ -export type IpamAddressHistoryResourceType = - (typeof IpamAddressHistoryResourceType)[keyof typeof IpamAddressHistoryResourceType]; +export interface GetInstanceMetadataDefaultsRequest { + /** + *

      Checks whether you have the required permissions for the operation, without actually making the + * request, and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; +} /** - *

      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. - *

      + *

      The default instance metadata service (IMDS) settings that were set at the account + * level in the specified Amazon Web Services
 Region.

      * @public */ -export interface IpamAddressHistoryRecord { +export interface InstanceMetadataDefaultsResponse { /** - *

      The ID of the resource owner.

      + *

      Indicates whether IMDSv2 is required.

      + *
        + *
      • + *

        + * optional – IMDSv2 is optional, which means that you can + * use either IMDSv2 or IMDSv1.

        + *
      • + *
      • + *

        + * required – IMDSv2 is required, which means that IMDSv1 is + * disabled, and you must use IMDSv2.

        + *
      • + *
      * @public */ - ResourceOwnerId?: string | undefined; + HttpTokens?: HttpTokensState | undefined; /** - *

      The Amazon Web Services Region of the resource.

      + *

      The maximum number of hops that the metadata token can travel.

      * @public */ - ResourceRegion?: string | undefined; + HttpPutResponseHopLimit?: number | undefined; /** - *

      The type of the resource.

      + *

      Indicates whether the IMDS endpoint for an instance is enabled or disabled. When disabled, the instance + * metadata can't be accessed.

      * @public */ - ResourceType?: IpamAddressHistoryResourceType | undefined; + HttpEndpoint?: InstanceMetadataEndpointState | undefined; /** - *

      The ID of the resource.

      + *

      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 in the + * Amazon EC2 User Guide.

      * @public */ - ResourceId?: string | undefined; + InstanceMetadataTags?: InstanceMetadataTagsState | undefined; +} +/** + * @public + */ +export interface GetInstanceMetadataDefaultsResult { /** - *

      The CIDR of the resource.

      + *

      The account-level default IMDS settings.

      * @public */ - ResourceCidr?: string | undefined; + AccountLevel?: InstanceMetadataDefaultsResponse | undefined; +} + +/** + * @public + * @enum + */ +export const EkPubKeyFormat = { + der: "der", + tpmt: "tpmt", +} as const; + +/** + * @public + */ +export type EkPubKeyFormat = (typeof EkPubKeyFormat)[keyof typeof EkPubKeyFormat]; + +/** + * @public + * @enum + */ +export const EkPubKeyType = { + ECC_SEC_P384: "ecc-sec-p384", + RSA_2048: "rsa-2048", +} as const; + +/** + * @public + */ +export type EkPubKeyType = (typeof EkPubKeyType)[keyof typeof EkPubKeyType]; +/** + * @public + */ +export interface GetInstanceTpmEkPubRequest { /** - *

      The name of the resource.

      + *

      The ID of the instance for which to get the public endorsement key.

      * @public */ - ResourceName?: string | undefined; + InstanceId: string | undefined; /** - *

      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.

      + *

      The required public endorsement key type.

      * @public */ - ResourceComplianceStatus?: IpamComplianceStatus | undefined; + KeyType: EkPubKeyType | undefined; /** - *

      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 required public endorsement key format. Specify der for a DER-encoded public + * key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is + * compatible with tpm2-tools. The returned key is base64 encoded.

      * @public */ - ResourceOverlapStatus?: IpamOverlapStatus | undefined; + KeyFormat: EkPubKeyFormat | undefined; /** - *

      The VPC ID of the resource.

      + *

      Specify this parameter to verify whether the request will succeed, without actually making the + * request. If the request will succeed, the response is DryRunOperation. Otherwise, + * the response is UnauthorizedOperation.

      * @public */ - VpcId?: string | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface GetInstanceTpmEkPubResult { /** - *

      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 ID of the instance.

      * @public */ - SampledStartTime?: Date | undefined; + InstanceId?: string | undefined; /** - *

      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 public endorsement key type.

      * @public */ - SampledEndTime?: Date | undefined; -} + KeyType?: EkPubKeyType | undefined; -/** - * @public - */ -export interface GetIpamAddressHistoryResult { /** - *

      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.

      + *

      The public endorsement key format.

      * @public */ - HistoryRecords?: IpamAddressHistoryRecord[] | undefined; + KeyFormat?: EkPubKeyFormat | undefined; /** - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The public endorsement key material.

      * @public */ - NextToken?: string | undefined; + KeyValue?: string | undefined; } /** * @public */ -export interface GetIpamDiscoveredAccountsRequest { +export interface GetInstanceTypesFromInstanceRequirementsRequest { /** - *

      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.

      * @public @@ -1171,152 +1378,108 @@ export interface GetIpamDiscoveredAccountsRequest { DryRun?: boolean | undefined; /** - *

      A resource discovery ID.

      + *

      The processor architecture type.

      * @public */ - IpamResourceDiscoveryId: string | undefined; + ArchitectureTypes: ArchitectureType[] | undefined; /** - *

      The Amazon Web Services Region that the account information is returned from.

      + *

      The virtualization type.

      * @public */ - DiscoveryRegion: string | undefined; + VirtualizationTypes: VirtualizationType[] | undefined; /** - *

      Discovered account filters.

      + *

      The attributes required for the instance types.

      * @public */ - Filters?: Filter[] | undefined; + InstanceRequirements: InstanceRequirementsRequest | undefined; /** - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      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.

      + * @public + */ + MaxResults?: number | undefined; + + /** + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      * @public */ NextToken?: string | undefined; +} +/** + *

      The list of instance types with the specified instance attributes.

      + * @public + */ +export interface InstanceTypeInfoFromInstanceRequirements { /** - *

      The maximum number of discovered accounts to return in one page of results.

      + *

      The matching instance type.

      * @public */ - MaxResults?: number | undefined; + InstanceType?: string | undefined; } /** * @public - * @enum */ -export const IpamDiscoveryFailureCode = { - assume_role_failure: "assume-role-failure", - throttling_failure: "throttling-failure", - unauthorized_failure: "unauthorized-failure", -} as const; - -/** - * @public - */ -export type IpamDiscoveryFailureCode = (typeof IpamDiscoveryFailureCode)[keyof typeof IpamDiscoveryFailureCode]; - -/** - *

      The discovery failure reason.

      - * @public - */ -export interface IpamDiscoveryFailureReason { +export interface GetInstanceTypesFromInstanceRequirementsResult { /** - *

      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 instance types with the specified instance attributes.

      * @public */ - Code?: IpamDiscoveryFailureCode | undefined; + InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[] | undefined; /** - *

      The discovery failure message.

      + *

      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.

      * @public */ - Message?: string | undefined; + NextToken?: string | undefined; } /** - *

      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.

      * @public */ -export interface IpamDiscoveredAccount { - /** - *

      The account ID.

      - * @public - */ - AccountId?: string | undefined; - - /** - *

      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.

      - * @public - */ - DiscoveryRegion?: string | undefined; - - /** - *

      The resource discovery failure reason.

      - * @public - */ - FailureReason?: IpamDiscoveryFailureReason | undefined; - +export interface GetInstanceUefiDataRequest { /** - *

      The last attempted resource discovery time.

      + *

      The ID of the instance from which to retrieve the UEFI data.

      * @public */ - LastAttemptedDiscoveryTime?: Date | undefined; + InstanceId: string | undefined; /** - *

      The last successful resource discovery time.

      + *

      Checks whether you have the required permissions for the operation, without actually making the + * request, and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

      * @public */ - LastSuccessfulDiscoveryTime?: Date | undefined; + DryRun?: boolean | undefined; } /** * @public */ -export interface GetIpamDiscoveredAccountsResult { +export interface GetInstanceUefiDataResult { /** - *

      Discovered accounts.

      + *

      The ID of the instance from which to retrieve the UEFI data.

      * @public */ - IpamDiscoveredAccounts?: IpamDiscoveredAccount[] | undefined; + InstanceId?: string | undefined; /** - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      Base64 representation of the non-volatile UEFI variable store.

      * @public */ - NextToken?: string | undefined; + UefiData?: string | undefined; } /** * @public */ -export interface GetIpamDiscoveredPublicAddressesRequest { +export interface GetIpamAddressHistoryRequest { /** *

      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. @@ -1326,277 +1489,338 @@ export interface GetIpamDiscoveredPublicAddressesRequest { DryRun?: boolean | undefined; /** - *

      An IPAM resource discovery ID.

      + *

      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.

      * @public */ - IpamResourceDiscoveryId: string | undefined; + Cidr: string | undefined; /** - *

      The Amazon Web Services Region for the IP address.

      + *

      The ID of the IPAM scope that the CIDR is in.

      * @public */ - AddressRegion: string | undefined; + IpamScopeId: string | undefined; /** - *

      Filters.

      + *

      The ID of the VPC you want your history records filtered by.

      * @public */ - Filters?: Filter[] | undefined; + VpcId?: string | undefined; /** - *

      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.

      * @public */ - NextToken?: string | undefined; + StartTime?: Date | undefined; /** - *

      The maximum number of IPAM discovered public addresses to return in one page of results.

      + *

      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.

      + * @public + */ + EndTime?: Date | undefined; + + /** + *

      The maximum number of historical results you would like returned per page. Defaults to 100.

      * @public */ MaxResults?: number | undefined; + + /** + *

      The token for the next page of results.

      + * @public + */ + NextToken?: string | undefined; } /** * @public * @enum */ -export const IpamPublicAddressType = { - AMAZON_OWNED_CONTIG: "amazon-owned-contig", - 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", +export const IpamComplianceStatus = { + compliant: "compliant", + ignored: "ignored", + noncompliant: "noncompliant", + unmanaged: "unmanaged", } as const; /** * @public */ -export type IpamPublicAddressType = (typeof IpamPublicAddressType)[keyof typeof IpamPublicAddressType]; +export type IpamComplianceStatus = (typeof IpamComplianceStatus)[keyof typeof IpamComplianceStatus]; /** * @public * @enum */ -export const IpamPublicAddressAssociationStatus = { - ASSOCIATED: "associated", - DISASSOCIATED: "disassociated", +export const IpamOverlapStatus = { + ignored: "ignored", + nonoverlapping: "nonoverlapping", + overlapping: "overlapping", } as const; /** * @public */ -export type IpamPublicAddressAssociationStatus = - (typeof IpamPublicAddressAssociationStatus)[keyof typeof IpamPublicAddressAssociationStatus]; - -/** - *

      The security group that the resource with the public IP address is in.

      - * @public - */ -export interface IpamPublicAddressSecurityGroup { - /** - *

      The security group's name.

      - * @public - */ - GroupName?: string | undefined; - - /** - *

      The security group's ID.

      - * @public - */ - GroupId?: string | undefined; -} +export type IpamOverlapStatus = (typeof IpamOverlapStatus)[keyof typeof IpamOverlapStatus]; /** * @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", +export const IpamAddressHistoryResourceType = { + eip: "eip", + instance: "instance", + network_interface: "network-interface", + subnet: "subnet", + vpc: "vpc", } as const; /** * @public */ -export type IpamPublicAddressAwsService = - (typeof IpamPublicAddressAwsService)[keyof typeof IpamPublicAddressAwsService]; +export type IpamAddressHistoryResourceType = + (typeof IpamAddressHistoryResourceType)[keyof typeof IpamAddressHistoryResourceType]; /** - *

      A tag for a public IP address discovered by IPAM.

      + *

      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. + *

      * @public */ -export interface IpamPublicAddressTag { +export interface IpamAddressHistoryRecord { /** - *

      The tag's key.

      + *

      The ID of the resource owner.

      * @public */ - Key?: string | undefined; + ResourceOwnerId?: string | undefined; /** - *

      The tag's value.

      + *

      The Amazon Web Services Region of the resource.

      * @public */ - Value?: string | undefined; -} + ResourceRegion?: string | undefined; -/** - *

      Tags for a public IP address discovered by IPAM.

      - * @public - */ -export interface IpamPublicAddressTags { /** - *

      Tags for an Elastic IP address.

      + *

      The type of the resource.

      * @public */ - EipTags?: IpamPublicAddressTag[] | undefined; -} + ResourceType?: IpamAddressHistoryResourceType | undefined; -/** - *

      A public IP Address discovered by IPAM.

      - * @public - */ -export interface IpamDiscoveredPublicAddress { /** - *

      The resource discovery ID.

      + *

      The ID of the resource.

      * @public */ - IpamResourceDiscoveryId?: string | undefined; + ResourceId?: string | undefined; /** - *

      The Region of the resource the IP address is assigned to.

      + *

      The CIDR of the resource.

      * @public */ - AddressRegion?: string | undefined; + ResourceCidr?: string | undefined; /** - *

      The IP address.

      + *

      The name of the resource.

      * @public */ - Address?: string | undefined; + ResourceName?: string | undefined; /** - *

      The ID of the owner of the resource the IP address is assigned to.

      + *

      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.

      * @public */ - AddressOwnerId?: string | undefined; + ResourceComplianceStatus?: IpamComplianceStatus | undefined; /** - *

      The allocation ID of the resource the IP address is assigned to.

      + *

      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.

      * @public */ - AddressAllocationId?: string | undefined; + ResourceOverlapStatus?: IpamOverlapStatus | undefined; /** - *

      The association status.

      + *

      The VPC ID of the resource.

      * @public */ - AssociationStatus?: IpamPublicAddressAssociationStatus | undefined; + VpcId?: string | undefined; /** - *

      The IP address type.

      + *

      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.

      * @public */ - AddressType?: IpamPublicAddressType | undefined; + SampledStartTime?: Date | undefined; /** - *

      The Amazon Web Services service associated with the IP address.

      + *

      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.

      * @public */ - Service?: IpamPublicAddressAwsService | undefined; + SampledEndTime?: Date | undefined; +} +/** + * @public + */ +export interface GetIpamAddressHistoryResult { /** - *

      The resource ARN or ID.

      + *

      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.

      * @public */ - ServiceResource?: string | undefined; + HistoryRecords?: IpamAddressHistoryRecord[] | undefined; /** - *

      The ID of the VPC that the resource with the assigned IP address is in.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      * @public */ - VpcId?: string | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface GetIpamDiscoveredAccountsRequest { /** - *

      The ID of the subnet that the resource with the assigned IP address is in.

      + *

      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.

      * @public */ - SubnetId?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The ID of the public IPv4 pool that the resource with the assigned IP address is from.

      + *

      A resource discovery ID.

      * @public */ - PublicIpv4PoolId?: string | undefined; + IpamResourceDiscoveryId: string | undefined; /** - *

      The network interface ID of the resource with the assigned IP address.

      + *

      The Amazon Web Services Region that the account information is returned from.

      * @public */ - NetworkInterfaceId?: string | undefined; + DiscoveryRegion: string | undefined; /** - *

      The description of the network interface that IP address is assigned to.

      + *

      Discovered account filters.

      * @public */ - NetworkInterfaceDescription?: string | undefined; + Filters?: Filter[] | undefined; /** - *

      The instance ID of the instance the assigned IP address is assigned to.

      + *

      Specify the pagination token from a previous request to retrieve the next page of results.

      * @public */ - InstanceId?: string | undefined; + NextToken?: string | undefined; /** - *

      Tags associated with the IP address.

      + *

      The maximum number of discovered accounts to return in one page of results.

      * @public */ - Tags?: IpamPublicAddressTags | undefined; + MaxResults?: number | undefined; +} - /** - *

      The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see Local Zone availability in the Amazon EC2 User Guide.

      - * @public - */ - NetworkBorderGroup?: string | undefined; +/** + * @public + * @enum + */ +export const IpamDiscoveryFailureCode = { + assume_role_failure: "assume-role-failure", + throttling_failure: "throttling-failure", + unauthorized_failure: "unauthorized-failure", +} as const; + +/** + * @public + */ +export type IpamDiscoveryFailureCode = (typeof IpamDiscoveryFailureCode)[keyof typeof IpamDiscoveryFailureCode]; +/** + *

      The discovery failure reason.

      + * @public + */ +export interface IpamDiscoveryFailureReason { /** - *

      Security groups associated with the resource that the IP address is assigned to.

      + *

      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.

        + *
      • + *
      * @public */ - SecurityGroups?: IpamPublicAddressSecurityGroup[] | undefined; + Code?: IpamDiscoveryFailureCode | undefined; /** - *

      The last successful resource discovery time.

      + *

      The discovery failure message.

      * @public */ - SampleTime?: Date | undefined; + Message?: string | undefined; } /** + *

      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.

      * @public */ -export interface GetIpamDiscoveredPublicAddressesResult { +export interface IpamDiscoveredAccount { /** - *

      IPAM discovered public addresses.

      + *

      The account ID.

      * @public */ - IpamDiscoveredPublicAddresses?: IpamDiscoveredPublicAddress[] | undefined; + AccountId?: string | undefined; /** - *

      The oldest successful resource discovery time.

      + *

      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.

      * @public */ - OldestSampleTime?: Date | undefined; + DiscoveryRegion?: string | undefined; /** - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The resource discovery failure reason.

      + * @public + */ + FailureReason?: IpamDiscoveryFailureReason | undefined; + + /** + *

      The last attempted resource discovery time.

      + * @public + */ + LastAttemptedDiscoveryTime?: Date | undefined; + + /** + *

      The last successful resource discovery time.

      + * @public + */ + LastSuccessfulDiscoveryTime?: Date | undefined; +} + +/** + * @public + */ +export interface GetIpamDiscoveredAccountsResult { + /** + *

      Discovered accounts.

      + * @public + */ + IpamDiscoveredAccounts?: IpamDiscoveredAccount[] | undefined; + + /** + *

      Specify the pagination token from a previous request to retrieve the next page of results.

      * @public */ NextToken?: string | undefined; @@ -1605,7 +1829,7 @@ export interface GetIpamDiscoveredPublicAddressesResult { /** * @public */ -export interface GetIpamDiscoveredResourceCidrsRequest { +export interface GetIpamDiscoveredPublicAddressesRequest { /** *

      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. @@ -1615,16 +1839,16 @@ export interface GetIpamDiscoveredResourceCidrsRequest { DryRun?: boolean | undefined; /** - *

      A resource discovery ID.

      + *

      An IPAM resource discovery ID.

      * @public */ IpamResourceDiscoveryId: string | undefined; /** - *

      A resource Region.

      + *

      The Amazon Web Services Region for the IP address.

      * @public */ - ResourceRegion: string | undefined; + AddressRegion: string | undefined; /** *

      Filters.

      @@ -1633,13 +1857,13 @@ export interface GetIpamDiscoveredResourceCidrsRequest { Filters?: Filter[] | undefined; /** - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      The token for the next page of results.

      * @public */ NextToken?: string | undefined; /** - *

      The maximum number of discovered resource CIDRs to return in one page of results.

      + *

      The maximum number of IPAM discovered public addresses to return in one page of results.

      * @public */ MaxResults?: number | undefined; @@ -1649,99 +1873,388 @@ export interface GetIpamDiscoveredResourceCidrsRequest { * @public * @enum */ -export const IpamResourceCidrIpSource = { - amazon: "amazon", - byoip: "byoip", - none: "none", +export const IpamPublicAddressType = { + AMAZON_OWNED_CONTIG: "amazon-owned-contig", + 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 IpamResourceCidrIpSource = (typeof IpamResourceCidrIpSource)[keyof typeof IpamResourceCidrIpSource]; +export type IpamPublicAddressType = (typeof IpamPublicAddressType)[keyof typeof IpamPublicAddressType]; /** * @public * @enum */ -export const IpamNetworkInterfaceAttachmentStatus = { - available: "available", - in_use: "in-use", +export const IpamPublicAddressAssociationStatus = { + ASSOCIATED: "associated", + DISASSOCIATED: "disassociated", } as const; /** * @public */ -export type IpamNetworkInterfaceAttachmentStatus = - (typeof IpamNetworkInterfaceAttachmentStatus)[keyof typeof IpamNetworkInterfaceAttachmentStatus]; +export type IpamPublicAddressAssociationStatus = + (typeof IpamPublicAddressAssociationStatus)[keyof typeof IpamPublicAddressAssociationStatus]; + +/** + *

      The security group that the resource with the public IP address is in.

      + * @public + */ +export interface IpamPublicAddressSecurityGroup { + /** + *

      The security group's name.

      + * @public + */ + GroupName?: string | undefined; + + /** + *

      The security group's ID.

      + * @public + */ + GroupId?: string | undefined; +} /** * @public * @enum */ -export const IpamResourceType = { - eip: "eip", - eni: "eni", - ipv6_pool: "ipv6-pool", - public_ipv4_pool: "public-ipv4-pool", - subnet: "subnet", - vpc: "vpc", +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 type IpamResourceType = (typeof IpamResourceType)[keyof typeof IpamResourceType]; +export type IpamPublicAddressAwsService = + (typeof IpamPublicAddressAwsService)[keyof typeof IpamPublicAddressAwsService]; /** - *

      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.

      + *

      A tag for a public IP address discovered by IPAM.

      * @public */ -export interface IpamDiscoveredResourceCidr { +export interface IpamPublicAddressTag { /** - *

      The resource discovery ID.

      + *

      The tag's key.

      * @public */ - IpamResourceDiscoveryId?: string | undefined; + Key?: string | undefined; /** - *

      The resource Region.

      + *

      The tag's value.

      * @public */ - ResourceRegion?: string | undefined; + Value?: string | undefined; +} +/** + *

      Tags for a public IP address discovered by IPAM.

      + * @public + */ +export interface IpamPublicAddressTags { /** - *

      The resource ID.

      + *

      Tags for an Elastic IP address.

      * @public */ - ResourceId?: string | undefined; + EipTags?: IpamPublicAddressTag[] | undefined; +} +/** + *

      A public IP Address discovered by IPAM.

      + * @public + */ +export interface IpamDiscoveredPublicAddress { /** - *

      The resource owner ID.

      + *

      The resource discovery ID.

      * @public */ - ResourceOwnerId?: string | undefined; + IpamResourceDiscoveryId?: string | undefined; /** - *

      The resource CIDR.

      + *

      The Region of the resource the IP address is assigned to.

      * @public */ - ResourceCidr?: string | undefined; + AddressRegion?: string | undefined; /** - *

      The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

      + *

      The IP address.

      * @public */ - IpSource?: IpamResourceCidrIpSource | undefined; + Address?: string | undefined; /** - *

      The resource type.

      + *

      The ID of the owner of the resource the IP address is assigned to.

      * @public */ - ResourceType?: IpamResourceType | undefined; + AddressOwnerId?: string | undefined; /** - *

      The resource tags.

      + *

      The allocation ID of the resource the IP address is assigned to.

      + * @public + */ + AddressAllocationId?: string | undefined; + + /** + *

      The association status.

      + * @public + */ + AssociationStatus?: IpamPublicAddressAssociationStatus | undefined; + + /** + *

      The IP address type.

      + * @public + */ + AddressType?: IpamPublicAddressType | undefined; + + /** + *

      The Amazon Web Services service associated with the IP address.

      + * @public + */ + Service?: IpamPublicAddressAwsService | undefined; + + /** + *

      The resource ARN or ID.

      + * @public + */ + ServiceResource?: string | undefined; + + /** + *

      The ID of the VPC that the resource with the assigned IP address is in.

      + * @public + */ + VpcId?: string | undefined; + + /** + *

      The ID of the subnet that the resource with the assigned IP address is in.

      + * @public + */ + SubnetId?: string | undefined; + + /** + *

      The ID of the public IPv4 pool that the resource with the assigned IP address is from.

      + * @public + */ + PublicIpv4PoolId?: string | undefined; + + /** + *

      The network interface ID of the resource with the assigned IP address.

      + * @public + */ + NetworkInterfaceId?: string | undefined; + + /** + *

      The description of the network interface that IP address is assigned to.

      + * @public + */ + NetworkInterfaceDescription?: string | undefined; + + /** + *

      The instance ID of the instance the assigned IP address is assigned to.

      + * @public + */ + InstanceId?: string | undefined; + + /** + *

      Tags associated with the IP address.

      + * @public + */ + Tags?: IpamPublicAddressTags | undefined; + + /** + *

      The Availability Zone (AZ) or Local Zone (LZ) network border group that the resource that the IP address is assigned to is in. Defaults to an AZ network border group. For more information on available Local Zones, see Local Zone availability in the Amazon EC2 User Guide.

      + * @public + */ + NetworkBorderGroup?: string | undefined; + + /** + *

      Security groups associated with the resource that the IP address is assigned to.

      + * @public + */ + SecurityGroups?: IpamPublicAddressSecurityGroup[] | undefined; + + /** + *

      The last successful resource discovery time.

      + * @public + */ + SampleTime?: Date | undefined; +} + +/** + * @public + */ +export interface GetIpamDiscoveredPublicAddressesResult { + /** + *

      IPAM discovered public addresses.

      + * @public + */ + IpamDiscoveredPublicAddresses?: IpamDiscoveredPublicAddress[] | undefined; + + /** + *

      The oldest successful resource discovery time.

      + * @public + */ + OldestSampleTime?: Date | undefined; + + /** + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + * @public + */ + NextToken?: string | undefined; +} + +/** + * @public + */ +export interface GetIpamDiscoveredResourceCidrsRequest { + /** + *

      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.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      A resource discovery ID.

      + * @public + */ + IpamResourceDiscoveryId: string | undefined; + + /** + *

      A resource Region.

      + * @public + */ + ResourceRegion: string | undefined; + + /** + *

      Filters.

      + * @public + */ + Filters?: Filter[] | undefined; + + /** + *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + * @public + */ + NextToken?: string | undefined; + + /** + *

      The maximum number of discovered resource CIDRs to return in one page of results.

      + * @public + */ + MaxResults?: number | undefined; +} + +/** + * @public + * @enum + */ +export const IpamResourceCidrIpSource = { + amazon: "amazon", + byoip: "byoip", + none: "none", +} as const; + +/** + * @public + */ +export type IpamResourceCidrIpSource = (typeof IpamResourceCidrIpSource)[keyof typeof IpamResourceCidrIpSource]; + +/** + * @public + * @enum + */ +export const IpamNetworkInterfaceAttachmentStatus = { + available: "available", + in_use: "in-use", +} as const; + +/** + * @public + */ +export type IpamNetworkInterfaceAttachmentStatus = + (typeof IpamNetworkInterfaceAttachmentStatus)[keyof typeof IpamNetworkInterfaceAttachmentStatus]; + +/** + * @public + * @enum + */ +export const IpamResourceType = { + eip: "eip", + eni: "eni", + 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]; + +/** + *

      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.

      + * @public + */ +export interface IpamDiscoveredResourceCidr { + /** + *

      The resource discovery ID.

      + * @public + */ + IpamResourceDiscoveryId?: string | undefined; + + /** + *

      The resource Region.

      + * @public + */ + ResourceRegion?: string | undefined; + + /** + *

      The resource ID.

      + * @public + */ + ResourceId?: string | undefined; + + /** + *

      The resource owner ID.

      + * @public + */ + ResourceOwnerId?: string | undefined; + + /** + *

      The resource CIDR.

      + * @public + */ + ResourceCidr?: string | undefined; + + /** + *

      The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

      + * @public + */ + IpSource?: IpamResourceCidrIpSource | undefined; + + /** + *

      The resource type.

      + * @public + */ + ResourceType?: IpamResourceType | undefined; + + /** + *

      The resource tags.

      * @public */ ResourceTags?: IpamResourceTag[] | undefined; @@ -4879,8 +5392,8 @@ export interface ImportVolumeResult { */ export interface ListImagesInRecycleBinRequest { /** - *

      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.

      + *

      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.

      * @public */ ImageIds?: string[] | undefined; @@ -6046,13 +6559,15 @@ export interface ModifyIdFormatRequest { */ export interface LaunchPermissionModifications { /** - *

      The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

      + *

      The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of + * launch permissions for the AMI.

      * @public */ Add?: LaunchPermission[] | undefined; /** - *

      The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

      + *

      The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of + * launch permissions for the AMI.

      * @public */ Remove?: LaunchPermission[] | undefined; @@ -6065,7 +6580,8 @@ export interface LaunchPermissionModifications { export interface ModifyImageAttributeRequest { /** *

      The name of the attribute to modify.

      - *

      Valid values: description | imdsSupport | launchPermission + *

      Valid values: description | imdsSupport | + * launchPermission *

      * @public */ @@ -6090,8 +6606,8 @@ export interface ModifyImageAttributeRequest { LaunchPermission?: LaunchPermissionModifications | undefined; /** - *

      The operation type. - * This parameter can be used only when the Attribute parameter is launchPermission.

      + *

      The operation type. This parameter can be used only when the Attribute + * parameter is launchPermission.

      * @public */ OperationType?: OperationType | undefined; @@ -6103,34 +6619,37 @@ export interface ModifyImageAttributeRequest { ProductCodes?: string[] | undefined; /** - *

      The user groups. - * This parameter can be used only when the Attribute parameter is launchPermission.

      + *

      The user groups. This parameter can be used only when the Attribute parameter + * is launchPermission.

      * @public */ UserGroups?: string[] | undefined; /** - *

      The Amazon Web Services account IDs. - * This parameter can be used only when the Attribute parameter is launchPermission.

      + *

      The Amazon Web Services account IDs. This parameter can be used only when the + * Attribute parameter is launchPermission.

      * @public */ UserIds?: string[] | undefined; /** - *

      The value of the attribute being modified. - * This parameter can be used only when the Attribute parameter is description or imdsSupport.

      + *

      The value of the attribute being modified. This parameter can be used only when the + * Attribute parameter is description or + * imdsSupport.

      * @public */ Value?: string | undefined; /** - *

      The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

      + *

      The Amazon Resource Name (ARN) of an organization. This parameter can be used only when + * the Attribute parameter is launchPermission.

      * @public */ OrganizationArns?: string[] | undefined; /** - *

      The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

      + *

      The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used + * only when the Attribute parameter is launchPermission.

      * @public */ OrganizationalUnitArns?: string[] | undefined; @@ -6138,13 +6657,13 @@ export interface ModifyImageAttributeRequest { /** *

      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 + * 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.

      + * 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.

      + *

      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.

      *
      * @public */ @@ -7045,522 +7564,162 @@ export type HostTenancy = (typeof HostTenancy)[keyof typeof HostTenancy]; /** * @public */ -export interface ModifyInstancePlacementRequest { - /** - *

      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 ("").

      - * @public - */ - GroupName?: string | undefined; - - /** - *

      The number of the partition in which to place the instance. Valid only if the - * placement group strategy is set to partition.

      - * @public - */ - PartitionNumber?: number | undefined; - - /** - *

      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.

      - * @public - */ - HostResourceGroupArn?: string | undefined; - - /** - *

      The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement - * group.

      - * @public - */ - GroupId?: string | undefined; - - /** - *

      The ID of the instance that you are modifying.

      - * @public - */ - InstanceId: string | undefined; - - /** - *

      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.

      - *
      - * @public - */ - Tenancy?: HostTenancy | undefined; - - /** - *

      The affinity setting for the instance. For more information, see Host affinity in the Amazon EC2 User Guide.

      - * @public - */ - Affinity?: Affinity | undefined; - - /** - *

      The ID of the Dedicated Host with which to associate the instance.

      - * @public - */ - HostId?: string | undefined; -} - -/** - * @public - */ -export interface ModifyInstancePlacementResult { - /** - *

      Is true if the request succeeds, and an error otherwise.

      - * @public - */ - Return?: boolean | undefined; -} - -/** - *

      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 - *

      - * @public - */ -export interface RemoveIpamOperatingRegion { - /** - *

      The name of the operating Region you want to remove.

      - * @public - */ - RegionName?: string | undefined; -} - -/** - * @public - */ -export interface ModifyIpamRequest { - /** - *

      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.

      - * @public - */ - DryRun?: boolean | undefined; - - /** - *

      The ID of the IPAM you want to modify.

      - * @public - */ - IpamId: string | undefined; - - /** - *

      The description of the IPAM you want to modify.

      - * @public - */ - Description?: string | undefined; - - /** - *

      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.

      - * @public - */ - AddOperatingRegions?: AddIpamOperatingRegion[] | undefined; - - /** - *

      The operating Regions to remove.

      - * @public - */ - RemoveOperatingRegions?: RemoveIpamOperatingRegion[] | undefined; - - /** - *

      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.

      - * @public - */ - Tier?: IpamTier | undefined; - - /** - *

      Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

      - * @public - */ - EnablePrivateGua?: boolean | undefined; -} - -/** - * @public - */ -export interface ModifyIpamResult { - /** - *

      The results of the modification.

      - * @public - */ - Ipam?: Ipam | undefined; -} - -/** - * @public - */ -export interface ModifyIpamPoolRequest { - /** - *

      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.

      - * @public - */ - DryRun?: boolean | undefined; - - /** - *

      The ID of the IPAM pool you want to modify.

      - * @public - */ - IpamPoolId: string | undefined; - - /** - *

      The description of the IPAM pool you want to modify.

      - * @public - */ - Description?: string | undefined; - - /** - *

      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.

      - * @public - */ - AutoImport?: boolean | undefined; - - /** - *

      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.

      - * @public - */ - AllocationMinNetmaskLength?: number | undefined; - - /** - *

      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.

      - * @public - */ - AllocationMaxNetmaskLength?: number | undefined; - - /** - *

      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.

      - * @public - */ - AllocationDefaultNetmaskLength?: number | undefined; - - /** - *

      Clear the default netmask length allocation rule for this pool.

      - * @public - */ - ClearAllocationDefaultNetmaskLength?: boolean | undefined; - - /** - *

      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.

      - * @public - */ - AddAllocationResourceTags?: RequestIpamResourceTag[] | undefined; - - /** - *

      Remove tag allocation rules from a pool.

      - * @public - */ - RemoveAllocationResourceTags?: RequestIpamResourceTag[] | undefined; -} - -/** - * @public - */ -export interface ModifyIpamPoolResult { - /** - *

      The results of the modification.

      - * @public - */ - IpamPool?: IpamPool | undefined; -} - -/** - * @public - */ -export interface ModifyIpamResourceCidrRequest { - /** - *

      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.

      - * @public - */ - DryRun?: boolean | undefined; - - /** - *

      The ID of the resource you want to modify.

      - * @public - */ - ResourceId: string | undefined; - - /** - *

      The CIDR of the resource you want to modify.

      - * @public - */ - ResourceCidr: string | undefined; - - /** - *

      The Amazon Web Services Region of the resource you want to modify.

      - * @public - */ - ResourceRegion: string | undefined; - - /** - *

      The ID of the current scope that the resource CIDR is in.

      - * @public - */ - CurrentIpamScopeId: string | undefined; - - /** - *

      The ID of the scope you want to transfer the resource CIDR to.

      - * @public - */ - DestinationIpamScopeId?: string | undefined; - - /** - *

      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.

      - * @public - */ - Monitored: boolean | undefined; -} - -/** - * @public - */ -export interface ModifyIpamResourceCidrResult { - /** - *

      The CIDR of the resource.

      - * @public - */ - IpamResourceCidr?: IpamResourceCidr | undefined; -} - -/** - * @public - */ -export interface ModifyIpamResourceDiscoveryRequest { - /** - *

      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.

      - * @public - */ - DryRun?: boolean | undefined; - - /** - *

      A resource discovery ID.

      - * @public - */ - IpamResourceDiscoveryId: string | undefined; - - /** - *

      A resource discovery description.

      - * @public - */ - Description?: string | undefined; - - /** - *

      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.

      - * @public - */ - AddOperatingRegions?: AddIpamOperatingRegion[] | undefined; - - /** - *

      Remove operating Regions.

      - * @public - */ - RemoveOperatingRegions?: RemoveIpamOperatingRegion[] | undefined; -} - -/** - * @public - */ -export interface ModifyIpamResourceDiscoveryResult { - /** - *

      A resource discovery.

      - * @public - */ - IpamResourceDiscovery?: IpamResourceDiscovery | undefined; -} - -/** - * @public - */ -export interface ModifyIpamScopeRequest { - /** - *

      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.

      +export interface ModifyInstancePlacementRequest { + /** + *

      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 ("").

      * @public */ - DryRun?: boolean | undefined; + GroupName?: string | undefined; /** - *

      The ID of the scope you want to modify.

      + *

      The number of the partition in which to place the instance. Valid only if the + * placement group strategy is set to partition.

      * @public */ - IpamScopeId: string | undefined; + PartitionNumber?: number | undefined; /** - *

      The description of the scope you want to modify.

      + *

      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.

      * @public */ - Description?: string | undefined; -} + HostResourceGroupArn?: string | undefined; -/** - * @public - */ -export interface ModifyIpamScopeResult { /** - *

      The results of the modification.

      + *

      The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement + * group.

      * @public */ - IpamScope?: IpamScope | undefined; -} + GroupId?: string | undefined; -/** - * @public - */ -export interface ModifyLaunchTemplateRequest { /** - *

      Checks whether you have the required permissions for the action, without 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 that you are modifying.

      * @public */ - DryRun?: boolean | undefined; + InstanceId: string | undefined; /** - *

      Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * idempotency.

      - *

      Constraint: Maximum 128 ASCII characters.

      + *

      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.

      + *
      * @public */ - ClientToken?: string | undefined; + Tenancy?: HostTenancy | undefined; /** - *

      The ID of the launch template.

      - *

      You must specify either the launch template ID or the - * launch template name, but not both.

      + *

      The affinity setting for the instance. For more information, see Host affinity in the Amazon EC2 User Guide.

      * @public */ - LaunchTemplateId?: string | undefined; + Affinity?: Affinity | undefined; /** - *

      The name of the launch template.

      - *

      You must specify either the launch template ID or the - * launch template name, but not both.

      + *

      The ID of the Dedicated Host with which to associate the instance.

      * @public */ - LaunchTemplateName?: string | undefined; + HostId?: string | undefined; +} +/** + * @public + */ +export interface ModifyInstancePlacementResult { /** - *

      The version number of the launch template to set as the default version.

      + *

      Is true if the request succeeds, and an error otherwise.

      * @public */ - DefaultVersion?: string | undefined; + Return?: boolean | undefined; } /** + *

      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 + *

      * @public */ -export interface ModifyLaunchTemplateResult { +export interface RemoveIpamOperatingRegion { /** - *

      Information about the launch template.

      + *

      The name of the operating Region you want to remove.

      * @public */ - LaunchTemplate?: LaunchTemplate | undefined; + RegionName?: string | undefined; } /** * @public */ -export interface ModifyLocalGatewayRouteRequest { +export interface ModifyIpamRequest { /** - *

      The CIDR block used for destination matches. The value that you provide must match the CIDR of an existing route in the table.

      + *

      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.

      * @public */ - DestinationCidrBlock?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The ID of the local gateway route table.

      + *

      The ID of the IPAM you want to modify.

      * @public */ - LocalGatewayRouteTableId: string | undefined; + IpamId: string | undefined; /** - *

      - * The ID of the virtual interface group. - *

      + *

      The description of the IPAM you want to modify.

      * @public */ - LocalGatewayVirtualInterfaceGroupId?: string | undefined; + Description?: string | undefined; /** - *

      The ID of the network interface.

      + *

      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.

      * @public */ - NetworkInterfaceId?: string | undefined; + AddOperatingRegions?: AddIpamOperatingRegion[] | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The operating Regions to remove.

      * @public */ - DryRun?: boolean | undefined; + RemoveOperatingRegions?: RemoveIpamOperatingRegion[] | undefined; /** - *

      - * The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. You - * cannot use DestinationPrefixListId and DestinationCidrBlock in the same request. - *

      + *

      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.

      * @public */ - DestinationPrefixListId?: string | undefined; -} + Tier?: IpamTier | undefined; -/** - * @public - */ -export interface ModifyLocalGatewayRouteResult { /** - *

      Information about the local gateway route table.

      + *

      Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

      * @public */ - Route?: LocalGatewayRoute | undefined; + EnablePrivateGua?: boolean | undefined; } /** - *

      An entry for a prefix list.

      * @public */ -export interface RemovePrefixListEntry { +export interface ModifyIpamResult { /** - *

      The CIDR block.

      + *

      The results of the modification.

      * @public */ - Cidr: string | undefined; + Ipam?: Ipam | undefined; } /** * @public */ -export interface ModifyManagedPrefixListRequest { +export interface ModifyIpamPoolRequest { /** - *

      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.

      * @public @@ -7568,687 +7727,725 @@ export interface ModifyManagedPrefixListRequest { DryRun?: boolean | undefined; /** - *

      The ID of the prefix list.

      + *

      The ID of the IPAM pool you want to modify.

      * @public */ - PrefixListId: string | undefined; + IpamPoolId: string | undefined; /** - *

      The current version of the prefix list.

      + *

      The description of the IPAM pool you want to modify.

      * @public */ - CurrentVersion?: number | undefined; + Description?: string | undefined; /** - *

      A name for the prefix list.

      + *

      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.

      * @public */ - PrefixListName?: string | undefined; + AutoImport?: boolean | undefined; /** - *

      One or more entries to add to the prefix list.

      + *

      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.

      * @public */ - AddEntries?: AddPrefixListEntry[] | undefined; + AllocationMinNetmaskLength?: number | undefined; /** - *

      One or more entries to remove from the prefix list.

      + *

      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.

      * @public */ - RemoveEntries?: RemovePrefixListEntry[] | undefined; + AllocationMaxNetmaskLength?: number | undefined; /** - *

      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.

      + *

      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.

      * @public */ - MaxEntries?: number | undefined; + AllocationDefaultNetmaskLength?: number | undefined; + + /** + *

      Clear the default netmask length allocation rule for this pool.

      + * @public + */ + ClearAllocationDefaultNetmaskLength?: boolean | undefined; + + /** + *

      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.

      + * @public + */ + AddAllocationResourceTags?: RequestIpamResourceTag[] | undefined; + + /** + *

      Remove tag allocation rules from a pool.

      + * @public + */ + RemoveAllocationResourceTags?: RequestIpamResourceTag[] | undefined; } /** * @public */ -export interface ModifyManagedPrefixListResult { +export interface ModifyIpamPoolResult { /** - *

      Information about the prefix list.

      + *

      The results of the modification.

      * @public */ - PrefixList?: ManagedPrefixList | undefined; + IpamPool?: IpamPool | undefined; } /** - *

      Describes an attachment change.

      * @public */ -export interface NetworkInterfaceAttachmentChanges { +export interface ModifyIpamResourceCidrRequest { /** - *

      The ID of the network interface attachment.

      + *

      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.

      * @public */ - AttachmentId?: string | undefined; + DryRun?: boolean | undefined; /** - *

      Indicates whether the network interface is deleted when the instance is terminated.

      + *

      The ID of the resource you want to modify.

      * @public */ - DeleteOnTermination?: boolean | undefined; -} + ResourceId: string | undefined; -/** - *

      Contains the parameters for ModifyNetworkInterfaceAttribute.

      - * @public - */ -export interface ModifyNetworkInterfaceAttributeRequest { /** - *

      Updates the ENA Express configuration for the network interface that’s attached to the - * instance.

      + *

      The CIDR of the resource you want to modify.

      * @public */ - EnaSrdSpecification?: EnaSrdSpecification | undefined; + ResourceCidr: string | undefined; /** - *

      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 Amazon Web Services Region of the resource you want to modify.

      * @public */ - EnablePrimaryIpv6?: boolean | undefined; + ResourceRegion: string | undefined; /** - *

      A connection tracking specification.

      + *

      The ID of the current scope that the resource CIDR is in.

      * @public */ - ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined; + CurrentIpamScopeId: string | undefined; /** - *

      Indicates whether to assign a public IPv4 address to a network interface. - * This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

      + *

      The ID of the scope you want to transfer the resource CIDR to.

      + * @public + */ + DestinationIpamScopeId?: string | undefined; + + /** + *

      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.

      * @public */ - AssociatePublicIpAddress?: boolean | undefined; + Monitored: boolean | undefined; +} +/** + * @public + */ +export interface ModifyIpamResourceCidrResult { /** - *

      Checks whether you have the required permissions for the action, without 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 of the resource.

      * @public */ - DryRun?: boolean | undefined; + IpamResourceCidr?: IpamResourceCidr | undefined; +} +/** + * @public + */ +export interface ModifyIpamResourceDiscoveryRequest { /** - *

      The ID of the network interface.

      + *

      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.

      * @public */ - NetworkInterfaceId: string | undefined; + DryRun?: boolean | undefined; /** - *

      A description for the network interface.

      + *

      A resource discovery ID.

      * @public */ - Description?: AttributeValue | undefined; + IpamResourceDiscoveryId: string | undefined; /** - *

      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.

      + *

      A resource discovery description.

      * @public */ - SourceDestCheck?: AttributeBooleanValue | undefined; + Description?: string | undefined; /** - *

      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.

      + *

      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.

      * @public */ - Groups?: string[] | undefined; + AddOperatingRegions?: AddIpamOperatingRegion[] | undefined; /** - *

      Information about the interface attachment. If modifying the delete on - * termination attribute, you must specify the ID of the interface - * attachment.

      + *

      Remove operating Regions.

      * @public */ - Attachment?: NetworkInterfaceAttachmentChanges | undefined; + RemoveOperatingRegions?: RemoveIpamOperatingRegion[] | undefined; } /** * @public */ -export interface ModifyPrivateDnsNameOptionsRequest { - /** - *

      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; - +export interface ModifyIpamResourceDiscoveryResult { /** - *

      The ID of the instance.

      + *

      A resource discovery.

      * @public */ - InstanceId: string | undefined; + IpamResourceDiscovery?: IpamResourceDiscovery | undefined; +} +/** + * @public + */ +export interface ModifyIpamScopeRequest { /** - *

      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.

      + *

      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.

      * @public */ - PrivateDnsHostnameType?: HostnameType | undefined; + DryRun?: boolean | undefined; /** - *

      Indicates whether to respond to DNS queries for instance hostnames with DNS A - * records.

      + *

      The ID of the scope you want to modify.

      * @public */ - EnableResourceNameDnsARecord?: boolean | undefined; + IpamScopeId: string | undefined; /** - *

      Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA - * records.

      + *

      The description of the scope you want to modify.

      * @public */ - EnableResourceNameDnsAAAARecord?: boolean | undefined; + Description?: string | undefined; } /** * @public */ -export interface ModifyPrivateDnsNameOptionsResult { +export interface ModifyIpamScopeResult { /** - *

      Returns true if the request succeeds; otherwise, it returns an - * error.

      + *

      The results of the modification.

      * @public */ - Return?: boolean | undefined; + IpamScope?: IpamScope | undefined; } /** - *

      Contains the parameters for ModifyReservedInstances.

      * @public */ -export interface ModifyReservedInstancesRequest { +export interface ModifyLaunchTemplateRequest { /** - *

      The IDs of 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.

      * @public */ - ReservedInstancesIds: string[] | undefined; + DryRun?: boolean | undefined; /** - *

      A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see - * Ensuring Idempotency.

      + *

      Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * idempotency.

      + *

      Constraint: Maximum 128 ASCII characters.

      * @public */ ClientToken?: string | undefined; /** - *

      The configuration settings for the Reserved Instances to modify.

      + *

      The ID of the launch template.

      + *

      You must specify either the launch template ID or the + * launch template name, but not both.

      * @public */ - TargetConfigurations: ReservedInstancesConfiguration[] | undefined; + LaunchTemplateId?: string | undefined; + + /** + *

      The name of the launch template.

      + *

      You must specify either the launch template ID or the + * launch template name, but not both.

      + * @public + */ + LaunchTemplateName?: string | undefined; + + /** + *

      The version number of the launch template to set as the default version.

      + * @public + */ + DefaultVersion?: string | undefined; } /** - *

      Contains the output of ModifyReservedInstances.

      * @public */ -export interface ModifyReservedInstancesResult { +export interface ModifyLaunchTemplateResult { /** - *

      The ID for the modification.

      + *

      Information about the launch template.

      * @public */ - ReservedInstancesModificationId?: string | undefined; + LaunchTemplate?: LaunchTemplate | undefined; } /** - *

      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.

      * @public */ -export interface SecurityGroupRuleRequest { +export interface ModifyLocalGatewayRouteRequest { /** - *

      The IP protocol name (tcp, udp, icmp, - * icmpv6) or number (see Protocol Numbers).

      - *

      Use -1 to specify all protocols.

      + *

      The CIDR block used for destination matches. The value that you provide must match the CIDR of an existing route in the table.

      * @public */ - IpProtocol?: string | undefined; + DestinationCidrBlock?: string | undefined; /** - *

      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 ICMP type or -1 (all ICMP types).

      + *

      The ID of the local gateway route table.

      * @public */ - FromPort?: number | undefined; + LocalGatewayRouteTableId: string | undefined; /** - *

      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 ICMP code or -1 (all ICMP codes). - * If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

      + *

      + * The ID of the virtual interface group. + *

      * @public */ - ToPort?: number | undefined; + LocalGatewayVirtualInterfaceGroupId?: string | undefined; /** - *

      The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

      + *

      The ID of the network interface.

      * @public */ - CidrIpv4?: string | undefined; + NetworkInterfaceId?: string | undefined; /** - *

      The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

      + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ - CidrIpv6?: string | undefined; + DryRun?: boolean | undefined; /** - *

      The ID of the prefix list.

      + *

      + * The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. You + * cannot use DestinationPrefixListId and DestinationCidrBlock in the same request. + *

      * @public */ - PrefixListId?: string | undefined; + DestinationPrefixListId?: string | undefined; +} +/** + * @public + */ +export interface ModifyLocalGatewayRouteResult { /** - *

      The ID of the security group that is referenced in the security group rule.

      + *

      Information about the local gateway route table.

      * @public */ - ReferencedGroupId?: string | undefined; + Route?: LocalGatewayRoute | undefined; +} +/** + *

      An entry for a prefix list.

      + * @public + */ +export interface RemovePrefixListEntry { /** - *

      The description of the security group rule.

      + *

      The CIDR block.

      * @public */ - Description?: string | undefined; + Cidr: string | undefined; } /** - *

      Describes an update to a security group rule.

      * @public */ -export interface SecurityGroupRuleUpdate { +export interface ModifyManagedPrefixListRequest { /** - *

      The ID of the security group 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.

      * @public */ - SecurityGroupRuleId: string | undefined; + DryRun?: boolean | undefined; /** - *

      Information about the security group rule.

      + *

      The ID of the prefix list.

      * @public */ - SecurityGroupRule?: SecurityGroupRuleRequest | undefined; -} + PrefixListId: string | undefined; -/** - * @public - */ -export interface ModifySecurityGroupRulesRequest { /** - *

      The ID of the security group.

      + *

      The current version of the prefix list.

      * @public */ - GroupId: string | undefined; + CurrentVersion?: number | undefined; /** - *

      Information about the security group properties to update.

      + *

      A name for the prefix list.

      * @public */ - SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; + PrefixListName?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      One or more entries to add to the prefix list.

      + * @public + */ + AddEntries?: AddPrefixListEntry[] | undefined; + + /** + *

      One or more entries to remove from the prefix list.

      + * @public + */ + RemoveEntries?: RemovePrefixListEntry[] | undefined; + + /** + *

      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.

      * @public */ - DryRun?: boolean | undefined; + MaxEntries?: number | undefined; } /** * @public */ -export interface ModifySecurityGroupRulesResult { +export interface ModifyManagedPrefixListResult { /** - *

      Returns true if the request succeeds; otherwise, returns an error.

      + *

      Information about the prefix list.

      * @public */ - Return?: boolean | undefined; + PrefixList?: ManagedPrefixList | undefined; } /** - *

      Describes modifications to the list of create volume permissions for a volume.

      + *

      Describes an attachment change.

      * @public */ -export interface CreateVolumePermissionModifications { +export interface NetworkInterfaceAttachmentChanges { /** - *

      Adds the specified Amazon Web Services account ID or group to the list.

      + *

      The ID of the network interface attachment.

      * @public */ - Add?: CreateVolumePermission[] | undefined; + AttachmentId?: string | undefined; /** - *

      Removes the specified Amazon Web Services account ID or group from the list.

      + *

      Indicates whether the network interface is deleted when the instance is terminated.

      * @public */ - Remove?: CreateVolumePermission[] | undefined; + DeleteOnTermination?: boolean | undefined; } /** + *

      Contains the parameters for ModifyNetworkInterfaceAttribute.

      * @public */ -export interface ModifySnapshotAttributeRequest { - /** - *

      The snapshot attribute to modify. Only volume creation permissions can be modified.

      - * @public - */ - Attribute?: SnapshotAttributeName | undefined; - - /** - *

      A JSON representation of the snapshot attribute modification.

      - * @public - */ - CreateVolumePermission?: CreateVolumePermissionModifications | undefined; - +export interface ModifyNetworkInterfaceAttributeRequest { /** - *

      The group to modify for the snapshot.

      + *

      Updates the ENA Express configuration for the network interface that’s attached to the + * instance.

      * @public */ - GroupNames?: string[] | undefined; + EnaSrdSpecification?: EnaSrdSpecification | undefined; /** - *

      The type of operation to perform to the attribute.

      + *

      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.

      * @public */ - OperationType?: OperationType | undefined; + EnablePrimaryIpv6?: boolean | undefined; /** - *

      The ID of the snapshot.

      + *

      A connection tracking specification.

      * @public */ - SnapshotId: string | undefined; + ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined; /** - *

      The account ID to modify for the snapshot.

      + *

      Indicates whether to assign a public IPv4 address to a network interface. + * This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

      * @public */ - UserIds?: string[] | undefined; + AssociatePublicIpAddress?: boolean | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      * @public */ DryRun?: boolean | undefined; -} - -/** - * @public - * @enum - */ -export const TargetStorageTier = { - archive: "archive", -} as const; - -/** - * @public - */ -export type TargetStorageTier = (typeof TargetStorageTier)[keyof typeof TargetStorageTier]; -/** - * @public - */ -export interface ModifySnapshotTierRequest { /** - *

      The ID of the snapshot.

      + *

      The ID of the network interface.

      * @public */ - SnapshotId: string | undefined; + NetworkInterfaceId: string | undefined; /** - *

      The name of the storage tier. You must specify archive.

      + *

      A description for the network interface.

      * @public */ - StorageTier?: TargetStorageTier | undefined; + Description?: AttributeValue | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      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.

      * @public */ - DryRun?: boolean | undefined; -} + SourceDestCheck?: AttributeBooleanValue | undefined; -/** - * @public - */ -export interface ModifySnapshotTierResult { /** - *

      The ID of the snapshot.

      + *

      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.

      * @public */ - SnapshotId?: string | undefined; + Groups?: string[] | undefined; /** - *

      The date and time when the archive process was started.

      + *

      Information about the interface attachment. If modifying the delete on + * termination attribute, you must specify the ID of the interface + * attachment.

      * @public */ - TieringStartTime?: Date | undefined; + Attachment?: NetworkInterfaceAttachmentChanges | undefined; } /** - *

      Contains the parameters for ModifySpotFleetRequest.

      * @public */ -export interface ModifySpotFleetRequestRequest { - /** - *

      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.

      - * @public - */ - LaunchTemplateConfigs?: LaunchTemplateConfig[] | undefined; - +export interface ModifyPrivateDnsNameOptionsRequest { /** - *

      The number of On-Demand Instances in the fleet.

      + *

      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

      * @public */ - OnDemandTargetCapacity?: number | undefined; + DryRun?: boolean | undefined; /** - *

      Reserved.

      + *

      The ID of the instance.

      * @public */ - Context?: string | undefined; + InstanceId: string | undefined; /** - *

      The ID of the Spot Fleet request.

      + *

      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.

      * @public */ - SpotFleetRequestId: string | undefined; + PrivateDnsHostnameType?: HostnameType | undefined; /** - *

      The size of the fleet.

      + *

      Indicates whether to respond to DNS queries for instance hostnames with DNS A + * records.

      * @public */ - TargetCapacity?: number | undefined; + EnableResourceNameDnsARecord?: boolean | undefined; /** - *

      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.

      + *

      Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA + * records.

      * @public */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | undefined; + EnableResourceNameDnsAAAARecord?: boolean | undefined; } /** - *

      Contains the output of ModifySpotFleetRequest.

      * @public */ -export interface ModifySpotFleetRequestResponse { +export interface ModifyPrivateDnsNameOptionsResult { /** - *

      If the request succeeds, the response returns true. If the request fails, - * no response is returned, and instead an error message is returned.

      + *

      Returns true if the request succeeds; otherwise, it returns an + * error.

      * @public */ Return?: boolean | undefined; } /** + *

      Contains the parameters for ModifyReservedInstances.

      * @public */ -export interface ModifySubnetAttributeRequest { +export interface ModifyReservedInstancesRequest { /** - *

      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 IDs of the Reserved Instances to modify.

      * @public */ - AssignIpv6AddressOnCreation?: AttributeBooleanValue | undefined; + ReservedInstancesIds: string[] | undefined; /** - *

      Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a public IPv4 address.

      - *

      Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses - * associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

      + *

      A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see + * Ensuring Idempotency.

      * @public */ - MapPublicIpOnLaunch?: AttributeBooleanValue | undefined; + ClientToken?: string | undefined; /** - *

      The ID of the subnet.

      + *

      The configuration settings for the Reserved Instances to modify.

      * @public */ - SubnetId: string | undefined; + TargetConfigurations: ReservedInstancesConfiguration[] | undefined; +} +/** + *

      Contains the output of ModifyReservedInstances.

      + * @public + */ +export interface ModifyReservedInstancesResult { /** - *

      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.

      + *

      The ID for the modification.

      * @public */ - MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue | undefined; + ReservedInstancesModificationId?: string | undefined; +} + +/** + *

      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.

      + * @public + */ +export interface SecurityGroupRuleRequest { + /** + *

      The IP protocol name (tcp, udp, icmp, + * icmpv6) or number (see Protocol Numbers).

      + *

      Use -1 to specify all protocols.

      + * @public + */ + IpProtocol?: string | undefined; /** - *

      The customer-owned IPv4 address pool associated with the subnet.

      - *

      You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

      + *

      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 ICMP type or -1 (all ICMP types).

      * @public */ - CustomerOwnedIpv4Pool?: string | undefined; + FromPort?: number | undefined; /** - *

      Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet - * should return synthetic IPv6 addresses for IPv4-only destinations.

      - *

      You must first configure a NAT gateway in a public subnet (separate from the subnet - * containing the IPv6-only workloads). For example, the subnet containing the NAT gateway - * should have a 0.0.0.0/0 route pointing to the internet gateway. For more - * information, see Configure DNS64 and NAT64 in the Amazon VPC User Guide.

      + *

      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 ICMP code or -1 (all ICMP codes). + * If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

      * @public */ - EnableDns64?: AttributeBooleanValue | undefined; + ToPort?: number | undefined; /** - *

      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 IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

      * @public */ - PrivateDnsHostnameTypeOnLaunch?: HostnameType | undefined; + CidrIpv4?: string | undefined; /** - *

      Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

      + *

      The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

      * @public */ - EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue | undefined; + CidrIpv6?: string | undefined; /** - *

      Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

      + *

      The ID of the prefix list.

      * @public */ - EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue | undefined; + PrefixListId?: string | undefined; /** - *

      - * 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 security group that is referenced in the security group rule.

      * @public */ - EnableLniAtDeviceIndex?: number | undefined; + ReferencedGroupId?: string | undefined; /** - *

      - * Specify true to indicate that local network interfaces at the current - * position should be disabled. - *

      + *

      The description of the security group rule.

      * @public */ - DisableLniAtDeviceIndex?: AttributeBooleanValue | undefined; + Description?: string | undefined; } /** + *

      Describes an update to a security group rule.

      * @public */ -export interface ModifyTrafficMirrorFilterNetworkServicesRequest { +export interface SecurityGroupRuleUpdate { /** - *

      The ID of the Traffic Mirror filter.

      + *

      The ID of the security group rule.

      * @public */ - TrafficMirrorFilterId: string | undefined; + SecurityGroupRuleId: string | undefined; /** - *

      The network service, for example Amazon DNS, that you want to mirror.

      + *

      Information about the security group rule.

      * @public */ - AddNetworkServices?: TrafficMirrorNetworkService[] | undefined; + SecurityGroupRule?: SecurityGroupRuleRequest | undefined; +} +/** + * @public + */ +export interface ModifySecurityGroupRulesRequest { /** - *

      The network service, for example Amazon DNS, that you no longer want to mirror.

      + *

      The ID of the security group.

      * @public */ - RemoveNetworkServices?: TrafficMirrorNetworkService[] | undefined; + GroupId: string | undefined; + + /** + *

      Information about the security group properties to update.

      + * @public + */ + SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8262,102 +8459,71 @@ export interface ModifyTrafficMirrorFilterNetworkServicesRequest { /** * @public */ -export interface ModifyTrafficMirrorFilterNetworkServicesResult { +export interface ModifySecurityGroupRulesResult { /** - *

      The Traffic Mirror filter that the network service is associated with.

      + *

      Returns true if the request succeeds; otherwise, returns an error.

      * @public */ - TrafficMirrorFilter?: TrafficMirrorFilter | undefined; + Return?: boolean | undefined; } /** - * @public - * @enum - */ -export const TrafficMirrorFilterRuleField = { - description: "description", - destination_port_range: "destination-port-range", - protocol: "protocol", - source_port_range: "source-port-range", -} as const; - -/** - * @public - */ -export type TrafficMirrorFilterRuleField = - (typeof TrafficMirrorFilterRuleField)[keyof typeof TrafficMirrorFilterRuleField]; - -/** + *

      Describes modifications to the list of create volume permissions for a volume.

      * @public */ -export interface ModifyTrafficMirrorFilterRuleRequest { - /** - *

      The ID of the Traffic Mirror rule.

      - * @public - */ - TrafficMirrorFilterRuleId: string | undefined; - - /** - *

      The type of traffic to assign to the rule.

      - * @public - */ - TrafficDirection?: TrafficDirection | undefined; - - /** - *

      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.

      - * @public - */ - RuleNumber?: number | undefined; - +export interface CreateVolumePermissionModifications { /** - *

      The action to assign to the rule.

      + *

      Adds the specified Amazon Web Services account ID or group to the list.

      * @public */ - RuleAction?: TrafficMirrorRuleAction | undefined; + Add?: CreateVolumePermission[] | undefined; /** - *

      The destination ports that are associated with the Traffic Mirror rule.

      + *

      Removes the specified Amazon Web Services account ID or group from the list.

      * @public */ - DestinationPortRange?: TrafficMirrorPortRangeRequest | undefined; + Remove?: CreateVolumePermission[] | undefined; +} +/** + * @public + */ +export interface ModifySnapshotAttributeRequest { /** - *

      The port range to assign to the Traffic Mirror rule.

      + *

      The snapshot attribute to modify. Only volume creation permissions can be modified.

      * @public */ - SourcePortRange?: TrafficMirrorPortRangeRequest | undefined; + Attribute?: SnapshotAttributeName | undefined; /** - *

      The protocol, for example TCP, to assign to the Traffic Mirror rule.

      + *

      A JSON representation of the snapshot attribute modification.

      * @public */ - Protocol?: number | undefined; + CreateVolumePermission?: CreateVolumePermissionModifications | undefined; /** - *

      The destination CIDR block to assign to the Traffic Mirror rule.

      + *

      The group to modify for the snapshot.

      * @public */ - DestinationCidrBlock?: string | undefined; + GroupNames?: string[] | undefined; /** - *

      The source CIDR block to assign to the Traffic Mirror rule.

      + *

      The type of operation to perform to the attribute.

      * @public */ - SourceCidrBlock?: string | undefined; + OperationType?: OperationType | undefined; /** - *

      The description to assign to the Traffic Mirror rule.

      + *

      The ID of the snapshot.

      * @public */ - Description?: string | undefined; + SnapshotId: string | undefined; /** - *

      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 account ID to modify for the snapshot.

      * @public */ - RemoveFields?: TrafficMirrorFilterRuleField[] | undefined; + UserIds?: string[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8368,225 +8534,240 @@ export interface ModifyTrafficMirrorFilterRuleRequest { DryRun?: boolean | undefined; } -/** - * @public - */ -export interface ModifyTrafficMirrorFilterRuleResult { - /** - * - *

      Tags are not returned for ModifyTrafficMirrorFilterRule.

      - * - *

      A Traffic Mirror rule.

      - * @public - */ - TrafficMirrorFilterRule?: TrafficMirrorFilterRule | undefined; -} - /** * @public * @enum */ -export const TrafficMirrorSessionField = { - description: "description", - packet_length: "packet-length", - virtual_network_id: "virtual-network-id", +export const TargetStorageTier = { + archive: "archive", } as const; /** * @public */ -export type TrafficMirrorSessionField = (typeof TrafficMirrorSessionField)[keyof typeof TrafficMirrorSessionField]; +export type TargetStorageTier = (typeof TargetStorageTier)[keyof typeof TargetStorageTier]; /** * @public */ -export interface ModifyTrafficMirrorSessionRequest { +export interface ModifySnapshotTierRequest { /** - *

      The ID of the Traffic Mirror session.

      + *

      The ID of the snapshot.

      * @public */ - TrafficMirrorSessionId: string | undefined; + SnapshotId: string | undefined; /** - *

      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 name of the storage tier. You must specify archive.

      * @public */ - TrafficMirrorTargetId?: string | undefined; + StorageTier?: TargetStorageTier | undefined; /** - *

      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.

      * @public */ - TrafficMirrorFilterId?: string | undefined; + DryRun?: boolean | undefined; +} +/** + * @public + */ +export interface ModifySnapshotTierResult { /** - *

      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 snapshot.

      * @public */ - PacketLength?: number | undefined; + SnapshotId?: string | undefined; /** - *

      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 date and time when the archive process was started.

      * @public */ - SessionNumber?: number | undefined; + TieringStartTime?: Date | undefined; +} +/** + *

      Contains the parameters for ModifySpotFleetRequest.

      + * @public + */ +export interface ModifySpotFleetRequestRequest { /** - *

      The virtual network ID of the Traffic Mirror session.

      + *

      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.

      * @public */ - VirtualNetworkId?: number | undefined; + LaunchTemplateConfigs?: LaunchTemplateConfig[] | undefined; /** - *

      The description to assign to the Traffic Mirror session.

      + *

      The number of On-Demand Instances in the fleet.

      * @public */ - Description?: string | undefined; + OnDemandTargetCapacity?: number | undefined; /** - *

      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.

      + *

      Reserved.

      * @public */ - RemoveFields?: TrafficMirrorSessionField[] | undefined; + Context?: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The ID of the Spot Fleet request.

      * @public */ - DryRun?: boolean | undefined; + SpotFleetRequestId: string | undefined; + + /** + *

      The size of the fleet.

      + * @public + */ + TargetCapacity?: number | undefined; + + /** + *

      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.

      + * @public + */ + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | undefined; } /** + *

      Contains the output of ModifySpotFleetRequest.

      * @public */ -export interface ModifyTrafficMirrorSessionResult { +export interface ModifySpotFleetRequestResponse { /** - *

      Information about the Traffic Mirror session.

      + *

      If the request succeeds, the response returns true. If the request fails, + * no response is returned, and instead an error message is returned.

      * @public */ - TrafficMirrorSession?: TrafficMirrorSession | undefined; + Return?: boolean | undefined; } /** - *

      The transit gateway options.

      * @public */ -export interface ModifyTransitGatewayOptions { +export interface ModifySubnetAttributeRequest { /** - *

      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.

      + *

      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.

      * @public */ - AddTransitGatewayCidrBlocks?: string[] | undefined; + AssignIpv6AddressOnCreation?: AttributeBooleanValue | undefined; /** - *

      Removes CIDR blocks for the transit gateway.

      + *

      Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a public IPv4 address.

      + *

      Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses + * associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

      * @public */ - RemoveTransitGatewayCidrBlocks?: string[] | undefined; + MapPublicIpOnLaunch?: AttributeBooleanValue | undefined; /** - *

      Enable or disable Equal Cost Multipath Protocol support.

      + *

      The ID of the subnet.

      * @public */ - VpnEcmpSupport?: VpnEcmpSupportValue | undefined; + SubnetId: string | undefined; /** - *

      Enable or disable DNS support.

      + *

      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.

      * @public */ - DnsSupport?: DnsSupportValue | undefined; + MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue | undefined; /** - *

      Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. - * - *

      - *

      This option is disabled by default.

      - *

      For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

      + *

      The customer-owned IPv4 address pool associated with the subnet.

      + *

      You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

      * @public */ - SecurityGroupReferencingSupport?: SecurityGroupReferencingSupportValue | undefined; + CustomerOwnedIpv4Pool?: string | undefined; /** - *

      Enable or disable automatic acceptance of attachment requests.

      + *

      Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet + * should return synthetic IPv6 addresses for IPv4-only destinations.

      + *

      You must first configure a NAT gateway in a public subnet (separate from the subnet + * containing the IPv6-only workloads). For example, the subnet containing the NAT gateway + * should have a 0.0.0.0/0 route pointing to the internet gateway. For more + * information, see Configure DNS64 and NAT64 in the Amazon VPC User Guide.

      * @public */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | undefined; + EnableDns64?: AttributeBooleanValue | undefined; /** - *

      Enable or disable automatic association with the default association route table.

      + *

      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).

      * @public */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | undefined; + PrivateDnsHostnameTypeOnLaunch?: HostnameType | undefined; /** - *

      The ID of the default association route table.

      + *

      Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

      * @public */ - AssociationDefaultRouteTableId?: string | undefined; + EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue | undefined; /** - *

      Enable or disable automatic propagation of routes to the default propagation route table.

      + *

      Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

      * @public */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | undefined; + EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue | undefined; /** - *

      The ID of the default propagation route table.

      + *

      + * 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). + *

      * @public */ - PropagationDefaultRouteTableId?: string | undefined; + EnableLniAtDeviceIndex?: number | undefined; /** - *

      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 if it has the following attachments:

      - *
        - *
      • - *

        Dynamic VPN

        - *
      • - *
      • - *

        Static VPN

        - *
      • - *
      • - *

        Direct Connect Gateway

        - *
      • - *
      • - *

        Connect

        - *
      • - *
      - *

      You must first delete all transit gateway attachments configured prior to modifying the ASN on - * the transit gateway.

      + *

      + * Specify true to indicate that local network interfaces at the current + * position should be disabled. + *

      * @public */ - AmazonSideAsn?: number | undefined; + DisableLniAtDeviceIndex?: AttributeBooleanValue | undefined; } /** * @public */ -export interface ModifyTransitGatewayRequest { +export interface ModifyTrafficMirrorFilterNetworkServicesRequest { /** - *

      The ID of the transit gateway.

      + *

      The ID of the Traffic Mirror filter.

      * @public */ - TransitGatewayId: string | undefined; + TrafficMirrorFilterId: string | undefined; /** - *

      The description for the transit gateway.

      + *

      The network service, for example Amazon DNS, that you want to mirror.

      * @public */ - Description?: string | undefined; + AddNetworkServices?: TrafficMirrorNetworkService[] | undefined; /** - *

      The options to modify.

      + *

      The network service, for example Amazon DNS, that you no longer want to mirror.

      * @public */ - Options?: ModifyTransitGatewayOptions | undefined; + RemoveNetworkServices?: TrafficMirrorNetworkService[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8600,123 +8781,102 @@ export interface ModifyTransitGatewayRequest { /** * @public */ -export interface ModifyTransitGatewayResult { +export interface ModifyTrafficMirrorFilterNetworkServicesResult { /** - *

      Information about the transit gateway.

      + *

      The Traffic Mirror filter that the network service is associated with.

      * @public */ - TransitGateway?: TransitGateway | undefined; + TrafficMirrorFilter?: TrafficMirrorFilter | undefined; } /** * @public + * @enum */ -export interface ModifyTransitGatewayPrefixListReferenceRequest { - /** - *

      The ID of the transit gateway route table.

      - * @public - */ - TransitGatewayRouteTableId: string | undefined; - - /** - *

      The ID of the prefix list.

      - * @public - */ - PrefixListId: string | undefined; +export const TrafficMirrorFilterRuleField = { + description: "description", + destination_port_range: "destination-port-range", + protocol: "protocol", + source_port_range: "source-port-range", +} as const; - /** - *

      The ID of the attachment to which traffic is routed.

      - * @public - */ - TransitGatewayAttachmentId?: string | undefined; +/** + * @public + */ +export type TrafficMirrorFilterRuleField = + (typeof TrafficMirrorFilterRuleField)[keyof typeof TrafficMirrorFilterRuleField]; +/** + * @public + */ +export interface ModifyTrafficMirrorFilterRuleRequest { /** - *

      Indicates whether to drop traffic that matches this route.

      + *

      The ID of the Traffic Mirror rule.

      * @public */ - Blackhole?: boolean | undefined; + TrafficMirrorFilterRuleId: string | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      The type of traffic to assign to the rule.

      * @public */ - DryRun?: boolean | undefined; -} + TrafficDirection?: TrafficDirection | undefined; -/** - * @public - */ -export interface ModifyTransitGatewayPrefixListReferenceResult { /** - *

      Information about the prefix list reference.

      + *

      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.

      * @public */ - TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference | undefined; -} + RuleNumber?: number | undefined; -/** - *

      Describes the options for a VPC attachment.

      - * @public - */ -export interface ModifyTransitGatewayVpcAttachmentRequestOptions { /** - *

      Enable or disable DNS support. The default is enable.

      + *

      The action to assign to the rule.

      * @public */ - DnsSupport?: DnsSupportValue | undefined; + RuleAction?: TrafficMirrorRuleAction | undefined; /** - *

      Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. - * - *

      - *

      This option is disabled by default.

      - *

      For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

      + *

      The destination ports that are associated with the Traffic Mirror rule.

      * @public */ - SecurityGroupReferencingSupport?: SecurityGroupReferencingSupportValue | undefined; + DestinationPortRange?: TrafficMirrorPortRangeRequest | undefined; /** - *

      Enable or disable IPv6 support. The default is enable.

      + *

      The port range to assign to the Traffic Mirror rule.

      * @public */ - Ipv6Support?: Ipv6SupportValue | undefined; + SourcePortRange?: TrafficMirrorPortRangeRequest | undefined; /** - *

      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.

      + *

      The protocol, for example TCP, to assign to the Traffic Mirror rule.

      * @public */ - ApplianceModeSupport?: ApplianceModeSupportValue | undefined; -} + Protocol?: number | undefined; -/** - * @public - */ -export interface ModifyTransitGatewayVpcAttachmentRequest { /** - *

      The ID of the attachment.

      + *

      The destination CIDR block to assign to the Traffic Mirror rule.

      * @public */ - TransitGatewayAttachmentId: string | undefined; + DestinationCidrBlock?: string | undefined; /** - *

      The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

      + *

      The source CIDR block to assign to the Traffic Mirror rule.

      * @public */ - AddSubnetIds?: string[] | undefined; + SourceCidrBlock?: string | undefined; /** - *

      The IDs of one or more subnets to remove.

      + *

      The description to assign to the Traffic Mirror rule.

      * @public */ - RemoveSubnetIds?: string[] | undefined; + Description?: string | undefined; /** - *

      The new VPC attachment options.

      + *

      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.

      * @public */ - Options?: ModifyTransitGatewayVpcAttachmentRequestOptions | undefined; + RemoveFields?: TrafficMirrorFilterRuleField[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8730,99 +8890,86 @@ export interface ModifyTransitGatewayVpcAttachmentRequest { /** * @public */ -export interface ModifyTransitGatewayVpcAttachmentResult { +export interface ModifyTrafficMirrorFilterRuleResult { /** - *

      Information about the modified attachment.

      + * + *

      Tags are not returned for ModifyTrafficMirrorFilterRule.

      + *
      + *

      A Traffic Mirror rule.

      * @public */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment | undefined; + TrafficMirrorFilterRule?: TrafficMirrorFilterRule | undefined; } /** - *

      Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the - * load-balancer type.

      * @public + * @enum */ -export interface ModifyVerifiedAccessEndpointLoadBalancerOptions { - /** - *

      The IDs of the subnets.

      - * @public - */ - SubnetIds?: string[] | undefined; - - /** - *

      The IP protocol.

      - * @public - */ - Protocol?: VerifiedAccessEndpointProtocol | undefined; +export const TrafficMirrorSessionField = { + description: "description", + packet_length: "packet-length", + virtual_network_id: "virtual-network-id", +} as const; - /** - *

      The IP port number.

      - * @public - */ - Port?: number | undefined; -} +/** + * @public + */ +export type TrafficMirrorSessionField = (typeof TrafficMirrorSessionField)[keyof typeof TrafficMirrorSessionField]; /** - *

      Describes the options when modifying a Verified Access endpoint with the - * network-interface type.

      * @public */ -export interface ModifyVerifiedAccessEndpointEniOptions { +export interface ModifyTrafficMirrorSessionRequest { /** - *

      The IP protocol.

      + *

      The ID of the Traffic Mirror session.

      * @public */ - Protocol?: VerifiedAccessEndpointProtocol | undefined; + TrafficMirrorSessionId: string | undefined; /** - *

      The IP port number.

      + *

      The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

      * @public */ - Port?: number | undefined; -} + TrafficMirrorTargetId?: string | undefined; -/** - * @public - */ -export interface ModifyVerifiedAccessEndpointRequest { /** - *

      The ID of the Verified Access endpoint.

      + *

      The ID of the Traffic Mirror filter.

      * @public */ - VerifiedAccessEndpointId: string | undefined; + TrafficMirrorFilterId?: string | undefined; /** - *

      The ID of the Verified Access group.

      + *

      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.

      * @public */ - VerifiedAccessGroupId?: string | undefined; + PacketLength?: number | undefined; /** - *

      The load balancer details if creating the Verified Access endpoint as - * load-balancertype.

      + *

      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.

      * @public */ - LoadBalancerOptions?: ModifyVerifiedAccessEndpointLoadBalancerOptions | undefined; + SessionNumber?: number | undefined; /** - *

      The network interface options.

      + *

      The virtual network ID of the Traffic Mirror session.

      * @public */ - NetworkInterfaceOptions?: ModifyVerifiedAccessEndpointEniOptions | undefined; + VirtualNetworkId?: number | undefined; /** - *

      A description for the Verified Access endpoint.

      + *

      The description to assign to the Traffic Mirror session.

      * @public */ Description?: string | undefined; /** - *

      A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring idempotency.

      + *

      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.

      * @public */ - ClientToken?: string | undefined; + RemoveFields?: TrafficMirrorSessionField[] | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8836,109 +8983,129 @@ export interface ModifyVerifiedAccessEndpointRequest { /** * @public */ -export interface ModifyVerifiedAccessEndpointResult { +export interface ModifyTrafficMirrorSessionResult { /** - *

      Details about the Verified Access endpoint.

      + *

      Information about the Traffic Mirror session.

      * @public */ - VerifiedAccessEndpoint?: VerifiedAccessEndpoint | undefined; + TrafficMirrorSession?: TrafficMirrorSession | undefined; } /** + *

      The transit gateway options.

      * @public */ -export interface ModifyVerifiedAccessEndpointPolicyRequest { +export interface ModifyTransitGatewayOptions { /** - *

      The ID of the Verified Access endpoint.

      + *

      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.

      * @public */ - VerifiedAccessEndpointId: string | undefined; + AddTransitGatewayCidrBlocks?: string[] | undefined; /** - *

      The status of the Verified Access policy.

      + *

      Removes CIDR blocks for the transit gateway.

      * @public */ - PolicyEnabled?: boolean | undefined; + RemoveTransitGatewayCidrBlocks?: string[] | undefined; /** - *

      The Verified Access policy document.

      + *

      Enable or disable Equal Cost Multipath Protocol support.

      * @public */ - PolicyDocument?: string | undefined; + VpnEcmpSupport?: VpnEcmpSupportValue | undefined; /** - *

      A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring idempotency.

      + *

      Enable or disable DNS support.

      * @public */ - ClientToken?: string | undefined; + DnsSupport?: DnsSupportValue | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. + * + *

      + *

      This option is disabled by default.

      + *

      For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

      * @public */ - DryRun?: boolean | undefined; + SecurityGroupReferencingSupport?: SecurityGroupReferencingSupportValue | undefined; /** - *

      The options for server side encryption.

      + *

      Enable or disable automatic acceptance of attachment requests.

      * @public */ - SseSpecification?: VerifiedAccessSseSpecificationRequest | undefined; -} + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | undefined; -/** - * @public - */ -export interface ModifyVerifiedAccessEndpointPolicyResult { /** - *

      The status of the Verified Access policy.

      + *

      Enable or disable automatic association with the default association route table.

      * @public */ - PolicyEnabled?: boolean | undefined; + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | undefined; /** - *

      The Verified Access policy document.

      + *

      The ID of the default association route table.

      * @public */ - PolicyDocument?: string | undefined; + AssociationDefaultRouteTableId?: string | undefined; /** - *

      The options in use for server side encryption.

      + *

      Enable or disable automatic propagation of routes to the default propagation route table.

      * @public */ - SseSpecification?: VerifiedAccessSseSpecificationResponse | undefined; -} + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | undefined; -/** - * @public - */ -export interface ModifyVerifiedAccessGroupRequest { /** - *

      The ID of the Verified Access group.

      + *

      The ID of the default propagation route table.

      * @public */ - VerifiedAccessGroupId: string | undefined; + PropagationDefaultRouteTableId?: string | undefined; + + /** + *

      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 if it has the following attachments:

      + *
        + *
      • + *

        Dynamic VPN

        + *
      • + *
      • + *

        Static VPN

        + *
      • + *
      • + *

        Direct Connect Gateway

        + *
      • + *
      • + *

        Connect

        + *
      • + *
      + *

      You must first delete all transit gateway attachments configured prior to modifying the ASN on + * the transit gateway.

      + * @public + */ + AmazonSideAsn?: number | undefined; +} +/** + * @public + */ +export interface ModifyTransitGatewayRequest { /** - *

      The ID of the Verified Access instance.

      + *

      The ID of the transit gateway.

      * @public */ - VerifiedAccessInstanceId?: string | undefined; + TransitGatewayId: string | undefined; /** - *

      A description for the Verified Access group.

      + *

      The description for the transit gateway.

      * @public */ Description?: string | undefined; /** - *

      A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring idempotency.

      + *

      The options to modify.

      * @public */ - ClientToken?: string | undefined; + Options?: ModifyTransitGatewayOptions | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8952,42 +9119,41 @@ export interface ModifyVerifiedAccessGroupRequest { /** * @public */ -export interface ModifyVerifiedAccessGroupResult { +export interface ModifyTransitGatewayResult { /** - *

      Details about the Verified Access group.

      + *

      Information about the transit gateway.

      * @public */ - VerifiedAccessGroup?: VerifiedAccessGroup | undefined; + TransitGateway?: TransitGateway | undefined; } /** * @public */ -export interface ModifyVerifiedAccessGroupPolicyRequest { +export interface ModifyTransitGatewayPrefixListReferenceRequest { /** - *

      The ID of the Verified Access group.

      + *

      The ID of the transit gateway route table.

      * @public */ - VerifiedAccessGroupId: string | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

      The status of the Verified Access policy.

      + *

      The ID of the prefix list.

      * @public */ - PolicyEnabled?: boolean | undefined; + PrefixListId: string | undefined; /** - *

      The Verified Access policy document.

      + *

      The ID of the attachment to which traffic is routed.

      * @public */ - PolicyDocument?: string | undefined; + TransitGatewayAttachmentId?: string | undefined; /** - *

      A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring idempotency.

      + *

      Indicates whether to drop traffic that matches this route.

      * @public */ - ClientToken?: string | undefined; + Blackhole?: boolean | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -8996,225 +9162,143 @@ export interface ModifyVerifiedAccessGroupPolicyRequest { * @public */ DryRun?: boolean | undefined; - - /** - *

      The options for server side encryption.

      - * @public - */ - SseSpecification?: VerifiedAccessSseSpecificationRequest | undefined; } /** * @public */ -export interface ModifyVerifiedAccessGroupPolicyResult { - /** - *

      The status of the Verified Access policy.

      - * @public - */ - PolicyEnabled?: boolean | undefined; - - /** - *

      The Verified Access policy document.

      - * @public - */ - PolicyDocument?: string | undefined; - +export interface ModifyTransitGatewayPrefixListReferenceResult { /** - *

      The options in use for server side encryption.

      + *

      Information about the prefix list reference.

      * @public */ - SseSpecification?: VerifiedAccessSseSpecificationResponse | undefined; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference | undefined; } /** + *

      Describes the options for a VPC attachment.

      * @public */ -export interface ModifyVerifiedAccessInstanceRequest { +export interface ModifyTransitGatewayVpcAttachmentRequestOptions { /** - *

      The ID of the Verified Access instance.

      + *

      Enable or disable DNS support. The default is enable.

      * @public */ - VerifiedAccessInstanceId: string | undefined; + DnsSupport?: DnsSupportValue | undefined; /** - *

      A description for the Verified Access instance.

      + *

      Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. + * + *

      + *

      This option is disabled by default.

      + *

      For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

      * @public */ - Description?: string | undefined; + SecurityGroupReferencingSupport?: SecurityGroupReferencingSupportValue | undefined; /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      + *

      Enable or disable IPv6 support. The default is enable.

      * @public */ - DryRun?: boolean | undefined; + Ipv6Support?: Ipv6SupportValue | undefined; /** - *

      A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring idempotency.

      + *

      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.

      * @public */ - ClientToken?: string | undefined; + ApplianceModeSupport?: ApplianceModeSupportValue | undefined; } /** * @public */ -export interface ModifyVerifiedAccessInstanceResult { +export interface ModifyTransitGatewayVpcAttachmentRequest { /** - *

      Details about the Verified Access instance.

      + *

      The ID of the attachment.

      * @public */ - VerifiedAccessInstance?: VerifiedAccessInstance | undefined; -} + TransitGatewayAttachmentId: string | undefined; -/** - *

      Options for CloudWatch Logs as a logging destination.

      - * @public - */ -export interface VerifiedAccessLogCloudWatchLogsDestinationOptions { /** - *

      Indicates whether logging is enabled.

      + *

      The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

      * @public */ - Enabled: boolean | undefined; + AddSubnetIds?: string[] | undefined; /** - *

      The ID of the CloudWatch Logs log group.

      + *

      The IDs of one or more subnets to remove.

      * @public */ - LogGroup?: string | undefined; -} + RemoveSubnetIds?: string[] | undefined; -/** - *

      Describes Amazon Kinesis Data Firehose logging options.

      - * @public - */ -export interface VerifiedAccessLogKinesisDataFirehoseDestinationOptions { /** - *

      Indicates whether logging is enabled.

      + *

      The new VPC attachment options.

      * @public */ - Enabled: boolean | undefined; + Options?: ModifyTransitGatewayVpcAttachmentRequestOptions | undefined; /** - *

      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.

      * @public */ - DeliveryStream?: string | undefined; + DryRun?: boolean | undefined; } /** - *

      Options for Amazon S3 as a logging destination.

      * @public */ -export interface VerifiedAccessLogS3DestinationOptions { - /** - *

      Indicates whether logging is enabled.

      - * @public - */ - Enabled: boolean | undefined; - - /** - *

      The bucket name.

      - * @public - */ - BucketName?: string | undefined; - - /** - *

      The bucket prefix.

      - * @public - */ - Prefix?: string | undefined; - +export interface ModifyTransitGatewayVpcAttachmentResult { /** - *

      The ID of the Amazon Web Services account that owns the Amazon S3 bucket.

      + *

      Information about the modified attachment.

      * @public */ - BucketOwner?: string | undefined; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment | undefined; } /** - *

      Options for Verified Access logs.

      + *

      Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the + * load-balancer type.

      * @public */ -export interface VerifiedAccessLogOptions { - /** - *

      Sends Verified Access logs to Amazon S3.

      - * @public - */ - S3?: VerifiedAccessLogS3DestinationOptions | undefined; - - /** - *

      Sends Verified Access logs to CloudWatch Logs.

      - * @public - */ - CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestinationOptions | undefined; - +export interface ModifyVerifiedAccessEndpointLoadBalancerOptions { /** - *

      Sends Verified Access logs to Kinesis.

      + *

      The IDs of the subnets.

      * @public */ - KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestinationOptions | undefined; + SubnetIds?: string[] | undefined; /** - *

      The logging version.

      - *

      Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2 - *

      + *

      The IP protocol.

      * @public */ - LogVersion?: string | undefined; + Protocol?: VerifiedAccessEndpointProtocol | undefined; /** - *

      Indicates whether to include trust data sent by trust providers in the logs.

      + *

      The IP port number.

      * @public */ - IncludeTrustContext?: boolean | undefined; + Port?: number | undefined; } /** + *

      Describes the options when modifying a Verified Access endpoint with the + * network-interface type.

      * @public */ -export interface ModifyVerifiedAccessInstanceLoggingConfigurationRequest { - /** - *

      The ID of the Verified Access instance.

      - * @public - */ - VerifiedAccessInstanceId: string | undefined; - - /** - *

      The configuration options for Verified Access instances.

      - * @public - */ - AccessLogs: VerifiedAccessLogOptions | undefined; - - /** - *

      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

      - * @public - */ - DryRun?: boolean | undefined; - +export interface ModifyVerifiedAccessEndpointEniOptions { /** - *

      A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring idempotency.

      + *

      The IP protocol.

      * @public */ - ClientToken?: string | undefined; -} + Protocol?: VerifiedAccessEndpointProtocol | undefined; -/** - * @public - */ -export interface ModifyVerifiedAccessInstanceLoggingConfigurationResult { /** - *

      The logging configuration for the Verified Access instance.

      + *

      The IP port number.

      * @public */ - LoggingConfiguration?: VerifiedAccessInstanceLoggingConfiguration | undefined; + Port?: number | undefined; } /** diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index 9c657b637860..ee0ee54aeec5 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -21,6 +21,8 @@ import { TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, UnsuccessfulItem, + VerifiedAccessInstance, + VerifiedAccessSseSpecificationResponse, VerifiedAccessTrustProvider, VerifiedAccessTrustProviderFilterSensitiveLog, } from "./models_0"; @@ -50,6 +52,7 @@ import { import { DnsOptionsSpecification, IKEVersionsRequestListValue, + InternetGatewayExclusionMode, IpAddressType, PayerResponsibility, Phase1DHGroupNumbersRequestListValue, @@ -62,7 +65,10 @@ import { SSEType, SubnetConfiguration, TransitGatewayRoute, + VerifiedAccessEndpoint, + VerifiedAccessGroup, VerifiedAccessSseSpecificationRequest, + VpcBlockPublicAccessExclusion, VpnConnection, VpnConnectionFilterSensitiveLog, VpnTunnelLogOptionsSpecification, @@ -87,22 +93,465 @@ import { NetworkInsightsAnalysis, PublicIpv4PoolRange, ScheduledInstance, - SnapshotAttributeName, TpmSupportValues, } from "./models_4"; import { InstanceNetworkInterfaceSpecification, + InternetGatewayBlockMode, RunInstancesMonitoringEnabled, + SnapshotAttributeName, SpotFleetRequestConfigData, SpotFleetRequestConfigDataFilterSensitiveLog, SpotInstanceRequest, SpotInstanceRequestFilterSensitiveLog, SpotPlacement, + VerifiedAccessInstanceLoggingConfiguration, VolumeModification, + VpcBlockPublicAccessOptions, } from "./models_5"; -import { CapacityReservationSpecification, Purchase } from "./models_6"; +import { + CapacityReservationSpecification, + ModifyVerifiedAccessEndpointEniOptions, + ModifyVerifiedAccessEndpointLoadBalancerOptions, + Purchase, +} from "./models_6"; + +/** + * @public + */ +export interface ModifyVerifiedAccessEndpointRequest { + /** + *

      The ID of the Verified Access endpoint.

      + * @public + */ + VerifiedAccessEndpointId: string | undefined; + + /** + *

      The ID of the Verified Access group.

      + * @public + */ + VerifiedAccessGroupId?: string | undefined; + + /** + *

      The load balancer details if creating the Verified Access endpoint as + * load-balancertype.

      + * @public + */ + LoadBalancerOptions?: ModifyVerifiedAccessEndpointLoadBalancerOptions | undefined; + + /** + *

      The network interface options.

      + * @public + */ + NetworkInterfaceOptions?: ModifyVerifiedAccessEndpointEniOptions | undefined; + + /** + *

      A description for the Verified Access endpoint.

      + * @public + */ + Description?: string | undefined; + + /** + *

      A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring idempotency.

      + * @public + */ + ClientToken?: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessEndpointResult { + /** + *

      Details about the Verified Access endpoint.

      + * @public + */ + VerifiedAccessEndpoint?: VerifiedAccessEndpoint | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessEndpointPolicyRequest { + /** + *

      The ID of the Verified Access endpoint.

      + * @public + */ + VerifiedAccessEndpointId: string | undefined; + + /** + *

      The status of the Verified Access policy.

      + * @public + */ + PolicyEnabled?: boolean | undefined; + + /** + *

      The Verified Access policy document.

      + * @public + */ + PolicyDocument?: string | undefined; + + /** + *

      A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring idempotency.

      + * @public + */ + ClientToken?: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      The options for server side encryption.

      + * @public + */ + SseSpecification?: VerifiedAccessSseSpecificationRequest | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessEndpointPolicyResult { + /** + *

      The status of the Verified Access policy.

      + * @public + */ + PolicyEnabled?: boolean | undefined; + + /** + *

      The Verified Access policy document.

      + * @public + */ + PolicyDocument?: string | undefined; + + /** + *

      The options in use for server side encryption.

      + * @public + */ + SseSpecification?: VerifiedAccessSseSpecificationResponse | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessGroupRequest { + /** + *

      The ID of the Verified Access group.

      + * @public + */ + VerifiedAccessGroupId: string | undefined; + + /** + *

      The ID of the Verified Access instance.

      + * @public + */ + VerifiedAccessInstanceId?: string | undefined; + + /** + *

      A description for the Verified Access group.

      + * @public + */ + Description?: string | undefined; + + /** + *

      A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring idempotency.

      + * @public + */ + ClientToken?: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessGroupResult { + /** + *

      Details about the Verified Access group.

      + * @public + */ + VerifiedAccessGroup?: VerifiedAccessGroup | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessGroupPolicyRequest { + /** + *

      The ID of the Verified Access group.

      + * @public + */ + VerifiedAccessGroupId: string | undefined; + + /** + *

      The status of the Verified Access policy.

      + * @public + */ + PolicyEnabled?: boolean | undefined; + + /** + *

      The Verified Access policy document.

      + * @public + */ + PolicyDocument?: string | undefined; + + /** + *

      A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring idempotency.

      + * @public + */ + ClientToken?: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      The options for server side encryption.

      + * @public + */ + SseSpecification?: VerifiedAccessSseSpecificationRequest | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessGroupPolicyResult { + /** + *

      The status of the Verified Access policy.

      + * @public + */ + PolicyEnabled?: boolean | undefined; + + /** + *

      The Verified Access policy document.

      + * @public + */ + PolicyDocument?: string | undefined; + + /** + *

      The options in use for server side encryption.

      + * @public + */ + SseSpecification?: VerifiedAccessSseSpecificationResponse | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessInstanceRequest { + /** + *

      The ID of the Verified Access instance.

      + * @public + */ + VerifiedAccessInstanceId: string | undefined; + + /** + *

      A description for the Verified Access instance.

      + * @public + */ + Description?: string | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring idempotency.

      + * @public + */ + ClientToken?: string | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessInstanceResult { + /** + *

      Details about the Verified Access instance.

      + * @public + */ + VerifiedAccessInstance?: VerifiedAccessInstance | undefined; +} + +/** + *

      Options for CloudWatch Logs as a logging destination.

      + * @public + */ +export interface VerifiedAccessLogCloudWatchLogsDestinationOptions { + /** + *

      Indicates whether logging is enabled.

      + * @public + */ + Enabled: boolean | undefined; + + /** + *

      The ID of the CloudWatch Logs log group.

      + * @public + */ + LogGroup?: string | undefined; +} + +/** + *

      Describes Amazon Kinesis Data Firehose logging options.

      + * @public + */ +export interface VerifiedAccessLogKinesisDataFirehoseDestinationOptions { + /** + *

      Indicates whether logging is enabled.

      + * @public + */ + Enabled: boolean | undefined; + + /** + *

      The ID of the delivery stream.

      + * @public + */ + DeliveryStream?: string | undefined; +} + +/** + *

      Options for Amazon S3 as a logging destination.

      + * @public + */ +export interface VerifiedAccessLogS3DestinationOptions { + /** + *

      Indicates whether logging is enabled.

      + * @public + */ + Enabled: boolean | undefined; + + /** + *

      The bucket name.

      + * @public + */ + BucketName?: string | undefined; + + /** + *

      The bucket prefix.

      + * @public + */ + Prefix?: string | undefined; + + /** + *

      The ID of the Amazon Web Services account that owns the Amazon S3 bucket.

      + * @public + */ + BucketOwner?: string | undefined; +} + +/** + *

      Options for Verified Access logs.

      + * @public + */ +export interface VerifiedAccessLogOptions { + /** + *

      Sends Verified Access logs to Amazon S3.

      + * @public + */ + S3?: VerifiedAccessLogS3DestinationOptions | undefined; + + /** + *

      Sends Verified Access logs to CloudWatch Logs.

      + * @public + */ + CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestinationOptions | undefined; + + /** + *

      Sends Verified Access logs to Kinesis.

      + * @public + */ + KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestinationOptions | undefined; + + /** + *

      The logging version.

      + *

      Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2 + *

      + * @public + */ + LogVersion?: string | undefined; + + /** + *

      Indicates whether to include trust data sent by trust providers in the logs.

      + * @public + */ + IncludeTrustContext?: boolean | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessInstanceLoggingConfigurationRequest { + /** + *

      The ID of the Verified Access instance.

      + * @public + */ + VerifiedAccessInstanceId: string | undefined; + + /** + *

      The configuration options for Verified Access instances.

      + * @public + */ + AccessLogs: VerifiedAccessLogOptions | undefined; + + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring idempotency.

      + * @public + */ + ClientToken?: string | undefined; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessInstanceLoggingConfigurationResult { + /** + *

      The logging configuration for the Verified Access instance.

      + * @public + */ + LoggingConfiguration?: VerifiedAccessInstanceLoggingConfiguration | undefined; +} /** *

      Modifies the configuration of the specified device-based Amazon Web Services Verified Access trust provider.

      @@ -401,6 +850,96 @@ export interface ModifyVpcAttributeRequest { EnableNetworkAddressUsageMetrics?: AttributeBooleanValue | undefined; } +/** + * @public + */ +export interface ModifyVpcBlockPublicAccessExclusionRequest { + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      The ID of an exclusion.

      + * @public + */ + ExclusionId: string | undefined; + + /** + *

      The exclusion mode for internet gateway traffic.

      + *
        + *
      • + *

        + * bidirectional-access-allowed: Allow all internet traffic to and from the excluded VPCs and subnets.

        + *
      • + *
      • + *

        + * egress-access-allowed: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

        + *
      • + *
      + * @public + */ + InternetGatewayExclusionMode: InternetGatewayExclusionMode | undefined; +} + +/** + * @public + */ +export interface ModifyVpcBlockPublicAccessExclusionResult { + /** + *

      Details related to the exclusion.

      + * @public + */ + VpcBlockPublicAccessExclusion?: VpcBlockPublicAccessExclusion | undefined; +} + +/** + * @public + */ +export interface ModifyVpcBlockPublicAccessOptionsRequest { + /** + *

      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

      + * @public + */ + DryRun?: boolean | undefined; + + /** + *

      The mode of VPC BPA.

      + *
        + *
      • + *

        + * bidirectional-access-allowed: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.

        + *
      • + *
      • + *

        + * bidirectional-access-blocked: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).

        + *
      • + *
      • + *

        + * ingress-access-blocked: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.

        + *
      • + *
      + * @public + */ + InternetGatewayBlockMode: InternetGatewayBlockMode | undefined; +} + +/** + * @public + */ +export interface ModifyVpcBlockPublicAccessOptionsResult { + /** + *

      Details related to the VPC Block Public Access (BPA) options.

      + * @public + */ + VpcBlockPublicAccessOptions?: VpcBlockPublicAccessOptions | undefined; +} + /** * @public */ @@ -2115,28 +2654,31 @@ export interface RebootInstancesRequest { export interface RegisterImageRequest { /** *

      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.

      + * 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.

      * @public */ ImageLocation?: string | undefined; /** - *

      The billing product codes. Your account must be authorized to specify billing product codes.

      + *

      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.

      + * seller and AMI-based products in the + * Amazon Web Services Marketplace Seller Guide.

      * @public */ BillingProducts?: string[] | undefined; /** - *

      The boot mode of the AMI. A value of uefi-preferred indicates that the AMI supports both UEFI and Legacy BIOS.

      + *

      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.

      + *

      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.

      @@ -2166,10 +2708,10 @@ export interface RegisterImageRequest { * 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.

      + * 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.

      + *

      If you set the value to v2.0, make sure that your AMI software can support + * IMDSv2.

      *
      * @public */ @@ -2194,7 +2736,9 @@ export interface RegisterImageRequest { /** *

      A name for your AMI.

      - *

      Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

      + *

      Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces + * ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or + * underscores(_)

      * @public */ Name: string | undefined; @@ -2207,8 +2751,8 @@ export interface RegisterImageRequest { /** *

      The architecture of the AMI.

      - *

      Default: For Amazon EBS-backed AMIs, i386. - * For instance store-backed AMIs, the architecture specified in the manifest file.

      + *

      Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the + * architecture specified in the manifest file.

      * @public */ Architecture?: ArchitectureValues | undefined; @@ -2233,10 +2777,11 @@ export interface RegisterImageRequest { /** *

      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 + *

      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 EBS User Guide.

      * @public */ @@ -2251,16 +2796,20 @@ export interface RegisterImageRequest { VirtualizationType?: string | undefined; /** - *

      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.

      + *

      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.

      + *

      This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make + * instances launched from the AMI unreachable.

      * @public */ SriovNetSupport?: string | undefined; /** - *

      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.

      + *

      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.

      * @public */ EnaSupport?: boolean | undefined; @@ -3689,7 +4238,8 @@ export type ResetImageAttributeName = (typeof ResetImageAttributeName)[keyof typ */ export interface ResetImageAttributeRequest { /** - *

      The attribute to reset (currently you can only reset the launch permission attribute).

      + *

      The attribute to reset (currently you can only reset the launch permission + * attribute).

      * @public */ Attribute: ResetImageAttributeName | undefined; diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index d8ad12b80bf7..e82feb71fa63 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -458,6 +458,10 @@ import { CreateVerifiedAccessTrustProviderCommandOutput, } from "../commands/CreateVerifiedAccessTrustProviderCommand"; import { CreateVolumeCommandInput, CreateVolumeCommandOutput } from "../commands/CreateVolumeCommand"; +import { + CreateVpcBlockPublicAccessExclusionCommandInput, + CreateVpcBlockPublicAccessExclusionCommandOutput, +} from "../commands/CreateVpcBlockPublicAccessExclusionCommand"; import { CreateVpcCommandInput, CreateVpcCommandOutput } from "../commands/CreateVpcCommand"; import { CreateVpcEndpointCommandInput, CreateVpcEndpointCommandOutput } from "../commands/CreateVpcEndpointCommand"; import { @@ -695,6 +699,10 @@ import { DeleteVerifiedAccessTrustProviderCommandOutput, } from "../commands/DeleteVerifiedAccessTrustProviderCommand"; import { DeleteVolumeCommandInput, DeleteVolumeCommandOutput } from "../commands/DeleteVolumeCommand"; +import { + DeleteVpcBlockPublicAccessExclusionCommandInput, + DeleteVpcBlockPublicAccessExclusionCommandOutput, +} from "../commands/DeleteVpcBlockPublicAccessExclusionCommand"; import { DeleteVpcCommandInput, DeleteVpcCommandOutput } from "../commands/DeleteVpcCommand"; import { DeleteVpcEndpointConnectionNotificationsCommandInput, @@ -1253,6 +1261,14 @@ import { DescribeVpcAttributeCommandInput, DescribeVpcAttributeCommandOutput, } from "../commands/DescribeVpcAttributeCommand"; +import { + DescribeVpcBlockPublicAccessExclusionsCommandInput, + DescribeVpcBlockPublicAccessExclusionsCommandOutput, +} from "../commands/DescribeVpcBlockPublicAccessExclusionsCommand"; +import { + DescribeVpcBlockPublicAccessOptionsCommandInput, + DescribeVpcBlockPublicAccessOptionsCommandOutput, +} from "../commands/DescribeVpcBlockPublicAccessOptionsCommand"; import { DescribeVpcClassicLinkCommandInput, DescribeVpcClassicLinkCommandOutput, @@ -1913,6 +1929,14 @@ import { } from "../commands/ModifyVolumeAttributeCommand"; import { ModifyVolumeCommandInput, ModifyVolumeCommandOutput } from "../commands/ModifyVolumeCommand"; import { ModifyVpcAttributeCommandInput, ModifyVpcAttributeCommandOutput } from "../commands/ModifyVpcAttributeCommand"; +import { + ModifyVpcBlockPublicAccessExclusionCommandInput, + ModifyVpcBlockPublicAccessExclusionCommandOutput, +} from "../commands/ModifyVpcBlockPublicAccessExclusionCommand"; +import { + ModifyVpcBlockPublicAccessOptionsCommandInput, + ModifyVpcBlockPublicAccessOptionsCommandOutput, +} from "../commands/ModifyVpcBlockPublicAccessOptionsCommand"; import { ModifyVpcEndpointCommandInput, ModifyVpcEndpointCommandOutput } from "../commands/ModifyVpcEndpointCommand"; import { ModifyVpcEndpointConnectionNotificationCommandInput, @@ -2434,6 +2458,7 @@ import { BaselineEbsBandwidthMbps, BaselineEbsBandwidthMbpsRequest, BlockDeviceMapping, + BlockPublicAccessStates, CapacityReservation, CapacityReservationOptionsRequest, CapacityReservationTarget, @@ -2524,7 +2549,6 @@ import { CreateNetworkAclEntryRequest, CreateNetworkAclRequest, CreateNetworkAclResult, - CreateNetworkInsightsAccessScopeRequest, CreditSpecification, CreditSpecificationRequest, CustomerGateway, @@ -2632,7 +2656,6 @@ import { NetworkAclEntry, NetworkBandwidthGbps, NetworkBandwidthGbpsRequest, - NetworkInsightsAccessScope, NetworkInterfaceCount, NetworkInterfaceCountRequest, NewDhcpConfiguration, @@ -2668,6 +2691,7 @@ import { CloudWatchLogOptionsSpecification, ConnectionNotification, ConnectionTrackingConfiguration, + CreateNetworkInsightsAccessScopeRequest, CreateNetworkInsightsAccessScopeResult, CreateNetworkInsightsPathRequest, CreateNetworkInsightsPathResult, @@ -2750,6 +2774,8 @@ import { CreateVerifiedAccessTrustProviderRequest, CreateVerifiedAccessTrustProviderResult, CreateVolumeRequest, + CreateVpcBlockPublicAccessExclusionRequest, + CreateVpcBlockPublicAccessExclusionResult, CreateVpcEndpointConnectionNotificationRequest, CreateVpcEndpointConnectionNotificationResult, CreateVpcEndpointRequest, @@ -2794,15 +2820,8 @@ import { DeleteInstanceEventWindowResult, DeleteInternetGatewayRequest, DeleteIpamExternalResourceVerificationTokenRequest, - DeleteIpamExternalResourceVerificationTokenResult, - DeleteIpamPoolRequest, - DeleteIpamPoolResult, DeleteIpamRequest, - DeleteIpamResourceDiscoveryRequest, - DeleteIpamResourceDiscoveryResult, DeleteIpamResult, - DeleteIpamScopeRequest, - DeleteIpamScopeResult, DnsEntry, DnsOptions, DnsOptionsSpecification, @@ -2814,6 +2833,7 @@ import { InstanceSpecification, Ipv6PrefixSpecification, LastError, + NetworkInsightsAccessScope, NetworkInsightsAccessScopeContent, NetworkInsightsPath, NetworkInterface, @@ -2891,6 +2911,7 @@ import { VerifiedAccessSseSpecificationRequest, VgwTelemetry, Volume, + VpcBlockPublicAccessExclusion, VpcEndpoint, VpnConnection, VpnConnectionOptions, @@ -2906,7 +2927,6 @@ import { AuthorizationRule, AvailabilityZone, AvailabilityZoneMessage, - AvailableCapacity, Byoasn, CapacityBlockOffering, CapacityReservationBillingRequest, @@ -2925,6 +2945,13 @@ import { ClientVpnRoute, ConnectionLogResponseOptions, ConversionTask, + DeleteIpamExternalResourceVerificationTokenResult, + DeleteIpamPoolRequest, + DeleteIpamPoolResult, + DeleteIpamResourceDiscoveryRequest, + DeleteIpamResourceDiscoveryResult, + DeleteIpamScopeRequest, + DeleteIpamScopeResult, DeleteKeyPairRequest, DeleteKeyPairResult, DeleteLaunchTemplateRequest, @@ -3012,6 +3039,8 @@ import { DeleteVerifiedAccessTrustProviderRequest, DeleteVerifiedAccessTrustProviderResult, DeleteVolumeRequest, + DeleteVpcBlockPublicAccessExclusionRequest, + DeleteVpcBlockPublicAccessExclusionResult, DeleteVpcEndpointConnectionNotificationsRequest, DeleteVpcEndpointConnectionNotificationsResult, DeleteVpcEndpointServiceConfigurationsRequest, @@ -3120,10 +3149,6 @@ import { DescribeHostReservationOfferingsResult, DescribeHostReservationsRequest, DescribeHostReservationsResult, - DescribeHostsRequest, - DescribeHostsResult, - DescribeIamInstanceProfileAssociationsRequest, - DescribeIamInstanceProfileAssociationsResult, DestinationOptionsResponse, DirectoryServiceAuthentication, DiskImageDescription, @@ -3147,16 +3172,12 @@ import { FpgaImageAttribute, FpgaImageState, HistoryRecordEntry, - Host, - HostInstance, HostOffering, - HostProperties, HostReservation, IdFormat, ImportInstanceTaskDetails, ImportInstanceVolumeDetailItem, ImportVolumeTaskDetails, - InstanceCapacity, InstanceTagNotificationAttribute, IpamPoolCidr, IpamPoolCidrFailureReason, @@ -3176,11 +3197,15 @@ import { import { ArchitectureType, AttributeBooleanValue, + AvailableCapacity, BootModeType, CapacityReservationSpecificationResponse, ConnectionTrackingSpecificationResponse, CpuOptions, - CreateVolumePermission, + DescribeHostsRequest, + DescribeHostsResult, + DescribeIamInstanceProfileAssociationsRequest, + DescribeIamInstanceProfileAssociationsResult, DescribeIdentityIdFormatRequest, DescribeIdentityIdFormatResult, DescribeIdFormatRequest, @@ -3309,11 +3334,6 @@ import { DescribeSecurityGroupsResult, DescribeSecurityGroupVpcAssociationsRequest, DescribeSecurityGroupVpcAssociationsResult, - DescribeSnapshotAttributeRequest, - DescribeSnapshotAttributeResult, - DescribeSnapshotsRequest, - DescribeSnapshotsResult, - DescribeSnapshotTierStatusRequest, DiskInfo, EbsInfo, EbsInstanceBlockDevice, @@ -3331,6 +3351,9 @@ import { GpuDeviceMemoryInfo, GpuInfo, HibernationOptions, + Host, + HostInstance, + HostProperties, Image, ImageAttribute, ImageMetadata, @@ -3345,6 +3368,7 @@ import { InstanceAttachmentEnaSrdUdpSpecification, InstanceAttribute, InstanceBlockDeviceMapping, + InstanceCapacity, InstanceCreditSpecification, InstanceImageMetadata, InstanceIpv4Prefix, @@ -3419,7 +3443,6 @@ import { SlotStartTimeRangeRequest, SnapshotDetail, SnapshotTaskDetail, - SnapshotTierStatus, SupportedAdditionalProcessorFeature, UsageClassType, UserBucketDetails, @@ -3427,14 +3450,16 @@ import { VirtualizationType, } from "../models/models_4"; import { - AssociatedRole, ClassicLinkDnsSupport, ClassicLoadBalancer, ClassicLoadBalancersConfig, ClientCertificateRevocationListStatus, - CoipAddressUsage, - DataQuery, - DataResponse, + CreateVolumePermission, + DescribeSnapshotAttributeRequest, + DescribeSnapshotAttributeResult, + DescribeSnapshotsRequest, + DescribeSnapshotsResult, + DescribeSnapshotTierStatusRequest, DescribeSnapshotTierStatusResult, DescribeSpotDatafeedSubscriptionRequest, DescribeSpotDatafeedSubscriptionResult, @@ -3506,6 +3531,10 @@ import { DescribeVolumeStatusResult, DescribeVpcAttributeRequest, DescribeVpcAttributeResult, + DescribeVpcBlockPublicAccessExclusionsRequest, + DescribeVpcBlockPublicAccessExclusionsResult, + DescribeVpcBlockPublicAccessOptionsRequest, + DescribeVpcBlockPublicAccessOptionsResult, DescribeVpcClassicLinkDnsSupportRequest, DescribeVpcClassicLinkDnsSupportResult, DescribeVpcClassicLinkRequest, @@ -3654,28 +3683,17 @@ import { ExportTransitGatewayRoutesResult, FastLaunchLaunchTemplateSpecificationRequest, FastLaunchSnapshotConfigurationRequest, - GetAssociatedEnclaveCertificateIamRolesRequest, - GetAssociatedEnclaveCertificateIamRolesResult, - GetAssociatedIpv6PoolCidrsRequest, - GetAssociatedIpv6PoolCidrsResult, - GetAwsNetworkPerformanceDataRequest, - GetAwsNetworkPerformanceDataResult, - GetCapacityReservationUsageRequest, - GetCapacityReservationUsageResult, - GetCoipPoolUsageRequest, HistoryRecord, InstanceEventWindowDisassociationRequest, InstanceNetworkInterfaceSpecification, - InstanceUsage, - Ipv6CidrAssociation, LaunchSpecification, LaunchTemplateConfig, LaunchTemplateOverrides, LoadBalancersConfig, - MetricPoint, PrivateDnsDetails, RunInstancesMonitoringEnabled, ServiceDetail, + SnapshotTierStatus, SpotCapacityRebalance, SpotFleetLaunchSpecification, SpotFleetMonitoring, @@ -3709,20 +3727,34 @@ import { VolumeStatusEvent, VolumeStatusInfo, VolumeStatusItem, + VpcBlockPublicAccessOptions, VpcClassicLink, VpcEndpointConnection, } from "../models/models_5"; import { + AssociatedRole, AthenaIntegration, BlobAttributeValue, CapacityReservationGroup, CapacityReservationSpecification, ClientData, + CoipAddressUsage, CreateVolumePermissionModifications, + DataQuery, + DataResponse, DiskImage, DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + GetAssociatedEnclaveCertificateIamRolesRequest, + GetAssociatedEnclaveCertificateIamRolesResult, + GetAssociatedIpv6PoolCidrsRequest, + GetAssociatedIpv6PoolCidrsResult, + GetAwsNetworkPerformanceDataRequest, + GetAwsNetworkPerformanceDataResult, + GetCapacityReservationUsageRequest, + GetCapacityReservationUsageResult, + GetCoipPoolUsageRequest, GetCoipPoolUsageResult, GetConsoleOutputRequest, GetConsoleOutputResult, @@ -3834,6 +3866,7 @@ import { InstanceMetadataDefaultsResponse, InstanceRequirementsWithMetadataRequest, InstanceTypeInfoFromInstanceRequirements, + InstanceUsage, IntegrateServices, IpamAddressHistoryRecord, IpamDiscoveredAccount, @@ -3844,6 +3877,7 @@ import { IpamPublicAddressTag, IpamPublicAddressTags, IpamResourceCidr, + Ipv6CidrAssociation, LaunchPermissionModifications, ListImagesInRecycleBinRequest, ListImagesInRecycleBinResult, @@ -3854,6 +3888,7 @@ import { LockSnapshotRequest, LockSnapshotResult, MaintenanceDetails, + MetricPoint, ModifyAddressAttributeRequest, ModifyAddressAttributeResult, ModifyAvailabilityZoneGroupRequest, @@ -3941,18 +3976,6 @@ import { ModifyTransitGatewayVpcAttachmentResult, ModifyVerifiedAccessEndpointEniOptions, ModifyVerifiedAccessEndpointLoadBalancerOptions, - ModifyVerifiedAccessEndpointPolicyRequest, - ModifyVerifiedAccessEndpointPolicyResult, - ModifyVerifiedAccessEndpointRequest, - ModifyVerifiedAccessEndpointResult, - ModifyVerifiedAccessGroupPolicyRequest, - ModifyVerifiedAccessGroupPolicyResult, - ModifyVerifiedAccessGroupRequest, - ModifyVerifiedAccessGroupResult, - ModifyVerifiedAccessInstanceLoggingConfigurationRequest, - ModifyVerifiedAccessInstanceLoggingConfigurationResult, - ModifyVerifiedAccessInstanceRequest, - ModifyVerifiedAccessInstanceResult, NetworkInterfaceAttachmentChanges, PrefixListAssociation, PrefixListEntry, @@ -3983,10 +4006,6 @@ import { UnsuccessfulInstanceCreditSpecificationItemError, UserBucket, UserData, - VerifiedAccessLogCloudWatchLogsDestinationOptions, - VerifiedAccessLogKinesisDataFirehoseDestinationOptions, - VerifiedAccessLogOptions, - VerifiedAccessLogS3DestinationOptions, VolumeDetail, VpnConnectionDeviceType, } from "../models/models_6"; @@ -4005,6 +4024,18 @@ import { IpamCidrAuthorizationContext, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyVerifiedAccessEndpointPolicyRequest, + ModifyVerifiedAccessEndpointPolicyResult, + ModifyVerifiedAccessEndpointRequest, + ModifyVerifiedAccessEndpointResult, + ModifyVerifiedAccessGroupPolicyRequest, + ModifyVerifiedAccessGroupPolicyResult, + ModifyVerifiedAccessGroupRequest, + ModifyVerifiedAccessGroupResult, + ModifyVerifiedAccessInstanceLoggingConfigurationRequest, + ModifyVerifiedAccessInstanceLoggingConfigurationResult, + ModifyVerifiedAccessInstanceRequest, + ModifyVerifiedAccessInstanceResult, ModifyVerifiedAccessTrustProviderDeviceOptions, ModifyVerifiedAccessTrustProviderOidcOptions, ModifyVerifiedAccessTrustProviderRequest, @@ -4013,6 +4044,10 @@ import { ModifyVolumeRequest, ModifyVolumeResult, ModifyVpcAttributeRequest, + ModifyVpcBlockPublicAccessExclusionRequest, + ModifyVpcBlockPublicAccessExclusionResult, + ModifyVpcBlockPublicAccessOptionsRequest, + ModifyVpcBlockPublicAccessOptionsResult, ModifyVpcEndpointConnectionNotificationRequest, ModifyVpcEndpointConnectionNotificationResult, ModifyVpcEndpointRequest, @@ -4190,6 +4225,10 @@ import { UpdateSecurityGroupRuleDescriptionsEgressResult, UpdateSecurityGroupRuleDescriptionsIngressRequest, UpdateSecurityGroupRuleDescriptionsIngressResult, + VerifiedAccessLogCloudWatchLogsDestinationOptions, + VerifiedAccessLogKinesisDataFirehoseDestinationOptions, + VerifiedAccessLogOptions, + VerifiedAccessLogS3DestinationOptions, WithdrawByoipCidrRequest, WithdrawByoipCidrResult, } from "../models/models_7"; @@ -6489,6 +6528,23 @@ export const se_CreateVpcCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2CreateVpcBlockPublicAccessExclusionCommand + */ +export const se_CreateVpcBlockPublicAccessExclusionCommand = async ( + input: CreateVpcBlockPublicAccessExclusionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_CreateVpcBlockPublicAccessExclusionRequest(input, context), + [_A]: _CVBPAE, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2CreateVpcEndpointCommand */ @@ -7764,6 +7820,23 @@ export const se_DeleteVpcCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2DeleteVpcBlockPublicAccessExclusionCommand + */ +export const se_DeleteVpcBlockPublicAccessExclusionCommand = async ( + input: DeleteVpcBlockPublicAccessExclusionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DeleteVpcBlockPublicAccessExclusionRequest(input, context), + [_A]: _DVBPAE, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommand */ @@ -10450,6 +10523,40 @@ export const se_DescribeVpcAttributeCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2DescribeVpcBlockPublicAccessExclusionsCommand + */ +export const se_DescribeVpcBlockPublicAccessExclusionsCommand = async ( + input: DescribeVpcBlockPublicAccessExclusionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DescribeVpcBlockPublicAccessExclusionsRequest(input, context), + [_A]: _DVBPAEe, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_ec2DescribeVpcBlockPublicAccessOptionsCommand + */ +export const se_DescribeVpcBlockPublicAccessOptionsCommand = async ( + input: DescribeVpcBlockPublicAccessOptionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DescribeVpcBlockPublicAccessOptionsRequest(input, context), + [_A]: _DVBPAO, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2DescribeVpcClassicLinkCommand */ @@ -13612,6 +13719,40 @@ export const se_ModifyVpcAttributeCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2ModifyVpcBlockPublicAccessExclusionCommand + */ +export const se_ModifyVpcBlockPublicAccessExclusionCommand = async ( + input: ModifyVpcBlockPublicAccessExclusionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_ModifyVpcBlockPublicAccessExclusionRequest(input, context), + [_A]: _MVBPAE, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_ec2ModifyVpcBlockPublicAccessOptionsCommand + */ +export const se_ModifyVpcBlockPublicAccessOptionsCommand = async ( + input: ModifyVpcBlockPublicAccessOptionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_ModifyVpcBlockPublicAccessOptionsRequest(input, context), + [_A]: _MVBPAO, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2ModifyVpcEndpointCommand */ @@ -17705,6 +17846,26 @@ export const de_CreateVpcCommand = async ( return response; }; +/** + * deserializeAws_ec2CreateVpcBlockPublicAccessExclusionCommand + */ +export const de_CreateVpcBlockPublicAccessExclusionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_CreateVpcBlockPublicAccessExclusionResult(data, context); + const response: CreateVpcBlockPublicAccessExclusionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2CreateVpcEndpointCommand */ @@ -19154,6 +19315,26 @@ export const de_DeleteVpcCommand = async ( return response; }; +/** + * deserializeAws_ec2DeleteVpcBlockPublicAccessExclusionCommand + */ +export const de_DeleteVpcBlockPublicAccessExclusionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DeleteVpcBlockPublicAccessExclusionResult(data, context); + const response: DeleteVpcBlockPublicAccessExclusionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsCommand */ @@ -22302,6 +22483,46 @@ export const de_DescribeVpcAttributeCommand = async ( return response; }; +/** + * deserializeAws_ec2DescribeVpcBlockPublicAccessExclusionsCommand + */ +export const de_DescribeVpcBlockPublicAccessExclusionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeVpcBlockPublicAccessExclusionsResult(data, context); + const response: DescribeVpcBlockPublicAccessExclusionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_ec2DescribeVpcBlockPublicAccessOptionsCommand + */ +export const de_DescribeVpcBlockPublicAccessOptionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeVpcBlockPublicAccessOptionsResult(data, context); + const response: DescribeVpcBlockPublicAccessOptionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2DescribeVpcClassicLinkCommand */ @@ -25971,6 +26192,46 @@ export const de_ModifyVpcAttributeCommand = async ( return response; }; +/** + * deserializeAws_ec2ModifyVpcBlockPublicAccessExclusionCommand + */ +export const de_ModifyVpcBlockPublicAccessExclusionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ModifyVpcBlockPublicAccessExclusionResult(data, context); + const response: ModifyVpcBlockPublicAccessExclusionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_ec2ModifyVpcBlockPublicAccessOptionsCommand + */ +export const de_ModifyVpcBlockPublicAccessOptionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ModifyVpcBlockPublicAccessOptionsResult(data, context); + const response: ModifyVpcBlockPublicAccessOptionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2ModifyVpcEndpointCommand */ @@ -33162,6 +33423,36 @@ const se_CreateVolumeRequest = (input: CreateVolumeRequest, context: __SerdeCont return entries; }; +/** + * serializeAws_ec2CreateVpcBlockPublicAccessExclusionRequest + */ +const se_CreateVpcBlockPublicAccessExclusionRequest = ( + input: CreateVpcBlockPublicAccessExclusionRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + if (input[_SIub] != null) { + entries[_SIub] = input[_SIub]; + } + if (input[_VI] != null) { + entries[_VI] = input[_VI]; + } + if (input[_IGEM] != null) { + entries[_IGEM] = input[_IGEM]; + } + if (input[_TS] != null) { + const memberEntries = se_TagSpecificationList(input[_TS], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + /** * serializeAws_ec2CreateVpcEndpointConnectionNotificationRequest */ @@ -34725,6 +35016,23 @@ const se_DeleteVolumeRequest = (input: DeleteVolumeRequest, context: __SerdeCont return entries; }; +/** + * serializeAws_ec2DeleteVpcBlockPublicAccessExclusionRequest + */ +const se_DeleteVpcBlockPublicAccessExclusionRequest = ( + input: DeleteVpcBlockPublicAccessExclusionRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + if (input[_EIxc] != null) { + entries[_EIxc] = input[_EIxc]; + } + return entries; +}; + /** * serializeAws_ec2DeleteVpcEndpointConnectionNotificationsRequest */ @@ -39483,6 +39791,54 @@ const se_DescribeVpcAttributeRequest = (input: DescribeVpcAttributeRequest, cont return entries; }; +/** + * serializeAws_ec2DescribeVpcBlockPublicAccessExclusionsRequest + */ +const se_DescribeVpcBlockPublicAccessExclusionsRequest = ( + input: DescribeVpcBlockPublicAccessExclusionsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + if (input[_Fi] != null) { + const memberEntries = se_FilterList(input[_Fi], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input[_EIxcl] != null) { + const memberEntries = se_VpcBlockPublicAccessExclusionIdList(input[_EIxcl], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ExclusionId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input[_NT] != null) { + entries[_NT] = input[_NT]; + } + if (input[_MR] != null) { + entries[_MR] = input[_MR]; + } + return entries; +}; + +/** + * serializeAws_ec2DescribeVpcBlockPublicAccessOptionsRequest + */ +const se_DescribeVpcBlockPublicAccessOptionsRequest = ( + input: DescribeVpcBlockPublicAccessOptionsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + return entries; +}; + /** * serializeAws_ec2DescribeVpcClassicLinkDnsSupportRequest */ @@ -48072,6 +48428,43 @@ const se_ModifyVpcAttributeRequest = (input: ModifyVpcAttributeRequest, context: return entries; }; +/** + * serializeAws_ec2ModifyVpcBlockPublicAccessExclusionRequest + */ +const se_ModifyVpcBlockPublicAccessExclusionRequest = ( + input: ModifyVpcBlockPublicAccessExclusionRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + if (input[_EIxc] != null) { + entries[_EIxc] = input[_EIxc]; + } + if (input[_IGEM] != null) { + entries[_IGEM] = input[_IGEM]; + } + return entries; +}; + +/** + * serializeAws_ec2ModifyVpcBlockPublicAccessOptionsRequest + */ +const se_ModifyVpcBlockPublicAccessOptionsRequest = ( + input: ModifyVpcBlockPublicAccessOptionsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + if (input[_IGBM] != null) { + entries[_IGBM] = input[_IGBM]; + } + return entries; +}; + /** * serializeAws_ec2ModifyVpcEndpointConnectionNotificationRequest */ @@ -54586,6 +54979,22 @@ const se_VolumeIdStringList = (input: string[], context: __SerdeContext): any => return entries; }; +/** + * serializeAws_ec2VpcBlockPublicAccessExclusionIdList + */ +const se_VpcBlockPublicAccessExclusionIdList = (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_ec2VpcClassicLinkIdList */ @@ -55069,7 +55478,7 @@ const de_AcceptReservedInstancesExchangeQuoteResult = ( ): AcceptReservedInstancesExchangeQuoteResult => { const contents: any = {}; if (output[_eI] != null) { - contents[_EIxc] = __expectString(output[_eI]); + contents[_EIxch] = __expectString(output[_eI]); } return contents; }; @@ -56641,6 +57050,17 @@ const de_BlockDeviceMappingList = (output: any, context: __SerdeContext): BlockD }); }; +/** + * deserializeAws_ec2BlockPublicAccessStates + */ +const de_BlockPublicAccessStates = (output: any, context: __SerdeContext): BlockPublicAccessStates => { + const contents: any = {}; + if (output[_iGBM] != null) { + contents[_IGBM] = __expectString(output[_iGBM]); + } + return contents; +}; + /** * deserializeAws_ec2BootModeTypeList */ @@ -59403,6 +59823,20 @@ const de_CreateVolumePermissionList = (output: any, context: __SerdeContext): Cr }); }; +/** + * deserializeAws_ec2CreateVpcBlockPublicAccessExclusionResult + */ +const de_CreateVpcBlockPublicAccessExclusionResult = ( + output: any, + context: __SerdeContext +): CreateVpcBlockPublicAccessExclusionResult => { + const contents: any = {}; + if (output[_vBPAE] != null) { + contents[_VBPAE] = de_VpcBlockPublicAccessExclusion(output[_vBPAE], context); + } + return contents; +}; + /** * deserializeAws_ec2CreateVpcEndpointConnectionNotificationResult */ @@ -60453,6 +60887,20 @@ const de_DeleteVerifiedAccessTrustProviderResult = ( return contents; }; +/** + * deserializeAws_ec2DeleteVpcBlockPublicAccessExclusionResult + */ +const de_DeleteVpcBlockPublicAccessExclusionResult = ( + output: any, + context: __SerdeContext +): DeleteVpcBlockPublicAccessExclusionResult => { + const contents: any = {}; + if (output[_vBPAE] != null) { + contents[_VBPAE] = de_VpcBlockPublicAccessExclusion(output[_vBPAE], context); + } + return contents; +}; + /** * deserializeAws_ec2DeleteVpcEndpointConnectionNotificationsResult */ @@ -63292,6 +63740,39 @@ const de_DescribeVpcAttributeResult = (output: any, context: __SerdeContext): De return contents; }; +/** + * deserializeAws_ec2DescribeVpcBlockPublicAccessExclusionsResult + */ +const de_DescribeVpcBlockPublicAccessExclusionsResult = ( + output: any, + context: __SerdeContext +): DescribeVpcBlockPublicAccessExclusionsResult => { + const contents: any = {}; + if (output.vpcBlockPublicAccessExclusionSet === "") { + contents[_VBPAEp] = []; + } else if (output[_vBPAES] != null && output[_vBPAES][_i] != null) { + contents[_VBPAEp] = de_VpcBlockPublicAccessExclusionList(__getArrayIfSingleItem(output[_vBPAES][_i]), context); + } + if (output[_nTe] != null) { + contents[_NT] = __expectString(output[_nTe]); + } + return contents; +}; + +/** + * deserializeAws_ec2DescribeVpcBlockPublicAccessOptionsResult + */ +const de_DescribeVpcBlockPublicAccessOptionsResult = ( + output: any, + context: __SerdeContext +): DescribeVpcBlockPublicAccessOptionsResult => { + const contents: any = {}; + if (output[_vBPAO] != null) { + contents[_VBPAO] = de_VpcBlockPublicAccessOptions(output[_vBPAO], context); + } + return contents; +}; + /** * deserializeAws_ec2DescribeVpcClassicLinkDnsSupportResult */ @@ -73650,6 +74131,34 @@ const de_ModifyVolumeResult = (output: any, context: __SerdeContext): ModifyVolu return contents; }; +/** + * deserializeAws_ec2ModifyVpcBlockPublicAccessExclusionResult + */ +const de_ModifyVpcBlockPublicAccessExclusionResult = ( + output: any, + context: __SerdeContext +): ModifyVpcBlockPublicAccessExclusionResult => { + const contents: any = {}; + if (output[_vBPAE] != null) { + contents[_VBPAE] = de_VpcBlockPublicAccessExclusion(output[_vBPAE], context); + } + return contents; +}; + +/** + * deserializeAws_ec2ModifyVpcBlockPublicAccessOptionsResult + */ +const de_ModifyVpcBlockPublicAccessOptionsResult = ( + output: any, + context: __SerdeContext +): ModifyVpcBlockPublicAccessOptionsResult => { + const contents: any = {}; + if (output[_vBPAO] != null) { + contents[_VBPAO] = de_VpcBlockPublicAccessOptions(output[_vBPAO], context); + } + return contents; +}; + /** * deserializeAws_ec2ModifyVpcEndpointConnectionNotificationResult */ @@ -79485,6 +79994,9 @@ const de_Subnet = (output: any, context: __SerdeContext): Subnet => { if (output[_pDNOOL] != null) { contents[_PDNOOL] = de_PrivateDnsNameOptionsOnLaunch(output[_pDNOOL], context); } + if (output[_bPAS] != null) { + contents[_BPAS] = de_BlockPublicAccessStates(output[_bPAS], context); + } if (output[_sIu] != null) { contents[_SIub] = __expectString(output[_sIu]); } @@ -83042,6 +83554,9 @@ const de_Vpc = (output: any, context: __SerdeContext): Vpc => { } else if (output[_tS] != null && output[_tS][_i] != null) { contents[_Ta] = de_TagList(__getArrayIfSingleItem(output[_tS][_i]), context); } + if (output[_bPAS] != null) { + contents[_BPAS] = de_BlockPublicAccessStates(output[_bPAS], context); + } if (output[_vI] != null) { contents[_VI] = __expectString(output[_vI]); } @@ -83082,6 +83597,83 @@ const de_VpcAttachmentList = (output: any, context: __SerdeContext): VpcAttachme }); }; +/** + * deserializeAws_ec2VpcBlockPublicAccessExclusion + */ +const de_VpcBlockPublicAccessExclusion = (output: any, context: __SerdeContext): VpcBlockPublicAccessExclusion => { + const contents: any = {}; + if (output[_eIx] != null) { + contents[_EIxc] = __expectString(output[_eIx]); + } + if (output[_iGEM] != null) { + contents[_IGEM] = __expectString(output[_iGEM]); + } + if (output[_rAe] != null) { + contents[_RAes] = __expectString(output[_rAe]); + } + if (output[_st] != null) { + contents[_Stat] = __expectString(output[_st]); + } + if (output[_rea] != null) { + contents[_Rea] = __expectString(output[_rea]); + } + if (output[_cTrea] != null) { + contents[_CTrea] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_cTrea])); + } + if (output[_lUTas] != null) { + contents[_LUTas] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_lUTas])); + } + if (output[_dTele] != null) { + contents[_DTelet] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_dTele])); + } + if (output.tagSet === "") { + contents[_Ta] = []; + } else if (output[_tS] != null && output[_tS][_i] != null) { + contents[_Ta] = de_TagList(__getArrayIfSingleItem(output[_tS][_i]), context); + } + return contents; +}; + +/** + * deserializeAws_ec2VpcBlockPublicAccessExclusionList + */ +const de_VpcBlockPublicAccessExclusionList = ( + output: any, + context: __SerdeContext +): VpcBlockPublicAccessExclusion[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_VpcBlockPublicAccessExclusion(entry, context); + }); +}; + +/** + * deserializeAws_ec2VpcBlockPublicAccessOptions + */ +const de_VpcBlockPublicAccessOptions = (output: any, context: __SerdeContext): VpcBlockPublicAccessOptions => { + const contents: any = {}; + if (output[_aAI] != null) { + contents[_AAI] = __expectString(output[_aAI]); + } + if (output[_aRw] != null) { + contents[_ARw] = __expectString(output[_aRw]); + } + if (output[_st] != null) { + contents[_Stat] = __expectString(output[_st]); + } + if (output[_iGBM] != null) { + contents[_IGBM] = __expectString(output[_iGBM]); + } + if (output[_rea] != null) { + contents[_Rea] = __expectString(output[_rea]); + } + if (output[_lUTas] != null) { + contents[_LUTas] = __expectNonNull(__parseRfc3339DateTimeWithOffset(output[_lUTas])); + } + return contents; +}; + /** * deserializeAws_ec2VpcCidrBlockAssociation */ @@ -83866,6 +84458,7 @@ const _ARs = "AssociatedResource"; const _ARss = "AssociatedRoles"; const _ARu = "AutoRecovery"; const _ARut = "AuthorizationRules"; +const _ARw = "AwsRegion"; const _AS = "AllocationStrategy"; const _ASA = "AmazonSideAsn"; const _ASCB = "AssociateSubnetCidrBlock"; @@ -83968,6 +84561,7 @@ const _BN = "BucketName"; const _BO = "BgpOptions"; const _BOu = "BucketOwner"; const _BP = "BurstablePerformance"; +const _BPAS = "BlockPublicAccessStates"; const _BPS = "BurstablePerformanceSupported"; const _BPi = "BillingProducts"; const _BS = "BgpStatus"; @@ -84209,6 +84803,7 @@ const _CVAE = "CreateVerifiedAccessEndpoint"; const _CVAG = "CreateVerifiedAccessGroup"; const _CVAI = "CreateVerifiedAccessInstance"; const _CVATP = "CreateVerifiedAccessTrustProvider"; +const _CVBPAE = "CreateVpcBlockPublicAccessExclusion"; const _CVC = "CreateVpnConnection"; const _CVCR = "CreateVpnConnectionRoute"; const _CVE = "CreateVpcEndpoint"; @@ -84563,6 +85158,7 @@ const _DTS = "DpdTimeoutSeconds"; const _DTe = "DescribeTags"; const _DTel = "DeletionTime"; const _DTele = "DeleteTime"; +const _DTelet = "DeletionTimestamp"; const _DTep = "DeprecationTime"; const _DTi = "DisablingTime"; const _DTis = "DisabledTime"; @@ -84579,6 +85175,9 @@ const _DVATP = "DeleteVerifiedAccessTrustProvider"; const _DVATPe = "DescribeVerifiedAccessTrustProviders"; const _DVATPet = "DetachVerifiedAccessTrustProvider"; const _DVAe = "DescribeVpcAttribute"; +const _DVBPAE = "DeleteVpcBlockPublicAccessExclusion"; +const _DVBPAEe = "DescribeVpcBlockPublicAccessExclusions"; +const _DVBPAO = "DescribeVpcBlockPublicAccessOptions"; const _DVC = "DeleteVpnConnection"; const _DVCB = "DisassociateVpcCidrBlock"; const _DVCL = "DescribeVpcClassicLink"; @@ -84685,7 +85284,9 @@ const _EIf = "EfaInfo"; const _EIv = "EventInformation"; const _EIve = "EventId"; const _EIx = "ExportImage"; -const _EIxc = "ExchangeId"; +const _EIxc = "ExclusionId"; +const _EIxch = "ExchangeId"; +const _EIxcl = "ExclusionIds"; const _EKKI = "EncryptionKmsKeyId"; const _ELADI = "EnableLniAtDeviceIndex"; const _ELBL = "ElasticLoadBalancerListener"; @@ -84960,6 +85561,8 @@ const _IFCS = "InstanceFamilyCreditSpecification"; const _IFR = "IamFleetRole"; const _IFRn = "IngressFilterRules"; const _IG = "InstanceGenerations"; +const _IGBM = "InternetGatewayBlockMode"; +const _IGEM = "InternetGatewayExclusionMode"; const _IGI = "InternetGatewayId"; const _IGIn = "InternetGatewayIds"; const _IGn = "InternetGateway"; @@ -85231,6 +85834,7 @@ const _LTi = "LicenseType"; const _LTo = "LocalTarget"; const _LUT = "LastUpdateTime"; const _LUTa = "LastUpdatedTime"; +const _LUTas = "LastUpdateTimestamp"; const _LV = "LogVersion"; const _LVN = "LatestVersionNumber"; const _La = "Latest"; @@ -85355,6 +85959,8 @@ const _MVAI = "ModifyVerifiedAccessInstance"; const _MVAILC = "ModifyVerifiedAccessInstanceLoggingConfiguration"; const _MVATP = "ModifyVerifiedAccessTrustProvider"; const _MVAo = "ModifyVpcAttribute"; +const _MVBPAE = "ModifyVpcBlockPublicAccessExclusion"; +const _MVBPAO = "ModifyVpcBlockPublicAccessOptions"; const _MVC = "ModifyVpnConnection"; const _MVCO = "ModifyVpnConnectionOptions"; const _MVE = "ModifyVpcEndpoint"; @@ -85668,6 +86274,7 @@ const _RAP = "RemoveAllowedPrincipals"; const _RART = "RemoveAllocationResourceTags"; const _RATC = "RestoreAddressToClassic"; const _RAe = "ResolveAlias"; +const _RAes = "ResourceArn"; const _RAo = "RoleArn"; const _RAu = "RuleAction"; const _RB = "RequestedBy"; @@ -86249,6 +86856,9 @@ const _VATPI = "VerifiedAccessTrustProviderId"; const _VATPIe = "VerifiedAccessTrustProviderIds"; const _VATPe = "VerifiedAccessTrustProviders"; const _VAp = "VpcAttachments"; +const _VBPAE = "VpcBlockPublicAccessExclusion"; +const _VBPAEp = "VpcBlockPublicAccessExclusions"; +const _VBPAO = "VpcBlockPublicAccessOptions"; const _VC = "VpnConnection"; const _VCC = "VCpuCount"; const _VCDSC = "VpnConnectionDeviceSampleConfiguration"; @@ -86409,6 +87019,7 @@ const _aRcc = "acceptanceRequired"; const _aRd = "addressRegion"; const _aRs = "associatedResource"; const _aRu = "autoRecovery"; +const _aRw = "awsRegion"; const _aS = "associationState"; const _aSA = "amazonSideAsn"; const _aSS = "amdSevSnp"; @@ -86484,6 +87095,7 @@ const _bMa = "bareMetal"; const _bN = "bucketName"; const _bO = "bucketOwner"; const _bP = "burstablePerformance"; +const _bPAS = "blockPublicAccessStates"; const _bPS = "burstablePerformanceSupported"; const _bS = "byoasnSet"; const _bSg = "bgpStatus"; @@ -86701,6 +87313,7 @@ const _dTPT = "deviceTrustProviderType"; const _dTS = "dpdTimeoutSeconds"; const _dTe = "deprecationTime"; const _dTel = "deleteTime"; +const _dTele = "deletionTimestamp"; const _dTi = "disablingTime"; const _dTis = "disabledTime"; const _dV = "destinationVpc"; @@ -86759,6 +87372,7 @@ const _eIb = "ebsInfo"; const _eIf = "efaInfo"; const _eIv = "eventInformation"; const _eIve = "eventId"; +const _eIx = "exclusionId"; const _eKKI = "encryptionKmsKeyId"; const _eLADI = "enableLniAtDeviceIndex"; const _eLBL = "elasticLoadBalancerListener"; @@ -86948,6 +87562,8 @@ const _iFCS = "instanceFamilyCreditSpecification"; const _iFR = "iamFleetRole"; const _iFRS = "ingressFilterRuleSet"; const _iG = "internetGateway"; +const _iGBM = "internetGatewayBlockMode"; +const _iGEM = "internetGatewayExclusionMode"; const _iGI = "internetGatewayId"; const _iGS = "internetGatewaySet"; const _iGSn = "instanceGenerationSet"; @@ -87179,6 +87795,7 @@ const _lTi = "licenseType"; const _lTo = "locationType"; const _lUT = "lastUpdateTime"; const _lUTa = "lastUpdatedTime"; +const _lUTas = "lastUpdateTimestamp"; const _lV = "logVersion"; const _lVN = "latestVersionNumber"; const _lo = "location"; @@ -87479,6 +88096,7 @@ const _pu = "public"; const _pur = "purchase"; const _r = "return"; const _rA = "ruleAction"; +const _rAe = "resourceArn"; const _rB = "requestedBy"; const _rBET = "recycleBinEnterTime"; const _rBETe = "recycleBinExitTime"; @@ -87921,6 +88539,9 @@ const _vAIS = "verifiedAccessInstanceSet"; const _vATP = "verifiedAccessTrustProvider"; const _vATPI = "verifiedAccessTrustProviderId"; const _vATPS = "verifiedAccessTrustProviderSet"; +const _vBPAE = "vpcBlockPublicAccessExclusion"; +const _vBPAES = "vpcBlockPublicAccessExclusionSet"; +const _vBPAO = "vpcBlockPublicAccessOptions"; const _vC = "vpnConnection"; const _vCC = "vCpuCount"; const _vCDSC = "vpnConnectionDeviceSampleConfiguration"; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 763f0cda06d1..3b83b0249ec0 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -2606,6 +2606,9 @@ { "target": "com.amazonaws.ec2#CreateVpc" }, + { + "target": "com.amazonaws.ec2#CreateVpcBlockPublicAccessExclusion" + }, { "target": "com.amazonaws.ec2#CreateVpcEndpoint" }, @@ -2831,6 +2834,9 @@ { "target": "com.amazonaws.ec2#DeleteVpc" }, + { + "target": "com.amazonaws.ec2#DeleteVpcBlockPublicAccessExclusion" + }, { "target": "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotifications" }, @@ -3305,6 +3311,12 @@ { "target": "com.amazonaws.ec2#DescribeVpcAttribute" }, + { + "target": "com.amazonaws.ec2#DescribeVpcBlockPublicAccessExclusions" + }, + { + "target": "com.amazonaws.ec2#DescribeVpcBlockPublicAccessOptions" + }, { "target": "com.amazonaws.ec2#DescribeVpcClassicLink" }, @@ -3863,6 +3875,12 @@ { "target": "com.amazonaws.ec2#ModifyVpcAttribute" }, + { + "target": "com.amazonaws.ec2#ModifyVpcBlockPublicAccessExclusion" + }, + { + "target": "com.amazonaws.ec2#ModifyVpcBlockPublicAccessOptions" + }, { "target": "com.amazonaws.ec2#ModifyVpcEndpoint" }, @@ -9385,6 +9403,45 @@ } } }, + "com.amazonaws.ec2#BlockPublicAccessMode": { + "type": "enum", + "members": { + "off": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "off" + } + }, + "block_bidirectional": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "block-bidirectional" + } + }, + "block_ingress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "block-ingress" + } + } + } + }, + "com.amazonaws.ec2#BlockPublicAccessStates": { + "type": "structure", + "members": { + "InternetGatewayBlockMode": { + "target": "com.amazonaws.ec2#BlockPublicAccessMode", + "traits": { + "aws.protocols#ec2QueryName": "InternetGatewayBlockMode", + "smithy.api#documentation": "

      The mode of VPC BPA.

      \n
        \n
      • \n

        \n bidirectional-access-allowed: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.

        \n
      • \n
      • \n

        \n bidirectional-access-blocked: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).

        \n
      • \n
      • \n

        \n ingress-access-blocked: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.

        \n
      • \n
      ", + "smithy.api#xmlName": "internetGatewayBlockMode" + } + } + }, + "traits": { + "smithy.api#documentation": "

      The state of VPC Block Public Access (BPA).

      " + } + }, "com.amazonaws.ec2#Boolean": { "type": "boolean" }, @@ -9464,7 +9521,7 @@ "target": "com.amazonaws.ec2#BundleInstanceResult" }, "traits": { - "smithy.api#documentation": "

      Bundles an Amazon instance store-backed Windows instance.

      \n

      During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

      \n \n

      This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

      \n
      " + "smithy.api#documentation": "

      Bundles an Amazon instance store-backed Windows instance.

      \n

      During bundling, only the root device volume (C:\\) is bundled. Data on other instance\n store volumes is not preserved.

      \n \n

      This action is not applicable for Linux/Unix instances or Windows instances that are\n backed by Amazon EBS.

      \n
      " } }, "com.amazonaws.ec2#BundleInstanceRequest": { @@ -9482,7 +9539,7 @@ "target": "com.amazonaws.ec2#Storage", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

      The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

      ", + "smithy.api#documentation": "

      The bucket in which to store the AMI. You can specify a bucket that you already own or a\n new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone\n else, Amazon EC2 returns an error.

      ", "smithy.api#required": {} } }, @@ -10186,7 +10243,7 @@ "target": "com.amazonaws.ec2#CancelImageLaunchPermissionResult" }, "traits": { - "smithy.api#documentation": "

      Removes your Amazon Web Services account from the launch permissions for the specified AMI. For more\n information, see \n Cancel having an AMI shared with your Amazon Web Services account in the \n Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      Removes your Amazon Web Services account from the launch permissions for the specified AMI.\n For more information, see Cancel having an AMI shared with\n your Amazon Web Services account in the Amazon EC2 User Guide.

      " } }, "com.amazonaws.ec2#CancelImageLaunchPermissionRequest": { @@ -13895,7 +13952,7 @@ "target": "com.amazonaws.ec2#CopyImageResult" }, "traits": { - "smithy.api#documentation": "

      Initiates an AMI copy operation. You can copy an AMI from one Region to another, or from a\n Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to\n another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

      \n

      When you copy an AMI from one Region to another, the destination Region is the \n \tcurrent Region.

      \n

      When you copy an AMI from a Region to an Outpost, specify the ARN of the Outpost as\n \t the destination. Backing snapshots copied to an Outpost are encrypted by default using \n \t the default encryption key for the Region or the key that you specify. Outposts do not \n \t support unencrypted snapshots.

      \n

      For information about the prerequisites when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      Initiates an AMI copy operation. You can copy an AMI from one Region to another, or from a\n Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to\n another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

      \n

      When you copy an AMI from one Region to another, the destination Region is the current\n Region.

      \n

      When you copy an AMI from a Region to an Outpost, specify the ARN of the Outpost as the\n destination. Backing snapshots copied to an Outpost are encrypted by default using the default\n encryption key for the Region or the key that you specify. Outposts do not support unencrypted\n snapshots.

      \n

      For information about the prerequisites when copying an AMI, see Copy an AMI in the\n Amazon EC2 User Guide.

      ", "smithy.api#examples": [ { "title": "To copy an AMI to another region", @@ -13919,7 +13976,7 @@ "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

      Unique, case-sensitive identifier you provide to ensure\n idempotency of the request. For more information, see Ensuring idempotency \n in the Amazon EC2 API Reference.

      " + "smithy.api#documentation": "

      Unique, case-sensitive identifier you provide to ensure idempotency of the request. For\n more information, see Ensuring idempotency\n in the Amazon EC2 API Reference.

      " } }, "Description": { @@ -13932,7 +13989,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "Encrypted", - "smithy.api#documentation": "

      Specifies whether the destination snapshots of the copied image should be encrypted. You\n can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an\n encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default\n Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Use encryption with \n EBS-backed AMIs in the Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      Specifies whether the destination snapshots of the copied image should be encrypted. You\n can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an\n encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default\n Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Use encryption with\n EBS-backed AMIs in the Amazon EC2 User Guide.

      ", "smithy.api#xmlName": "encrypted" } }, @@ -13940,7 +13997,7 @@ "target": "com.amazonaws.ec2#KmsKeyId", "traits": { "aws.protocols#ec2QueryName": "KmsKeyId", - "smithy.api#documentation": "

      The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating\n \t\tencrypted volumes. If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. \n \t\tIf you specify a KMS key, you must also set the encrypted state to true.

      \n

      You can specify a KMS key using any of the following:

      \n
        \n
      • \n

        Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

        \n
      • \n
      • \n

        Key alias. For example, alias/ExampleAlias.

        \n
      • \n
      • \n

        Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

        \n
      • \n
      • \n

        Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

        \n
      • \n
      \n

      Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier that is not valid,\n the action can appear to complete, but eventually fails.

      \n

      The specified KMS key must exist in the destination Region.

      \n

      Amazon EBS does not support asymmetric KMS keys.

      ", + "smithy.api#documentation": "

      The identifier of the symmetric Key Management Service (KMS) KMS key to use when creating encrypted volumes.\n If this parameter is not specified, your Amazon Web Services managed KMS key for Amazon EBS is used. If you\n specify a KMS key, you must also set the encrypted state to true.

      \n

      You can specify a KMS key using any of the following:

      \n
        \n
      • \n

        Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

        \n
      • \n
      • \n

        Key alias. For example, alias/ExampleAlias.

        \n
      • \n
      • \n

        Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

        \n
      • \n
      • \n

        Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

        \n
      • \n
      \n

      Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an identifier\n that is not valid, the action can appear to complete, but eventually fails.

      \n

      The specified KMS key must exist in the destination Region.

      \n

      Amazon EBS does not support asymmetric KMS keys.

      ", "smithy.api#xmlName": "kmsKeyId" } }, @@ -13971,19 +14028,19 @@ "DestinationOutpostArn": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

      The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only \n \t\tspecify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. \n \t\tThe AMI must be in the Region of the destination Outpost. You cannot copy an \n \t\tAMI from an Outpost to a Region, from one Outpost to another, or within the same \n \t\tOutpost.

      \n

      For more information, see Copy AMIs from an Amazon Web Services\n Region to an Outpost in the Amazon EBS User Guide.

      " + "smithy.api#documentation": "

      The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this\n parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the\n Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from\n one Outpost to another, or within the same Outpost.

      \n

      For more information, see Copy AMIs from an Amazon Web Services Region\n to an Outpost in the Amazon EBS User Guide.

      " } }, "CopyImageTags": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

      Indicates whether to include your user-defined AMI tags when copying the AMI.

      \n

      The following tags will not be copied:

      \n
        \n
      • \n

        System tags (prefixed with aws:)

        \n
      • \n
      • \n

        For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services \n accounts

        \n
      • \n
      \n

      Default: Your user-defined AMI tags are not copied.

      " + "smithy.api#documentation": "

      Indicates whether to include your user-defined AMI tags when copying the AMI.

      \n

      The following tags will not be copied:

      \n
        \n
      • \n

        System tags (prefixed with aws:)

        \n
      • \n
      • \n

        For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services\n accounts

        \n
      • \n
      \n

      Default: Your user-defined AMI tags are not copied.

      " } }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

      The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or\n both.

      \n
        \n
      • \n

        To tag the new AMI, the value for ResourceType must be\n image.

        \n
      • \n
      • \n

        To tag the new snapshots, the value for ResourceType must be\n snapshot. The same tag is applied to all the new snapshots.

        \n
      • \n
      \n

      If you specify other values for ResourceType, the request fails.

      \n

      To tag an AMI or snapshot after it has been created, see CreateTags.

      ", + "smithy.api#documentation": "

      The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or\n both.

      \n
        \n
      • \n

        To tag the new AMI, the value for ResourceType must be\n image.

        \n
      • \n
      • \n

        To tag the new snapshots, the value for ResourceType must be\n snapshot. The same tag is applied to all the new snapshots.

        \n
      • \n
      \n

      If you specify other values for ResourceType, the request fails.

      \n

      To tag an AMI or snapshot after it has been created, see CreateTags.

      ", "smithy.api#xmlName": "TagSpecification" } }, @@ -15976,7 +16033,7 @@ "target": "com.amazonaws.ec2#CreateImageResult" }, "traits": { - "smithy.api#documentation": "

      Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance \n \tthat is either running or stopped.

      \n

      If you customized your instance with instance store volumes or Amazon EBS volumes in addition to the root device volume, the \n \tnew AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, \n \tthe instance automatically launches with those additional volumes.

      \n

      For more information, see Create an Amazon EBS-backed Linux\n AMI in the Amazon Elastic Compute Cloud User Guide.

      " + "smithy.api#documentation": "

      Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or\n stopped.

      \n

      If you customized your instance with instance store volumes or Amazon EBS volumes in addition\n to the root device volume, the new AMI contains block device mapping information for those\n volumes. When you launch an instance from this new AMI, the instance automatically launches\n with those additional volumes.

      \n

      For more information, see Create an Amazon EBS-backed Linux\n AMI in the Amazon Elastic Compute Cloud User Guide.

      " } }, "com.amazonaws.ec2#CreateImageRequest": { @@ -15985,7 +16042,7 @@ "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

      The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the\n snapshots, or both.

      \n
        \n
      • \n

        To tag the AMI, the value for ResourceType must be\n image.

        \n
      • \n
      • \n

        To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that\n are attached to the instance, the value for ResourceType must be\n snapshot. The same tag is applied to all of the snapshots that are\n created.

        \n
      • \n
      \n

      If you specify other values for ResourceType, the request fails.

      \n

      To tag an AMI or snapshot after it has been created, see CreateTags.

      ", + "smithy.api#documentation": "

      The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the\n snapshots, or both.

      \n
        \n
      • \n

        To tag the AMI, the value for ResourceType must be\n image.

        \n
      • \n
      • \n

        To tag the snapshots that are created of the root volume and of other Amazon EBS volumes\n that are attached to the instance, the value for ResourceType must be\n snapshot. The same tag is applied to all of the snapshots that are\n created.

        \n
      • \n
      \n

      If you specify other values for ResourceType, the request fails.

      \n

      To tag an AMI or snapshot after it has been created, see CreateTags.

      ", "smithy.api#xmlName": "TagSpecification" } }, @@ -16012,7 +16069,7 @@ "traits": { "aws.protocols#ec2QueryName": "Name", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

      A name for the new image.

      \n

      Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

      ", + "smithy.api#documentation": "

      A name for the new image.

      \n

      Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces\n ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or\n underscores(_)

      ", "smithy.api#required": {}, "smithy.api#xmlName": "name" } @@ -16029,7 +16086,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "NoReboot", - "smithy.api#documentation": "

      Indicates whether or not the instance should be automatically rebooted before creating \n the image. Specify one of the following values:

      \n
        \n
      • \n

        \n true - The instance is not rebooted before creating the image. This \n creates crash-consistent snapshots that include only the data that has been written \n to the volumes at the time the snapshots are created. Buffered data and data in \n memory that has not yet been written to the volumes is not included in the snapshots.

        \n
      • \n
      • \n

        \n false - The instance is rebooted before creating the image. This \n ensures that all buffered data and data in memory is written to the volumes before the \n snapshots are created.

        \n
      • \n
      \n

      Default: false\n

      ", + "smithy.api#documentation": "

      Indicates whether or not the instance should be automatically rebooted before creating the\n image. Specify one of the following values:

      \n
        \n
      • \n

        \n true - The instance is not rebooted before creating the image. This\n creates crash-consistent snapshots that include only the data that has been written to the\n volumes at the time the snapshots are created. Buffered data and data in memory that has\n not yet been written to the volumes is not included in the snapshots.

        \n
      • \n
      • \n

        \n false - The instance is rebooted before creating the image. This ensures\n that all buffered data and data in memory is written to the volumes before the snapshots\n are created.

        \n
      • \n
      \n

      Default: false\n

      ", "smithy.api#xmlName": "noReboot" } }, @@ -18604,7 +18661,7 @@ "target": "com.amazonaws.ec2#CreateRestoreImageTaskResult" }, "traits": { - "smithy.api#documentation": "

      Starts a task that restores an AMI from an Amazon S3 object that was previously created by using\n CreateStoreImageTask.

      \n

      To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

      \n

      For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      Starts a task that restores an AMI from an Amazon S3 object that was previously created by\n using CreateStoreImageTask.

      \n

      To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

      \n

      For more information, see Store and restore an AMI using\n Amazon S3 in the Amazon EC2 User Guide.

      " } }, "com.amazonaws.ec2#CreateRestoreImageTaskRequest": { @@ -18635,7 +18692,7 @@ "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { - "smithy.api#documentation": "

      The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the\n snapshots, or both.

      \n
        \n
      • \n

        To tag the AMI, the value for ResourceType must be image.

        \n
      • \n
      • \n

        To\n tag the snapshots, the value for ResourceType must be snapshot. The\n same tag is applied to all of the snapshots that are created.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the\n snapshots, or both.

      \n
        \n
      • \n

        To tag the AMI, the value for ResourceType must be\n image.

        \n
      • \n
      • \n

        To tag the snapshots, the value for ResourceType must be\n snapshot. The same tag is applied to all of the snapshots that are\n created.

        \n
      • \n
      ", "smithy.api#xmlName": "TagSpecification" } }, @@ -19277,7 +19334,7 @@ "target": "com.amazonaws.ec2#CreateStoreImageTaskResult" }, "traits": { - "smithy.api#documentation": "

      Stores an AMI as a single object in an Amazon S3 bucket.

      \n

      To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

      \n

      For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      Stores an AMI as a single object in an Amazon S3 bucket.

      \n

      To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

      \n

      For more information, see Store and restore an AMI using\n Amazon S3 in the Amazon EC2 User Guide.

      " } }, "com.amazonaws.ec2#CreateStoreImageTaskRequest": { @@ -21640,6 +21697,75 @@ ] } }, + "com.amazonaws.ec2#CreateVpcBlockPublicAccessExclusion": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateVpcBlockPublicAccessExclusionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateVpcBlockPublicAccessExclusionResult" + }, + "traits": { + "smithy.api#documentation": "

      Create a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

      " + } + }, + "com.amazonaws.ec2#CreateVpcBlockPublicAccessExclusionRequest": { + "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.

      " + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#documentation": "

      A subnet ID.

      " + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "smithy.api#documentation": "

      A VPC ID.

      " + } + }, + "InternetGatewayExclusionMode": { + "target": "com.amazonaws.ec2#InternetGatewayExclusionMode", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

      The exclusion mode for internet gateway traffic.

      \n
        \n
      • \n

        \n bidirectional-access-allowed: Allow all internet traffic to and from the excluded VPCs and subnets.

        \n
      • \n
      • \n

        \n egress-access-allowed: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

        \n
      • \n
      ", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

      \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      ", + "smithy.api#xmlName": "TagSpecification" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateVpcBlockPublicAccessExclusionResult": { + "type": "structure", + "members": { + "VpcBlockPublicAccessExclusion": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusion", + "traits": { + "aws.protocols#ec2QueryName": "VpcBlockPublicAccessExclusion", + "smithy.api#documentation": "

      Details about an exclusion.

      ", + "smithy.api#xmlName": "vpcBlockPublicAccessExclusion" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#CreateVpcEndpoint": { "type": "operation", "input": { @@ -26662,6 +26788,56 @@ ] } }, + "com.amazonaws.ec2#DeleteVpcBlockPublicAccessExclusion": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteVpcBlockPublicAccessExclusionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteVpcBlockPublicAccessExclusionResult" + }, + "traits": { + "smithy.api#documentation": "

      Delete a VPC Block Public Access (BPA) exclusion. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

      " + } + }, + "com.amazonaws.ec2#DeleteVpcBlockPublicAccessExclusionRequest": { + "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.

      " + } + }, + "ExclusionId": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusionId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

      The ID of the exclusion.

      ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteVpcBlockPublicAccessExclusionResult": { + "type": "structure", + "members": { + "VpcBlockPublicAccessExclusion": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusion", + "traits": { + "aws.protocols#ec2QueryName": "VpcBlockPublicAccessExclusion", + "smithy.api#documentation": "

      Details about an exclusion.

      ", + "smithy.api#xmlName": "vpcBlockPublicAccessExclusion" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DeleteVpcEndpointConnectionNotifications": { "type": "operation", "input": { @@ -27252,7 +27428,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

      Deregisters the specified AMI. After you deregister an AMI, it can't be used to \n launch new instances.

      \n

      If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is retained\n in the Recycle Bin for the specified retention period. For more information, see Recycle Bin in\n the Amazon EC2 User Guide.

      \n

      When you deregister an AMI, it doesn't affect any instances that you've already \n launched from the AMI. You'll continue to incur usage costs for those instances until \n you terminate them.

      \n

      When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was\n\t\t\tcreated for the root volume of the instance during the AMI creation process. When you\n\t\t\tderegister an instance store-backed AMI, it doesn't affect the files that you uploaded\n\t\t\tto Amazon S3 when you created the AMI.

      " + "smithy.api#documentation": "

      Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new\n instances.

      \n

      If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is retained in\n the Recycle Bin for the specified retention period. For more information, see Recycle Bin in\n the Amazon EC2 User Guide.

      \n

      When you deregister an AMI, it doesn't affect any instances that you've already launched\n from the AMI. You'll continue to incur usage costs for those instances until you terminate\n them.

      \n

      When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created\n for the root volume of the instance during the AMI creation process. When you deregister an\n instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you\n created the AMI.

      " } }, "com.amazonaws.ec2#DeregisterImageRequest": { @@ -28100,7 +28276,7 @@ "target": "com.amazonaws.ec2#DescribeBundleTasksResult" }, "traits": { - "smithy.api#documentation": "

      Describes the specified bundle tasks or all of your bundle tasks.

      \n \n

      Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

      \n
      \n \n

      The order of the elements in the response, including those within nested\n structures, might vary. Applications should not assume the elements appear in a\n particular order.

      \n
      ", + "smithy.api#documentation": "

      Describes the specified bundle tasks or all of your bundle tasks.

      \n \n

      Completed bundle tasks are listed for only a limited time. If your bundle task is no\n longer in the list, you can still register an AMI from it. Just use\n RegisterImage with the Amazon S3 bucket name and image manifest name you provided\n to the bundle task.

      \n
      \n \n

      The order of the elements in the response, including those within nested structures,\n might vary. Applications should not assume the elements appear in a particular order.

      \n
      ", "smithy.waiters#waitable": { "BundleTaskComplete": { "acceptors": [ @@ -28151,7 +28327,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n bundle-id - The ID of the bundle task.

        \n
      • \n
      • \n

        \n error-code - If the task failed, the error code returned.

        \n
      • \n
      • \n

        \n error-message - If the task failed, the error message returned.

        \n
      • \n
      • \n

        \n instance-id - The ID of the instance.

        \n
      • \n
      • \n

        \n progress - The level of task completion, as a percentage (for example, 20%).

        \n
      • \n
      • \n

        \n s3-bucket - The Amazon S3 bucket to store the AMI.

        \n
      • \n
      • \n

        \n s3-prefix - The beginning of the AMI name.

        \n
      • \n
      • \n

        \n start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

        \n
      • \n
      • \n

        \n state - The state of the task (pending | waiting-for-shutdown | bundling |\n storing | cancelling | complete | failed).

        \n
      • \n
      • \n

        \n update-time - The time of the most recent update for the task.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n bundle-id - The ID of the bundle task.

        \n
      • \n
      • \n

        \n error-code - If the task failed, the error code returned.

        \n
      • \n
      • \n

        \n error-message - If the task failed, the error message returned.

        \n
      • \n
      • \n

        \n instance-id - The ID of the instance.

        \n
      • \n
      • \n

        \n progress - The level of task completion, as a percentage (for example,\n 20%).

        \n
      • \n
      • \n

        \n s3-bucket - The Amazon S3 bucket to store the AMI.

        \n
      • \n
      • \n

        \n s3-prefix - The beginning of the AMI name.

        \n
      • \n
      • \n

        \n start-time - The time the task started (for example,\n 2013-09-15T17:15:20.000Z).

        \n
      • \n
      • \n

        \n state - The state of the task (pending |\n waiting-for-shutdown | bundling | storing |\n cancelling | complete | failed).

        \n
      • \n
      • \n

        \n update-time - The time of the most recent update for the task.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -28775,7 +28951,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n group-id - The ID of a VPC security group that's associated with the instance.

        \n
      • \n
      • \n

        \n instance-id - The ID of the instance.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC to which the instance is linked.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n group-id - The ID of a VPC security group that's associated with the instance.

        \n
      • \n
      • \n

        \n instance-id - The ID of the instance.

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC to which the instance is linked.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } }, @@ -29705,7 +29881,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n dhcp-options-id - The ID of a DHCP options set.

        \n
      • \n
      • \n

        \n key - The key for one of the options (for example, domain-name).

        \n
      • \n
      • \n

        \n value - The value for one of the options.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n dhcp-options-id - The ID of a DHCP options set.

        \n
      • \n
      • \n

        \n key - The key for one of the options (for example, domain-name).

        \n
      • \n
      • \n

        \n value - The value for one of the options.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -29796,7 +29972,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -30170,7 +30346,7 @@ "target": "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessSet", "traits": { "aws.protocols#ec2QueryName": "FastLaunchImageSet", - "smithy.api#documentation": "

      A collection of details about the fast-launch enabled Windows images that meet \n\t\t\tthe requested criteria.

      ", + "smithy.api#documentation": "

      A collection of details about the fast-launch enabled Windows images that meet the\n requested criteria.

      ", "smithy.api#xmlName": "fastLaunchImageSet" } }, @@ -30202,7 +30378,7 @@ "target": "com.amazonaws.ec2#FastLaunchResourceType", "traits": { "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

      The resource type that Amazon EC2 uses for pre-provisioning the Windows AMI. Supported values \n\t\t\tinclude: snapshot.

      ", + "smithy.api#documentation": "

      The resource type that Amazon EC2 uses for pre-provisioning the Windows AMI. Supported values\n include: snapshot.

      ", "smithy.api#xmlName": "resourceType" } }, @@ -30210,7 +30386,7 @@ "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse", "traits": { "aws.protocols#ec2QueryName": "SnapshotConfiguration", - "smithy.api#documentation": "

      A group of parameters that are used for pre-provisioning the associated \n\t\t\tWindows AMI using snapshots.

      ", + "smithy.api#documentation": "

      A group of parameters that are used for pre-provisioning the associated Windows AMI using\n snapshots.

      ", "smithy.api#xmlName": "snapshotConfiguration" } }, @@ -30218,7 +30394,7 @@ "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse", "traits": { "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

      The launch template that the Windows fast launch enabled AMI uses when it launches \n\t\t\tWindows instances from pre-provisioned snapshots.

      ", + "smithy.api#documentation": "

      The launch template that the Windows fast launch enabled AMI uses when it launches Windows\n instances from pre-provisioned snapshots.

      ", "smithy.api#xmlName": "launchTemplate" } }, @@ -30226,7 +30402,7 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "MaxParallelLaunches", - "smithy.api#documentation": "

      The maximum number of instances that Amazon EC2 can launch at the same time to create \n\t\t\tpre-provisioned snapshots for Windows fast launch.

      ", + "smithy.api#documentation": "

      The maximum number of instances that Amazon EC2 can launch at the same time to create\n pre-provisioned snapshots for Windows fast launch.

      ", "smithy.api#xmlName": "maxParallelLaunches" } }, @@ -30264,7 +30440,7 @@ } }, "traits": { - "smithy.api#documentation": "

      Describe details about a Windows image with Windows fast launch enabled that meets the requested \n\t\t\tcriteria. Criteria are defined by the DescribeFastLaunchImages action filters.

      " + "smithy.api#documentation": "

      Describe details about a Windows image with Windows fast launch enabled that meets the\n requested criteria. Criteria are defined by the DescribeFastLaunchImages action\n filters.

      " } }, "com.amazonaws.ec2#DescribeFastLaunchImagesSuccessSet": { @@ -31546,7 +31722,7 @@ "target": "com.amazonaws.ec2#ImageAttribute" }, "traits": { - "smithy.api#documentation": "

      Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

      \n \n

      The order of the elements in the response, including those within nested\n structures, might vary. Applications should not assume the elements appear in a\n particular order.

      \n
      ", + "smithy.api#documentation": "

      Describes the specified attribute of the specified AMI. You can specify only one attribute\n at a time.

      \n \n

      The order of the elements in the response, including those within nested structures,\n might vary. Applications should not assume the elements appear in a particular order.

      \n
      ", "smithy.api#examples": [ { "title": "To describe the launch permissions for an AMI", @@ -31574,7 +31750,7 @@ "target": "com.amazonaws.ec2#ImageAttributeName", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

      The AMI attribute.

      \n

      \n Note: The blockDeviceMapping attribute is deprecated. \n \t Using this attribute returns the Client.AuthFailure error. To get information about \n \t the block device mappings for an AMI, use the DescribeImages action.

      ", + "smithy.api#documentation": "

      The AMI attribute.

      \n

      \n Note: The blockDeviceMapping attribute is\n deprecated. Using this attribute returns the Client.AuthFailure error. To get\n information about the block device mappings for an AMI, use the DescribeImages action.

      ", "smithy.api#required": {} } }, @@ -31609,7 +31785,7 @@ "target": "com.amazonaws.ec2#DescribeImagesResult" }, "traits": { - "smithy.api#documentation": "

      Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

      \n

      The images available to you include public images, private images that you own, and private images owned by other \n Amazon Web Services accounts for which you have explicit launch permissions.

      \n

      Recently deregistered images appear in the returned results for a short interval and then\n return empty results. After all instances that reference a deregistered AMI are terminated,\n specifying the ID of the image will eventually return an error indicating that the AMI ID\n cannot be found.

      \n \n

      We strongly recommend using only paginated requests. Unpaginated requests are\n susceptible to throttling and timeouts.

      \n
      \n \n

      The order of the elements in the response, including those within nested\n structures, might vary. Applications should not assume the elements appear in a\n particular order.

      \n
      ", + "smithy.api#documentation": "

      Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the\n images available to you.

      \n

      The images available to you include public images, private images that you own, and\n private images owned by other Amazon Web Services accounts for which you have explicit launch\n permissions.

      \n

      Recently deregistered images appear in the returned results for a short interval and then\n return empty results. After all instances that reference a deregistered AMI are terminated,\n specifying the ID of the image will eventually return an error indicating that the AMI ID\n cannot be found.

      \n \n

      We strongly recommend using only paginated requests. Unpaginated requests are\n susceptible to throttling and timeouts.

      \n
      \n \n

      The order of the elements in the response, including those within nested structures,\n might vary. Applications should not assume the elements appear in a particular order.

      \n
      ", "smithy.api#examples": [ { "title": "To describe an AMI", @@ -31713,7 +31889,7 @@ "ExecutableUsers": { "target": "com.amazonaws.ec2#ExecutableByStringList", "traits": { - "smithy.api#documentation": "

      Scopes the images by users with explicit launch permissions. \n Specify an Amazon Web Services account ID, self (the sender of the request),\n\t\t\t\tor all (public AMIs).

      \n
        \n
      • \n

        If you specify an Amazon Web Services account ID that is not your own, only AMIs\n shared with that specific Amazon Web Services account ID are returned. However, AMIs that\n are shared with the account’s organization or organizational unit (OU) are not\n returned.

        \n
      • \n
      • \n

        If you specify self or your own Amazon Web Services account ID, AMIs\n shared with your account are returned. In addition, AMIs that are shared with the\n organization or OU of which you are member are also returned.

        \n
      • \n
      • \n

        If you specify all, all public AMIs are returned.

        \n
      • \n
      ", + "smithy.api#documentation": "

      Scopes the images by users with explicit launch permissions. Specify an Amazon Web Services account ID, self (the sender of the request), or all\n (public AMIs).

      \n
        \n
      • \n

        If you specify an Amazon Web Services account ID that is not your own, only AMIs shared\n with that specific Amazon Web Services account ID are returned. However, AMIs that are\n shared with the account’s organization or organizational unit (OU) are not\n returned.

        \n
      • \n
      • \n

        If you specify self or your own Amazon Web Services account ID, AMIs\n shared with your account are returned. In addition, AMIs that are shared with the\n organization or OU of which you are member are also returned.

        \n
      • \n
      • \n

        If you specify all, all public AMIs are returned.

        \n
      • \n
      ", "smithy.api#xmlName": "ExecutableBy" } }, @@ -31727,7 +31903,7 @@ "Owners": { "target": "com.amazonaws.ec2#OwnerStringList", "traits": { - "smithy.api#documentation": "

      Scopes the results to images with the specified owners. You can specify a combination of \n Amazon Web Services account IDs, self, amazon, aws-backup-vault, and aws-marketplace. \n If you omit this parameter, the results include all images for which you have launch permissions, \n regardless of ownership.

      ", + "smithy.api#documentation": "

      Scopes the results to images with the specified owners. You can specify a combination of\n Amazon Web Services account IDs, self, amazon,\n aws-backup-vault, and aws-marketplace. If you omit this parameter,\n the results include all images for which you have launch permissions, regardless of\n ownership.

      ", "smithy.api#xmlName": "Owner" } }, @@ -31766,7 +31942,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n architecture - The image architecture (i386 | x86_64 | \n arm64 | x86_64_mac | arm64_mac).

        \n
      • \n
      • \n

        \n block-device-mapping.delete-on-termination - A Boolean value that indicates\n \twhether the Amazon EBS volume is deleted on instance termination.

        \n
      • \n
      • \n

        \n block-device-mapping.device-name - The device name specified in the block device mapping (for\n example, /dev/sdh or xvdh).

        \n
      • \n
      • \n

        \n block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS\n volume.

        \n
      • \n
      • \n

        \n block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

        \n
      • \n
      • \n

        \n block-device-mapping.volume-type - The volume type of the Amazon EBS volume\n (io1 | io2 | gp2 | gp3 | sc1\n | st1 | standard).

        \n
      • \n
      • \n

        \n block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

        \n
      • \n
      • \n

        \n creation-date - The time when the image was created, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2021-09-29T*, which matches an entire day.

        \n
      • \n
      • \n

        \n description - The description of the image (provided during image\n creation).

        \n
      • \n
      • \n

        \n ena-support - A Boolean that indicates whether enhanced networking\n with ENA is enabled.

        \n
      • \n
      • \n

        \n hypervisor - The hypervisor type (ovm |\n xen).

        \n
      • \n
      • \n

        \n image-id - The ID of the image.

        \n
      • \n
      • \n

        \n image-type - The image type (machine | kernel |\n ramdisk).

        \n
      • \n
      • \n

        \n is-public - A Boolean that indicates whether the image is public.

        \n
      • \n
      • \n

        \n kernel-id - The kernel ID.

        \n
      • \n
      • \n

        \n manifest-location - The location of the image manifest.

        \n
      • \n
      • \n

        \n name - The name of the AMI (provided during image creation).

        \n
      • \n
      • \n

        \n owner-alias - The owner alias (amazon | aws-backup-vault | aws-marketplace). \n The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be \n \tset using the IAM console. We recommend that you use the Owner \n \trequest parameter instead of this filter.

        \n
      • \n
      • \n

        \n owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the \n \t\tOwner request parameter instead of this filter.

        \n
      • \n
      • \n

        \n platform - The platform. The only supported value is windows.

        \n
      • \n
      • \n

        \n product-code - The product code.

        \n
      • \n
      • \n

        \n product-code.type - The type of the product code (marketplace).

        \n
      • \n
      • \n

        \n ramdisk-id - The RAM disk ID.

        \n
      • \n
      • \n

        \n root-device-name - The device name of the root device volume (for example, /dev/sda1).

        \n
      • \n
      • \n

        \n root-device-type - The type of the root device volume (ebs |\n instance-store).

        \n
      • \n
      • \n

        \n source-instance-id - The ID of the instance that the AMI was created from\n if the AMI was created using CreateImage. This filter is applicable only if the AMI was\n created using CreateImage.

        \n
      • \n
      • \n

        \n state - The state of the image (available | pending\n | failed).

        \n
      • \n
      • \n

        \n state-reason-code - The reason code for the state change.

        \n
      • \n
      • \n

        \n state-reason-message - The message for the state change.

        \n
      • \n
      • \n

        \n sriov-net-support - A value of simple indicates\n that enhanced networking with the Intel 82599 VF interface is enabled.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n virtualization-type - The virtualization type (paravirtual |\n hvm).

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n architecture - The image architecture (i386 |\n x86_64 | arm64 | x86_64_mac |\n arm64_mac).

        \n
      • \n
      • \n

        \n block-device-mapping.delete-on-termination - A Boolean value that indicates\n whether the Amazon EBS volume is deleted on instance termination.

        \n
      • \n
      • \n

        \n block-device-mapping.device-name - The device name specified in the block\n device mapping (for example, /dev/sdh or xvdh).

        \n
      • \n
      • \n

        \n block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS\n volume.

        \n
      • \n
      • \n

        \n block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in\n GiB.

        \n
      • \n
      • \n

        \n block-device-mapping.volume-type - The volume type of the Amazon EBS volume\n (io1 | io2 | gp2 | gp3 | sc1\n | st1 | standard).

        \n
      • \n
      • \n

        \n block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS\n volume is encrypted.

        \n
      • \n
      • \n

        \n creation-date - The time when the image was created, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2021-09-29T*, which matches an entire day.

        \n
      • \n
      • \n

        \n description - The description of the image (provided during image\n creation).

        \n
      • \n
      • \n

        \n ena-support - A Boolean that indicates whether enhanced networking with\n ENA is enabled.

        \n
      • \n
      • \n

        \n hypervisor - The hypervisor type (ovm |\n xen).

        \n
      • \n
      • \n

        \n image-id - The ID of the image.

        \n
      • \n
      • \n

        \n image-type - The image type (machine | kernel |\n ramdisk).

        \n
      • \n
      • \n

        \n is-public - A Boolean that indicates whether the image is public.

        \n
      • \n
      • \n

        \n kernel-id - The kernel ID.

        \n
      • \n
      • \n

        \n manifest-location - The location of the image manifest.

        \n
      • \n
      • \n

        \n name - The name of the AMI (provided during image creation).

        \n
      • \n
      • \n

        \n owner-alias - The owner alias (amazon |\n aws-backup-vault | aws-marketplace). The valid aliases are\n defined in an Amazon-maintained list. This is not the Amazon Web Services account alias\n that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

        \n
      • \n
      • \n

        \n owner-id - The Amazon Web Services account ID of the owner. We recommend\n that you use the Owner request parameter instead of this\n filter.

        \n
      • \n
      • \n

        \n platform - The platform. The only supported value is\n windows.

        \n
      • \n
      • \n

        \n product-code - The product code.

        \n
      • \n
      • \n

        \n product-code.type - The type of the product code\n (marketplace).

        \n
      • \n
      • \n

        \n ramdisk-id - The RAM disk ID.

        \n
      • \n
      • \n

        \n root-device-name - The device name of the root device volume (for example,\n /dev/sda1).

        \n
      • \n
      • \n

        \n root-device-type - The type of the root device volume (ebs |\n instance-store).

        \n
      • \n
      • \n

        \n source-instance-id - The ID of the instance that the AMI was created from\n if the AMI was created using CreateImage. This filter is applicable only if the AMI was\n created using CreateImage.

        \n
      • \n
      • \n

        \n state - The state of the image (available | pending\n | failed).

        \n
      • \n
      • \n

        \n state-reason-code - The reason code for the state change.

        \n
      • \n
      • \n

        \n state-reason-message - The message for the state change.

        \n
      • \n
      • \n

        \n sriov-net-support - A value of simple indicates that\n enhanced networking with the Intel 82599 VF interface is enabled.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n virtualization-type - The virtualization type (paravirtual |\n hvm).

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -33314,7 +33490,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n attachment.state - The current state of the attachment between the gateway\n and the VPC (available). Present only if a VPC is attached.

        \n
      • \n
      • \n

        \n attachment.vpc-id - The ID of an attached VPC.

        \n
      • \n
      • \n

        \n internet-gateway-id - The ID of the Internet gateway.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n attachment.state - The current state of the attachment between the gateway\n and the VPC (available). Present only if a VPC is attached.

        \n
      • \n
      • \n

        \n attachment.vpc-id - The ID of an attached VPC.

        \n
      • \n
      • \n

        \n internet-gateway-id - The ID of the Internet gateway.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -35389,7 +35565,7 @@ "Filter": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n nat-gateway-id - The ID of the NAT gateway.

        \n
      • \n
      • \n

        \n state - The state of the NAT gateway (pending |\n failed | available | deleting | deleted).

        \n
      • \n
      • \n

        \n subnet-id - The ID of the subnet in which the NAT gateway resides.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC in which the NAT gateway resides.

        \n
      • \n
      " + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n nat-gateway-id - The ID of the NAT gateway.

        \n
      • \n
      • \n

        \n state - The state of the NAT gateway (pending |\n failed | available | deleting | deleted).

        \n
      • \n
      • \n

        \n subnet-id - The ID of the subnet in which the NAT gateway resides.

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC in which the NAT gateway resides.

        \n
      • \n
      " } }, "MaxResults": { @@ -35542,7 +35718,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n association.association-id - The ID of an association ID for the ACL.

        \n
      • \n
      • \n

        \n association.network-acl-id - The ID of the network ACL involved in the association.

        \n
      • \n
      • \n

        \n association.subnet-id - The ID of the subnet involved in the association.

        \n
      • \n
      • \n

        \n default - Indicates whether the ACL is the default network ACL for the VPC.

        \n
      • \n
      • \n

        \n entry.cidr - The IPv4 CIDR range specified in the entry.

        \n
      • \n
      • \n

        \n entry.icmp.code - The ICMP code specified in the entry, if any.

        \n
      • \n
      • \n

        \n entry.icmp.type - The ICMP type specified in the entry, if any.

        \n
      • \n
      • \n

        \n entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

        \n
      • \n
      • \n

        \n entry.port-range.from - The start of the port range specified in the entry.

        \n
      • \n
      • \n

        \n entry.port-range.to - The end of the port range specified in the entry.

        \n
      • \n
      • \n

        \n entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

        \n
      • \n
      • \n

        \n entry.rule-action - Allows or denies the matching traffic (allow | deny).

        \n
      • \n
      • \n

        \n entry.egress - A Boolean that indicates the type of rule. Specify true \n\t\t for egress rules, or false for ingress rules.

        \n
      • \n
      • \n

        \n entry.rule-number - The number of an entry (in other words, rule) in\n the set of ACL entries.

        \n
      • \n
      • \n

        \n network-acl-id - The ID of the network ACL.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the network ACL.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC for the network ACL.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n association.association-id - The ID of an association ID for the ACL.

        \n
      • \n
      • \n

        \n association.network-acl-id - The ID of the network ACL involved in the association.

        \n
      • \n
      • \n

        \n association.subnet-id - The ID of the subnet involved in the association.

        \n
      • \n
      • \n

        \n default - Indicates whether the ACL is the default network ACL for the VPC.

        \n
      • \n
      • \n

        \n entry.cidr - The IPv4 CIDR range specified in the entry.

        \n
      • \n
      • \n

        \n entry.icmp.code - The ICMP code specified in the entry, if any.

        \n
      • \n
      • \n

        \n entry.icmp.type - The ICMP type specified in the entry, if any.

        \n
      • \n
      • \n

        \n entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

        \n
      • \n
      • \n

        \n entry.port-range.from - The start of the port range specified in the entry.

        \n
      • \n
      • \n

        \n entry.port-range.to - The end of the port range specified in the entry.

        \n
      • \n
      • \n

        \n entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

        \n
      • \n
      • \n

        \n entry.rule-action - Allows or denies the matching traffic (allow | deny).

        \n
      • \n
      • \n

        \n entry.egress - A Boolean that indicates the type of rule. Specify true \n\t\t for egress rules, or false for ingress rules.

        \n
      • \n
      • \n

        \n entry.rule-number - The number of an entry (in other words, rule) in\n the set of ACL entries.

        \n
      • \n
      • \n

        \n network-acl-id - The ID of the network ACL.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the network ACL.

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC for the network ACL.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -37363,7 +37539,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n association.gateway-id - The ID of the gateway involved in the\n\t\t association.

        \n
      • \n
      • \n

        \n association.route-table-association-id - The ID of an association\n ID for the route table.

        \n
      • \n
      • \n

        \n association.route-table-id - The ID of the route table involved in\n the association.

        \n
      • \n
      • \n

        \n association.subnet-id - The ID of the subnet involved in the\n association.

        \n
      • \n
      • \n

        \n association.main - Indicates whether the route table is the main\n route table for the VPC (true | false). Route tables\n that do not have an association ID are not returned in the response.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the route table.

        \n
      • \n
      • \n

        \n route-table-id - The ID of the route table.

        \n
      • \n
      • \n

        \n route.destination-cidr-block - The IPv4 CIDR range specified in a\n route in the table.

        \n
      • \n
      • \n

        \n route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

        \n
      • \n
      • \n

        \n route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Services \n\t\t\t\t service specified in a route in the table.

        \n
      • \n
      • \n

        \n route.egress-only-internet-gateway-id - The ID of an\n egress-only Internet gateway specified in a route in the route table.

        \n
      • \n
      • \n

        \n route.gateway-id - The ID of a gateway specified in a route in the table.

        \n
      • \n
      • \n

        \n route.instance-id - The ID of an instance specified in a route in the table.

        \n
      • \n
      • \n

        \n route.nat-gateway-id - The ID of a NAT gateway.

        \n
      • \n
      • \n

        \n route.transit-gateway-id - The ID of a transit gateway.

        \n
      • \n
      • \n

        \n route.origin - Describes how the route was created. \n CreateRouteTable indicates that the route was automatically\n created when the route table was created; CreateRoute indicates\n that the route was manually added to the route table;\n EnableVgwRoutePropagation indicates that the route was\n propagated by route propagation.

        \n
      • \n
      • \n

        \n route.state - The state of a route in the route table\n (active | blackhole). The blackhole state\n indicates that the route's target isn't available (for example, the specified\n gateway isn't attached to the VPC, the specified NAT instance has been\n terminated, and so on).

        \n
      • \n
      • \n

        \n route.vpc-peering-connection-id - The ID of a VPC peering\n\t\t connection specified in a route in the table.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC for the route table.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n association.gateway-id - The ID of the gateway involved in the\n\t\t association.

        \n
      • \n
      • \n

        \n association.route-table-association-id - The ID of an association\n ID for the route table.

        \n
      • \n
      • \n

        \n association.route-table-id - The ID of the route table involved in\n the association.

        \n
      • \n
      • \n

        \n association.subnet-id - The ID of the subnet involved in the\n association.

        \n
      • \n
      • \n

        \n association.main - Indicates whether the route table is the main\n route table for the VPC (true | false). Route tables\n that do not have an association ID are not returned in the response.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the route table.

        \n
      • \n
      • \n

        \n route-table-id - The ID of the route table.

        \n
      • \n
      • \n

        \n route.destination-cidr-block - The IPv4 CIDR range specified in a\n route in the table.

        \n
      • \n
      • \n

        \n route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

        \n
      • \n
      • \n

        \n route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Services \n\t\t\t\t service specified in a route in the table.

        \n
      • \n
      • \n

        \n route.egress-only-internet-gateway-id - The ID of an\n egress-only Internet gateway specified in a route in the route table.

        \n
      • \n
      • \n

        \n route.gateway-id - The ID of a gateway specified in a route in the table.

        \n
      • \n
      • \n

        \n route.instance-id - The ID of an instance specified in a route in the table.

        \n
      • \n
      • \n

        \n route.nat-gateway-id - The ID of a NAT gateway.

        \n
      • \n
      • \n

        \n route.transit-gateway-id - The ID of a transit gateway.

        \n
      • \n
      • \n

        \n route.origin - Describes how the route was created. \n CreateRouteTable indicates that the route was automatically\n created when the route table was created; CreateRoute indicates\n that the route was manually added to the route table;\n EnableVgwRoutePropagation indicates that the route was\n propagated by route propagation.

        \n
      • \n
      • \n

        \n route.state - The state of a route in the route table\n (active | blackhole). The blackhole state\n indicates that the route's target isn't available (for example, the specified\n gateway isn't attached to the VPC, the specified NAT instance has been\n terminated, and so on).

        \n
      • \n
      • \n

        \n route.vpc-peering-connection-id - The ID of a VPC peering\n\t\t connection specified in a route in the table.

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC for the route table.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -39290,7 +39466,7 @@ "target": "com.amazonaws.ec2#DescribeStoreImageTasksResult" }, "traits": { - "smithy.api#documentation": "

      Describes the progress of the AMI store tasks. You can describe the store tasks for\n specified AMIs. If you don't specify the AMIs, you get a paginated list of store tasks from\n the last 31 days.

      \n

      For each AMI task, the response indicates if the task is InProgress,\n Completed, or Failed. For tasks InProgress, the\n response shows the estimated progress as a percentage.

      \n

      Tasks are listed in reverse chronological order. Currently, only tasks from the past 31\n days can be viewed.

      \n

      To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

      \n

      For more information, see Store and restore an AMI using\n \tAmazon S3 in the Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      Describes the progress of the AMI store tasks. You can describe the store tasks for\n specified AMIs. If you don't specify the AMIs, you get a paginated list of store tasks from\n the last 31 days.

      \n

      For each AMI task, the response indicates if the task is InProgress,\n Completed, or Failed. For tasks InProgress, the\n response shows the estimated progress as a percentage.

      \n

      Tasks are listed in reverse chronological order. Currently, only tasks from the past 31\n days can be viewed.

      \n

      To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the\n Amazon EC2 User Guide.

      \n

      For more information, see Store and restore an AMI using\n Amazon S3 in the Amazon EC2 User Guide.

      ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -39342,7 +39518,7 @@ "ImageIds": { "target": "com.amazonaws.ec2#ImageIdList", "traits": { - "smithy.api#documentation": "

      The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

      ", + "smithy.api#documentation": "

      The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a\n request.

      ", "smithy.api#xmlName": "ImageId" } }, @@ -39487,7 +39663,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n availability-zone - The Availability Zone for the subnet. You can also use\n availabilityZone as the filter name.

        \n
      • \n
      • \n

        \n availability-zone-id - The ID of the Availability Zone for the subnet.\n You can also use availabilityZoneId as the filter name.

        \n
      • \n
      • \n

        \n available-ip-address-count - The number of IPv4 addresses in the\n subnet that are available.

        \n
      • \n
      • \n

        \n cidr-block - The IPv4 CIDR block of the subnet. The CIDR block\n you specify must exactly match the subnet's CIDR block for information to be\n returned for the subnet. You can also use cidr or\n cidrBlock as the filter names.

        \n
      • \n
      • \n

        \n customer-owned-ipv4-pool - The customer-owned IPv4 address pool\n associated with the subnet.

        \n
      • \n
      • \n

        \n default-for-az - Indicates whether this is the default subnet for\n the Availability Zone (true | false). You can also use\n defaultForAz as the filter name.

        \n
      • \n
      • \n

        \n enable-dns64 - Indicates whether DNS queries made to the\n Amazon-provided DNS Resolver in this subnet should return synthetic IPv6\n addresses for IPv4-only destinations.

        \n
      • \n
      • \n

        \n enable-lni-at-device-index - Indicates the device position for\n local network interfaces in this subnet. For example, 1 indicates\n local network interfaces in this subnet are the secondary network interface\n (eth1).

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR\n block associated with the subnet.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.association-id - An association ID\n for an IPv6 CIDR block associated with the subnet.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.state - The state of an IPv6 CIDR\n block associated with the subnet.

        \n
      • \n
      • \n

        \n ipv6-native - Indicates whether this is an IPv6 only subnet\n (true | false).

        \n
      • \n
      • \n

        \n map-customer-owned-ip-on-launch - Indicates whether a network\n interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

        \n
      • \n
      • \n

        \n map-public-ip-on-launch - Indicates whether instances launched in\n this subnet receive a public IPv4 address.

        \n
      • \n
      • \n

        \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the\n subnet.

        \n
      • \n
      • \n

        \n private-dns-name-options-on-launch.hostname-type - The type of\n hostname to assign to instances in the subnet at launch. For IPv4-only and\n dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the\n instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6\n only subnets, an instance DNS name must be based on the instance ID\n (resource-name).

        \n
      • \n
      • \n

        \n private-dns-name-options-on-launch.enable-resource-name-dns-a-record\n - Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

        \n
      • \n
      • \n

        \n private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record\n - Indicates whether to respond to DNS queries for instance hostnames with DNS\n AAAA records.

        \n
      • \n
      • \n

        \n state - The state of the subnet (pending | available).

        \n
      • \n
      • \n

        \n subnet-arn - The Amazon Resource Name (ARN) of the subnet.

        \n
      • \n
      • \n

        \n subnet-id - The ID of the subnet.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC for the subnet.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n availability-zone - The Availability Zone for the subnet. You can also use\n availabilityZone as the filter name.

        \n
      • \n
      • \n

        \n availability-zone-id - The ID of the Availability Zone for the subnet.\n You can also use availabilityZoneId as the filter name.

        \n
      • \n
      • \n

        \n available-ip-address-count - The number of IPv4 addresses in the\n subnet that are available.

        \n
      • \n
      • \n

        \n cidr-block - The IPv4 CIDR block of the subnet. The CIDR block\n you specify must exactly match the subnet's CIDR block for information to be\n returned for the subnet. You can also use cidr or\n cidrBlock as the filter names.

        \n
      • \n
      • \n

        \n customer-owned-ipv4-pool - The customer-owned IPv4 address pool\n associated with the subnet.

        \n
      • \n
      • \n

        \n default-for-az - Indicates whether this is the default subnet for\n the Availability Zone (true | false). You can also use\n defaultForAz as the filter name.

        \n
      • \n
      • \n

        \n enable-dns64 - Indicates whether DNS queries made to the\n Amazon-provided DNS Resolver in this subnet should return synthetic IPv6\n addresses for IPv4-only destinations.

        \n
      • \n
      • \n

        \n enable-lni-at-device-index - Indicates the device position for\n local network interfaces in this subnet. For example, 1 indicates\n local network interfaces in this subnet are the secondary network interface\n (eth1).

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR\n block associated with the subnet.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.association-id - An association ID\n for an IPv6 CIDR block associated with the subnet.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.state - The state of an IPv6 CIDR\n block associated with the subnet.

        \n
      • \n
      • \n

        \n ipv6-native - Indicates whether this is an IPv6 only subnet\n (true | false).

        \n
      • \n
      • \n

        \n map-customer-owned-ip-on-launch - Indicates whether a network\n interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

        \n
      • \n
      • \n

        \n map-public-ip-on-launch - Indicates whether instances launched in\n this subnet receive a public IPv4 address.

        \n
      • \n
      • \n

        \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the\n subnet.

        \n
      • \n
      • \n

        \n private-dns-name-options-on-launch.hostname-type - The type of\n hostname to assign to instances in the subnet at launch. For IPv4-only and\n dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the\n instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6\n only subnets, an instance DNS name must be based on the instance ID\n (resource-name).

        \n
      • \n
      • \n

        \n private-dns-name-options-on-launch.enable-resource-name-dns-a-record\n - Indicates whether to respond to DNS queries for instance hostnames with DNS A\n records.

        \n
      • \n
      • \n

        \n private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record\n - Indicates whether to respond to DNS queries for instance hostnames with DNS\n AAAA records.

        \n
      • \n
      • \n

        \n state - The state of the subnet (pending | available).

        \n
      • \n
      • \n

        \n subnet-arn - The Amazon Resource Name (ARN) of the subnet.

        \n
      • \n
      • \n

        \n subnet-id - The ID of the subnet.

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC for the subnet.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } }, @@ -42010,6 +42186,133 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeVpcBlockPublicAccessExclusions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeVpcBlockPublicAccessExclusionsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeVpcBlockPublicAccessExclusionsResult" + }, + "traits": { + "smithy.api#documentation": "

      Describe VPC Block Public Access (BPA) exclusions. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

      " + } + }, + "com.amazonaws.ec2#DescribeVpcBlockPublicAccessExclusionsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeVpcBlockPublicAccessExclusionsRequest": { + "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.

      " + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

      Filters for the request:

      \n
        \n
      • \n

        \n resource-arn - The Amazon Resource Name (ARN) of a exclusion.

        \n
      • \n
      • \n

        \n internet-gateway-exclusion-mode - The mode of a VPC BPA exclusion. Possible values: bidirectional-access-allowed | egress-access-allowed.

        \n
      • \n
      • \n

        \n state - The state of VPC BPA. Possible values: create-in-progress | create-complete | update-in-progress | update-complete | delete-in-progress | deleted-complete | disable-in-progress | disable-complete\n

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n tag-value: The value of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific value, regardless of the tag key.

        \n
      • \n
      ", + "smithy.api#xmlName": "Filter" + } + }, + "ExclusionIds": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusionIdList", + "traits": { + "smithy.api#documentation": "

      IDs of exclusions.

      ", + "smithy.api#xmlName": "ExclusionId" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      " + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeVpcBlockPublicAccessExclusionsMaxResults", + "traits": { + "smithy.api#documentation": "

      The maximum number of items to return for this request.\n\tTo get the next page of items, make another request with the token returned in the output.\n\tFor more information, see Pagination.

      " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeVpcBlockPublicAccessExclusionsResult": { + "type": "structure", + "members": { + "VpcBlockPublicAccessExclusions": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusionList", + "traits": { + "aws.protocols#ec2QueryName": "VpcBlockPublicAccessExclusionSet", + "smithy.api#documentation": "

      Details related to the exclusions.

      ", + "smithy.api#xmlName": "vpcBlockPublicAccessExclusionSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

      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.

      ", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#DescribeVpcBlockPublicAccessOptions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeVpcBlockPublicAccessOptionsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeVpcBlockPublicAccessOptionsResult" + }, + "traits": { + "smithy.api#documentation": "

      Describe VPC Block Public Access (BPA) options. VPC Block public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

      " + } + }, + "com.amazonaws.ec2#DescribeVpcBlockPublicAccessOptionsRequest": { + "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.

      " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeVpcBlockPublicAccessOptionsResult": { + "type": "structure", + "members": { + "VpcBlockPublicAccessOptions": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessOptions", + "traits": { + "aws.protocols#ec2QueryName": "VpcBlockPublicAccessOptions", + "smithy.api#documentation": "

      Details related to the options.

      ", + "smithy.api#xmlName": "vpcBlockPublicAccessOptions" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeVpcClassicLink": { "type": "operation", "input": { @@ -42134,7 +42437,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n is-classic-link-enabled - Whether the VPC is enabled for ClassicLink\n\t\t\t\t\t (true | false).

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n is-classic-link-enabled - Whether the VPC is enabled for ClassicLink\n\t\t\t\t\t (true | false).

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -42747,7 +43050,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter\n VPC.

        \n
      • \n
      • \n

        \n accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the\n accepter VPC.

        \n
      • \n
      • \n

        \n accepter-vpc-info.vpc-id - The ID of the accepter VPC.

        \n
      • \n
      • \n

        \n expiration-time - The expiration date and time for the VPC peering\n connection.

        \n
      • \n
      • \n

        \n requester-vpc-info.cidr-block - The IPv4 CIDR block of the\n requester's VPC.

        \n
      • \n
      • \n

        \n requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the\n requester VPC.

        \n
      • \n
      • \n

        \n requester-vpc-info.vpc-id - The ID of the requester VPC.

        \n
      • \n
      • \n

        \n status-code - The status of the VPC peering connection\n (pending-acceptance | failed |\n expired | provisioning | active |\n deleting | deleted |\n rejected).

        \n
      • \n
      • \n

        \n status-message - A message that provides more information about the status\n of the VPC peering connection, if applicable.

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-peering-connection-id - The ID of the VPC peering connection.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter\n VPC.

        \n
      • \n
      • \n

        \n accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the\n accepter VPC.

        \n
      • \n
      • \n

        \n accepter-vpc-info.vpc-id - The ID of the accepter VPC.

        \n
      • \n
      • \n

        \n expiration-time - The expiration date and time for the VPC peering\n connection.

        \n
      • \n
      • \n

        \n requester-vpc-info.cidr-block - The IPv4 CIDR block of the\n requester's VPC.

        \n
      • \n
      • \n

        \n requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the\n requester VPC.

        \n
      • \n
      • \n

        \n requester-vpc-info.vpc-id - The ID of the requester VPC.

        \n
      • \n
      • \n

        \n status-code - The status of the VPC peering connection\n (pending-acceptance | failed |\n expired | provisioning | active |\n deleting | deleted |\n rejected).

        \n
      • \n
      • \n

        \n status-message - A message that provides more information about the status\n of the VPC peering connection, if applicable.

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-peering-connection-id - The ID of the VPC peering connection.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } } @@ -42875,7 +43178,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you\n specify must exactly match the VPC's CIDR block for information to be returned\n for the VPC. Must contain the slash followed by one or two digits (for example,\n /28).

        \n
      • \n
      • \n

        \n cidr-block-association.cidr-block - An IPv4 CIDR block associated with the\n VPC.

        \n
      • \n
      • \n

        \n cidr-block-association.association-id - The association ID for\n an IPv4 CIDR block associated with the VPC.

        \n
      • \n
      • \n

        \n cidr-block-association.state - The state of an IPv4 CIDR block\n associated with the VPC.

        \n
      • \n
      • \n

        \n dhcp-options-id - The ID of a set of DHCP options.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR\n block associated with the VPC.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.association-id - The association\n ID for an IPv6 CIDR block associated with the VPC.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.state - The state of an IPv6 CIDR\n block associated with the VPC.

        \n
      • \n
      • \n

        \n is-default - Indicates whether the VPC is the default VPC.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the VPC.

        \n
      • \n
      • \n

        \n state - The state of the VPC (pending | available).

        \n
      • \n
      • \n

        \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC.

        \n
      • \n
      ", + "smithy.api#documentation": "

      The filters.

      \n
        \n
      • \n

        \n cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you\n specify must exactly match the VPC's CIDR block for information to be returned\n for the VPC. Must contain the slash followed by one or two digits (for example,\n /28).

        \n
      • \n
      • \n

        \n cidr-block-association.cidr-block - An IPv4 CIDR block associated with the\n VPC.

        \n
      • \n
      • \n

        \n cidr-block-association.association-id - The association ID for\n an IPv4 CIDR block associated with the VPC.

        \n
      • \n
      • \n

        \n cidr-block-association.state - The state of an IPv4 CIDR block\n associated with the VPC.

        \n
      • \n
      • \n

        \n dhcp-options-id - The ID of a set of DHCP options.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR\n block associated with the VPC.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.association-id - The association\n ID for an IPv6 CIDR block associated with the VPC.

        \n
      • \n
      • \n

        \n ipv6-cidr-block-association.state - The state of an IPv6 CIDR\n block associated with the VPC.

        \n
      • \n
      • \n

        \n is-default - Indicates whether the VPC is the default VPC.

        \n
      • \n
      • \n

        \n owner-id - The ID of the Amazon Web Services account that owns the VPC.

        \n
      • \n
      • \n

        \n state - The state of the VPC (pending | available).

        \n
      • \n
      • \n

        \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        \n
      • \n
      • \n

        \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        \n
      • \n
      • \n

        \n vpc-id - The ID of the VPC.

        \n
      • \n
      ", "smithy.api#xmlName": "Filter" } }, @@ -43922,7 +44225,7 @@ "target": "com.amazonaws.ec2#DisableFastLaunchResult" }, "traits": { - "smithy.api#documentation": "

      Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned snapshots. \n\t\t\tAfter you disable Windows fast launch, the AMI uses the standard launch process for each \n\t\t\tnew instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable Windows fast launch again.

      \n \n

      You can only change these settings for Windows AMIs that you own or that have been shared with you.

      \n
      " + "smithy.api#documentation": "

      Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned\n snapshots. After you disable Windows fast launch, the AMI uses the standard launch process for\n each new instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable\n Windows fast launch again.

      \n \n

      You can only change these settings for Windows AMIs that you own or that have been\n shared with you.

      \n
      " } }, "com.amazonaws.ec2#DisableFastLaunchRequest": { @@ -43939,7 +44242,7 @@ "Force": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

      Forces the image settings to turn off Windows fast launch for your Windows AMI. This parameter overrides \n\t\t\tany errors that are encountered while cleaning up resources in your account.

      " + "smithy.api#documentation": "

      Forces the image settings to turn off Windows fast launch for your Windows AMI. This\n parameter overrides any errors that are encountered while cleaning up resources in your\n account.

      " } }, "DryRun": { @@ -43968,7 +44271,7 @@ "target": "com.amazonaws.ec2#FastLaunchResourceType", "traits": { "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

      The pre-provisioning resource type that must be cleaned after turning off Windows fast launch \n\t\t\tfor the Windows AMI. Supported values include: snapshot.

      ", + "smithy.api#documentation": "

      The pre-provisioning resource type that must be cleaned after turning off Windows fast\n launch for the Windows AMI. Supported values include: snapshot.

      ", "smithy.api#xmlName": "resourceType" } }, @@ -43976,7 +44279,7 @@ "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse", "traits": { "aws.protocols#ec2QueryName": "SnapshotConfiguration", - "smithy.api#documentation": "

      Parameters that were used for Windows fast launch for the Windows AMI before \n\t\t\tWindows fast launch was disabled. This informs the clean-up process.

      ", + "smithy.api#documentation": "

      Parameters that were used for Windows fast launch for the Windows AMI before Windows fast\n launch was disabled. This informs the clean-up process.

      ", "smithy.api#xmlName": "snapshotConfiguration" } }, @@ -43984,7 +44287,7 @@ "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse", "traits": { "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

      The launch template that was used to launch Windows instances from pre-provisioned snapshots.

      ", + "smithy.api#documentation": "

      The launch template that was used to launch Windows instances from pre-provisioned\n snapshots.

      ", "smithy.api#xmlName": "launchTemplate" } }, @@ -43992,7 +44295,7 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "MaxParallelLaunches", - "smithy.api#documentation": "

      The maximum number of instances that Amazon EC2 can launch at the same time to \n\t\t\tcreate pre-provisioned snapshots for Windows fast launch.

      ", + "smithy.api#documentation": "

      The maximum number of instances that Amazon EC2 can launch at the same time to create\n pre-provisioned snapshots for Windows fast launch.

      ", "smithy.api#xmlName": "maxParallelLaunches" } }, @@ -44317,7 +44620,7 @@ "target": "com.amazonaws.ec2#DisableImageBlockPublicAccessResult" }, "traits": { - "smithy.api#documentation": "

      Disables block public access for AMIs at the account level in the\n specified Amazon Web Services Region. This removes the block public access restriction\n from your account. With the restriction removed, you can publicly share your AMIs in the\n specified Amazon Web Services Region.

      \n

      The API can take up to 10 minutes to configure this setting. During this time, if you run\n GetImageBlockPublicAccessState, the response will be\n block-new-sharing. When the API has completed the configuration, the response\n will be unblocked.

      \n

      For more information, see Block public access to your AMIs in\n the Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      Disables block public access for AMIs at the account level in the\n specified Amazon Web Services Region. This removes the block public access restriction\n from your account. With the restriction removed, you can publicly share your AMIs in the\n specified Amazon Web Services Region.

      \n

      The API can take up to 10 minutes to configure this setting. During this time, if you run\n GetImageBlockPublicAccessState, the response will be\n block-new-sharing. When the API has completed the configuration, the response\n will be unblocked.

      \n

      For more information, see Block\n public access to your AMIs in the Amazon EC2 User Guide.

      " } }, "com.amazonaws.ec2#DisableImageBlockPublicAccessRequest": { @@ -47563,7 +47866,7 @@ "target": "com.amazonaws.ec2#EnableFastLaunchResult" }, "traits": { - "smithy.api#documentation": "

      When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, \n\t\t\tusing snapshots to launch instances up to 65% faster. To create the optimized Windows \n\t\t\timage, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. \n\t\t\tThen it creates a set of reserved snapshots that are used for subsequent launches. The \n\t\t\treserved snapshots are automatically replenished as they are used, depending on your \n\t\t\tsettings for launch frequency.

      \n \n

      You can only change these settings for Windows AMIs that you own or that have been shared with you.

      \n
      " + "smithy.api#documentation": "

      When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, using\n snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2\n launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a\n set of reserved snapshots that are used for subsequent launches. The reserved snapshots are\n automatically replenished as they are used, depending on your settings for launch\n frequency.

      \n \n

      You can only change these settings for Windows AMIs that you own or that have been\n shared with you.

      \n
      " } }, "com.amazonaws.ec2#EnableFastLaunchRequest": { @@ -47580,25 +47883,25 @@ "ResourceType": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

      The type of resource to use for pre-provisioning the AMI for Windows fast launch. \n\t\t\tSupported values include: snapshot, which is the default value.

      " + "smithy.api#documentation": "

      The type of resource to use for pre-provisioning the AMI for Windows fast launch.\n Supported values include: snapshot, which is the default value.

      " } }, "SnapshotConfiguration": { "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationRequest", "traits": { - "smithy.api#documentation": "

      Configuration settings for creating and managing the snapshots that are used for \n\t\t\tpre-provisioning the AMI for Windows fast launch. The associated ResourceType \n\t\t\tmust be snapshot.

      " + "smithy.api#documentation": "

      Configuration settings for creating and managing the snapshots that are used for\n pre-provisioning the AMI for Windows fast launch. The associated ResourceType\n must be snapshot.

      " } }, "LaunchTemplate": { "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationRequest", "traits": { - "smithy.api#documentation": "

      The launch template to use when launching Windows instances from pre-provisioned \n\t\t\tsnapshots. Launch template parameters can include either the name or ID of the launch \n\t\t\ttemplate, but not both.

      " + "smithy.api#documentation": "

      The launch template to use when launching Windows instances from pre-provisioned\n snapshots. Launch template parameters can include either the name or ID of the launch\n template, but not both.

      " } }, "MaxParallelLaunches": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

      The maximum number of instances that Amazon EC2 can launch at the same time to create \n\t\t\tpre-provisioned snapshots for Windows fast launch. Value must be \n\t\t\t6 or greater.

      " + "smithy.api#documentation": "

      The maximum number of instances that Amazon EC2 can launch at the same time to create\n pre-provisioned snapshots for Windows fast launch. Value must be 6 or\n greater.

      " } }, "DryRun": { @@ -47627,7 +47930,7 @@ "target": "com.amazonaws.ec2#FastLaunchResourceType", "traits": { "aws.protocols#ec2QueryName": "ResourceType", - "smithy.api#documentation": "

      The type of resource that was defined for pre-provisioning the AMI for Windows fast launch.

      ", + "smithy.api#documentation": "

      The type of resource that was defined for pre-provisioning the AMI for Windows fast\n launch.

      ", "smithy.api#xmlName": "resourceType" } }, @@ -47635,7 +47938,7 @@ "target": "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse", "traits": { "aws.protocols#ec2QueryName": "SnapshotConfiguration", - "smithy.api#documentation": "

      Settings to create and manage the pre-provisioned snapshots that Amazon EC2 uses for faster \n\t\t\tlaunches from the Windows AMI. This property is returned when the associated \n\t\t\tresourceType is snapshot.

      ", + "smithy.api#documentation": "

      Settings to create and manage the pre-provisioned snapshots that Amazon EC2 uses for faster\n launches from the Windows AMI. This property is returned when the associated\n resourceType is snapshot.

      ", "smithy.api#xmlName": "snapshotConfiguration" } }, @@ -47643,7 +47946,7 @@ "target": "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse", "traits": { "aws.protocols#ec2QueryName": "LaunchTemplate", - "smithy.api#documentation": "

      The launch template that is used when launching Windows instances from pre-provisioned snapshots.

      ", + "smithy.api#documentation": "

      The launch template that is used when launching Windows instances from pre-provisioned\n snapshots.

      ", "smithy.api#xmlName": "launchTemplate" } }, @@ -47651,7 +47954,7 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "MaxParallelLaunches", - "smithy.api#documentation": "

      The maximum number of instances that Amazon EC2 can launch at the same time to \n\t\t\tcreate pre-provisioned snapshots for Windows fast launch.

      ", + "smithy.api#documentation": "

      The maximum number of instances that Amazon EC2 can launch at the same time to create\n pre-provisioned snapshots for Windows fast launch.

      ", "smithy.api#xmlName": "maxParallelLaunches" } }, @@ -48026,7 +48329,7 @@ "target": "com.amazonaws.ec2#EnableImageDeprecationResult" }, "traits": { - "smithy.api#documentation": "

      Enables deprecation of the specified AMI at the specified date and time.

      \n

      For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      Enables deprecation of the specified AMI at the specified date and time.

      \n

      For more information, see Deprecate an AMI in the\n Amazon EC2 User Guide.

      " } }, "com.amazonaws.ec2#EnableImageDeprecationRequest": { @@ -48044,7 +48347,7 @@ "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

      The date and time to deprecate the AMI, in UTC, in the following format:\n YYYY-MM-DDTHH:MM:SSZ.\n If you specify a value for seconds, Amazon EC2 rounds the seconds to the\n nearest minute.

      \n

      You can’t specify a date in the past. The upper limit for DeprecateAt is 10\n years from now, except for public AMIs, where the upper limit is 2 years from the creation date.

      ", + "smithy.api#documentation": "

      The date and time to deprecate the AMI, in UTC, in the following format:\n YYYY-MM-DDTHH:MM:SSZ.\n If you specify a value for seconds, Amazon EC2 rounds the seconds to the nearest minute.

      \n

      You can’t specify a date in the past. The upper limit for DeprecateAt is 10\n years from now, except for public AMIs, where the upper limit is 2 years from the creation\n date.

      ", "smithy.api#required": {} } }, @@ -50068,26 +50371,26 @@ "LaunchTemplateId": { "target": "com.amazonaws.ec2#LaunchTemplateId", "traits": { - "smithy.api#documentation": "

      Specify the ID of the launch template that the AMI should use for Windows fast launch.

      " + "smithy.api#documentation": "

      Specify the ID of the launch template that the AMI should use for Windows fast\n launch.

      " } }, "LaunchTemplateName": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

      Specify the name of the launch template that the AMI should use for Windows fast launch.

      " + "smithy.api#documentation": "

      Specify the name of the launch template that the AMI should use for Windows fast\n launch.

      " } }, "Version": { "target": "com.amazonaws.ec2#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

      Specify the version of the launch template that the AMI should use for Windows fast launch.

      ", + "smithy.api#documentation": "

      Specify the version of the launch template that the AMI should use for Windows fast\n launch.

      ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

      Request to create a launch template for a Windows fast launch enabled AMI.

      \n \n

      Note - You can specify either the LaunchTemplateName or the \n\t\t\t\tLaunchTemplateId, but not both.

      \n
      " + "smithy.api#documentation": "

      Request to create a launch template for a Windows fast launch enabled AMI.

      \n \n

      Note - You can specify either the LaunchTemplateName or the\n LaunchTemplateId, but not both.

      \n
      " } }, "com.amazonaws.ec2#FastLaunchLaunchTemplateSpecificationResponse": { @@ -50139,12 +50442,12 @@ "TargetResourceCount": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

      The number of pre-provisioned snapshots to keep on hand for a Windows fast launch \n\t\t\tenabled AMI.

      " + "smithy.api#documentation": "

      The number of pre-provisioned snapshots to keep on hand for a Windows fast launch enabled\n AMI.

      " } } }, "traits": { - "smithy.api#documentation": "

      Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch \n\t\t\tenabled AMI.

      " + "smithy.api#documentation": "

      Configuration settings for creating and managing pre-provisioned snapshots for a Windows\n fast launch enabled AMI.

      " } }, "com.amazonaws.ec2#FastLaunchSnapshotConfigurationResponse": { @@ -50154,13 +50457,13 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "TargetResourceCount", - "smithy.api#documentation": "

      The number of pre-provisioned snapshots requested to keep on hand for a Windows fast launch \n\t\t\tenabled AMI.

      ", + "smithy.api#documentation": "

      The number of pre-provisioned snapshots requested to keep on hand for a Windows fast\n launch enabled AMI.

      ", "smithy.api#xmlName": "targetResourceCount" } } }, "traits": { - "smithy.api#documentation": "

      Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch \n\t\t\tenabled Windows AMI.

      " + "smithy.api#documentation": "

      Configuration settings for creating and managing pre-provisioned snapshots for a Windows\n fast launch enabled Windows AMI.

      " } }, "com.amazonaws.ec2#FastLaunchStateCode": { @@ -57048,7 +57351,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "UsageOperation", - "smithy.api#documentation": "

      The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.\n usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price\n \tList API. You can view these fields on the Instances or \n \tAMIs pages in the Amazon EC2 console, or in the responses that are \n \treturned by the DescribeImages \n \tcommand in the Amazon EC2 API, or the describe-images \n \tcommand in the CLI.

      ", + "smithy.api#documentation": "

      The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.\n usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price\n List API. You can view these fields on the Instances or AMIs pages in the Amazon EC2 console,\n or in the responses that are returned by the DescribeImages command in\n the Amazon EC2 API, or the describe-images command in the\n CLI.

      ", "smithy.api#xmlName": "usageOperation" } }, @@ -57088,7 +57391,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "ImageOwnerAlias", - "smithy.api#documentation": "

      The owner alias (amazon | aws-backup-vault | aws-marketplace).

      ", + "smithy.api#documentation": "

      The owner alias (amazon | aws-backup-vault |\n aws-marketplace).

      ", "smithy.api#xmlName": "imageOwnerAlias" } }, @@ -57112,7 +57415,7 @@ "target": "com.amazonaws.ec2#DeviceType", "traits": { "aws.protocols#ec2QueryName": "RootDeviceType", - "smithy.api#documentation": "

      The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

      ", + "smithy.api#documentation": "

      The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance\n store volume.

      ", "smithy.api#xmlName": "rootDeviceType" } }, @@ -57120,7 +57423,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

      Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

      ", + "smithy.api#documentation": "

      Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is\n enabled.

      ", "smithy.api#xmlName": "sriovNetSupport" } }, @@ -57160,7 +57463,7 @@ "target": "com.amazonaws.ec2#TpmSupportValues", "traits": { "aws.protocols#ec2QueryName": "TpmSupport", - "smithy.api#documentation": "

      If the image is configured for NitroTPM support, the value is v2.0. \n For more information, see NitroTPM in the\n Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      If the image is configured for NitroTPM support, the value is v2.0. For more\n information, see NitroTPM in the Amazon EC2 User Guide.

      ", "smithy.api#xmlName": "tpmSupport" } }, @@ -57168,7 +57471,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "DeprecationTime", - "smithy.api#documentation": "

      The date and time to deprecate the AMI, in UTC, in the following format: \n YYYY-MM-DDTHH:MM:SSZ.\n If you specified a value for seconds, Amazon EC2 rounds the seconds to the\n nearest minute.

      ", + "smithy.api#documentation": "

      The date and time to deprecate the AMI, in UTC, in the following format:\n YYYY-MM-DDTHH:MM:SSZ.\n If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute.

      ", "smithy.api#xmlName": "deprecationTime" } }, @@ -57176,7 +57479,7 @@ "target": "com.amazonaws.ec2#ImdsSupportValues", "traits": { "aws.protocols#ec2QueryName": "ImdsSupport", - "smithy.api#documentation": "

      If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched\n from this AMI will have HttpTokens automatically set to required so\n that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.\n In addition, HttpPutResponseHopLimit is set to 2. For more\n information, see Configure\n the AMI in the Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched\n from this AMI will have HttpTokens automatically set to required so\n that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.\n In addition, HttpPutResponseHopLimit is set to 2. For more\n information, see Configure the AMI in the Amazon EC2 User Guide.

      ", "smithy.api#xmlName": "imdsSupport" } }, @@ -57200,7 +57503,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "LastLaunchedTime", - "smithy.api#documentation": "

      The date and time, in ISO 8601 date-time\n format, when the AMI was last used to launch an EC2 instance. When the AMI is used\n to launch an instance, there is a 24-hour delay before that usage is reported.

      \n \n

      \n lastLaunchedTime data is available starting April 2017.

      \n
      ", + "smithy.api#documentation": "

      The date and time, in ISO 8601 date-time\n format, when the AMI was last used to launch an EC2 instance. When the AMI is used\n to launch an instance, there is a 24-hour delay before that usage is reported.

      \n \n

      \n lastLaunchedTime data is available starting April 2017.

      \n
      ", "smithy.api#xmlName": "lastLaunchedTime" } }, @@ -57240,7 +57543,7 @@ "target": "com.amazonaws.ec2#ImageState", "traits": { "aws.protocols#ec2QueryName": "ImageState", - "smithy.api#documentation": "

      The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

      ", + "smithy.api#documentation": "

      The current state of the AMI. If the state is available, the image is\n successfully registered and can be used to launch an instance.

      ", "smithy.api#xmlName": "imageState" } }, @@ -57264,7 +57567,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "IsPublic", - "smithy.api#documentation": "

      Indicates whether the image has public launch permissions. The value is true if\n\t\t\t\tthis image has public launch permissions or false\n\t\t\t\tif it has only implicit and explicit launch permissions.

      ", + "smithy.api#documentation": "

      Indicates whether the image has public launch permissions. The value is true\n if this image has public launch permissions or false if it has only implicit and\n explicit launch permissions.

      ", "smithy.api#xmlName": "isPublic" } }, @@ -57352,7 +57655,7 @@ "target": "com.amazonaws.ec2#AttributeValue", "traits": { "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

      Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

      ", + "smithy.api#documentation": "

      Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is\n enabled.

      ", "smithy.api#xmlName": "sriovNetSupport" } }, @@ -57376,7 +57679,7 @@ "target": "com.amazonaws.ec2#AttributeValue", "traits": { "aws.protocols#ec2QueryName": "UefiData", - "smithy.api#documentation": "

      Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,\n use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the\n python-uefivars tool on\n GitHub. For more information, see UEFI Secure Boot in the\n Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data,\n use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the\n python-uefivars tool on\n GitHub. For more information, see UEFI Secure Boot in the\n Amazon EC2 User Guide.

      ", "smithy.api#xmlName": "uefiData" } }, @@ -57392,7 +57695,7 @@ "target": "com.amazonaws.ec2#AttributeValue", "traits": { "aws.protocols#ec2QueryName": "ImdsSupport", - "smithy.api#documentation": "

      If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched\n from this AMI will have HttpTokens automatically set to required so\n that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.\n In addition, HttpPutResponseHopLimit is set to 2. For more\n information, see Configure\n the AMI in the Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched\n from this AMI will have HttpTokens automatically set to required so\n that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.\n In addition, HttpPutResponseHopLimit is set to 2. For more\n information, see Configure the AMI in the Amazon EC2 User Guide.

      ", "smithy.api#xmlName": "imdsSupport" } }, @@ -57660,7 +57963,7 @@ "target": "com.amazonaws.ec2#ImageState", "traits": { "aws.protocols#ec2QueryName": "ImageState", - "smithy.api#documentation": "

      The current state of the AMI. If the state is available, the AMI \n is successfully registered and can be used to launch an instance.

      ", + "smithy.api#documentation": "

      The current state of the AMI. If the state is available, the AMI is\n successfully registered and can be used to launch an instance.

      ", "smithy.api#xmlName": "imageState" } }, @@ -57668,7 +57971,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "ImageOwnerAlias", - "smithy.api#documentation": "

      The alias of the AMI owner.

      \n

      Valid values: amazon | aws-backup-vault | aws-marketplace\n

      ", + "smithy.api#documentation": "

      The alias of the AMI owner.

      \n

      Valid values: amazon | aws-backup-vault |\n aws-marketplace\n

      ", "smithy.api#xmlName": "imageOwnerAlias" } }, @@ -68367,6 +68670,46 @@ } } }, + "com.amazonaws.ec2#InternetGatewayBlockMode": { + "type": "enum", + "members": { + "off": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "off" + } + }, + "block_bidirectional": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "block-bidirectional" + } + }, + "block_ingress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "block-ingress" + } + } + } + }, + "com.amazonaws.ec2#InternetGatewayExclusionMode": { + "type": "enum", + "members": { + "allow_bidirectional": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "allow-bidirectional" + } + }, + "allow_egress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "allow-egress" + } + } + } + }, "com.amazonaws.ec2#InternetGatewayId": { "type": "string" }, @@ -72008,13 +72351,13 @@ "Add": { "target": "com.amazonaws.ec2#LaunchPermissionList", "traits": { - "smithy.api#documentation": "

      The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

      " + "smithy.api#documentation": "

      The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of\n launch permissions for the AMI.

      " } }, "Remove": { "target": "com.amazonaws.ec2#LaunchPermissionList", "traits": { - "smithy.api#documentation": "

      The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

      " + "smithy.api#documentation": "

      The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of\n launch permissions for the AMI.

      " } } }, @@ -73321,7 +73664,7 @@ "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\n for connection tracking on an Elastic network interface. For more information, see\n Idle connection tracking timeout in the\n Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      A security group connection tracking specification that enables you to set the timeout\n for connection tracking on an Elastic network interface. For more information, see\n Idle connection tracking timeout in the\n Amazon EC2 User Guide.

      ", "smithy.api#xmlName": "connectionTrackingSpecification" } } @@ -73474,7 +73817,7 @@ "ConnectionTrackingSpecification": { "target": "com.amazonaws.ec2#ConnectionTrackingSpecificationRequest", "traits": { - "smithy.api#documentation": "

      A security group connection tracking specification that enables you to set the timeout\n for connection tracking on an Elastic network interface. For more information, see\n Idle connection tracking timeout in the\n Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      A security group connection tracking specification that enables you to set the timeout\n for connection tracking on an Elastic network interface. For more information, see\n Idle connection tracking timeout in the\n Amazon EC2 User Guide.

      " } } }, @@ -74191,7 +74534,7 @@ "target": "com.amazonaws.ec2#ListImagesInRecycleBinResult" }, "traits": { - "smithy.api#documentation": "

      Lists one or more AMIs that are currently in the Recycle Bin. For more information, \n see Recycle\n Bin in the Amazon EC2 User Guide.

      ", + "smithy.api#documentation": "

      Lists one or more AMIs that are currently in the Recycle Bin. For more information, see\n Recycle\n Bin in the Amazon EC2 User Guide.

      ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -74215,7 +74558,7 @@ "ImageIds": { "target": "com.amazonaws.ec2#ImageIdStringList", "traits": { - "smithy.api#documentation": "

      The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that \n are in the Recycle Bin. You can specify up to 20 IDs in a single request.

      ", + "smithy.api#documentation": "

      The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that are in the\n Recycle Bin. You can specify up to 20 IDs in a single request.

      ", "smithy.api#xmlName": "ImageId" } }, @@ -77009,7 +77352,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

      Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

      \n

      To specify the attribute, you can use the Attribute parameter, or one of the following parameters: \n Description, ImdsSupport, or LaunchPermission.

      \n

      Images with an Amazon Web Services Marketplace product code cannot be made public.

      \n

      To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance \n and create an AMI from the instance.

      ", + "smithy.api#documentation": "

      Modifies the specified attribute of the specified AMI. You can specify only one attribute\n at a time.

      \n

      To specify the attribute, you can use the Attribute parameter, or one of the\n following parameters: Description, ImdsSupport, or\n LaunchPermission.

      \n

      Images with an Amazon Web Services Marketplace product code cannot be made public.

      \n

      To enable the SriovNetSupport enhanced networking attribute of an image, enable\n SriovNetSupport on an instance and create an AMI from the instance.

      ", "smithy.api#examples": [ { "title": "To grant launch permissions", @@ -77050,7 +77393,7 @@ "Attribute": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

      The name of the attribute to modify.

      \n

      Valid values: description | imdsSupport | launchPermission\n

      " + "smithy.api#documentation": "

      The name of the attribute to modify.

      \n

      Valid values: description | imdsSupport |\n launchPermission\n

      " } }, "Description": { @@ -77076,7 +77419,7 @@ "OperationType": { "target": "com.amazonaws.ec2#OperationType", "traits": { - "smithy.api#documentation": "

      The operation type. \n This parameter can be used only when the Attribute parameter is launchPermission.

      " + "smithy.api#documentation": "

      The operation type. This parameter can be used only when the Attribute\n parameter is launchPermission.

      " } }, "ProductCodes": { @@ -77089,41 +77432,41 @@ "UserGroups": { "target": "com.amazonaws.ec2#UserGroupStringList", "traits": { - "smithy.api#documentation": "

      The user groups. \n This parameter can be used only when the Attribute parameter is launchPermission.

      ", + "smithy.api#documentation": "

      The user groups. This parameter can be used only when the Attribute parameter\n is launchPermission.

      ", "smithy.api#xmlName": "UserGroup" } }, "UserIds": { "target": "com.amazonaws.ec2#UserIdStringList", "traits": { - "smithy.api#documentation": "

      The Amazon Web Services account IDs. \n This parameter can be used only when the Attribute parameter is launchPermission.

      ", + "smithy.api#documentation": "

      The Amazon Web Services account IDs. This parameter can be used only when the\n Attribute parameter is launchPermission.

      ", "smithy.api#xmlName": "UserId" } }, "Value": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

      The value of the attribute being modified. \n This parameter can be used only when the Attribute parameter is description or imdsSupport.

      " + "smithy.api#documentation": "

      The value of the attribute being modified. This parameter can be used only when the\n Attribute parameter is description or\n imdsSupport.

      " } }, "OrganizationArns": { "target": "com.amazonaws.ec2#OrganizationArnStringList", "traits": { - "smithy.api#documentation": "

      The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

      ", + "smithy.api#documentation": "

      The Amazon Resource Name (ARN) of an organization. This parameter can be used only when\n the Attribute parameter is launchPermission.

      ", "smithy.api#xmlName": "OrganizationArn" } }, "OrganizationalUnitArns": { "target": "com.amazonaws.ec2#OrganizationalUnitArnStringList", "traits": { - "smithy.api#documentation": "

      The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

      ", + "smithy.api#documentation": "

      The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used\n only when the Attribute parameter is launchPermission.

      ", "smithy.api#xmlName": "OrganizationalUnitArn" } }, "ImdsSupport": { "target": "com.amazonaws.ec2#AttributeValue", "traits": { - "smithy.api#documentation": "

      Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances\n launched from this AMI will have HttpTokens automatically set to\n required so that, by default, the instance requires that IMDSv2 is used when\n requesting instance metadata. In addition, HttpPutResponseHopLimit is set to\n 2. For more information, see Configure\n the AMI in the Amazon EC2 User Guide.

      \n \n

      Do not use this parameter unless your AMI software supports IMDSv2. After you set the value to v2.0, \n you can't undo it. The only way to “reset” your AMI is to create a new AMI from the underlying snapshot.

      \n
      " + "smithy.api#documentation": "

      Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances\n launched from this AMI will have HttpTokens automatically set to\n required so that, by default, the instance requires that IMDSv2 is used when\n requesting instance metadata. In addition, HttpPutResponseHopLimit is set to\n 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

      \n \n

      Do not use this parameter unless your AMI software supports IMDSv2. After you set the\n value to v2.0, you can't undo it. The only way to “reset” your AMI is to create\n a new AMI from the underlying snapshot.

      \n
      " } }, "DryRun": { @@ -80729,6 +81072,114 @@ "smithy.api#input": {} } }, + "com.amazonaws.ec2#ModifyVpcBlockPublicAccessExclusion": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVpcBlockPublicAccessExclusionRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVpcBlockPublicAccessExclusionResult" + }, + "traits": { + "smithy.api#documentation": "

      Modify VPC Block Public Access (BPA) exclusions. A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on.

      " + } + }, + "com.amazonaws.ec2#ModifyVpcBlockPublicAccessExclusionRequest": { + "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.

      " + } + }, + "ExclusionId": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusionId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

      The ID of an exclusion.

      ", + "smithy.api#required": {} + } + }, + "InternetGatewayExclusionMode": { + "target": "com.amazonaws.ec2#InternetGatewayExclusionMode", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

      The exclusion mode for internet gateway traffic.

      \n
        \n
      • \n

        \n bidirectional-access-allowed: Allow all internet traffic to and from the excluded VPCs and subnets.

        \n
      • \n
      • \n

        \n egress-access-allowed: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

        \n
      • \n
      ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyVpcBlockPublicAccessExclusionResult": { + "type": "structure", + "members": { + "VpcBlockPublicAccessExclusion": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusion", + "traits": { + "aws.protocols#ec2QueryName": "VpcBlockPublicAccessExclusion", + "smithy.api#documentation": "

      Details related to the exclusion.

      ", + "smithy.api#xmlName": "vpcBlockPublicAccessExclusion" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#ModifyVpcBlockPublicAccessOptions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyVpcBlockPublicAccessOptionsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyVpcBlockPublicAccessOptionsResult" + }, + "traits": { + "smithy.api#documentation": "

      Modify VPC Block Public Access (BPA) options. VPC Block public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

      " + } + }, + "com.amazonaws.ec2#ModifyVpcBlockPublicAccessOptionsRequest": { + "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.

      " + } + }, + "InternetGatewayBlockMode": { + "target": "com.amazonaws.ec2#InternetGatewayBlockMode", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

      The mode of VPC BPA.

      \n
        \n
      • \n

        \n bidirectional-access-allowed: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.

        \n
      • \n
      • \n

        \n bidirectional-access-blocked: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).

        \n
      • \n
      • \n

        \n ingress-access-blocked: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.

        \n
      • \n
      ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyVpcBlockPublicAccessOptionsResult": { + "type": "structure", + "members": { + "VpcBlockPublicAccessOptions": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessOptions", + "traits": { + "aws.protocols#ec2QueryName": "VpcBlockPublicAccessOptions", + "smithy.api#documentation": "

      Details related to the VPC Block Public Access (BPA) options.

      ", + "smithy.api#xmlName": "vpcBlockPublicAccessOptions" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#ModifyVpcEndpoint": { "type": "operation", "input": { @@ -88286,7 +88737,7 @@ "target": "com.amazonaws.ec2#RegisterImageResult" }, "traits": { - "smithy.api#documentation": "

      Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI\n is the final step in the creation process. For more information about creating AMIs, see\n Create an AMI from a snapshot and Create an instance-store\n backed AMI in the Amazon EC2 User Guide.

      \n \n

      For Amazon EBS-backed instances, CreateImage creates and registers the AMI\n in a single request, so you don't have to register the AMI yourself. We recommend that you\n always use CreateImage unless you have a specific reason to use\n RegisterImage.

      \n
      \n

      If needed, you can deregister an AMI at any time. Any modifications you make to an AMI\n backed by an instance store volume invalidates its registration. If you make changes to an\n image, deregister the previous image and register the new image.

      \n

      \n Register a snapshot of a root device volume\n

      \n

      You can use RegisterImage to create an Amazon EBS-backed Linux AMI from\n a snapshot of a root device volume. You specify the snapshot using a block device mapping.\n You can't set the encryption state of the volume using the block device mapping. If the \n snapshot is encrypted, or encryption by default is enabled, the root volume of an instance \n launched from the AMI is encrypted.

      \n

      For more information, see Create an AMI from a snapshot and Use encryption with Amazon EBS-backed\n AMIs in the Amazon EC2 User Guide.

      \n

      \n Amazon Web Services Marketplace product codes\n

      \n

      If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new\n AMI.

      \n

      In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct licensing\n information to be present on the AMI. For more information, see Understand AMI billing\n information in the Amazon EC2 User Guide. When creating an AMI from\n a snapshot, the RegisterImage operation derives the correct billing information\n from the snapshot's metadata, but this requires the appropriate metadata to be present. To\n verify if the correct billing information was applied, check the PlatformDetails\n field on the new AMI. If the field is empty or doesn't match the expected operating system\n code (for example, Windows, RedHat, SUSE, or SQL), the AMI creation was unsuccessful, and you\n should discard the AMI and instead create the AMI from an instance using CreateImage. For more information, see Create an AMI\n from an instance in the Amazon EC2 User Guide.

      \n

      If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched\n from an AMI with a billing product code, make sure that the Reserved Instance has the matching\n billing product code. If you purchase a Reserved Instance without the matching billing product\n code, the Reserved Instance will not be applied to the On-Demand Instance. For information\n about how to obtain the platform details and billing information of an AMI, see Understand AMI\n billing information in the Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI\n is the final step in the creation process. For more information about creating AMIs, see\n Create an AMI from a snapshot and Create an instance-store\n backed AMI in the Amazon EC2 User Guide.

      \n \n

      For Amazon EBS-backed instances, CreateImage creates and registers the AMI\n in a single request, so you don't have to register the AMI yourself. We recommend that you\n always use CreateImage unless you have a specific reason to use\n RegisterImage.

      \n
      \n

      If needed, you can deregister an AMI at any time. Any modifications you make to an AMI\n backed by an instance store volume invalidates its registration. If you make changes to an\n image, deregister the previous image and register the new image.

      \n

      \n Register a snapshot of a root device volume\n

      \n

      You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot\n of a root device volume. You specify the snapshot using a block device mapping. You can't set\n the encryption state of the volume using the block device mapping. If the snapshot is\n encrypted, or encryption by default is enabled, the root volume of an instance launched from\n the AMI is encrypted.

      \n

      For more information, see Create an AMI from a snapshot and Use encryption with Amazon EBS-backed\n AMIs in the Amazon EC2 User Guide.

      \n

      \n Amazon Web Services Marketplace product codes\n

      \n

      If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

      \n

      In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct licensing\n information to be present on the AMI. For more information, see Understand AMI billing\n information in the Amazon EC2 User Guide. When creating an AMI from\n a snapshot, the RegisterImage operation derives the correct billing information\n from the snapshot's metadata, but this requires the appropriate metadata to be present. To\n verify if the correct billing information was applied, check the PlatformDetails\n field on the new AMI. If the field is empty or doesn't match the expected operating system\n code (for example, Windows, RedHat, SUSE, or SQL), the AMI creation was unsuccessful, and you\n should discard the AMI and instead create the AMI from an instance using CreateImage. For more information, see Create an AMI\n from an instance in the Amazon EC2 User Guide.

      \n

      If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched\n from an AMI with a billing product code, make sure that the Reserved Instance has the matching\n billing product code. If you purchase a Reserved Instance without the matching billing product\n code, the Reserved Instance will not be applied to the On-Demand Instance. For information\n about how to obtain the platform details and billing information of an AMI, see Understand AMI\n billing information in the Amazon EC2 User Guide.

      " } }, "com.amazonaws.ec2#RegisterImageRequest": { @@ -88295,20 +88746,20 @@ "ImageLocation": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

      The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the \n \t\taws-exec-read canned access control list (ACL) to ensure that it can be accessed \n \t\tby Amazon EC2. For more information, see Canned ACLs in the \n \t\tAmazon S3 Service Developer Guide.

      " + "smithy.api#documentation": "

      The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the\n aws-exec-read canned access control list (ACL) to ensure that it can be\n accessed by Amazon EC2. For more information, see Canned ACLs in the\n Amazon S3 Service Developer Guide.

      " } }, "BillingProducts": { "target": "com.amazonaws.ec2#BillingProductList", "traits": { - "smithy.api#documentation": "

      The billing product codes. Your account must be authorized to specify billing product codes.

      \n

      If your account is not authorized to specify billing product codes, you can publish AMIs\n that include billable software and list them on the Amazon Web Services Marketplace. You must first register as a seller\n on the Amazon Web Services Marketplace. For more information, see Getting started as a\n seller and AMI-based\n products in the Amazon Web Services Marketplace Seller Guide.

      ", + "smithy.api#documentation": "

      The billing product codes. Your account must be authorized to specify billing product\n codes.

      \n

      If your account is not authorized to specify billing product codes, you can publish AMIs\n that include billable software and list them on the Amazon Web Services Marketplace. You must first register as a seller\n on the Amazon Web Services Marketplace. For more information, see Getting started as a\n seller and AMI-based products in the\n Amazon Web Services Marketplace Seller Guide.

      ", "smithy.api#xmlName": "BillingProduct" } }, "BootMode": { "target": "com.amazonaws.ec2#BootModeValues", "traits": { - "smithy.api#documentation": "

      The boot mode of the AMI. A value of uefi-preferred indicates that the AMI supports both UEFI and Legacy BIOS.

      \n \n

      The operating system contained in the AMI must be configured to support the specified boot mode.

      \n
      \n

      For more information, see Boot modes in the\n Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      The boot mode of the AMI. A value of uefi-preferred indicates that the AMI\n supports both UEFI and Legacy BIOS.

      \n \n

      The operating system contained in the AMI must be configured to support the specified\n boot mode.

      \n
      \n

      For more information, see Boot modes in the\n Amazon EC2 User Guide.

      " } }, "TpmSupport": { @@ -88326,7 +88777,7 @@ "ImdsSupport": { "target": "com.amazonaws.ec2#ImdsSupportValues", "traits": { - "smithy.api#documentation": "

      Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances\n launched from this AMI will have HttpTokens automatically set to\n required so that, by default, the instance requires that IMDSv2 is used when\n requesting instance metadata. In addition, HttpPutResponseHopLimit is set to\n 2. For more information, see Configure\n the AMI in the Amazon EC2 User Guide.

      \n \n

      If you set the value to v2.0, make sure that your AMI software can support IMDSv2.

      \n
      " + "smithy.api#documentation": "

      Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances\n launched from this AMI will have HttpTokens automatically set to\n required so that, by default, the instance requires that IMDSv2 is used when\n requesting instance metadata. In addition, HttpPutResponseHopLimit is set to\n 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

      \n \n

      If you set the value to v2.0, make sure that your AMI software can support\n IMDSv2.

      \n
      " } }, "TagSpecifications": { @@ -88349,7 +88800,7 @@ "traits": { "aws.protocols#ec2QueryName": "Name", "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

      A name for your AMI.

      \n

      Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

      ", + "smithy.api#documentation": "

      A name for your AMI.

      \n

      Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces\n ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or\n underscores(_)

      ", "smithy.api#required": {}, "smithy.api#xmlName": "name" } @@ -88366,7 +88817,7 @@ "target": "com.amazonaws.ec2#ArchitectureValues", "traits": { "aws.protocols#ec2QueryName": "Architecture", - "smithy.api#documentation": "

      The architecture of the AMI.

      \n

      Default: For Amazon EBS-backed AMIs, i386.\n For instance store-backed AMIs, the architecture specified in the manifest file.

      ", + "smithy.api#documentation": "

      The architecture of the AMI.

      \n

      Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the\n architecture specified in the manifest file.

      ", "smithy.api#xmlName": "architecture" } }, @@ -88397,7 +88848,7 @@ "BlockDeviceMappings": { "target": "com.amazonaws.ec2#BlockDeviceMappingRequestList", "traits": { - "smithy.api#documentation": "

      The block device mapping entries.

      \n

      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.

      \n

      If you create an AMI on an Outpost, then all backing snapshots must be on the same\n Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can\n be used to launch instances on the same Outpost only. For more information, Amazon EBS local\n snapshots on Outposts in the Amazon EBS User Guide.

      ", + "smithy.api#documentation": "

      The block device mapping entries.

      \n

      If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the\n encryption state of the volume.

      \n

      If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost\n or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can be used\n to launch instances on the same Outpost only. For more information, Amazon EBS local\n snapshots on Outposts in the Amazon EBS User Guide.

      ", "smithy.api#xmlName": "BlockDeviceMapping" } }, @@ -88413,7 +88864,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "SriovNetSupport", - "smithy.api#documentation": "

      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.

      \n

      There is no way to disable sriovNetSupport at this time.

      \n

      This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

      ", + "smithy.api#documentation": "

      Set to simple to enable enhanced networking with the Intel 82599 Virtual\n Function interface for the AMI and any instances that you launch from the AMI.

      \n

      There is no way to disable sriovNetSupport at this time.

      \n

      This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make\n instances launched from the AMI unreachable.

      ", "smithy.api#xmlName": "sriovNetSupport" } }, @@ -88421,7 +88872,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "EnaSupport", - "smithy.api#documentation": "

      Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

      \n

      This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

      ", + "smithy.api#documentation": "

      Set to true to enable enhanced networking with ENA for the AMI and any\n instances that you launch from the AMI.

      \n

      This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make\n instances launched from the AMI unreachable.

      ", "smithy.api#xmlName": "enaSupport" } } @@ -92079,7 +92530,7 @@ "target": "com.amazonaws.ec2#ResetImageAttributeName", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

      The attribute to reset (currently you can only reset the launch permission attribute).

      ", + "smithy.api#documentation": "

      The attribute to reset (currently you can only reset the launch permission\n attribute).

      ", "smithy.api#required": {} } }, @@ -93246,7 +93697,7 @@ "target": "com.amazonaws.ec2#RestoreImageFromRecycleBinResult" }, "traits": { - "smithy.api#documentation": "

      Restores an AMI from the Recycle Bin. For more information, see Recycle Bin in the Amazon EC2 User Guide.

      " + "smithy.api#documentation": "

      Restores an AMI from the Recycle Bin. For more information, see Recycle Bin in\n the Amazon EC2 User Guide.

      " } }, "com.amazonaws.ec2#RestoreImageFromRecycleBinRequest": { @@ -95036,14 +95487,14 @@ "AWSAccessKeyId": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

      The access key ID of the owner of the bucket. Before you specify a value for your access\n key ID, review and follow the guidance in Best\n Practices for Amazon Web Services accounts in the Account ManagementReference\n Guide.

      " + "smithy.api#documentation": "

      The access key ID of the owner of the bucket. Before you specify a value for your access\n key ID, review and follow the guidance in Best Practices for Amazon Web Services\n accounts in the Account ManagementReference Guide.

      " } }, "Bucket": { "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Bucket", - "smithy.api#documentation": "

      The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

      ", + "smithy.api#documentation": "

      The bucket in which to store the AMI. You can specify a bucket that you already own or a\n new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone\n else, Amazon EC2 returns an error.

      ", "smithy.api#xmlName": "bucket" } }, @@ -95059,7 +95510,7 @@ "target": "com.amazonaws.ec2#Blob", "traits": { "aws.protocols#ec2QueryName": "UploadPolicy", - "smithy.api#documentation": "

      An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

      ", + "smithy.api#documentation": "

      An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your\n behalf.

      ", "smithy.api#xmlName": "uploadPolicy" } }, @@ -95073,7 +95524,7 @@ } }, "traits": { - "smithy.api#documentation": "

      Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed AMI.

      " + "smithy.api#documentation": "

      Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed\n AMI.

      " } }, "com.amazonaws.ec2#S3StorageUploadPolicySignature": { @@ -100183,6 +100634,14 @@ "smithy.api#xmlName": "privateDnsNameOptionsOnLaunch" } }, + "BlockPublicAccessStates": { + "target": "com.amazonaws.ec2#BlockPublicAccessStates", + "traits": { + "aws.protocols#ec2QueryName": "BlockPublicAccessStates", + "smithy.api#documentation": "

      The state of VPC Block Public Access (BPA).

      ", + "smithy.api#xmlName": "blockPublicAccessStates" + } + }, "SubnetId": { "target": "com.amazonaws.ec2#String", "traits": { @@ -108739,6 +109198,14 @@ "smithy.api#xmlName": "tagSet" } }, + "BlockPublicAccessStates": { + "target": "com.amazonaws.ec2#BlockPublicAccessStates", + "traits": { + "aws.protocols#ec2QueryName": "BlockPublicAccessStates", + "smithy.api#documentation": "

      The state of VPC Block Public Access (BPA).

      ", + "smithy.api#xmlName": "blockPublicAccessStates" + } + }, "VpcId": { "target": "com.amazonaws.ec2#String", "traits": { @@ -108832,6 +109299,251 @@ } } }, + "com.amazonaws.ec2#VpcBlockPublicAccessExclusion": { + "type": "structure", + "members": { + "ExclusionId": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusionId", + "traits": { + "aws.protocols#ec2QueryName": "ExclusionId", + "smithy.api#documentation": "

      The ID of the exclusion.

      ", + "smithy.api#xmlName": "exclusionId" + } + }, + "InternetGatewayExclusionMode": { + "target": "com.amazonaws.ec2#InternetGatewayExclusionMode", + "traits": { + "aws.protocols#ec2QueryName": "InternetGatewayExclusionMode", + "smithy.api#documentation": "

      The exclusion mode for internet gateway traffic.

      \n
        \n
      • \n

        \n bidirectional-access-allowed: Allow all internet traffic to and from the excluded VPCs and subnets.

        \n
      • \n
      • \n

        \n egress-access-allowed: Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to Bidirectional.

        \n
      • \n
      ", + "smithy.api#xmlName": "internetGatewayExclusionMode" + } + }, + "ResourceArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "ResourceArn", + "smithy.api#documentation": "

      The ARN of the exclusion.

      ", + "smithy.api#xmlName": "resourceArn" + } + }, + "State": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusionState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

      The state of the exclusion.

      ", + "smithy.api#xmlName": "state" + } + }, + "Reason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Reason", + "smithy.api#documentation": "

      The reason for the current exclusion state.

      ", + "smithy.api#xmlName": "reason" + } + }, + "CreationTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreationTimestamp", + "smithy.api#documentation": "

      When the exclusion was created.

      ", + "smithy.api#xmlName": "creationTimestamp" + } + }, + "LastUpdateTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "LastUpdateTimestamp", + "smithy.api#documentation": "

      When the exclusion was last updated.

      ", + "smithy.api#xmlName": "lastUpdateTimestamp" + } + }, + "DeletionTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "DeletionTimestamp", + "smithy.api#documentation": "

      When the exclusion was deleted.

      ", + "smithy.api#xmlName": "deletionTimestamp" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

      \n tag - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      ", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

      A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

      " + } + }, + "com.amazonaws.ec2#VpcBlockPublicAccessExclusionId": { + "type": "string" + }, + "com.amazonaws.ec2#VpcBlockPublicAccessExclusionIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusionId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VpcBlockPublicAccessExclusionList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessExclusion", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#VpcBlockPublicAccessExclusionState": { + "type": "enum", + "members": { + "create_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-in-progress" + } + }, + "create_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-complete" + } + }, + "create_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-failed" + } + }, + "update_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "update-in-progress" + } + }, + "update_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "update-complete" + } + }, + "update_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "update-failed" + } + }, + "delete_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-in-progress" + } + }, + "delete_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-complete" + } + }, + "disable_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disable-in-progress" + } + }, + "disable_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disable-complete" + } + } + } + }, + "com.amazonaws.ec2#VpcBlockPublicAccessOptions": { + "type": "structure", + "members": { + "AwsAccountId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AwsAccountId", + "smithy.api#documentation": "

      An Amazon Web Services account ID.

      ", + "smithy.api#xmlName": "awsAccountId" + } + }, + "AwsRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AwsRegion", + "smithy.api#documentation": "

      An Amazon Web Services Region.

      ", + "smithy.api#xmlName": "awsRegion" + } + }, + "State": { + "target": "com.amazonaws.ec2#VpcBlockPublicAccessState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

      The current state of VPC BPA.

      ", + "smithy.api#xmlName": "state" + } + }, + "InternetGatewayBlockMode": { + "target": "com.amazonaws.ec2#InternetGatewayBlockMode", + "traits": { + "aws.protocols#ec2QueryName": "InternetGatewayBlockMode", + "smithy.api#documentation": "

      The current mode of VPC BPA.

      \n
        \n
      • \n

        \n bidirectional-access-allowed: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.

        \n
      • \n
      • \n

        \n bidirectional-access-blocked: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).

        \n
      • \n
      • \n

        \n ingress-access-blocked: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.

        \n
      • \n
      ", + "smithy.api#xmlName": "internetGatewayBlockMode" + } + }, + "Reason": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Reason", + "smithy.api#documentation": "

      The reason for the current state.

      ", + "smithy.api#xmlName": "reason" + } + }, + "LastUpdateTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "LastUpdateTimestamp", + "smithy.api#documentation": "

      The last time the VPC BPA mode was updated.

      ", + "smithy.api#xmlName": "lastUpdateTimestamp" + } + } + }, + "traits": { + "smithy.api#documentation": "

      VPC Block public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. To learn more about VPC BPA, see Block public access to VPCs and subnets in the Amazon VPC User Guide.

      " + } + }, + "com.amazonaws.ec2#VpcBlockPublicAccessState": { + "type": "enum", + "members": { + "default_state": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default-state" + } + }, + "update_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "update-in-progress" + } + }, + "update_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "update-complete" + } + } + } + }, "com.amazonaws.ec2#VpcCidrAssociationId": { "type": "string" },