From 2f49c14f1a0d86c9bba35757784eb1f317008542 Mon Sep 17 00:00:00 2001 From: awstools Date: Mon, 9 Dec 2024 19:38:05 +0000 Subject: [PATCH] feat(client-ec2): This release includes a new API for modifying instance network-performance-options after launch. --- clients/client-ec2/README.md | 8 + clients/client-ec2/src/EC2.ts | 23 ++ clients/client-ec2/src/EC2Client.ts | 6 + .../commands/CreateLaunchTemplateCommand.ts | 3 + .../CreateLaunchTemplateVersionCommand.ts | 6 + ...lGatewayRouteTableVpcAssociationCommand.ts | 6 +- .../CreateManagedPrefixListCommand.ts | 3 +- .../commands/DeleteClientVpnRouteCommand.ts | 3 +- .../src/commands/DeleteCoipCidrCommand.ts | 2 +- .../commands/DescribeFleetInstancesCommand.ts | 3 +- .../src/commands/DescribeFleetsCommand.ts | 3 +- .../DescribeInstanceTopologyCommand.ts | 2 +- .../commands/DescribeInstanceTypesCommand.ts | 3 + .../src/commands/DescribeInstancesCommand.ts | 3 + .../DescribeLaunchTemplateVersionsCommand.ts | 3 + .../EnableAllowedImagesSettingsCommand.ts | 3 +- ...orkPerformanceMetricSubscriptionCommand.ts | 2 +- .../EnableEbsEncryptionByDefaultCommand.ts | 2 +- .../commands/GetLaunchTemplateDataCommand.ts | 3 + ...ModifyInstanceMaintenanceOptionsCommand.ts | 2 +- ...nstanceNetworkPerformanceOptionsCommand.ts | 101 +++++ .../src/commands/RunInstancesCommand.ts | 6 + .../src/commands/UnmonitorInstancesCommand.ts | 2 +- ...urityGroupRuleDescriptionsEgressCommand.ts | 2 +- ...rityGroupRuleDescriptionsIngressCommand.ts | 2 +- .../src/commands/WithdrawByoipCidrCommand.ts | 3 +- clients/client-ec2/src/commands/index.ts | 1 + clients/client-ec2/src/models/models_1.ts | 165 ++++---- clients/client-ec2/src/models/models_2.ts | 146 ++++--- clients/client-ec2/src/models/models_3.ts | 168 +++----- clients/client-ec2/src/models/models_4.ts | 270 ++++++++----- clients/client-ec2/src/models/models_5.ts | 175 ++++---- clients/client-ec2/src/models/models_6.ts | 179 ++++----- clients/client-ec2/src/models/models_7.ts | 373 +++++++++--------- clients/client-ec2/src/models/models_8.ts | 179 ++++++++- clients/client-ec2/src/protocols/Aws_ec2.ts | 230 +++++++++-- codegen/sdk-codegen/aws-models/ec2.json | 228 ++++++++++- 37 files changed, 1539 insertions(+), 780 deletions(-) create mode 100644 clients/client-ec2/src/commands/ModifyInstanceNetworkPerformanceOptionsCommand.ts diff --git a/clients/client-ec2/README.md b/clients/client-ec2/README.md index 524283e3e57c..f6d4b0277965 100644 --- a/clients/client-ec2/README.md +++ b/clients/client-ec2/README.md @@ -4493,6 +4493,14 @@ ModifyInstanceMetadataOptions [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/ModifyInstanceMetadataOptionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyInstanceMetadataOptionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyInstanceMetadataOptionsCommandOutput/) + +
+ +ModifyInstanceNetworkPerformanceOptions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/ModifyInstanceNetworkPerformanceOptionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyInstanceNetworkPerformanceOptionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/ModifyInstanceNetworkPerformanceOptionsCommandOutput/) +
diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index 44d33b9ad11e..e3a91091556e 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -2618,6 +2618,11 @@ import { ModifyInstanceMetadataOptionsCommandInput, ModifyInstanceMetadataOptionsCommandOutput, } from "./commands/ModifyInstanceMetadataOptionsCommand"; +import { + ModifyInstanceNetworkPerformanceOptionsCommand, + ModifyInstanceNetworkPerformanceOptionsCommandInput, + ModifyInstanceNetworkPerformanceOptionsCommandOutput, +} from "./commands/ModifyInstanceNetworkPerformanceOptionsCommand"; import { ModifyInstancePlacementCommand, ModifyInstancePlacementCommandInput, @@ -3758,6 +3763,7 @@ const commands = { ModifyInstanceMaintenanceOptionsCommand, ModifyInstanceMetadataDefaultsCommand, ModifyInstanceMetadataOptionsCommand, + ModifyInstanceNetworkPerformanceOptionsCommand, ModifyInstancePlacementCommand, ModifyIpamCommand, ModifyIpamPoolCommand, @@ -12882,6 +12888,23 @@ export interface EC2 { cb: (err: any, data?: ModifyInstanceMetadataOptionsCommandOutput) => void ): void; + /** + * @see {@link ModifyInstanceNetworkPerformanceOptionsCommand} + */ + modifyInstanceNetworkPerformanceOptions( + args: ModifyInstanceNetworkPerformanceOptionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + modifyInstanceNetworkPerformanceOptions( + args: ModifyInstanceNetworkPerformanceOptionsCommandInput, + cb: (err: any, data?: ModifyInstanceNetworkPerformanceOptionsCommandOutput) => void + ): void; + modifyInstanceNetworkPerformanceOptions( + args: ModifyInstanceNetworkPerformanceOptionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyInstanceNetworkPerformanceOptionsCommandOutput) => void + ): void; + /** * @see {@link ModifyInstancePlacementCommand} */ diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index 47373e421639..eb3738f75e45 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -1888,6 +1888,10 @@ import { ModifyInstanceMetadataOptionsCommandInput, ModifyInstanceMetadataOptionsCommandOutput, } from "./commands/ModifyInstanceMetadataOptionsCommand"; +import { + ModifyInstanceNetworkPerformanceOptionsCommandInput, + ModifyInstanceNetworkPerformanceOptionsCommandOutput, +} from "./commands/ModifyInstanceNetworkPerformanceOptionsCommand"; import { ModifyInstancePlacementCommandInput, ModifyInstancePlacementCommandOutput, @@ -2848,6 +2852,7 @@ export type ServiceInputTypes = | ModifyInstanceMaintenanceOptionsCommandInput | ModifyInstanceMetadataDefaultsCommandInput | ModifyInstanceMetadataOptionsCommandInput + | ModifyInstanceNetworkPerformanceOptionsCommandInput | ModifyInstancePlacementCommandInput | ModifyIpamCommandInput | ModifyIpamPoolCommandInput @@ -3510,6 +3515,7 @@ export type ServiceOutputTypes = | ModifyInstanceMaintenanceOptionsCommandOutput | ModifyInstanceMetadataDefaultsCommandOutput | ModifyInstanceMetadataOptionsCommandOutput + | ModifyInstanceNetworkPerformanceOptionsCommandOutput | ModifyInstancePlacementCommandOutput | ModifyIpamCommandOutput | ModifyIpamPoolCommandOutput diff --git a/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts b/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts index 8fa271d28d10..85e759972471 100644 --- a/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts +++ b/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts @@ -313,6 +313,9 @@ export interface CreateLaunchTemplateCommandOutput extends CreateLaunchTemplateR * Operator: { // OperatorRequest * Principal: "STRING_VALUE", * }, + * NetworkPerformanceOptions: { // LaunchTemplateNetworkPerformanceOptionsRequest + * BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * }, * }, * Operator: { * Principal: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts b/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts index 69df3d2721b6..cd02d9ec7804 100644 --- a/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts +++ b/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts @@ -316,6 +316,9 @@ export interface CreateLaunchTemplateVersionCommandOutput extends CreateLaunchTe * Operator: { // OperatorRequest * Principal: "STRING_VALUE", * }, + * NetworkPerformanceOptions: { // LaunchTemplateNetworkPerformanceOptionsRequest + * BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * }, * }, * ResolveAlias: true || false, * }; @@ -593,6 +596,9 @@ export interface CreateLaunchTemplateVersionCommandOutput extends CreateLaunchTe * // Managed: true || false, * // Principal: "STRING_VALUE", * // }, + * // NetworkPerformanceOptions: { // LaunchTemplateNetworkPerformanceOptions + * // BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * // }, * // }, * // Operator: { * // Managed: true || false, diff --git a/clients/client-ec2/src/commands/CreateLocalGatewayRouteTableVpcAssociationCommand.ts b/clients/client-ec2/src/commands/CreateLocalGatewayRouteTableVpcAssociationCommand.ts index 84fce6565553..d1d739d1b6e7 100644 --- a/clients/client-ec2/src/commands/CreateLocalGatewayRouteTableVpcAssociationCommand.ts +++ b/clients/client-ec2/src/commands/CreateLocalGatewayRouteTableVpcAssociationCommand.ts @@ -6,10 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { - CreateLocalGatewayRouteTableVpcAssociationRequest, - CreateLocalGatewayRouteTableVpcAssociationResult, -} from "../models/models_1"; +import { CreateLocalGatewayRouteTableVpcAssociationRequest } from "../models/models_1"; +import { CreateLocalGatewayRouteTableVpcAssociationResult } from "../models/models_2"; import { de_CreateLocalGatewayRouteTableVpcAssociationCommand, se_CreateLocalGatewayRouteTableVpcAssociationCommand, diff --git a/clients/client-ec2/src/commands/CreateManagedPrefixListCommand.ts b/clients/client-ec2/src/commands/CreateManagedPrefixListCommand.ts index 4311c0061a13..31f042873232 100644 --- a/clients/client-ec2/src/commands/CreateManagedPrefixListCommand.ts +++ b/clients/client-ec2/src/commands/CreateManagedPrefixListCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateManagedPrefixListRequest } from "../models/models_1"; -import { CreateManagedPrefixListResult } from "../models/models_2"; +import { CreateManagedPrefixListRequest, CreateManagedPrefixListResult } from "../models/models_2"; import { de_CreateManagedPrefixListCommand, se_CreateManagedPrefixListCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteClientVpnRouteCommand.ts b/clients/client-ec2/src/commands/DeleteClientVpnRouteCommand.ts index 62942a25738a..9d1a4f9582d1 100644 --- a/clients/client-ec2/src/commands/DeleteClientVpnRouteCommand.ts +++ b/clients/client-ec2/src/commands/DeleteClientVpnRouteCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteClientVpnRouteRequest, DeleteClientVpnRouteResult } from "../models/models_2"; +import { DeleteClientVpnRouteRequest } from "../models/models_2"; +import { DeleteClientVpnRouteResult } from "../models/models_3"; import { de_DeleteClientVpnRouteCommand, se_DeleteClientVpnRouteCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteCoipCidrCommand.ts b/clients/client-ec2/src/commands/DeleteCoipCidrCommand.ts index 523e43cbdea8..60369e9c5d27 100644 --- a/clients/client-ec2/src/commands/DeleteCoipCidrCommand.ts +++ b/clients/client-ec2/src/commands/DeleteCoipCidrCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteCoipCidrRequest, DeleteCoipCidrResult } from "../models/models_2"; +import { DeleteCoipCidrRequest, DeleteCoipCidrResult } from "../models/models_3"; import { de_DeleteCoipCidrCommand, se_DeleteCoipCidrCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeFleetInstancesCommand.ts b/clients/client-ec2/src/commands/DescribeFleetInstancesCommand.ts index 2818166bbfd9..a62a35ca1de0 100644 --- a/clients/client-ec2/src/commands/DescribeFleetInstancesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFleetInstancesCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeFleetInstancesRequest, DescribeFleetInstancesResult } from "../models/models_3"; +import { DescribeFleetInstancesRequest } from "../models/models_3"; +import { DescribeFleetInstancesResult } from "../models/models_4"; import { de_DescribeFleetInstancesCommand, se_DescribeFleetInstancesCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeFleetsCommand.ts b/clients/client-ec2/src/commands/DescribeFleetsCommand.ts index 677c6426915e..f89ae4709cbe 100644 --- a/clients/client-ec2/src/commands/DescribeFleetsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFleetsCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeFleetsRequest } from "../models/models_3"; -import { DescribeFleetsResult } from "../models/models_4"; +import { DescribeFleetsRequest, DescribeFleetsResult } from "../models/models_4"; import { de_DescribeFleetsCommand, se_DescribeFleetsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeInstanceTopologyCommand.ts b/clients/client-ec2/src/commands/DescribeInstanceTopologyCommand.ts index 2d0df249a0ff..3c4bac1db689 100644 --- a/clients/client-ec2/src/commands/DescribeInstanceTopologyCommand.ts +++ b/clients/client-ec2/src/commands/DescribeInstanceTopologyCommand.ts @@ -63,7 +63,7 @@ export interface DescribeInstanceTopologyCommandOutput extends DescribeInstanceT *

* p3dn.24xlarge | p4d.24xlarge | * p4de.24xlarge | p5.48xlarge | - * p5e.48xlarge + * p5e.48xlarge | p5en.48xlarge *

* *
  • diff --git a/clients/client-ec2/src/commands/DescribeInstanceTypesCommand.ts b/clients/client-ec2/src/commands/DescribeInstanceTypesCommand.ts index c3c4f289179a..2ae0d816d975 100644 --- a/clients/client-ec2/src/commands/DescribeInstanceTypesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeInstanceTypesCommand.ts @@ -145,6 +145,9 @@ export interface DescribeInstanceTypesCommandOutput extends DescribeInstanceType * // }, * // EncryptionInTransitSupported: true || false, * // EnaSrdSupported: true || false, + * // BandwidthWeightings: [ // BandwidthWeightingTypeList + * // "default" || "vpc-1" || "ebs-1", + * // ], * // }, * // GpuInfo: { // GpuInfo * // Gpus: [ // GpuDeviceInfoList diff --git a/clients/client-ec2/src/commands/DescribeInstancesCommand.ts b/clients/client-ec2/src/commands/DescribeInstancesCommand.ts index d8f28548dd87..c79bf5a51d52 100644 --- a/clients/client-ec2/src/commands/DescribeInstancesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeInstancesCommand.ts @@ -281,6 +281,9 @@ export interface DescribeInstancesCommandOutput extends DescribeInstancesResult, * // AutoRecovery: "disabled" || "default", * // }, * // CurrentInstanceBootMode: "legacy-bios" || "uefi", + * // NetworkPerformanceOptions: { // InstanceNetworkPerformanceOptions + * // BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * // }, * // Operator: "", * // InstanceId: "STRING_VALUE", * // ImageId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts b/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts index 97f4c0d7bd61..d1c4737de5f8 100644 --- a/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts @@ -343,6 +343,9 @@ export interface DescribeLaunchTemplateVersionsCommandOutput * // Managed: true || false, * // Principal: "STRING_VALUE", * // }, + * // NetworkPerformanceOptions: { // LaunchTemplateNetworkPerformanceOptions + * // BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * // }, * // }, * // Operator: { * // Managed: true || false, diff --git a/clients/client-ec2/src/commands/EnableAllowedImagesSettingsCommand.ts b/clients/client-ec2/src/commands/EnableAllowedImagesSettingsCommand.ts index c7faf4edfe3a..2140b29b34af 100644 --- a/clients/client-ec2/src/commands/EnableAllowedImagesSettingsCommand.ts +++ b/clients/client-ec2/src/commands/EnableAllowedImagesSettingsCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { EnableAllowedImagesSettingsRequest, EnableAllowedImagesSettingsResult } from "../models/models_5"; +import { EnableAllowedImagesSettingsRequest } from "../models/models_5"; +import { EnableAllowedImagesSettingsResult } from "../models/models_6"; import { de_EnableAllowedImagesSettingsCommand, se_EnableAllowedImagesSettingsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/EnableAwsNetworkPerformanceMetricSubscriptionCommand.ts b/clients/client-ec2/src/commands/EnableAwsNetworkPerformanceMetricSubscriptionCommand.ts index 4d98af2c4190..7daa72200898 100644 --- a/clients/client-ec2/src/commands/EnableAwsNetworkPerformanceMetricSubscriptionCommand.ts +++ b/clients/client-ec2/src/commands/EnableAwsNetworkPerformanceMetricSubscriptionCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { EnableAwsNetworkPerformanceMetricSubscriptionRequest, EnableAwsNetworkPerformanceMetricSubscriptionResult, -} from "../models/models_5"; +} from "../models/models_6"; import { de_EnableAwsNetworkPerformanceMetricSubscriptionCommand, se_EnableAwsNetworkPerformanceMetricSubscriptionCommand, diff --git a/clients/client-ec2/src/commands/EnableEbsEncryptionByDefaultCommand.ts b/clients/client-ec2/src/commands/EnableEbsEncryptionByDefaultCommand.ts index 5d4b3d4ddefe..fccf233561dc 100644 --- a/clients/client-ec2/src/commands/EnableEbsEncryptionByDefaultCommand.ts +++ b/clients/client-ec2/src/commands/EnableEbsEncryptionByDefaultCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { EnableEbsEncryptionByDefaultRequest, EnableEbsEncryptionByDefaultResult } from "../models/models_5"; +import { EnableEbsEncryptionByDefaultRequest, EnableEbsEncryptionByDefaultResult } from "../models/models_6"; import { de_EnableEbsEncryptionByDefaultCommand, se_EnableEbsEncryptionByDefaultCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts b/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts index 0cd102bc2a1f..7b563048ed1e 100644 --- a/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts +++ b/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts @@ -315,6 +315,9 @@ export interface GetLaunchTemplateDataCommandOutput extends GetLaunchTemplateDat * // Managed: true || false, * // Principal: "STRING_VALUE", * // }, + * // NetworkPerformanceOptions: { // LaunchTemplateNetworkPerformanceOptions + * // BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * // }, * // }, * // }; * diff --git a/clients/client-ec2/src/commands/ModifyInstanceMaintenanceOptionsCommand.ts b/clients/client-ec2/src/commands/ModifyInstanceMaintenanceOptionsCommand.ts index acb61da7ea52..12c143a851b6 100644 --- a/clients/client-ec2/src/commands/ModifyInstanceMaintenanceOptionsCommand.ts +++ b/clients/client-ec2/src/commands/ModifyInstanceMaintenanceOptionsCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyInstanceMaintenanceOptionsRequest, ModifyInstanceMaintenanceOptionsResult } from "../models/models_6"; +import { ModifyInstanceMaintenanceOptionsRequest, ModifyInstanceMaintenanceOptionsResult } from "../models/models_7"; import { de_ModifyInstanceMaintenanceOptionsCommand, se_ModifyInstanceMaintenanceOptionsCommand, diff --git a/clients/client-ec2/src/commands/ModifyInstanceNetworkPerformanceOptionsCommand.ts b/clients/client-ec2/src/commands/ModifyInstanceNetworkPerformanceOptionsCommand.ts new file mode 100644 index 000000000000..031fc8fb107b --- /dev/null +++ b/clients/client-ec2/src/commands/ModifyInstanceNetworkPerformanceOptionsCommand.ts @@ -0,0 +1,101 @@ +// 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 { ModifyInstanceNetworkPerformanceRequest, ModifyInstanceNetworkPerformanceResult } from "../models/models_7"; +import { + de_ModifyInstanceNetworkPerformanceOptionsCommand, + se_ModifyInstanceNetworkPerformanceOptionsCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ModifyInstanceNetworkPerformanceOptionsCommand}. + */ +export interface ModifyInstanceNetworkPerformanceOptionsCommandInput extends ModifyInstanceNetworkPerformanceRequest {} +/** + * @public + * + * The output of {@link ModifyInstanceNetworkPerformanceOptionsCommand}. + */ +export interface ModifyInstanceNetworkPerformanceOptionsCommandOutput + extends ModifyInstanceNetworkPerformanceResult, + __MetadataBearer {} + +/** + *

    Change the configuration of the network performance options for an existing + * instance.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ModifyInstanceNetworkPerformanceOptionsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ModifyInstanceNetworkPerformanceOptionsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // ModifyInstanceNetworkPerformanceRequest + * InstanceId: "STRING_VALUE", // required + * BandwidthWeighting: "default" || "vpc-1" || "ebs-1", // required + * DryRun: true || false, + * }; + * const command = new ModifyInstanceNetworkPerformanceOptionsCommand(input); + * const response = await client.send(command); + * // { // ModifyInstanceNetworkPerformanceResult + * // InstanceId: "STRING_VALUE", + * // BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * // }; + * + * ``` + * + * @param ModifyInstanceNetworkPerformanceOptionsCommandInput - {@link ModifyInstanceNetworkPerformanceOptionsCommandInput} + * @returns {@link ModifyInstanceNetworkPerformanceOptionsCommandOutput} + * @see {@link ModifyInstanceNetworkPerformanceOptionsCommandInput} for command's `input` shape. + * @see {@link ModifyInstanceNetworkPerformanceOptionsCommandOutput} 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 ModifyInstanceNetworkPerformanceOptionsCommand extends $Command + .classBuilder< + ModifyInstanceNetworkPerformanceOptionsCommandInput, + ModifyInstanceNetworkPerformanceOptionsCommandOutput, + 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", "ModifyInstanceNetworkPerformanceOptions", {}) + .n("EC2Client", "ModifyInstanceNetworkPerformanceOptionsCommand") + .f(void 0, void 0) + .ser(se_ModifyInstanceNetworkPerformanceOptionsCommand) + .de(de_ModifyInstanceNetworkPerformanceOptionsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ModifyInstanceNetworkPerformanceRequest; + output: ModifyInstanceNetworkPerformanceResult; + }; + sdk: { + input: ModifyInstanceNetworkPerformanceOptionsCommandInput; + output: ModifyInstanceNetworkPerformanceOptionsCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/RunInstancesCommand.ts b/clients/client-ec2/src/commands/RunInstancesCommand.ts index 6a81c161bb81..62bbe09b2c31 100644 --- a/clients/client-ec2/src/commands/RunInstancesCommand.ts +++ b/clients/client-ec2/src/commands/RunInstancesCommand.ts @@ -221,6 +221,9 @@ export interface RunInstancesCommandOutput extends Reservation, __MetadataBearer * }, * DisableApiStop: true || false, * EnablePrimaryIpv6: true || false, + * NetworkPerformanceOptions: { // InstanceNetworkPerformanceOptionsRequest + * BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * }, * Operator: { // OperatorRequest * Principal: "STRING_VALUE", * }, @@ -494,6 +497,9 @@ export interface RunInstancesCommandOutput extends Reservation, __MetadataBearer * // AutoRecovery: "disabled" || "default", * // }, * // CurrentInstanceBootMode: "legacy-bios" || "uefi", + * // NetworkPerformanceOptions: { // InstanceNetworkPerformanceOptions + * // BandwidthWeighting: "default" || "vpc-1" || "ebs-1", + * // }, * // Operator: "", * // InstanceId: "STRING_VALUE", * // ImageId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/UnmonitorInstancesCommand.ts b/clients/client-ec2/src/commands/UnmonitorInstancesCommand.ts index f9ab896ae685..e2a96515bfcd 100644 --- a/clients/client-ec2/src/commands/UnmonitorInstancesCommand.ts +++ b/clients/client-ec2/src/commands/UnmonitorInstancesCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UnmonitorInstancesRequest, UnmonitorInstancesResult } from "../models/models_7"; +import { UnmonitorInstancesRequest, UnmonitorInstancesResult } from "../models/models_8"; import { de_UnmonitorInstancesCommand, se_UnmonitorInstancesCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.ts b/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.ts index 2f237d808496..95678602c726 100644 --- a/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.ts +++ b/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { UpdateSecurityGroupRuleDescriptionsEgressRequest, UpdateSecurityGroupRuleDescriptionsEgressResult, -} from "../models/models_7"; +} from "../models/models_8"; import { de_UpdateSecurityGroupRuleDescriptionsEgressCommand, se_UpdateSecurityGroupRuleDescriptionsEgressCommand, diff --git a/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.ts b/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.ts index 58a573c8b983..177d9ed95911 100644 --- a/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.ts +++ b/clients/client-ec2/src/commands/UpdateSecurityGroupRuleDescriptionsIngressCommand.ts @@ -9,7 +9,7 @@ import { commonParams } from "../endpoint/EndpointParameters"; import { UpdateSecurityGroupRuleDescriptionsIngressRequest, UpdateSecurityGroupRuleDescriptionsIngressResult, -} from "../models/models_7"; +} from "../models/models_8"; import { de_UpdateSecurityGroupRuleDescriptionsIngressCommand, se_UpdateSecurityGroupRuleDescriptionsIngressCommand, diff --git a/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts b/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts index 78d4457ed689..fa536381abdc 100644 --- a/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts +++ b/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { WithdrawByoipCidrRequest } from "../models/models_7"; -import { WithdrawByoipCidrResult } from "../models/models_8"; +import { WithdrawByoipCidrRequest, WithdrawByoipCidrResult } from "../models/models_8"; import { de_WithdrawByoipCidrCommand, se_WithdrawByoipCidrCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/index.ts b/clients/client-ec2/src/commands/index.ts index b343eaf45505..8e73c117a13c 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -535,6 +535,7 @@ export * from "./ModifyInstanceEventWindowCommand"; export * from "./ModifyInstanceMaintenanceOptionsCommand"; export * from "./ModifyInstanceMetadataDefaultsCommand"; export * from "./ModifyInstanceMetadataOptionsCommand"; +export * from "./ModifyInstanceNetworkPerformanceOptionsCommand"; export * from "./ModifyInstancePlacementCommand"; export * from "./ModifyIpamCommand"; export * from "./ModifyIpamPoolCommand"; diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index dab6a38b5eff..1fab813f7e08 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -10,7 +10,6 @@ import { AcceleratorTotalMemoryMiBRequest, AcceleratorType, AddIpamOperatingRegion, - AddPrefixListEntry, AddressFamily, AllocationType, AttachmentStatus, @@ -9846,6 +9845,51 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined; } +/** + * @public + * @enum + */ +export const InstanceBandwidthWeighting = { + DEFAULT: "default", + EBS_1: "ebs-1", + VPC_1: "vpc-1", +} as const; + +/** + * @public + */ +export type InstanceBandwidthWeighting = (typeof InstanceBandwidthWeighting)[keyof typeof InstanceBandwidthWeighting]; + +/** + *

    When you configure network performance options in your launch template, your instance + * is geared for performance improvements based on the workload that it runs as soon as it's + * available.

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

    Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:

    + *
    + *
    default
    + *
    + *

    This option uses the standard bandwidth configuration for your instance type.

    + *
    + *
    vpc-1
    + *
    + *

    This option boosts your networking baseline bandwidth and reduces your EBS + * baseline bandwidth.

    + *
    + *
    ebs-1
    + *
    + *

    This option boosts your EBS baseline bandwidth and reduces your networking + * baseline bandwidth.

    + *
    + *
    + * @public + */ + BandwidthWeighting?: InstanceBandwidthWeighting | undefined; +} + /** *

    The service provider that manages the resource.

    * @public @@ -10348,6 +10392,13 @@ export interface RequestLaunchTemplateData { * @public */ Operator?: OperatorRequest | undefined; + + /** + *

    Contains launch template settings to boost network performance for the type of + * workload that runs on your instance.

    + * @public + */ + NetworkPerformanceOptions?: LaunchTemplateNetworkPerformanceOptionsRequest | undefined; } /** @@ -11341,6 +11392,21 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { ConnectionTrackingSpecification?: ConnectionTrackingSpecification | undefined; } +/** + *

    With network performance options, you can adjust your bandwidth preferences to meet + * the needs of the workload that runs on your instance at launch.

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

    When you configure network bandwidth weighting, you can boost baseline bandwidth for either networking + * or EBS by up to 25%. The total available baseline bandwidth for your instance remains + * the same. The default option uses the standard bandwidth configuration for your instance type.

    + * @public + */ + BandwidthWeighting?: InstanceBandwidthWeighting | undefined; +} + /** *

    Describes the placement of an instance.

    * @public @@ -11693,6 +11759,13 @@ export interface ResponseLaunchTemplateData { * @public */ Operator?: OperatorResponse | undefined; + + /** + *

    Contains the launch template settings for network performance options for + * your instance.

    + * @public + */ + NetworkPerformanceOptions?: LaunchTemplateNetworkPerformanceOptions | undefined; } /** @@ -12333,96 +12406,6 @@ export interface LocalGatewayRouteTableVpcAssociation { Tags?: Tag[] | undefined; } -/** - * @public - */ -export interface CreateLocalGatewayRouteTableVpcAssociationResult { - /** - *

    Information about the association.

    - * @public - */ - LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation | undefined; -} - -/** - * @public - */ -export interface CreateManagedPrefixListRequest { - /** - *

    Checks whether you have the required permissions for the action, without 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 name for the prefix list.

    - *

    Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

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

    One or more entries for the prefix list.

    - * @public - */ - Entries?: AddPrefixListEntry[] | undefined; - - /** - *

    The maximum number of entries for the prefix list.

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

    The tags to apply to the prefix list during creation.

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

    The IP address type.

    - *

    Valid Values: IPv4 | IPv6 - *

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

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

    - *

    Constraints: Up to 255 UTF-8 characters in length.

    - * @public - */ - ClientToken?: string | undefined; -} - -/** - * @public - * @enum - */ -export const PrefixListState = { - create_complete: "create-complete", - create_failed: "create-failed", - create_in_progress: "create-in-progress", - delete_complete: "delete-complete", - delete_failed: "delete-failed", - delete_in_progress: "delete-in-progress", - modify_complete: "modify-complete", - modify_failed: "modify-failed", - modify_in_progress: "modify-in-progress", - restore_complete: "restore-complete", - restore_failed: "restore-failed", - restore_in_progress: "restore-in-progress", -} as const; - -/** - * @public - */ -export type PrefixListState = (typeof PrefixListState)[keyof typeof PrefixListState]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 14d6d26f1aee..51458b616b89 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -4,6 +4,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { AccessScopePath, AccessScopePathRequest, + AddPrefixListEntry, ApplianceModeSupportValue, AttachmentStatus, CurrencyCodeValues, @@ -38,16 +39,14 @@ import { import { CarrierGateway, ClientVpnEndpointStatus, - ClientVpnRouteStatus, - CoipCidr, ConnectionTrackingSpecificationRequest, GatewayType, InstanceIpv6Address, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, + LocalGatewayRouteTableVpcAssociation, OperatorRequest, OperatorResponse, - PrefixListState, PrivateIpAddressSpecification, Subnet, Tenancy, @@ -55,6 +54,96 @@ import { Vpc, } from "./models_1"; +/** + * @public + */ +export interface CreateLocalGatewayRouteTableVpcAssociationResult { + /** + *

    Information about the association.

    + * @public + */ + LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation | undefined; +} + +/** + * @public + */ +export interface CreateManagedPrefixListRequest { + /** + *

    Checks whether you have the required permissions for the action, without 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 name for the prefix list.

    + *

    Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

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

    One or more entries for the prefix list.

    + * @public + */ + Entries?: AddPrefixListEntry[] | undefined; + + /** + *

    The maximum number of entries for the prefix list.

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

    The tags to apply to the prefix list during creation.

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

    The IP address type.

    + *

    Valid Values: IPv4 | IPv6 + *

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

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

    + *

    Constraints: Up to 255 UTF-8 characters in length.

    + * @public + */ + ClientToken?: string | undefined; +} + +/** + * @public + * @enum + */ +export const PrefixListState = { + create_complete: "create-complete", + create_failed: "create-failed", + create_in_progress: "create-in-progress", + delete_complete: "delete-complete", + delete_failed: "delete-failed", + delete_in_progress: "delete-in-progress", + modify_complete: "modify-complete", + modify_failed: "modify-failed", + modify_in_progress: "modify-in-progress", + restore_complete: "restore-complete", + restore_failed: "restore-failed", + restore_in_progress: "restore-in-progress", +} as const; + +/** + * @public + */ +export type PrefixListState = (typeof PrefixListState)[keyof typeof PrefixListState]; + /** *

    Describes a managed prefix list.

    * @public @@ -10226,57 +10315,6 @@ export interface DeleteClientVpnRouteRequest { DryRun?: boolean | undefined; } -/** - * @public - */ -export interface DeleteClientVpnRouteResult { - /** - *

    The current state of the route.

    - * @public - */ - Status?: ClientVpnRouteStatus | undefined; -} - -/** - * @public - */ -export interface DeleteCoipCidrRequest { - /** - *

    A customer-owned IP address range that you want to delete.

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

    - * The ID of the customer-owned address pool. - *

    - * @public - */ - CoipPoolId: 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 DeleteCoipCidrResult { - /** - *

    - * Information about a range of customer-owned IP addresses. - *

    - * @public - */ - CoipCidr?: CoipCidr | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 0a7d79412298..fdea21033850 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -4,7 +4,6 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { AccountAttribute, AccountAttributeName, - ActiveInstance, Address, AddressAttribute, AddressAttributeName, @@ -32,6 +31,7 @@ import { ClientVpnAuthenticationType, ClientVpnEndpointStatus, ClientVpnRouteStatus, + CoipCidr, CoipPool, CustomerGateway, DhcpOptions, @@ -74,6 +74,57 @@ import { VpcBlockPublicAccessExclusion, } from "./models_2"; +/** + * @public + */ +export interface DeleteClientVpnRouteResult { + /** + *

    The current state of the route.

    + * @public + */ + Status?: ClientVpnRouteStatus | undefined; +} + +/** + * @public + */ +export interface DeleteCoipCidrRequest { + /** + *

    A customer-owned IP address range that you want to delete.

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

    + * The ID of the customer-owned address pool. + *

    + * @public + */ + CoipPoolId: 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 DeleteCoipCidrResult { + /** + *

    + * Information about a range of customer-owned IP addresses. + *

    + * @public + */ + CoipCidr?: CoipCidr | undefined; +} + /** * @public */ @@ -7862,121 +7913,6 @@ export interface DescribeFleetInstancesRequest { Filters?: Filter[] | undefined; } -/** - * @public - */ -export interface DescribeFleetInstancesResult { - /** - *

    The running instances. This list is refreshed periodically and might be out of - * date.

    - * @public - */ - ActiveInstances?: ActiveInstance[] | 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; - - /** - *

    The ID of the EC2 Fleet.

    - * @public - */ - FleetId?: string | undefined; -} - -/** - * @public - */ -export interface DescribeFleetsRequest { - /** - *

    Checks whether you have the required permissions for the action, without 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 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 EC2 Fleets.

    - * - *

    If a fleet is of type instant, you must specify the fleet ID, otherwise - * it does not appear in the response.

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

    The filters.

    - *
      - *
    • - *

      - * activity-status - The progress of the EC2 Fleet ( error | - * pending-fulfillment | pending-termination | - * fulfilled).

      - *
    • - *
    • - *

      - * excess-capacity-termination-policy - Indicates whether to terminate - * running instances if the target capacity is decreased below the current EC2 Fleet size - * (true | false).

      - *
    • - *
    • - *

      - * fleet-state - The state of the EC2 Fleet (submitted | - * active | deleted | failed | - * deleted-running | deleted-terminating | - * modifying).

      - *
    • - *
    • - *

      - * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace - * unhealthy instances (true | false).

      - *
    • - *
    • - *

      - * type - The type of request (instant | - * request | maintain).

      - *
    • - *
    - * @public - */ - Filters?: Filter[] | undefined; -} - -/** - * @public - * @enum - */ -export const FleetActivityStatus = { - ERROR: "error", - FULFILLED: "fulfilled", - PENDING_FULFILLMENT: "pending_fulfillment", - PENDING_TERMINATION: "pending_termination", -} as const; - -/** - * @public - */ -export type FleetActivityStatus = (typeof FleetActivityStatus)[keyof typeof FleetActivityStatus]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 7e47e2e07726..f59c9edf9e57 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -2,6 +2,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { + ActiveInstance, AllocationState, AllowsMultipleInstanceTypes, AlternatePathHint, @@ -37,6 +38,7 @@ import { FleetReplacementStrategy, FleetType, HostnameType, + InstanceBandwidthWeighting, InstanceIpv6Address, InstanceLifecycle, InternetGateway, @@ -79,14 +81,122 @@ import { ReplaceRootVolumeTask, } from "./models_2"; -import { - Byoasn, - Filter, - FleetActivityStatus, - FleetStateCode, - IdFormat, - InstanceTagNotificationAttribute, -} from "./models_3"; +import { Byoasn, Filter, FleetStateCode, IdFormat, InstanceTagNotificationAttribute } from "./models_3"; + +/** + * @public + */ +export interface DescribeFleetInstancesResult { + /** + *

    The running instances. This list is refreshed periodically and might be out of + * date.

    + * @public + */ + ActiveInstances?: ActiveInstance[] | 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; + + /** + *

    The ID of the EC2 Fleet.

    + * @public + */ + FleetId?: string | undefined; +} + +/** + * @public + */ +export interface DescribeFleetsRequest { + /** + *

    Checks whether you have the required permissions for the action, without 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 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 EC2 Fleets.

    + * + *

    If a fleet is of type instant, you must specify the fleet ID, otherwise + * it does not appear in the response.

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

    The filters.

    + *
      + *
    • + *

      + * activity-status - The progress of the EC2 Fleet ( error | + * pending-fulfillment | pending-termination | + * fulfilled).

      + *
    • + *
    • + *

      + * excess-capacity-termination-policy - Indicates whether to terminate + * running instances if the target capacity is decreased below the current EC2 Fleet size + * (true | false).

      + *
    • + *
    • + *

      + * fleet-state - The state of the EC2 Fleet (submitted | + * active | deleted | failed | + * deleted-running | deleted-terminating | + * modifying).

      + *
    • + *
    • + *

      + * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace + * unhealthy instances (true | false).

      + *
    • + *
    • + *

      + * type - The type of request (instant | + * request | maintain).

      + *
    • + *
    + * @public + */ + Filters?: Filter[] | undefined; +} + +/** + * @public + * @enum + */ +export const FleetActivityStatus = { + ERROR: "error", + FULFILLED: "fulfilled", + PENDING_FULFILLMENT: "pending_fulfillment", + PENDING_TERMINATION: "pending_termination", +} as const; + +/** + * @public + */ +export type FleetActivityStatus = (typeof FleetActivityStatus)[keyof typeof FleetActivityStatus]; /** *

    Describes the instances that could not be launched by the fleet.

    @@ -4909,6 +5019,12 @@ export interface DescribeInstancesRequest { *
  • *
  • *

    + * network-performance-options.bandwidth-weighting - Where the performance boost + * is applied, if applicable. Valid values: default, vpc-1, + * ebs-1.

    + *
  • + *
  • + *

    * operator.managed - A Boolean that indicates whether this is a * managed instance.

    *
  • @@ -5862,6 +5978,21 @@ export interface InstanceNetworkInterface { Operator?: OperatorResponse | undefined; } +/** + *

    With network performance options, you can adjust your bandwidth preferences to meet + * the needs of the workload that runs on your instance.

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

    When you configure network bandwidth weighting, you can boost your baseline bandwidth for either + * networking or EBS by up to 25%. The total available baseline bandwidth for your instance remains + * the same. The default option uses the standard bandwidth configuration for your instance type.

    + * @public + */ + BandwidthWeighting?: InstanceBandwidthWeighting | undefined; +} + /** *

    Describes the options for instance hostnames.

    * @public @@ -6145,6 +6276,12 @@ export interface Instance { */ CurrentInstanceBootMode?: InstanceBootModeValues | undefined; + /** + *

    Contains settings for the network performance options for your instance.

    + * @public + */ + NetworkPerformanceOptions?: InstanceNetworkPerformanceOptions | undefined; + /** *

    The service provider that manages the instance.

    * @public @@ -7178,6 +7315,11 @@ export interface DescribeInstanceTypesRequest { * *
  • *

    + * network-info.bandwidth-weightings - For instances that support bandwidth + * weighting to boost performance (default, vpc-1, ebs-1).

    + *
  • + *
  • + *

    * network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic * Fabric Adapters (EFAs) per instance.

    *
  • @@ -7816,6 +7958,21 @@ export interface MemoryInfo { SizeInMiB?: number | undefined; } +/** + * @public + * @enum + */ +export const BandwidthWeightingType = { + DEFAULT: "default", + EBS_1: "ebs-1", + VPC_1: "vpc-1", +} as const; + +/** + * @public + */ +export type BandwidthWeightingType = (typeof BandwidthWeightingType)[keyof typeof BandwidthWeightingType]; + /** *

    Describes the Elastic Fabric Adapters for the instance type.

    * @public @@ -7963,6 +8120,13 @@ export interface NetworkInfo { * @public */ EnaSrdSupported?: boolean | undefined; + + /** + *

    A list of valid settings for configurable bandwidth weighting for the instance + * type, if supported.

    + * @public + */ + BandwidthWeightings?: BandwidthWeightingType[] | undefined; } /** @@ -11582,17 +11746,6 @@ export interface DescribeNetworkInterfacesRequest { * *
  • *

    - * operator.managed - A Boolean that indicates whether this is a - * managed network interface.

    - *
  • - *
  • - *

    - * operator.principal - The principal that manages the network - * interface. Only valid for managed network interfaces, where managed - * is true.

    - *
  • - *
  • - *

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

    *
  • *
  • @@ -12343,85 +12496,6 @@ export interface DescribeReservedInstancesRequest { 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; - -/** - * @public - */ -export type RecurringChargeFrequency = (typeof RecurringChargeFrequency)[keyof typeof RecurringChargeFrequency]; - -/** - *

    Describes a recurring charge.

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

    The amount of the recurring charge.

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

    The frequency of the recurring charge.

    - * @public - */ - Frequency?: RecurringChargeFrequency | undefined; -} - -/** - * @public - * @enum - */ -export const Scope = { - AVAILABILITY_ZONE: "Availability Zone", - REGIONAL: "Region", -} as const; - -/** - * @public - */ -export type Scope = (typeof Scope)[keyof typeof Scope]; - -/** - * @public - * @enum - */ -export const ReservedInstanceState = { - active: "active", - payment_failed: "payment-failed", - payment_pending: "payment-pending", - queued: "queued", - queued_deleted: "queued-deleted", - retired: "retired", -} as const; - -/** - * @public - */ -export type ReservedInstanceState = (typeof ReservedInstanceState)[keyof typeof ReservedInstanceState]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 53965dfd09df..b373a917ad86 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -115,17 +115,86 @@ import { StatisticType, } from "./models_3"; -import { - AttributeBooleanValue, - OfferingClassType, - OfferingTypeValues, - PermissionGroup, - ProductCode, - RecurringCharge, - ReservedInstanceState, - RIProductDescription, - Scope, -} from "./models_4"; +import { AttributeBooleanValue, OfferingClassType, OfferingTypeValues, PermissionGroup, ProductCode } from "./models_4"; + +/** + * @public + * @enum + */ +export const RIProductDescription = { + Linux_UNIX: "Linux/UNIX", + Linux_UNIX_Amazon_VPC_: "Linux/UNIX (Amazon VPC)", + Windows: "Windows", + Windows_Amazon_VPC_: "Windows (Amazon VPC)", +} as const; + +/** + * @public + */ +export type RIProductDescription = (typeof RIProductDescription)[keyof typeof RIProductDescription]; + +/** + * @public + * @enum + */ +export const RecurringChargeFrequency = { + Hourly: "Hourly", +} as const; + +/** + * @public + */ +export type RecurringChargeFrequency = (typeof RecurringChargeFrequency)[keyof typeof RecurringChargeFrequency]; + +/** + *

    Describes a recurring charge.

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

    The amount of the recurring charge.

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

    The frequency of the recurring charge.

    + * @public + */ + Frequency?: RecurringChargeFrequency | undefined; +} + +/** + * @public + * @enum + */ +export const Scope = { + AVAILABILITY_ZONE: "Availability Zone", + REGIONAL: "Region", +} as const; + +/** + * @public + */ +export type Scope = (typeof Scope)[keyof typeof Scope]; + +/** + * @public + * @enum + */ +export const ReservedInstanceState = { + active: "active", + payment_failed: "payment-failed", + payment_pending: "payment-pending", + queued: "queued", + queued_deleted: "queued-deleted", + retired: "retired", +} as const; + +/** + * @public + */ +export type ReservedInstanceState = (typeof ReservedInstanceState)[keyof typeof ReservedInstanceState]; /** *

    Describes a Reserved Instance.

    @@ -10926,90 +10995,6 @@ export interface EnableAllowedImagesSettingsRequest { DryRun?: boolean | undefined; } -/** - * @public - */ -export interface EnableAllowedImagesSettingsResult { - /** - *

    Returns enabled or audit-mode if the request succeeds; - * otherwise, it returns an error.

    - * @public - */ - AllowedImagesSettingsState?: AllowedImagesSettingsEnabledState | 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; - - /** - *

    Checks whether you have the required permissions for the action, without 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 EnableAwsNetworkPerformanceMetricSubscriptionResult { - /** - *

    Indicates whether the subscribe action was successful.

    - * @public - */ - Output?: boolean | undefined; -} - -/** - * @public - */ -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.

    - * @public - */ - DryRun?: boolean | undefined; -} - -/** - * @public - */ -export interface EnableEbsEncryptionByDefaultResult { - /** - *

    The updated status of encryption by default.

    - * @public - */ - EbsEncryptionByDefault?: boolean | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index 19c2a1bc152f..45c5e86c6c15 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -4,6 +4,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { AccessScopeAnalysisFinding, AddressAttribute, + AllowedImagesSettingsEnabledState, AutoPlacement, CurrencyCodeValues, DeviceTrustProviderType, @@ -84,7 +85,6 @@ import { HttpTokensState, ImportImageLicenseConfigurationResponse, InstanceAttributeName, - InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataTagsState, InstanceStatusEvent, @@ -106,6 +106,90 @@ import { TransitGatewayPropagationState, } from "./models_5"; +/** + * @public + */ +export interface EnableAllowedImagesSettingsResult { + /** + *

    Returns enabled or audit-mode if the request succeeds; + * otherwise, it returns an error.

    + * @public + */ + AllowedImagesSettingsState?: AllowedImagesSettingsEnabledState | 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; + + /** + *

    Checks whether you have the required permissions for the action, without 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 EnableAwsNetworkPerformanceMetricSubscriptionResult { + /** + *

    Indicates whether the subscribe action was successful.

    + * @public + */ + Output?: boolean | undefined; +} + +/** + * @public + */ +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.

    + * @public + */ + DryRun?: boolean | undefined; +} + +/** + * @public + */ +export interface EnableEbsEncryptionByDefaultResult { + /** + *

    The updated status of encryption by default.

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

    Request to create a launch template for a Windows fast launch enabled AMI.

    * @@ -8942,99 +9026,6 @@ export interface ModifyInstanceEventWindowResult { InstanceEventWindow?: InstanceEventWindow | undefined; } -/** - * @public - */ -export interface ModifyInstanceMaintenanceOptionsRequest { - /** - *

    The ID of the instance.

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

    Disables the automatic recovery behavior of your instance or sets it to - * default.

    - * @public - */ - AutoRecovery?: InstanceAutoRecoveryState | 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 ModifyInstanceMaintenanceOptionsResult { - /** - *

    The ID of the instance.

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

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

    - * @public - */ - AutoRecovery?: InstanceAutoRecoveryState | undefined; -} - -/** - * @public - * @enum - */ -export const DefaultInstanceMetadataEndpointState = { - disabled: "disabled", - enabled: "enabled", - no_preference: "no-preference", -} as const; - -/** - * @public - */ -export type DefaultInstanceMetadataEndpointState = - (typeof DefaultInstanceMetadataEndpointState)[keyof typeof DefaultInstanceMetadataEndpointState]; - -/** - * @public - * @enum - */ -export const MetadataDefaultHttpTokensState = { - no_preference: "no-preference", - optional: "optional", - required: "required", -} as const; - -/** - * @public - */ -export type MetadataDefaultHttpTokensState = - (typeof MetadataDefaultHttpTokensState)[keyof typeof MetadataDefaultHttpTokensState]; - -/** - * @public - * @enum - */ -export const DefaultInstanceMetadataTagsState = { - disabled: "disabled", - enabled: "enabled", - no_preference: "no-preference", -} as const; - -/** - * @public - */ -export type DefaultInstanceMetadataTagsState = - (typeof DefaultInstanceMetadataTagsState)[keyof typeof DefaultInstanceMetadataTagsState]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index 3f987e163d6b..67197fe19043 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -46,6 +46,7 @@ import { CreditSpecificationRequest, ElasticGpuSpecification, HostnameType, + InstanceBandwidthWeighting, InstanceInterruptionBehavior, InstanceIpv6Address, Ipam, @@ -155,15 +156,100 @@ import { VpcBlockPublicAccessOptions, } from "./models_5"; -import { - CapacityReservationSpecification, - DefaultInstanceMetadataEndpointState, - DefaultInstanceMetadataTagsState, - IpamResourceCidr, - MetadataDefaultHttpTokensState, - OperationType, - Purchase, -} from "./models_6"; +import { CapacityReservationSpecification, IpamResourceCidr, OperationType, Purchase } from "./models_6"; + +/** + * @public + */ +export interface ModifyInstanceMaintenanceOptionsRequest { + /** + *

    The ID of the instance.

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

    Disables the automatic recovery behavior of your instance or sets it to + * default.

    + * @public + */ + AutoRecovery?: InstanceAutoRecoveryState | 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 ModifyInstanceMaintenanceOptionsResult { + /** + *

    The ID of the instance.

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

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

    + * @public + */ + AutoRecovery?: InstanceAutoRecoveryState | undefined; +} + +/** + * @public + * @enum + */ +export const DefaultInstanceMetadataEndpointState = { + disabled: "disabled", + enabled: "enabled", + no_preference: "no-preference", +} as const; + +/** + * @public + */ +export type DefaultInstanceMetadataEndpointState = + (typeof DefaultInstanceMetadataEndpointState)[keyof typeof DefaultInstanceMetadataEndpointState]; + +/** + * @public + * @enum + */ +export const MetadataDefaultHttpTokensState = { + no_preference: "no-preference", + optional: "optional", + required: "required", +} as const; + +/** + * @public + */ +export type MetadataDefaultHttpTokensState = + (typeof MetadataDefaultHttpTokensState)[keyof typeof MetadataDefaultHttpTokensState]; + +/** + * @public + * @enum + */ +export const DefaultInstanceMetadataTagsState = { + disabled: "disabled", + enabled: "enabled", + no_preference: "no-preference", +} as const; + +/** + * @public + */ +export type DefaultInstanceMetadataTagsState = + (typeof DefaultInstanceMetadataTagsState)[keyof typeof DefaultInstanceMetadataTagsState]; /** * @public @@ -343,6 +429,64 @@ export interface ModifyInstanceMetadataOptionsResult { InstanceMetadataOptions?: InstanceMetadataOptionsResponse | undefined; } +/** + * @public + */ +export interface ModifyInstanceNetworkPerformanceRequest { + /** + *

    The ID of the instance to update.

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

    Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:

    + *
    + *
    default
    + *
    + *

    This option uses the standard bandwidth configuration for your instance type.

    + *
    + *
    vpc-1
    + *
    + *

    This option boosts your networking baseline bandwidth and reduces your EBS + * baseline bandwidth.

    + *
    + *
    ebs-1
    + *
    + *

    This option boosts your EBS baseline bandwidth and reduces your networking + * baseline bandwidth.

    + *
    + *
    + * @public + */ + BandwidthWeighting: InstanceBandwidthWeighting | 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; +} + +/** + * @public + */ +export interface ModifyInstanceNetworkPerformanceResult { + /** + *

    The instance ID that was updated.

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

    Contains the updated configuration for bandwidth weighting on the specified instance.

    + * @public + */ + BandwidthWeighting?: InstanceBandwidthWeighting | undefined; +} + /** * @public * @enum @@ -7532,6 +7676,36 @@ export interface InstanceMetadataOptionsRequest { InstanceMetadataTags?: InstanceMetadataTagsState | undefined; } +/** + *

    Configure network performance options for your instance that are geared towards performance + * improvements based on the workload that it runs.

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

    Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, + * as follows:

    + *
    + *
    default
    + *
    + *

    This option uses the standard bandwidth configuration for your instance type.

    + *
    + *
    vpc-1
    + *
    + *

    This option boosts your networking baseline bandwidth and reduces your EBS baseline + * bandwidth.

    + *
    + *
    ebs-1
    + *
    + *

    This option boosts your EBS baseline bandwidth and reduces your networking baseline + * bandwidth.

    + *
    + *
    + * @public + */ + BandwidthWeighting?: InstanceBandwidthWeighting | undefined; +} + /** *

    Describes the options for instance hostnames.

    * @public @@ -7870,6 +8044,12 @@ export interface RunInstancesRequest { */ EnablePrimaryIpv6?: boolean | undefined; + /** + *

    Contains settings for the network performance options for the instance.

    + * @public + */ + NetworkPerformanceOptions?: InstanceNetworkPerformanceOptionsRequest | undefined; + /** *

    Reserved for internal use.

    * @public @@ -9295,181 +9475,6 @@ export interface UnlockSnapshotResult { SnapshotId?: string | undefined; } -/** - * @public - */ -export interface UnmonitorInstancesRequest { - /** - *

    The IDs of the 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; -} - -/** - * @public - */ -export interface UnmonitorInstancesResult { - /** - *

    The monitoring information.

    - * @public - */ - InstanceMonitorings?: InstanceMonitoring[] | undefined; -} - -/** - *

    Describes the description of a security group rule.

    - *

    You can use this when you want to update the security group rule description for either an inbound or outbound rule.

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

    The ID of the security group rule.

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

    The description of the security group rule.

    - * @public - */ - Description?: string | undefined; -} - -/** - * @public - */ -export interface UpdateSecurityGroupRuleDescriptionsEgressRequest { - /** - *

    Checks whether you have the required permissions for the action, without 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 security group. You must specify either the security group ID or the - * security group name in the request. For security groups in a nondefault VPC, you must - * specify the security group ID.

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

    [Default VPC] The name of the security group. You must specify either the security group - * ID or the security group name.

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

    The IP permissions for the security group rule. You must specify either the IP permissions - * or the description.

    - * @public - */ - IpPermissions?: IpPermission[] | undefined; - - /** - *

    The description for the egress security group rules. You must specify either the - * description or the IP permissions.

    - * @public - */ - SecurityGroupRuleDescriptions?: SecurityGroupRuleDescription[] | undefined; -} - -/** - * @public - */ -export interface UpdateSecurityGroupRuleDescriptionsEgressResult { - /** - *

    Returns true if the request succeeds; otherwise, returns an error.

    - * @public - */ - Return?: boolean | undefined; -} - -/** - * @public - */ -export interface UpdateSecurityGroupRuleDescriptionsIngressRequest { - /** - *

    Checks whether you have the required permissions for the action, without 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 security group. You must specify either the security group ID or the - * security group name in the request. For security groups in a nondefault VPC, you must - * specify the security group ID.

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

    [Default VPC] The name of the security group. You must specify either the - * security group ID or the security group name. For security groups in a - * nondefault VPC, you must specify the security group ID.

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

    The IP permissions for the security group rule. You must specify either IP permissions - * or a description.

    - * @public - */ - IpPermissions?: IpPermission[] | undefined; - - /** - *

    The description for the ingress security group rules. You must specify either - * a description or IP permissions.

    - * @public - */ - SecurityGroupRuleDescriptions?: SecurityGroupRuleDescription[] | undefined; -} - -/** - * @public - */ -export interface UpdateSecurityGroupRuleDescriptionsIngressResult { - /** - *

    Returns true if the request succeeds; otherwise, returns an error.

    - * @public - */ - Return?: boolean | undefined; -} - -/** - * @public - */ -export interface WithdrawByoipCidrRequest { - /** - *

    The address range, in CIDR notation.

    - * @public - */ - Cidr: 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; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_8.ts b/clients/client-ec2/src/models/models_8.ts index 316e8cabc404..3d9e67a1494b 100644 --- a/clients/client-ec2/src/models/models_8.ts +++ b/clients/client-ec2/src/models/models_8.ts @@ -1,5 +1,182 @@ // smithy-typescript generated code -import { ByoipCidr } from "./models_0"; +import { ByoipCidr, IpPermission } from "./models_0"; + +import { InstanceMonitoring } from "./models_7"; + +/** + * @public + */ +export interface UnmonitorInstancesRequest { + /** + *

    The IDs of the 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; +} + +/** + * @public + */ +export interface UnmonitorInstancesResult { + /** + *

    The monitoring information.

    + * @public + */ + InstanceMonitorings?: InstanceMonitoring[] | undefined; +} + +/** + *

    Describes the description of a security group rule.

    + *

    You can use this when you want to update the security group rule description for either an inbound or outbound rule.

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

    The ID of the security group rule.

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

    The description of the security group rule.

    + * @public + */ + Description?: string | undefined; +} + +/** + * @public + */ +export interface UpdateSecurityGroupRuleDescriptionsEgressRequest { + /** + *

    Checks whether you have the required permissions for the action, without 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 security group. You must specify either the security group ID or the + * security group name in the request. For security groups in a nondefault VPC, you must + * specify the security group ID.

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

    [Default VPC] The name of the security group. You must specify either the security group + * ID or the security group name.

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

    The IP permissions for the security group rule. You must specify either the IP permissions + * or the description.

    + * @public + */ + IpPermissions?: IpPermission[] | undefined; + + /** + *

    The description for the egress security group rules. You must specify either the + * description or the IP permissions.

    + * @public + */ + SecurityGroupRuleDescriptions?: SecurityGroupRuleDescription[] | undefined; +} + +/** + * @public + */ +export interface UpdateSecurityGroupRuleDescriptionsEgressResult { + /** + *

    Returns true if the request succeeds; otherwise, returns an error.

    + * @public + */ + Return?: boolean | undefined; +} + +/** + * @public + */ +export interface UpdateSecurityGroupRuleDescriptionsIngressRequest { + /** + *

    Checks whether you have the required permissions for the action, without 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 security group. You must specify either the security group ID or the + * security group name in the request. For security groups in a nondefault VPC, you must + * specify the security group ID.

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

    [Default VPC] The name of the security group. You must specify either the + * security group ID or the security group name. For security groups in a + * nondefault VPC, you must specify the security group ID.

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

    The IP permissions for the security group rule. You must specify either IP permissions + * or a description.

    + * @public + */ + IpPermissions?: IpPermission[] | undefined; + + /** + *

    The description for the ingress security group rules. You must specify either + * a description or IP permissions.

    + * @public + */ + SecurityGroupRuleDescriptions?: SecurityGroupRuleDescription[] | undefined; +} + +/** + * @public + */ +export interface UpdateSecurityGroupRuleDescriptionsIngressResult { + /** + *

    Returns true if the request succeeds; otherwise, returns an error.

    + * @public + */ + Return?: boolean | undefined; +} + +/** + * @public + */ +export interface WithdrawByoipCidrRequest { + /** + *

    The address range, in CIDR notation.

    + * @public + */ + Cidr: 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 diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index de32849fb058..f9576236b57d 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -1859,6 +1859,10 @@ import { ModifyInstanceMetadataOptionsCommandInput, ModifyInstanceMetadataOptionsCommandOutput, } from "../commands/ModifyInstanceMetadataOptionsCommand"; +import { + ModifyInstanceNetworkPerformanceOptionsCommandInput, + ModifyInstanceNetworkPerformanceOptionsCommandOutput, +} from "../commands/ModifyInstanceNetworkPerformanceOptionsCommand"; import { ModifyInstancePlacementCommandInput, ModifyInstancePlacementCommandOutput, @@ -2608,8 +2612,6 @@ import { CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest, CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult, CreateLocalGatewayRouteTableVpcAssociationRequest, - CreateLocalGatewayRouteTableVpcAssociationResult, - CreateManagedPrefixListRequest, CreditSpecification, CreditSpecificationRequest, CustomerGateway, @@ -2690,6 +2692,8 @@ import { LaunchTemplateInstanceNetworkInterfaceSpecificationRequest, LaunchTemplateLicenseConfiguration, LaunchTemplateLicenseConfigurationRequest, + LaunchTemplateNetworkPerformanceOptions, + LaunchTemplateNetworkPerformanceOptionsRequest, LaunchTemplatePlacement, LaunchTemplatePlacementRequest, LaunchTemplatePrivateDnsNameOptions, @@ -2748,6 +2752,8 @@ import { CloudWatchLogOptionsSpecification, ConnectionNotification, ConnectionTrackingConfiguration, + CreateLocalGatewayRouteTableVpcAssociationResult, + CreateManagedPrefixListRequest, CreateManagedPrefixListResult, CreateNatGatewayRequest, CreateNatGatewayResult, @@ -2863,9 +2869,6 @@ import { DeleteClientVpnEndpointRequest, DeleteClientVpnEndpointResult, DeleteClientVpnRouteRequest, - DeleteClientVpnRouteResult, - DeleteCoipCidrRequest, - DeleteCoipCidrResult, DnsEntry, DnsOptions, DnsOptionsSpecification, @@ -3002,6 +3005,9 @@ import { ConnectionLogResponseOptions, ConversionTask, DeclarativePoliciesReport, + DeleteClientVpnRouteResult, + DeleteCoipCidrRequest, + DeleteCoipCidrResult, DeleteCoipPoolRequest, DeleteCoipPoolResult, DeleteCustomerGatewayRequest, @@ -3220,8 +3226,6 @@ import { DescribeFleetHistoryRequest, DescribeFleetHistoryResult, DescribeFleetInstancesRequest, - DescribeFleetInstancesResult, - DescribeFleetsRequest, DirectoryServiceAuthentication, DiskImageDescription, DiskImageVolumeDescription, @@ -3255,13 +3259,16 @@ import { ArchitectureType, AttributeBooleanValue, AvailableCapacity, + BandwidthWeightingType, BootModeType, CapacityReservationOptions, CapacityReservationSpecificationResponse, ConnectionTrackingSpecificationResponse, CpuOptions, DescribeFleetError, + DescribeFleetInstancesResult, DescribeFleetsInstances, + DescribeFleetsRequest, DescribeFleetsResult, DescribeFlowLogsRequest, DescribeFlowLogsResult, @@ -3439,6 +3446,7 @@ import { InstanceNetworkInterface, InstanceNetworkInterfaceAssociation, InstanceNetworkInterfaceAttachment, + InstanceNetworkPerformanceOptions, InstancePrivateIpAddress, InstanceState, InstanceStatus, @@ -3486,7 +3494,6 @@ import { ProductCode, PublicIpv4Pool, PublicIpv4PoolRange, - RecurringCharge, Region, Reservation, RootDeviceType, @@ -3712,11 +3719,6 @@ import { EnableAddressTransferRequest, EnableAddressTransferResult, EnableAllowedImagesSettingsRequest, - EnableAllowedImagesSettingsResult, - EnableAwsNetworkPerformanceMetricSubscriptionRequest, - EnableAwsNetworkPerformanceMetricSubscriptionResult, - EnableEbsEncryptionByDefaultRequest, - EnableEbsEncryptionByDefaultResult, HistoryRecord, InstanceEventWindowDisassociationRequest, InstanceNetworkInterfaceSpecification, @@ -3726,6 +3728,7 @@ import { LoadBalancersConfig, PricingDetail, PrivateDnsDetails, + RecurringCharge, ReservedInstances, ReservedInstancesConfiguration, ReservedInstancesId, @@ -3798,6 +3801,11 @@ import { DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + EnableAllowedImagesSettingsResult, + EnableAwsNetworkPerformanceMetricSubscriptionRequest, + EnableAwsNetworkPerformanceMetricSubscriptionResult, + EnableEbsEncryptionByDefaultRequest, + EnableEbsEncryptionByDefaultResult, EnableFastLaunchRequest, EnableFastLaunchResult, EnableFastSnapshotRestoreErrorItem, @@ -4027,8 +4035,6 @@ import { ModifyInstanceEventStartTimeResult, ModifyInstanceEventWindowRequest, ModifyInstanceEventWindowResult, - ModifyInstanceMaintenanceOptionsRequest, - ModifyInstanceMaintenanceOptionsResult, PrefixListAssociation, PrefixListEntry, Purchase, @@ -4073,14 +4079,19 @@ import { InstanceMarketOptionsRequest, InstanceMetadataOptionsRequest, InstanceMonitoring, + InstanceNetworkPerformanceOptionsRequest, InstanceStateChange, IpamCidrAuthorizationContext, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyInstanceMaintenanceOptionsRequest, + ModifyInstanceMaintenanceOptionsResult, ModifyInstanceMetadataDefaultsRequest, ModifyInstanceMetadataDefaultsResult, ModifyInstanceMetadataOptionsRequest, ModifyInstanceMetadataOptionsResult, + ModifyInstanceNetworkPerformanceRequest, + ModifyInstanceNetworkPerformanceResult, ModifyInstancePlacementRequest, ModifyInstancePlacementResult, ModifyIpamPoolRequest, @@ -4307,7 +4318,6 @@ import { SearchTransitGatewayMulticastGroupsResult, SearchTransitGatewayRoutesRequest, SearchTransitGatewayRoutesResult, - SecurityGroupRuleDescription, SecurityGroupRuleRequest, SecurityGroupRuleUpdate, SendDiagnosticInterruptRequest, @@ -4341,19 +4351,22 @@ import { UnassignPrivateNatGatewayAddressResult, UnlockSnapshotRequest, UnlockSnapshotResult, + VerifiedAccessLogCloudWatchLogsDestinationOptions, + VerifiedAccessLogKinesisDataFirehoseDestinationOptions, + VerifiedAccessLogOptions, + VerifiedAccessLogS3DestinationOptions, +} from "../models/models_7"; +import { + SecurityGroupRuleDescription, UnmonitorInstancesRequest, UnmonitorInstancesResult, UpdateSecurityGroupRuleDescriptionsEgressRequest, UpdateSecurityGroupRuleDescriptionsEgressResult, UpdateSecurityGroupRuleDescriptionsIngressRequest, UpdateSecurityGroupRuleDescriptionsIngressResult, - VerifiedAccessLogCloudWatchLogsDestinationOptions, - VerifiedAccessLogKinesisDataFirehoseDestinationOptions, - VerifiedAccessLogOptions, - VerifiedAccessLogS3DestinationOptions, WithdrawByoipCidrRequest, -} from "../models/models_7"; -import { WithdrawByoipCidrResult } from "../models/models_8"; + WithdrawByoipCidrResult, +} from "../models/models_8"; /** * serializeAws_ec2AcceptAddressTransferCommand @@ -13467,6 +13480,23 @@ export const se_ModifyInstanceMetadataOptionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2ModifyInstanceNetworkPerformanceOptionsCommand + */ +export const se_ModifyInstanceNetworkPerformanceOptionsCommand = async ( + input: ModifyInstanceNetworkPerformanceOptionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_ModifyInstanceNetworkPerformanceRequest(input, context), + [_A]: _MINPO, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2ModifyInstancePlacementCommand */ @@ -26127,6 +26157,26 @@ export const de_ModifyInstanceMetadataOptionsCommand = async ( return response; }; +/** + * deserializeAws_ec2ModifyInstanceNetworkPerformanceOptionsCommand + */ +export const de_ModifyInstanceNetworkPerformanceOptionsCommand = 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_ModifyInstanceNetworkPerformanceResult(data, context); + const response: ModifyInstanceNetworkPerformanceOptionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2ModifyInstancePlacementCommand */ @@ -45719,6 +45769,20 @@ const se_InstanceNetworkInterfaceSpecificationList = ( return entries; }; +/** + * serializeAws_ec2InstanceNetworkPerformanceOptionsRequest + */ +const se_InstanceNetworkPerformanceOptionsRequest = ( + input: InstanceNetworkPerformanceOptionsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_BW] != null) { + entries[_BW] = input[_BW]; + } + return entries; +}; + /** * serializeAws_ec2InstanceRequirements */ @@ -47096,6 +47160,20 @@ const se_LaunchTemplateNameStringList = (input: string[], context: __SerdeContex return entries; }; +/** + * serializeAws_ec2LaunchTemplateNetworkPerformanceOptionsRequest + */ +const se_LaunchTemplateNetworkPerformanceOptionsRequest = ( + input: LaunchTemplateNetworkPerformanceOptionsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_BW] != null) { + entries[_BW] = input[_BW]; + } + return entries; +}; + /** * serializeAws_ec2LaunchTemplateOverrides */ @@ -48386,6 +48464,26 @@ const se_ModifyInstanceMetadataOptionsRequest = ( return entries; }; +/** + * serializeAws_ec2ModifyInstanceNetworkPerformanceRequest + */ +const se_ModifyInstanceNetworkPerformanceRequest = ( + input: ModifyInstanceNetworkPerformanceRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_IIn] != null) { + entries[_IIn] = input[_IIn]; + } + if (input[_BW] != null) { + entries[_BW] = input[_BW]; + } + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + return entries; +}; + /** * serializeAws_ec2ModifyInstancePlacementRequest */ @@ -52916,6 +53014,13 @@ const se_RequestLaunchTemplateData = (input: RequestLaunchTemplateData, context: entries[loc] = value; }); } + if (input[_NPO] != null) { + const memberEntries = se_LaunchTemplateNetworkPerformanceOptionsRequest(input[_NPO], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NetworkPerformanceOptions.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -53891,6 +53996,13 @@ const se_RunInstancesRequest = (input: RunInstancesRequest, context: __SerdeCont if (input[_EPI] != null) { entries[_EPI] = input[_EPI]; } + if (input[_NPO] != null) { + const memberEntries = se_InstanceNetworkPerformanceOptionsRequest(input[_NPO], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NetworkPerformanceOptions.${key}`; + entries[loc] = value; + }); + } if (input[_O] != null) { const memberEntries = se_OperatorRequest(input[_O], context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -58650,6 +58762,17 @@ const de_AvailableInstanceCapacityList = (output: any, context: __SerdeContext): }); }; +/** + * deserializeAws_ec2BandwidthWeightingTypeList + */ +const de_BandwidthWeightingTypeList = (output: any, context: __SerdeContext): BandwidthWeightingType[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return __expectString(entry) as any; + }); +}; + /** * deserializeAws_ec2BaselineEbsBandwidthMbps */ @@ -71182,6 +71305,9 @@ const de_Instance = (output: any, context: __SerdeContext): Instance => { if (output[_cIBM] != null) { contents[_CIBM] = __expectString(output[_cIBM]); } + if (output[_nPO] != null) { + contents[_NPO] = de_InstanceNetworkPerformanceOptions(output[_nPO], context); + } if (output[_op] != null) { contents[_O] = de_OperatorResponse(output[_op], context); } @@ -72109,6 +72235,20 @@ const de_InstanceNetworkInterfaceSpecificationList = ( }); }; +/** + * deserializeAws_ec2InstanceNetworkPerformanceOptions + */ +const de_InstanceNetworkPerformanceOptions = ( + output: any, + context: __SerdeContext +): InstanceNetworkPerformanceOptions => { + const contents: any = {}; + if (output[_bW] != null) { + contents[_BW] = __expectString(output[_bW]); + } + return contents; +}; + /** * deserializeAws_ec2InstancePrivateIpAddress */ @@ -74736,6 +74876,20 @@ const de_LaunchTemplateLicenseList = (output: any, context: __SerdeContext): Lau }); }; +/** + * deserializeAws_ec2LaunchTemplateNetworkPerformanceOptions + */ +const de_LaunchTemplateNetworkPerformanceOptions = ( + output: any, + context: __SerdeContext +): LaunchTemplateNetworkPerformanceOptions => { + const contents: any = {}; + if (output[_bW] != null) { + contents[_BW] = __expectString(output[_bW]); + } + return contents; +}; + /** * deserializeAws_ec2LaunchTemplateOverrides */ @@ -75963,6 +76117,23 @@ const de_ModifyInstanceMetadataOptionsResult = ( return contents; }; +/** + * deserializeAws_ec2ModifyInstanceNetworkPerformanceResult + */ +const de_ModifyInstanceNetworkPerformanceResult = ( + output: any, + context: __SerdeContext +): ModifyInstanceNetworkPerformanceResult => { + const contents: any = {}; + if (output[_iI] != null) { + contents[_IIn] = __expectString(output[_iI]); + } + if (output[_bW] != null) { + contents[_BW] = __expectString(output[_bW]); + } + return contents; +}; + /** * deserializeAws_ec2ModifyInstancePlacementResult */ @@ -76939,6 +77110,11 @@ const de_NetworkInfo = (output: any, context: __SerdeContext): NetworkInfo => { if (output[_eSSn] != null) { contents[_ESSn] = __parseBoolean(output[_eSSn]); } + if (output.bandwidthWeightings === "") { + contents[_BWa] = []; + } else if (output[_bWa] != null && output[_bWa][_i] != null) { + contents[_BWa] = de_BandwidthWeightingTypeList(__getArrayIfSingleItem(output[_bWa][_i]), context); + } return contents; }; @@ -80035,6 +80211,9 @@ const de_ResponseLaunchTemplateData = (output: any, context: __SerdeContext): Re if (output[_op] != null) { contents[_O] = de_OperatorResponse(output[_op], context); } + if (output[_nPO] != null) { + contents[_NPO] = de_LaunchTemplateNetworkPerformanceOptions(output[_nPO], context); + } return contents; }; @@ -87317,6 +87496,8 @@ const _BTE = "BundleTaskError"; const _BTIMB = "BaselineThroughputInMBps"; const _BTu = "BundleTask"; const _BTun = "BundleTasks"; +const _BW = "BandwidthWeighting"; +const _BWa = "BandwidthWeightings"; const _Bl = "Blackhole"; const _By = "Bytes"; const _Byo = "Byoasn"; @@ -88682,6 +88863,7 @@ const _MIIF = "ModifyIdentityIdFormat"; const _MIMD = "ModifyInstanceMetadataDefaults"; const _MIMO = "ModifyInstanceMaintenanceOptions"; const _MIMOo = "ModifyInstanceMetadataOptions"; +const _MINPO = "ModifyInstanceNetworkPerformanceOptions"; const _MIP = "ModifyInstancePlacement"; const _MIPo = "ModifyIpamPool"; const _MIRC = "ModifyIpamResourceCidr"; @@ -88843,6 +89025,7 @@ const _NOMA = "NumberOfMatchedAccounts"; const _NOUA = "NumberOfUnmatchedAccounts"; const _NP = "NetworkPerformance"; const _NPF = "NetworkPathFound"; +const _NPO = "NetworkPerformanceOptions"; const _NPe = "NetworkPlatform"; const _NR = "NoReboot"; const _NS = "NvmeSupport"; @@ -89940,6 +90123,8 @@ const _bS = "byoasnSet"; const _bSg = "bgpStatus"; const _bT = "bannerText"; const _bTIMB = "baselineThroughputInMBps"; +const _bW = "bandwidthWeighting"; +const _bWa = "bandwidthWeightings"; const _bl = "blackhole"; const _bu = "bucket"; const _c = "component"; @@ -90792,6 +90977,7 @@ const _nOMA = "numberOfMatchedAccounts"; const _nOUA = "numberOfUnmatchedAccounts"; const _nP = "networkPerformance"; const _nPF = "networkPathFound"; +const _nPO = "networkPerformanceOptions"; const _nPe = "networkPlatform"; const _nS = "nvmeSupport"; const _nSS = "networkServiceSet"; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 072ca84b3a15..2a71cc001a5f 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -3863,6 +3863,9 @@ { "target": "com.amazonaws.ec2#ModifyInstanceMetadataOptions" }, + { + "target": "com.amazonaws.ec2#ModifyInstanceNetworkPerformanceOptions" + }, { "target": "com.amazonaws.ec2#ModifyInstancePlacement" }, @@ -9328,6 +9331,38 @@ } } }, + "com.amazonaws.ec2#BandwidthWeightingType": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "VPC_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc-1" + } + }, + "EBS_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ebs-1" + } + } + } + }, + "com.amazonaws.ec2#BandwidthWeightingTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#BandwidthWeightingType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#BareMetal": { "type": "enum", "members": { @@ -34057,7 +34092,7 @@ "target": "com.amazonaws.ec2#DescribeInstanceTopologyResult" }, "traits": { - "smithy.api#documentation": "

    Describes a tree-based hierarchy that represents the physical host placement of your\n EC2 instances within an Availability Zone or Local Zone. You can use this information to\n determine the relative proximity of your EC2 instances within the Amazon Web Services network to\n support your tightly coupled workloads.

    \n

    \n Limitations\n

    \n
      \n
    • \n

      Supported zones

      \n
        \n
      • \n

        Availability Zone

        \n
      • \n
      • \n

        Local Zone

        \n
      • \n
      \n
    • \n
    • \n

      Supported instance types

      \n
        \n
      • \n

        \n hpc6a.48xlarge | hpc6id.32xlarge |\n hpc7a.12xlarge | hpc7a.24xlarge |\n hpc7a.48xlarge | hpc7a.96xlarge |\n hpc7g.4xlarge | hpc7g.8xlarge |\n hpc7g.16xlarge\n

        \n
      • \n
      • \n

        \n p3dn.24xlarge | p4d.24xlarge |\n p4de.24xlarge | p5.48xlarge |\n p5e.48xlarge\n

        \n
      • \n
      • \n

        \n trn1.2xlarge | trn1.32xlarge |\n trn1n.32xlarge\n

        \n
      • \n
      \n
    • \n
    \n

    For more information, see Amazon EC2 instance\n topology in the Amazon EC2 User Guide.

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

    Describes a tree-based hierarchy that represents the physical host placement of your\n EC2 instances within an Availability Zone or Local Zone. You can use this information to\n determine the relative proximity of your EC2 instances within the Amazon Web Services network to\n support your tightly coupled workloads.

    \n

    \n Limitations\n

    \n
      \n
    • \n

      Supported zones

      \n
        \n
      • \n

        Availability Zone

        \n
      • \n
      • \n

        Local Zone

        \n
      • \n
      \n
    • \n
    • \n

      Supported instance types

      \n
        \n
      • \n

        \n hpc6a.48xlarge | hpc6id.32xlarge |\n hpc7a.12xlarge | hpc7a.24xlarge |\n hpc7a.48xlarge | hpc7a.96xlarge |\n hpc7g.4xlarge | hpc7g.8xlarge |\n hpc7g.16xlarge\n

        \n
      • \n
      • \n

        \n p3dn.24xlarge | p4d.24xlarge |\n p4de.24xlarge | p5.48xlarge |\n p5e.48xlarge | p5en.48xlarge\n

        \n
      • \n
      • \n

        \n trn1.2xlarge | trn1.32xlarge |\n trn1n.32xlarge\n

        \n
      • \n
      \n
    • \n
    \n

    For more information, see Amazon EC2 instance\n topology in the Amazon EC2 User Guide.

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

    One or more filters. Filter names and values are case-sensitive.

    \n
      \n
    • \n

      \n auto-recovery-supported - Indicates whether Amazon CloudWatch action\n based recovery is supported (true | false).

      \n
    • \n
    • \n

      \n bare-metal - Indicates whether it is a bare metal instance type\n (true | false).

      \n
    • \n
    • \n

      \n burstable-performance-supported - Indicates whether the instance type is a\n burstable performance T instance type (true | false).

      \n
    • \n
    • \n

      \n current-generation - Indicates whether this instance type is the latest\n generation instance type of an instance family (true | false).

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline\n bandwidth performance for an EBS-optimized instance type, in Mbps.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage\n operations per second for an EBS-optimized instance type.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline\n throughput performance for an EBS-optimized instance type, in MB/s.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth\n performance for an EBS-optimized instance type, in Mbps.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage\n operations per second for an EBS-optimized instance type.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum\n throughput performance for an EBS-optimized instance type, in MB/s.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-support - Indicates whether the instance type is\n EBS-optimized (supported | unsupported |\n default).

      \n
    • \n
    • \n

      \n ebs-info.encryption-support - Indicates whether EBS encryption is supported\n (supported | unsupported).

      \n
    • \n
    • \n

      \n ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe)\n is supported for EBS volumes (required | supported |\n unsupported).

      \n
    • \n
    • \n

      \n free-tier-eligible - Indicates whether the instance type is eligible to use\n in the free tier (true | false).

      \n
    • \n
    • \n

      \n hibernation-supported - Indicates whether On-Demand hibernation is supported\n (true | false).

      \n
    • \n
    • \n

      \n hypervisor - The hypervisor (nitro | xen).

      \n
    • \n
    • \n

      \n instance-storage-info.disk.count - The number of local disks.

      \n
    • \n
    • \n

      \n instance-storage-info.disk.size-in-gb - The storage size of each instance\n storage disk, in GB.

      \n
    • \n
    • \n

      \n instance-storage-info.disk.type - The storage technology for the local\n instance storage disks (hdd | ssd).

      \n
    • \n
    • \n

      \n instance-storage-info.encryption-support - Indicates whether data is\n encrypted at rest (required | supported |\n unsupported).

      \n
    • \n
    • \n

      \n instance-storage-info.nvme-support - Indicates whether non-volatile memory\n express (NVMe) is supported for instance store (required | supported\n | unsupported).

      \n
    • \n
    • \n

      \n instance-storage-info.total-size-in-gb - The total amount of storage\n available from all local instance storage, in GB.

      \n
    • \n
    • \n

      \n instance-storage-supported - Indicates whether the instance type has local\n instance storage (true | false).

      \n
    • \n
    • \n

      \n instance-type - The instance type (for example c5.2xlarge or\n c5*).

      \n
    • \n
    • \n

      \n memory-info.size-in-mib - The memory size.

      \n
    • \n
    • \n

      \n network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic\n Fabric Adapters (EFAs) per instance.

      \n
    • \n
    • \n

      \n network-info.efa-supported - Indicates whether the instance type supports\n Elastic Fabric Adapter (EFA) (true | false).

      \n
    • \n
    • \n

      \n network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is\n supported or required (required | supported |\n unsupported).

      \n
    • \n
    • \n

      \n network-info.encryption-in-transit-supported - Indicates whether the instance\n type automatically encrypts in-transit traffic between instances (true | false).

      \n
    • \n
    • \n

      \n network-info.ipv4-addresses-per-interface - The maximum number of private\n IPv4 addresses per network interface.

      \n
    • \n
    • \n

      \n network-info.ipv6-addresses-per-interface - The maximum number of private\n IPv6 addresses per network interface.

      \n
    • \n
    • \n

      \n network-info.ipv6-supported - Indicates whether the instance type supports\n IPv6 (true | false).

      \n
    • \n
    • \n

      \n network-info.maximum-network-cards - The maximum number of network cards per\n instance.

      \n
    • \n
    • \n

      \n network-info.maximum-network-interfaces - The maximum number of network\n interfaces per instance.

      \n
    • \n
    • \n

      \n network-info.network-performance - The network performance (for example, \"25\n Gigabit\").

      \n
    • \n
    • \n

      \n nitro-enclaves-support - Indicates whether Nitro Enclaves is supported\n (supported | unsupported).

      \n
    • \n
    • \n

      \n nitro-tpm-support - Indicates whether NitroTPM is supported\n (supported | unsupported).

      \n
    • \n
    • \n

      \n nitro-tpm-info.supported-versions - The supported NitroTPM version\n (2.0).

      \n
    • \n
    • \n

      \n processor-info.supported-architecture - The CPU architecture\n (arm64 | i386 | x86_64).

      \n
    • \n
    • \n

      \n processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in\n GHz.

      \n
    • \n
    • \n

      \n processor-info.supported-features - The supported CPU features\n (amd-sev-snp).

      \n
    • \n
    • \n

      \n supported-boot-mode - The boot mode (legacy-bios |\n uefi).

      \n
    • \n
    • \n

      \n supported-root-device-type - The root device type (ebs |\n instance-store).

      \n
    • \n
    • \n

      \n supported-usage-class - The usage class (on-demand | spot | \n capacity-block).

      \n
    • \n
    • \n

      \n supported-virtualization-type - The virtualization type (hvm |\n paravirtual).

      \n
    • \n
    • \n

      \n vcpu-info.default-cores - The default number of cores for the instance\n type.

      \n
    • \n
    • \n

      \n vcpu-info.default-threads-per-core - The default number of threads per core\n for the instance type.

      \n
    • \n
    • \n

      \n vcpu-info.default-vcpus - The default number of vCPUs for the instance\n type.

      \n
    • \n
    • \n

      \n vcpu-info.valid-cores - The number of cores that can be configured for the\n instance type.

      \n
    • \n
    • \n

      \n vcpu-info.valid-threads-per-core - The number of threads per core that can be\n configured for the instance type. For example, \"1\" or \"1,2\".

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

    One or more filters. Filter names and values are case-sensitive.

    \n
      \n
    • \n

      \n auto-recovery-supported - Indicates whether Amazon CloudWatch action\n based recovery is supported (true | false).

      \n
    • \n
    • \n

      \n bare-metal - Indicates whether it is a bare metal instance type\n (true | false).

      \n
    • \n
    • \n

      \n burstable-performance-supported - Indicates whether the instance type is a\n burstable performance T instance type (true | false).

      \n
    • \n
    • \n

      \n current-generation - Indicates whether this instance type is the latest\n generation instance type of an instance family (true | false).

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline\n bandwidth performance for an EBS-optimized instance type, in Mbps.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage\n operations per second for an EBS-optimized instance type.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline\n throughput performance for an EBS-optimized instance type, in MB/s.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth\n performance for an EBS-optimized instance type, in Mbps.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage\n operations per second for an EBS-optimized instance type.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum\n throughput performance for an EBS-optimized instance type, in MB/s.

      \n
    • \n
    • \n

      \n ebs-info.ebs-optimized-support - Indicates whether the instance type is\n EBS-optimized (supported | unsupported |\n default).

      \n
    • \n
    • \n

      \n ebs-info.encryption-support - Indicates whether EBS encryption is supported\n (supported | unsupported).

      \n
    • \n
    • \n

      \n ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe)\n is supported for EBS volumes (required | supported |\n unsupported).

      \n
    • \n
    • \n

      \n free-tier-eligible - Indicates whether the instance type is eligible to use\n in the free tier (true | false).

      \n
    • \n
    • \n

      \n hibernation-supported - Indicates whether On-Demand hibernation is supported\n (true | false).

      \n
    • \n
    • \n

      \n hypervisor - The hypervisor (nitro | xen).

      \n
    • \n
    • \n

      \n instance-storage-info.disk.count - The number of local disks.

      \n
    • \n
    • \n

      \n instance-storage-info.disk.size-in-gb - The storage size of each instance\n storage disk, in GB.

      \n
    • \n
    • \n

      \n instance-storage-info.disk.type - The storage technology for the local\n instance storage disks (hdd | ssd).

      \n
    • \n
    • \n

      \n instance-storage-info.encryption-support - Indicates whether data is\n encrypted at rest (required | supported |\n unsupported).

      \n
    • \n
    • \n

      \n instance-storage-info.nvme-support - Indicates whether non-volatile memory\n express (NVMe) is supported for instance store (required | supported\n | unsupported).

      \n
    • \n
    • \n

      \n instance-storage-info.total-size-in-gb - The total amount of storage\n available from all local instance storage, in GB.

      \n
    • \n
    • \n

      \n instance-storage-supported - Indicates whether the instance type has local\n instance storage (true | false).

      \n
    • \n
    • \n

      \n instance-type - The instance type (for example c5.2xlarge or\n c5*).

      \n
    • \n
    • \n

      \n memory-info.size-in-mib - The memory size.

      \n
    • \n
    • \n

      \n network-info.bandwidth-weightings - For instances that support bandwidth \n weighting to boost performance (default, vpc-1, ebs-1).

      \n
    • \n
    • \n

      \n network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic\n Fabric Adapters (EFAs) per instance.

      \n
    • \n
    • \n

      \n network-info.efa-supported - Indicates whether the instance type supports\n Elastic Fabric Adapter (EFA) (true | false).

      \n
    • \n
    • \n

      \n network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is\n supported or required (required | supported |\n unsupported).

      \n
    • \n
    • \n

      \n network-info.encryption-in-transit-supported - Indicates whether the instance\n type automatically encrypts in-transit traffic between instances (true | false).

      \n
    • \n
    • \n

      \n network-info.ipv4-addresses-per-interface - The maximum number of private\n IPv4 addresses per network interface.

      \n
    • \n
    • \n

      \n network-info.ipv6-addresses-per-interface - The maximum number of private\n IPv6 addresses per network interface.

      \n
    • \n
    • \n

      \n network-info.ipv6-supported - Indicates whether the instance type supports\n IPv6 (true | false).

      \n
    • \n
    • \n

      \n network-info.maximum-network-cards - The maximum number of network cards per\n instance.

      \n
    • \n
    • \n

      \n network-info.maximum-network-interfaces - The maximum number of network\n interfaces per instance.

      \n
    • \n
    • \n

      \n network-info.network-performance - The network performance (for example, \"25\n Gigabit\").

      \n
    • \n
    • \n

      \n nitro-enclaves-support - Indicates whether Nitro Enclaves is supported\n (supported | unsupported).

      \n
    • \n
    • \n

      \n nitro-tpm-support - Indicates whether NitroTPM is supported\n (supported | unsupported).

      \n
    • \n
    • \n

      \n nitro-tpm-info.supported-versions - The supported NitroTPM version\n (2.0).

      \n
    • \n
    • \n

      \n processor-info.supported-architecture - The CPU architecture\n (arm64 | i386 | x86_64).

      \n
    • \n
    • \n

      \n processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in\n GHz.

      \n
    • \n
    • \n

      \n processor-info.supported-features - The supported CPU features\n (amd-sev-snp).

      \n
    • \n
    • \n

      \n supported-boot-mode - The boot mode (legacy-bios |\n uefi).

      \n
    • \n
    • \n

      \n supported-root-device-type - The root device type (ebs |\n instance-store).

      \n
    • \n
    • \n

      \n supported-usage-class - The usage class (on-demand | spot | \n capacity-block).

      \n
    • \n
    • \n

      \n supported-virtualization-type - The virtualization type (hvm |\n paravirtual).

      \n
    • \n
    • \n

      \n vcpu-info.default-cores - The default number of cores for the instance\n type.

      \n
    • \n
    • \n

      \n vcpu-info.default-threads-per-core - The default number of threads per core\n for the instance type.

      \n
    • \n
    • \n

      \n vcpu-info.default-vcpus - The default number of vCPUs for the instance\n type.

      \n
    • \n
    • \n

      \n vcpu-info.valid-cores - The number of cores that can be configured for the\n instance type.

      \n
    • \n
    • \n

      \n vcpu-info.valid-threads-per-core - The number of threads per core that can be\n configured for the instance type. For example, \"1\" or \"1,2\".

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

    The filters.

    \n
      \n
    • \n

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

      \n
    • \n
    • \n

      \n architecture - The instance architecture (i386 |\n x86_64 | arm64).

      \n
    • \n
    • \n

      \n availability-zone - The Availability Zone of the instance.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n dns-name - The public DNS name of the instance.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n instance-id - The ID of the instance.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n instance.group-id - The ID of the security group for the\n instance.

      \n
    • \n
    • \n

      \n instance.group-name - The name of the security group for the\n instance.

      \n
    • \n
    • \n

      \n ip-address - The public IPv4 address of the instance.

      \n
    • \n
    • \n

      \n ipv6-address - The IPv6 address of the instance.

      \n
    • \n
    • \n

      \n kernel-id - The kernel ID.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n launch-time - The time when the instance was launched, in the ISO\n 8601 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\n (*), for example, 2021-09-29T*, which matches an\n entire day.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.addresses.association.allocation-id - The allocation ID.

      \n
    • \n
    • \n

      \n network-interface.addresses.association.association-id - The association ID.

      \n
    • \n
    • \n

      \n network-interface.addresses.association.carrier-ip - The carrier IP address.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.addresses.association.public-dns-name - The public DNS name.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.addresses.private-dns-name - The private DNS name.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.association.carrier-ip - The customer-owned IP address.

      \n
    • \n
    • \n

      \n network-interface.association.customer-owned-ip - The customer-owned IP address.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.association.public-dns-name - The public DNS name.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.attachment.network-card-index - The index of the network card.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.deny-all-igw-traffic - A Boolean that indicates whether \n a network interface with an IPv6 address is unreachable from the public internet.

      \n
    • \n
    • \n

      \n network-interface.description - The description of the network\n interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this\n is the primary IPv6 address.

      \n
    • \n
    • \n

      \n network-interface.ipv6-native - A Boolean that indicates whether this is\n an IPv6 only network interface.

      \n
    • \n
    • \n

      \n network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.operator.managed - A Boolean that indicates\n whether the instance has a managed network interface.

      \n
    • \n
    • \n

      \n network-interface.operator.principal - The principal that manages\n the network interface. Only valid for instances with managed network interfaces,\n where managed is true.

      \n
    • \n
    • \n

      \n network-interface.outpost-arn - The ARN of the Outpost.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.private-ip-address - The private IPv4 address.

      \n
    • \n
    • \n

      \n network-interface.public-dns-name - The public DNS name.

      \n
    • \n
    • \n

      \n network-interface.requester-id - The requester ID for the network\n interface.

      \n
    • \n
    • \n

      \n network-interface.requester-managed - Indicates whether the\n network interface is being managed by Amazon Web Services.

      \n
    • \n
    • \n

      \n network-interface.status - The status of the network interface\n (available) | in-use).

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.tag-key - The key of a tag assigned to the network interface.

      \n
    • \n
    • \n

      \n network-interface.tag-value - The value of a tag assigned to the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n operator.managed - A Boolean that indicates whether this is a\n managed instance.

      \n
    • \n
    • \n

      \n operator.principal - The principal that manages the instance.\n Only valid for managed instances, where managed is\n true.

      \n
    • \n
    • \n

      \n outpost-arn - The Amazon Resource Name (ARN) of the\n Outpost.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n placement-group-name - The name of the placement group for the\n instance.

      \n
    • \n
    • \n

      \n placement-partition-number - The partition in which the instance is\n located.

      \n
    • \n
    • \n

      \n platform - The platform. To list only Windows instances, use\n windows.

      \n
    • \n
    • \n

      \n platform-details - The platform (Linux/UNIX |\n Red Hat BYOL Linux | Red Hat Enterprise Linux |\n Red Hat Enterprise Linux with HA | Red Hat Enterprise\n Linux with SQL Server Standard and HA | Red Hat Enterprise\n Linux with SQL Server Enterprise and HA | Red Hat Enterprise\n Linux with SQL Server Standard | Red Hat Enterprise Linux with\n SQL Server Web | Red Hat Enterprise Linux with SQL Server\n Enterprise | SQL Server Enterprise | SQL Server\n Standard | SQL Server Web | SUSE Linux |\n Ubuntu Pro | Windows | Windows BYOL |\n Windows with SQL Server Enterprise | Windows with SQL\n Server Standard | Windows with SQL Server Web).

      \n
    • \n
    • \n

      \n private-dns-name - The private IPv4 DNS name of the\n instance.

      \n
    • \n
    • \n

      \n private-dns-name-options.enable-resource-name-dns-a-record - A\n Boolean that indicates whether to respond to DNS queries for instance hostnames\n with DNS A records.

      \n
    • \n
    • \n

      \n private-dns-name-options.enable-resource-name-dns-aaaa-record - A\n Boolean that indicates whether to respond to DNS queries for instance hostnames\n with DNS AAAA records.

      \n
    • \n
    • \n

      \n private-dns-name-options.hostname-type - The type of hostname\n (ip-name | resource-name).

      \n
    • \n
    • \n

      \n private-ip-address - The private IPv4 address of the instance.\n This can only be used to filter by the primary IP address of the network\n interface attached to the instance. To filter by additional IP addresses\n assigned to the network interface, use the filter\n network-interface.addresses.private-ip-address.

      \n
    • \n
    • \n

      \n product-code - The product code associated with the AMI used to\n launch the instance.

      \n
    • \n
    • \n

      \n product-code.type - The type of product code (devpay\n | marketplace).

      \n
    • \n
    • \n

      \n ramdisk-id - The RAM disk ID.

      \n
    • \n
    • \n

      \n reason - The reason for the current state of the instance (for\n example, shows \"User Initiated [date]\" when you stop or terminate the instance).\n Similar to the state-reason-code filter.

      \n
    • \n
    • \n

      \n requester-id - The ID of the entity that launched the instance on\n your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so\n on).

      \n
    • \n
    • \n

      \n reservation-id - The ID of the instance's reservation. A\n reservation ID is created any time you launch an instance. A reservation ID has\n a one-to-one relationship with an instance launch request, but can be associated\n with more than one instance if you launch multiple instances using the same\n launch request. For example, if you launch one instance, you get one reservation\n ID. If you launch ten instances using the same launch request, you also get one\n reservation ID.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n spot-instance-request-id - The ID of the Spot Instance\n request.

      \n
    • \n
    • \n

      \n state-reason-code - The reason code for the state change.

      \n
    • \n
    • \n

      \n state-reason-message - A message that describes the state\n change.

      \n
    • \n
    • \n

      \n subnet-id - The ID of the subnet for 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 that have a tag with a specific key, regardless of the tag value.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

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

    The filters.

    \n
      \n
    • \n

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

      \n
    • \n
    • \n

      \n architecture - The instance architecture (i386 |\n x86_64 | arm64).

      \n
    • \n
    • \n

      \n availability-zone - The Availability Zone of the instance.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n dns-name - The public DNS name of the instance.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n instance-id - The ID of the instance.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n instance.group-id - The ID of the security group for the\n instance.

      \n
    • \n
    • \n

      \n instance.group-name - The name of the security group for the\n instance.

      \n
    • \n
    • \n

      \n ip-address - The public IPv4 address of the instance.

      \n
    • \n
    • \n

      \n ipv6-address - The IPv6 address of the instance.

      \n
    • \n
    • \n

      \n kernel-id - The kernel ID.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n launch-time - The time when the instance was launched, in the ISO\n 8601 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\n (*), for example, 2021-09-29T*, which matches an\n entire day.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.addresses.association.allocation-id - The allocation ID.

      \n
    • \n
    • \n

      \n network-interface.addresses.association.association-id - The association ID.

      \n
    • \n
    • \n

      \n network-interface.addresses.association.carrier-ip - The carrier IP address.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.addresses.association.public-dns-name - The public DNS name.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.addresses.private-dns-name - The private DNS name.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.association.carrier-ip - The customer-owned IP address.

      \n
    • \n
    • \n

      \n network-interface.association.customer-owned-ip - The customer-owned IP address.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.association.public-dns-name - The public DNS name.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.attachment.network-card-index - The index of the network card.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.deny-all-igw-traffic - A Boolean that indicates whether \n a network interface with an IPv6 address is unreachable from the public internet.

      \n
    • \n
    • \n

      \n network-interface.description - The description of the network\n interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this\n is the primary IPv6 address.

      \n
    • \n
    • \n

      \n network-interface.ipv6-native - A Boolean that indicates whether this is\n an IPv6 only network interface.

      \n
    • \n
    • \n

      \n network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.operator.managed - A Boolean that indicates\n whether the instance has a managed network interface.

      \n
    • \n
    • \n

      \n network-interface.operator.principal - The principal that manages\n the network interface. Only valid for instances with managed network interfaces,\n where managed is true.

      \n
    • \n
    • \n

      \n network-interface.outpost-arn - The ARN of the Outpost.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.private-ip-address - The private IPv4 address.

      \n
    • \n
    • \n

      \n network-interface.public-dns-name - The public DNS name.

      \n
    • \n
    • \n

      \n network-interface.requester-id - The requester ID for the network\n interface.

      \n
    • \n
    • \n

      \n network-interface.requester-managed - Indicates whether the\n network interface is being managed by Amazon Web Services.

      \n
    • \n
    • \n

      \n network-interface.status - The status of the network interface\n (available) | in-use).

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-interface.tag-key - The key of a tag assigned to the network interface.

      \n
    • \n
    • \n

      \n network-interface.tag-value - The value of a tag assigned to the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n network-performance-options.bandwidth-weighting - Where the performance boost \n \t\t\tis applied, if applicable. Valid values: default, vpc-1, \n \t\t\tebs-1.

      \n
    • \n
    • \n

      \n operator.managed - A Boolean that indicates whether this is a\n managed instance.

      \n
    • \n
    • \n

      \n operator.principal - The principal that manages the instance.\n Only valid for managed instances, where managed is\n true.

      \n
    • \n
    • \n

      \n outpost-arn - The Amazon Resource Name (ARN) of the\n Outpost.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n placement-group-name - The name of the placement group for the\n instance.

      \n
    • \n
    • \n

      \n placement-partition-number - The partition in which the instance is\n located.

      \n
    • \n
    • \n

      \n platform - The platform. To list only Windows instances, use\n windows.

      \n
    • \n
    • \n

      \n platform-details - The platform (Linux/UNIX |\n Red Hat BYOL Linux | Red Hat Enterprise Linux |\n Red Hat Enterprise Linux with HA | Red Hat Enterprise\n Linux with SQL Server Standard and HA | Red Hat Enterprise\n Linux with SQL Server Enterprise and HA | Red Hat Enterprise\n Linux with SQL Server Standard | Red Hat Enterprise Linux with\n SQL Server Web | Red Hat Enterprise Linux with SQL Server\n Enterprise | SQL Server Enterprise | SQL Server\n Standard | SQL Server Web | SUSE Linux |\n Ubuntu Pro | Windows | Windows BYOL |\n Windows with SQL Server Enterprise | Windows with SQL\n Server Standard | Windows with SQL Server Web).

      \n
    • \n
    • \n

      \n private-dns-name - The private IPv4 DNS name of the\n instance.

      \n
    • \n
    • \n

      \n private-dns-name-options.enable-resource-name-dns-a-record - A\n Boolean that indicates whether to respond to DNS queries for instance hostnames\n with DNS A records.

      \n
    • \n
    • \n

      \n private-dns-name-options.enable-resource-name-dns-aaaa-record - A\n Boolean that indicates whether to respond to DNS queries for instance hostnames\n with DNS AAAA records.

      \n
    • \n
    • \n

      \n private-dns-name-options.hostname-type - The type of hostname\n (ip-name | resource-name).

      \n
    • \n
    • \n

      \n private-ip-address - The private IPv4 address of the instance.\n This can only be used to filter by the primary IP address of the network\n interface attached to the instance. To filter by additional IP addresses\n assigned to the network interface, use the filter\n network-interface.addresses.private-ip-address.

      \n
    • \n
    • \n

      \n product-code - The product code associated with the AMI used to\n launch the instance.

      \n
    • \n
    • \n

      \n product-code.type - The type of product code (devpay\n | marketplace).

      \n
    • \n
    • \n

      \n ramdisk-id - The RAM disk ID.

      \n
    • \n
    • \n

      \n reason - The reason for the current state of the instance (for\n example, shows \"User Initiated [date]\" when you stop or terminate the instance).\n Similar to the state-reason-code filter.

      \n
    • \n
    • \n

      \n requester-id - The ID of the entity that launched the instance on\n your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so\n on).

      \n
    • \n
    • \n

      \n reservation-id - The ID of the instance's reservation. A\n reservation ID is created any time you launch an instance. A reservation ID has\n a one-to-one relationship with an instance launch request, but can be associated\n with more than one instance if you launch multiple instances using the same\n launch request. For example, if you launch one instance, you get one reservation\n ID. If you launch ten instances using the same launch request, you also get one\n reservation ID.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n spot-instance-request-id - The ID of the Spot Instance\n request.

      \n
    • \n
    • \n

      \n state-reason-code - The reason code for the state change.

      \n
    • \n
    • \n

      \n state-reason-message - A message that describes the state\n change.

      \n
    • \n
    • \n

      \n subnet-id - The ID of the subnet for 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 that have a tag with a specific key, regardless of the tag value.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

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

    One or more filters.

    \n
      \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n description - The description of the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n operator.managed - A Boolean that indicates whether this is a\n managed network interface.

      \n
    • \n
    • \n

      \n operator.principal - The principal that manages the network\n interface. Only valid for managed network interfaces, where managed\n is true.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

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

    One or more filters.

    \n
      \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n description - The description of the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    ", "smithy.api#xmlName": "filter" } } @@ -61641,6 +61676,14 @@ "smithy.api#xmlName": "currentInstanceBootMode" } }, + "NetworkPerformanceOptions": { + "target": "com.amazonaws.ec2#InstanceNetworkPerformanceOptions", + "traits": { + "aws.protocols#ec2QueryName": "NetworkPerformanceOptions", + "smithy.api#documentation": "

    Contains settings for the network performance options for your instance.

    ", + "smithy.api#xmlName": "networkPerformanceOptions" + } + }, "Operator": { "target": "com.amazonaws.ec2#OperatorResponse", "traits": { @@ -62116,6 +62159,29 @@ } } }, + "com.amazonaws.ec2#InstanceBandwidthWeighting": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "VPC_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc-1" + } + }, + "EBS_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ebs-1" + } + } + } + }, "com.amazonaws.ec2#InstanceBlockDeviceMapping": { "type": "structure", "members": { @@ -63878,6 +63944,36 @@ } } }, + "com.amazonaws.ec2#InstanceNetworkPerformanceOptions": { + "type": "structure", + "members": { + "BandwidthWeighting": { + "target": "com.amazonaws.ec2#InstanceBandwidthWeighting", + "traits": { + "aws.protocols#ec2QueryName": "BandwidthWeighting", + "smithy.api#documentation": "

    When you configure network bandwidth weighting, you can boost your baseline bandwidth for either \n \t\tnetworking or EBS by up to 25%. The total available baseline bandwidth for your instance remains \n \t\tthe same. The default option uses the standard bandwidth configuration for your instance type.

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

    With network performance options, you can adjust your bandwidth preferences to meet \n \t\tthe needs of the workload that runs on your instance.

    " + } + }, + "com.amazonaws.ec2#InstanceNetworkPerformanceOptionsRequest": { + "type": "structure", + "members": { + "BandwidthWeighting": { + "target": "com.amazonaws.ec2#InstanceBandwidthWeighting", + "traits": { + "smithy.api#documentation": "

    Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, \n \t\tas follows:

    \n
    \n
    default
    \n
    \n

    This option uses the standard bandwidth configuration for your instance type.

    \n
    \n
    vpc-1
    \n
    \n

    This option boosts your networking baseline bandwidth and reduces your EBS baseline \n \t\t\t\t\tbandwidth.

    \n
    \n
    ebs-1
    \n
    \n

    This option boosts your EBS baseline bandwidth and reduces your networking baseline \n \t\t\t\t\tbandwidth.

    \n
    \n
    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Configure network performance options for your instance that are geared towards performance \n \t\timprovements based on the workload that it runs.

    " + } + }, "com.amazonaws.ec2#InstancePrivateIpAddress": { "type": "structure", "members": { @@ -75947,6 +76043,36 @@ } } }, + "com.amazonaws.ec2#LaunchTemplateNetworkPerformanceOptions": { + "type": "structure", + "members": { + "BandwidthWeighting": { + "target": "com.amazonaws.ec2#InstanceBandwidthWeighting", + "traits": { + "aws.protocols#ec2QueryName": "BandwidthWeighting", + "smithy.api#documentation": "

    When you configure network bandwidth weighting, you can boost baseline bandwidth for either networking \n \t\tor EBS by up to 25%. The total available baseline bandwidth for your instance remains \n the same. The default option uses the standard bandwidth configuration for your instance type.

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

    With network performance options, you can adjust your bandwidth preferences to meet \n \t\tthe needs of the workload that runs on your instance at launch.

    " + } + }, + "com.amazonaws.ec2#LaunchTemplateNetworkPerformanceOptionsRequest": { + "type": "structure", + "members": { + "BandwidthWeighting": { + "target": "com.amazonaws.ec2#InstanceBandwidthWeighting", + "traits": { + "smithy.api#documentation": "

    Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:

    \n
    \n
    default
    \n
    \n

    This option uses the standard bandwidth configuration for your instance type.

    \n
    \n
    vpc-1
    \n
    \n

    This option boosts your networking baseline bandwidth and reduces your EBS \n \t\t\t\t\tbaseline bandwidth.

    \n
    \n
    ebs-1
    \n
    \n

    This option boosts your EBS baseline bandwidth and reduces your networking \n \t\t\t\t\tbaseline bandwidth.

    \n
    \n
    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    When you configure network performance options in your launch template, your instance \n \t\tis geared for performance improvements based on the workload that it runs as soon as it's \n \t\tavailable.

    " + } + }, "com.amazonaws.ec2#LaunchTemplateOverrides": { "type": "structure", "members": { @@ -80290,6 +80416,72 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#ModifyInstanceNetworkPerformanceOptions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyInstanceNetworkPerformanceRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyInstanceNetworkPerformanceResult" + }, + "traits": { + "smithy.api#documentation": "

    Change the configuration of the network performance options for an existing \n \tinstance.

    " + } + }, + "com.amazonaws.ec2#ModifyInstanceNetworkPerformanceRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

    The ID of the instance to update.

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

    Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:

    \n
    \n
    default
    \n
    \n

    This option uses the standard bandwidth configuration for your instance type.

    \n
    \n
    vpc-1
    \n
    \n

    This option boosts your networking baseline bandwidth and reduces your EBS \n \t\t\t\t\tbaseline bandwidth.

    \n
    \n
    ebs-1
    \n
    \n

    This option boosts your EBS baseline bandwidth and reduces your networking \n \t\t\t\t\tbaseline bandwidth.

    \n
    \n
    ", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

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

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyInstanceNetworkPerformanceResult": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.ec2#InstanceId", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

    The instance ID that was updated.

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

    Contains the updated configuration for bandwidth weighting on the specified instance.

    ", + "smithy.api#xmlName": "bandwidthWeighting" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#ModifyInstancePlacement": { "type": "operation", "input": { @@ -85573,6 +85765,14 @@ "smithy.api#documentation": "

    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\n and minimize tail latency of network traffic between EC2 instances.

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

    A list of valid settings for configurable bandwidth weighting for the instance\n \ttype, if supported.

    ", + "smithy.api#xmlName": "bandwidthWeightings" + } } }, "traits": { @@ -93476,6 +93676,12 @@ "traits": { "smithy.api#documentation": "

    The entity that manages the launch template.

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

    Contains launch template settings to boost network performance for the type of \n \tworkload that runs on your instance.

    " + } } }, "traits": { @@ -96218,6 +96424,14 @@ "smithy.api#documentation": "

    The entity that manages the launch template.

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

    Contains the launch template settings for network performance options for \n \tyour instance.

    ", + "smithy.api#xmlName": "networkPerformanceOptions" + } } }, "traits": { @@ -97893,6 +98107,12 @@ "smithy.api#documentation": "

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

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

    Contains settings for the network performance options for the instance.

    " + } + }, "Operator": { "target": "com.amazonaws.ec2#OperatorRequest", "traits": {