From 095a3b870df7963495a112130f1526506f9cda99 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 30 Oct 2024 18:19:42 +0000 Subject: [PATCH] feat(client-ec2): This release adds two new capabilities to VPC Security Groups: Security Group VPC Associations and Shared Security Groups. --- clients/client-ec2/README.md | 24 + clients/client-ec2/src/EC2.ts | 70 +++ clients/client-ec2/src/EC2Client.ts | 18 + .../AssociateSecurityGroupVpcCommand.ts | 113 ++++ .../AuthorizeSecurityGroupEgressCommand.ts | 1 + .../AuthorizeSecurityGroupIngressCommand.ts | 1 + ...teCapacityReservationBySplittingCommand.ts | 6 +- .../CreateCapacityReservationCommand.ts | 3 +- .../CreateNetworkInsightsPathCommand.ts | 3 +- .../commands/CreateSecurityGroupCommand.ts | 1 + .../CreateTrafficMirrorSessionCommand.ts | 2 +- .../commands/DeleteLaunchTemplateCommand.ts | 2 +- .../DeleteLaunchTemplateVersionsCommand.ts | 3 +- .../commands/DeleteSecurityGroupCommand.ts | 4 +- .../src/commands/DescribeIdFormatCommand.ts | 2 +- .../DescribeSecurityGroupReferencesCommand.ts | 2 +- .../DescribeSecurityGroupRulesCommand.ts | 1 + ...ribeSecurityGroupVpcAssociationsCommand.ts | 119 ++++ .../commands/DescribeSecurityGroupsCommand.ts | 1 + ...DescribeSpotDatafeedSubscriptionCommand.ts | 3 +- .../DescribeSpotFleetInstancesCommand.ts | 2 +- .../DescribeSpotFleetRequestHistoryCommand.ts | 3 +- .../DescribeStaleSecurityGroupsCommand.ts | 11 +- .../DisassociateSecurityGroupVpcCommand.ts | 98 ++++ .../src/commands/GetConsoleOutputCommand.ts | 3 +- .../commands/GetConsoleScreenshotCommand.ts | 2 +- .../GetDefaultCreditSpecificationCommand.ts | 2 +- .../commands/GetEbsDefaultKmsKeyIdCommand.ts | 3 +- ...odifyVerifiedAccessTrustProviderCommand.ts | 2 +- .../commands/ModifyVolumeAttributeCommand.ts | 2 +- .../src/commands/ModifyVolumeCommand.ts | 2 +- .../src/commands/ModifyVpcAttributeCommand.ts | 2 +- .../src/commands/ModifyVpcEndpointCommand.ts | 2 +- .../RevokeSecurityGroupEgressCommand.ts | 15 + .../RevokeSecurityGroupIngressCommand.ts | 15 + clients/client-ec2/src/commands/index.ts | 3 + clients/client-ec2/src/models/models_0.ts | 346 ++---------- clients/client-ec2/src/models/models_1.ts | 424 +++++++++----- clients/client-ec2/src/models/models_2.ts | 214 ++++--- clients/client-ec2/src/models/models_3.ts | 141 +++-- clients/client-ec2/src/models/models_4.ts | 404 +++++++------- clients/client-ec2/src/models/models_5.ts | 382 ++++++++----- clients/client-ec2/src/models/models_6.ts | 522 +++++------------- clients/client-ec2/src/models/models_7.ts | 469 +++++++++++++++- ...beSecurityGroupVpcAssociationsPaginator.ts | 24 + clients/client-ec2/src/pagination/index.ts | 1 + clients/client-ec2/src/protocols/Aws_ec2.ts | 424 ++++++++++++-- codegen/sdk-codegen/aws-models/ec2.json | 483 +++++++++++++++- 48 files changed, 3007 insertions(+), 1373 deletions(-) create mode 100644 clients/client-ec2/src/commands/AssociateSecurityGroupVpcCommand.ts create mode 100644 clients/client-ec2/src/commands/DescribeSecurityGroupVpcAssociationsCommand.ts create mode 100644 clients/client-ec2/src/commands/DisassociateSecurityGroupVpcCommand.ts create mode 100644 clients/client-ec2/src/pagination/DescribeSecurityGroupVpcAssociationsPaginator.ts diff --git a/clients/client-ec2/README.md b/clients/client-ec2/README.md index 3e90feeba098..e95635548af0 100644 --- a/clients/client-ec2/README.md +++ b/clients/client-ec2/README.md @@ -421,6 +421,14 @@ AssociateRouteTable [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/AssociateRouteTableCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/AssociateRouteTableCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/AssociateRouteTableCommandOutput/) + +
+ +AssociateSecurityGroupVpc + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/AssociateSecurityGroupVpcCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/AssociateSecurityGroupVpcCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/AssociateSecurityGroupVpcCommandOutput/) +
@@ -2829,6 +2837,14 @@ DescribeSecurityGroups [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DescribeSecurityGroupsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeSecurityGroupsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeSecurityGroupsCommandOutput/) +
+
+ +DescribeSecurityGroupVpcAssociations + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DescribeSecurityGroupVpcAssociationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeSecurityGroupVpcAssociationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DescribeSecurityGroupVpcAssociationsCommandOutput/) +
@@ -3485,6 +3501,14 @@ DisassociateRouteTable [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DisassociateRouteTableCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DisassociateRouteTableCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DisassociateRouteTableCommandOutput/) +
+
+ +DisassociateSecurityGroupVpc + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/DisassociateSecurityGroupVpcCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DisassociateSecurityGroupVpcCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/DisassociateSecurityGroupVpcCommandOutput/) +
diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index 9d37d5d61438..53a9f0c17cab 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -137,6 +137,11 @@ import { AssociateRouteTableCommandInput, AssociateRouteTableCommandOutput, } from "./commands/AssociateRouteTableCommand"; +import { + AssociateSecurityGroupVpcCommand, + AssociateSecurityGroupVpcCommandInput, + AssociateSecurityGroupVpcCommandOutput, +} from "./commands/AssociateSecurityGroupVpcCommand"; import { AssociateSubnetCidrBlockCommand, AssociateSubnetCidrBlockCommandInput, @@ -1598,6 +1603,11 @@ import { DescribeSecurityGroupsCommandInput, DescribeSecurityGroupsCommandOutput, } from "./commands/DescribeSecurityGroupsCommand"; +import { + DescribeSecurityGroupVpcAssociationsCommand, + DescribeSecurityGroupVpcAssociationsCommandInput, + DescribeSecurityGroupVpcAssociationsCommandOutput, +} from "./commands/DescribeSecurityGroupVpcAssociationsCommand"; import { DescribeSnapshotAttributeCommand, DescribeSnapshotAttributeCommandInput, @@ -2008,6 +2018,11 @@ import { DisassociateRouteTableCommandInput, DisassociateRouteTableCommandOutput, } from "./commands/DisassociateRouteTableCommand"; +import { + DisassociateSecurityGroupVpcCommand, + DisassociateSecurityGroupVpcCommandInput, + DisassociateSecurityGroupVpcCommandOutput, +} from "./commands/DisassociateSecurityGroupVpcCommand"; import { DisassociateSubnetCidrBlockCommand, DisassociateSubnetCidrBlockCommandInput, @@ -3134,6 +3149,7 @@ const commands = { AssociateIpamResourceDiscoveryCommand, AssociateNatGatewayAddressCommand, AssociateRouteTableCommand, + AssociateSecurityGroupVpcCommand, AssociateSubnetCidrBlockCommand, AssociateTransitGatewayMulticastDomainCommand, AssociateTransitGatewayPolicyTableCommand, @@ -3435,6 +3451,7 @@ const commands = { DescribeSecurityGroupReferencesCommand, DescribeSecurityGroupRulesCommand, DescribeSecurityGroupsCommand, + DescribeSecurityGroupVpcAssociationsCommand, DescribeSnapshotAttributeCommand, DescribeSnapshotsCommand, DescribeSnapshotTierStatusCommand, @@ -3517,6 +3534,7 @@ const commands = { DisassociateIpamResourceDiscoveryCommand, DisassociateNatGatewayAddressCommand, DisassociateRouteTableCommand, + DisassociateSecurityGroupVpcCommand, DisassociateSubnetCidrBlockCommand, DisassociateTransitGatewayMulticastDomainCommand, DisassociateTransitGatewayPolicyTableCommand, @@ -4197,6 +4215,23 @@ export interface EC2 { cb: (err: any, data?: AssociateRouteTableCommandOutput) => void ): void; + /** + * @see {@link AssociateSecurityGroupVpcCommand} + */ + associateSecurityGroupVpc( + args: AssociateSecurityGroupVpcCommandInput, + options?: __HttpHandlerOptions + ): Promise; + associateSecurityGroupVpc( + args: AssociateSecurityGroupVpcCommandInput, + cb: (err: any, data?: AssociateSecurityGroupVpcCommandOutput) => void + ): void; + associateSecurityGroupVpc( + args: AssociateSecurityGroupVpcCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateSecurityGroupVpcCommandOutput) => void + ): void; + /** * @see {@link AssociateSubnetCidrBlockCommand} */ @@ -9225,6 +9260,24 @@ export interface EC2 { cb: (err: any, data?: DescribeSecurityGroupsCommandOutput) => void ): void; + /** + * @see {@link DescribeSecurityGroupVpcAssociationsCommand} + */ + describeSecurityGroupVpcAssociations(): Promise; + describeSecurityGroupVpcAssociations( + args: DescribeSecurityGroupVpcAssociationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeSecurityGroupVpcAssociations( + args: DescribeSecurityGroupVpcAssociationsCommandInput, + cb: (err: any, data?: DescribeSecurityGroupVpcAssociationsCommandOutput) => void + ): void; + describeSecurityGroupVpcAssociations( + args: DescribeSecurityGroupVpcAssociationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeSecurityGroupVpcAssociationsCommandOutput) => void + ): void; + /** * @see {@link DescribeSnapshotAttributeCommand} */ @@ -10639,6 +10692,23 @@ export interface EC2 { cb: (err: any, data?: DisassociateRouteTableCommandOutput) => void ): void; + /** + * @see {@link DisassociateSecurityGroupVpcCommand} + */ + disassociateSecurityGroupVpc( + args: DisassociateSecurityGroupVpcCommandInput, + options?: __HttpHandlerOptions + ): Promise; + disassociateSecurityGroupVpc( + args: DisassociateSecurityGroupVpcCommandInput, + cb: (err: any, data?: DisassociateSecurityGroupVpcCommandOutput) => void + ): void; + disassociateSecurityGroupVpc( + args: DisassociateSecurityGroupVpcCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateSecurityGroupVpcCommandOutput) => void + ): void; + /** * @see {@link DisassociateSubnetCidrBlockCommand} */ diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index fd44d9d4112a..0a41d878b8dc 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -149,6 +149,10 @@ import { AssociateRouteTableCommandInput, AssociateRouteTableCommandOutput, } from "./commands/AssociateRouteTableCommand"; +import { + AssociateSecurityGroupVpcCommandInput, + AssociateSecurityGroupVpcCommandOutput, +} from "./commands/AssociateSecurityGroupVpcCommand"; import { AssociateSubnetCidrBlockCommandInput, AssociateSubnetCidrBlockCommandOutput, @@ -1134,6 +1138,10 @@ import { DescribeSecurityGroupsCommandInput, DescribeSecurityGroupsCommandOutput, } from "./commands/DescribeSecurityGroupsCommand"; +import { + DescribeSecurityGroupVpcAssociationsCommandInput, + DescribeSecurityGroupVpcAssociationsCommandOutput, +} from "./commands/DescribeSecurityGroupVpcAssociationsCommand"; import { DescribeSnapshotAttributeCommandInput, DescribeSnapshotAttributeCommandOutput, @@ -1435,6 +1443,10 @@ import { DisassociateRouteTableCommandInput, DisassociateRouteTableCommandOutput, } from "./commands/DisassociateRouteTableCommand"; +import { + DisassociateSecurityGroupVpcCommandInput, + DisassociateSecurityGroupVpcCommandOutput, +} from "./commands/DisassociateSecurityGroupVpcCommand"; import { DisassociateSubnetCidrBlockCommandInput, DisassociateSubnetCidrBlockCommandOutput, @@ -2247,6 +2259,7 @@ export type ServiceInputTypes = | AssociateIpamResourceDiscoveryCommandInput | AssociateNatGatewayAddressCommandInput | AssociateRouteTableCommandInput + | AssociateSecurityGroupVpcCommandInput | AssociateSubnetCidrBlockCommandInput | AssociateTransitGatewayMulticastDomainCommandInput | AssociateTransitGatewayPolicyTableCommandInput @@ -2547,6 +2560,7 @@ export type ServiceInputTypes = | DescribeScheduledInstancesCommandInput | DescribeSecurityGroupReferencesCommandInput | DescribeSecurityGroupRulesCommandInput + | DescribeSecurityGroupVpcAssociationsCommandInput | DescribeSecurityGroupsCommandInput | DescribeSnapshotAttributeCommandInput | DescribeSnapshotTierStatusCommandInput @@ -2630,6 +2644,7 @@ export type ServiceInputTypes = | DisassociateIpamResourceDiscoveryCommandInput | DisassociateNatGatewayAddressCommandInput | DisassociateRouteTableCommandInput + | DisassociateSecurityGroupVpcCommandInput | DisassociateSubnetCidrBlockCommandInput | DisassociateTransitGatewayMulticastDomainCommandInput | DisassociateTransitGatewayPolicyTableCommandInput @@ -2886,6 +2901,7 @@ export type ServiceOutputTypes = | AssociateIpamResourceDiscoveryCommandOutput | AssociateNatGatewayAddressCommandOutput | AssociateRouteTableCommandOutput + | AssociateSecurityGroupVpcCommandOutput | AssociateSubnetCidrBlockCommandOutput | AssociateTransitGatewayMulticastDomainCommandOutput | AssociateTransitGatewayPolicyTableCommandOutput @@ -3186,6 +3202,7 @@ export type ServiceOutputTypes = | DescribeScheduledInstancesCommandOutput | DescribeSecurityGroupReferencesCommandOutput | DescribeSecurityGroupRulesCommandOutput + | DescribeSecurityGroupVpcAssociationsCommandOutput | DescribeSecurityGroupsCommandOutput | DescribeSnapshotAttributeCommandOutput | DescribeSnapshotTierStatusCommandOutput @@ -3269,6 +3286,7 @@ export type ServiceOutputTypes = | DisassociateIpamResourceDiscoveryCommandOutput | DisassociateNatGatewayAddressCommandOutput | DisassociateRouteTableCommandOutput + | DisassociateSecurityGroupVpcCommandOutput | DisassociateSubnetCidrBlockCommandOutput | DisassociateTransitGatewayMulticastDomainCommandOutput | DisassociateTransitGatewayPolicyTableCommandOutput diff --git a/clients/client-ec2/src/commands/AssociateSecurityGroupVpcCommand.ts b/clients/client-ec2/src/commands/AssociateSecurityGroupVpcCommand.ts new file mode 100644 index 000000000000..79114eacf4f0 --- /dev/null +++ b/clients/client-ec2/src/commands/AssociateSecurityGroupVpcCommand.ts @@ -0,0 +1,113 @@ +// 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 { AssociateSecurityGroupVpcRequest, AssociateSecurityGroupVpcResult } from "../models/models_0"; +import { de_AssociateSecurityGroupVpcCommand, se_AssociateSecurityGroupVpcCommand } from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link AssociateSecurityGroupVpcCommand}. + */ +export interface AssociateSecurityGroupVpcCommandInput extends AssociateSecurityGroupVpcRequest {} +/** + * @public + * + * The output of {@link AssociateSecurityGroupVpcCommand}. + */ +export interface AssociateSecurityGroupVpcCommandOutput extends AssociateSecurityGroupVpcResult, __MetadataBearer {} + +/** + *

Associates a security group with another VPC in the same Region. This enables you to use the same security group with network interfaces and instances in the specified VPC.

+ * + *
    + *
  • + *

    The VPC you want to associate the security group with must be in the same Region.

    + *
  • + *
  • + *

    You can associate the security group with another VPC if your account owns the VPC or if the VPC was shared with you.

    + *
  • + *
  • + *

    You must own the security group and the VPC that it was created in.

    + *
  • + *
  • + *

    You cannot use this feature with default security groups.

    + *
  • + *
  • + *

    You cannot use this feature with the default VPC.

    + *
  • + *
+ *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, AssociateSecurityGroupVpcCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, AssociateSecurityGroupVpcCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // AssociateSecurityGroupVpcRequest + * GroupId: "STRING_VALUE", // required + * VpcId: "STRING_VALUE", // required + * DryRun: true || false, + * }; + * const command = new AssociateSecurityGroupVpcCommand(input); + * const response = await client.send(command); + * // { // AssociateSecurityGroupVpcResult + * // State: "associating" || "associated" || "association-failed" || "disassociating" || "disassociated" || "disassociation-failed", + * // }; + * + * ``` + * + * @param AssociateSecurityGroupVpcCommandInput - {@link AssociateSecurityGroupVpcCommandInput} + * @returns {@link AssociateSecurityGroupVpcCommandOutput} + * @see {@link AssociateSecurityGroupVpcCommandInput} for command's `input` shape. + * @see {@link AssociateSecurityGroupVpcCommandOutput} 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 AssociateSecurityGroupVpcCommand extends $Command + .classBuilder< + AssociateSecurityGroupVpcCommandInput, + AssociateSecurityGroupVpcCommandOutput, + 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", "AssociateSecurityGroupVpc", {}) + .n("EC2Client", "AssociateSecurityGroupVpcCommand") + .f(void 0, void 0) + .ser(se_AssociateSecurityGroupVpcCommand) + .de(de_AssociateSecurityGroupVpcCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: AssociateSecurityGroupVpcRequest; + output: AssociateSecurityGroupVpcResult; + }; + sdk: { + input: AssociateSecurityGroupVpcCommandInput; + output: AssociateSecurityGroupVpcCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/AuthorizeSecurityGroupEgressCommand.ts b/clients/client-ec2/src/commands/AuthorizeSecurityGroupEgressCommand.ts index 030b07c1e10f..1b8c9a39e988 100644 --- a/clients/client-ec2/src/commands/AuthorizeSecurityGroupEgressCommand.ts +++ b/clients/client-ec2/src/commands/AuthorizeSecurityGroupEgressCommand.ts @@ -136,6 +136,7 @@ export interface AuthorizeSecurityGroupEgressCommandOutput * // Value: "STRING_VALUE", * // }, * // ], + * // SecurityGroupRuleArn: "STRING_VALUE", * // }, * // ], * // }; diff --git a/clients/client-ec2/src/commands/AuthorizeSecurityGroupIngressCommand.ts b/clients/client-ec2/src/commands/AuthorizeSecurityGroupIngressCommand.ts index db7b269ac557..fcdea1381e53 100644 --- a/clients/client-ec2/src/commands/AuthorizeSecurityGroupIngressCommand.ts +++ b/clients/client-ec2/src/commands/AuthorizeSecurityGroupIngressCommand.ts @@ -137,6 +137,7 @@ export interface AuthorizeSecurityGroupIngressCommandOutput * // Value: "STRING_VALUE", * // }, * // ], + * // SecurityGroupRuleArn: "STRING_VALUE", * // }, * // ], * // }; diff --git a/clients/client-ec2/src/commands/CreateCapacityReservationBySplittingCommand.ts b/clients/client-ec2/src/commands/CreateCapacityReservationBySplittingCommand.ts index 10d2e2288b44..9567d424fcef 100644 --- a/clients/client-ec2/src/commands/CreateCapacityReservationBySplittingCommand.ts +++ b/clients/client-ec2/src/commands/CreateCapacityReservationBySplittingCommand.ts @@ -6,8 +6,10 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateCapacityReservationBySplittingRequest } from "../models/models_0"; -import { CreateCapacityReservationBySplittingResult } from "../models/models_1"; +import { + CreateCapacityReservationBySplittingRequest, + CreateCapacityReservationBySplittingResult, +} from "../models/models_1"; import { de_CreateCapacityReservationBySplittingCommand, se_CreateCapacityReservationBySplittingCommand, diff --git a/clients/client-ec2/src/commands/CreateCapacityReservationCommand.ts b/clients/client-ec2/src/commands/CreateCapacityReservationCommand.ts index d172098fafbb..f4ea308af87b 100644 --- a/clients/client-ec2/src/commands/CreateCapacityReservationCommand.ts +++ b/clients/client-ec2/src/commands/CreateCapacityReservationCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateCapacityReservationRequest, CreateCapacityReservationResult } from "../models/models_0"; +import { CreateCapacityReservationRequest } from "../models/models_0"; +import { CreateCapacityReservationResult } from "../models/models_1"; import { de_CreateCapacityReservationCommand, se_CreateCapacityReservationCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/CreateNetworkInsightsPathCommand.ts b/clients/client-ec2/src/commands/CreateNetworkInsightsPathCommand.ts index ad34a8d8b3c5..1e8abdc55363 100644 --- a/clients/client-ec2/src/commands/CreateNetworkInsightsPathCommand.ts +++ b/clients/client-ec2/src/commands/CreateNetworkInsightsPathCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateNetworkInsightsPathRequest } from "../models/models_1"; -import { CreateNetworkInsightsPathResult } from "../models/models_2"; +import { CreateNetworkInsightsPathRequest, CreateNetworkInsightsPathResult } from "../models/models_2"; import { de_CreateNetworkInsightsPathCommand, se_CreateNetworkInsightsPathCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/CreateSecurityGroupCommand.ts b/clients/client-ec2/src/commands/CreateSecurityGroupCommand.ts index 1ad6a2a33442..6ae8880034fa 100644 --- a/clients/client-ec2/src/commands/CreateSecurityGroupCommand.ts +++ b/clients/client-ec2/src/commands/CreateSecurityGroupCommand.ts @@ -80,6 +80,7 @@ export interface CreateSecurityGroupCommandOutput extends CreateSecurityGroupRes * // Value: "STRING_VALUE", * // }, * // ], + * // SecurityGroupArn: "STRING_VALUE", * // }; * * ``` diff --git a/clients/client-ec2/src/commands/CreateTrafficMirrorSessionCommand.ts b/clients/client-ec2/src/commands/CreateTrafficMirrorSessionCommand.ts index 160e0dc65cff..c2f2dda5d2bf 100644 --- a/clients/client-ec2/src/commands/CreateTrafficMirrorSessionCommand.ts +++ b/clients/client-ec2/src/commands/CreateTrafficMirrorSessionCommand.ts @@ -33,7 +33,7 @@ export interface CreateTrafficMirrorSessionCommandOutput extends CreateTrafficMi * to the session to define a subset of the traffic to mirror, for example all TCP * traffic.

*

The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

- *

By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to + *

By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to * create filter rules that specify the traffic to mirror.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/DeleteLaunchTemplateCommand.ts b/clients/client-ec2/src/commands/DeleteLaunchTemplateCommand.ts index aee5b68777b3..cf2df3317195 100644 --- a/clients/client-ec2/src/commands/DeleteLaunchTemplateCommand.ts +++ b/clients/client-ec2/src/commands/DeleteLaunchTemplateCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteLaunchTemplateRequest, DeleteLaunchTemplateResult } from "../models/models_2"; +import { DeleteLaunchTemplateRequest, DeleteLaunchTemplateResult } from "../models/models_3"; import { de_DeleteLaunchTemplateCommand, se_DeleteLaunchTemplateCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteLaunchTemplateVersionsCommand.ts b/clients/client-ec2/src/commands/DeleteLaunchTemplateVersionsCommand.ts index 092a1a6494b2..b5733857ec58 100644 --- a/clients/client-ec2/src/commands/DeleteLaunchTemplateVersionsCommand.ts +++ b/clients/client-ec2/src/commands/DeleteLaunchTemplateVersionsCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteLaunchTemplateVersionsRequest } from "../models/models_2"; -import { DeleteLaunchTemplateVersionsResult } from "../models/models_3"; +import { DeleteLaunchTemplateVersionsRequest, DeleteLaunchTemplateVersionsResult } from "../models/models_3"; import { de_DeleteLaunchTemplateVersionsCommand, se_DeleteLaunchTemplateVersionsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteSecurityGroupCommand.ts b/clients/client-ec2/src/commands/DeleteSecurityGroupCommand.ts index fbd022d0d1d5..9be29c403df8 100644 --- a/clients/client-ec2/src/commands/DeleteSecurityGroupCommand.ts +++ b/clients/client-ec2/src/commands/DeleteSecurityGroupCommand.ts @@ -29,8 +29,8 @@ export interface DeleteSecurityGroupCommandOutput extends __MetadataBearer {} /** *

Deletes a security group.

- *

If you attempt to delete a security group that is associated with an instance or network interface or is - * referenced by another security group in the same VPC, the operation fails with + *

If you attempt to delete a security group that is associated with an instance or network interface, is + * referenced by another security group in the same VPC, or has a VPC association, the operation fails with * DependencyViolation.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/DescribeIdFormatCommand.ts b/clients/client-ec2/src/commands/DescribeIdFormatCommand.ts index 3ec45261b00c..8438fa1acb5d 100644 --- a/clients/client-ec2/src/commands/DescribeIdFormatCommand.ts +++ b/clients/client-ec2/src/commands/DescribeIdFormatCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeIdFormatRequest, DescribeIdFormatResult } from "../models/models_3"; +import { DescribeIdFormatRequest, DescribeIdFormatResult } from "../models/models_4"; import { de_DescribeIdFormatCommand, se_DescribeIdFormatCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeSecurityGroupReferencesCommand.ts b/clients/client-ec2/src/commands/DescribeSecurityGroupReferencesCommand.ts index 6ce8123a7354..cde1a9016a51 100644 --- a/clients/client-ec2/src/commands/DescribeSecurityGroupReferencesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSecurityGroupReferencesCommand.ts @@ -33,7 +33,7 @@ export interface DescribeSecurityGroupReferencesCommandOutput __MetadataBearer {} /** - *

Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

+ *

Describes the VPCs on the other side of a VPC peering or Transit Gateway connection that are referencing the security groups you've specified in this request.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ec2/src/commands/DescribeSecurityGroupRulesCommand.ts b/clients/client-ec2/src/commands/DescribeSecurityGroupRulesCommand.ts index fe1c4150393a..0a1437435619 100644 --- a/clients/client-ec2/src/commands/DescribeSecurityGroupRulesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSecurityGroupRulesCommand.ts @@ -80,6 +80,7 @@ export interface DescribeSecurityGroupRulesCommandOutput extends DescribeSecurit * // Value: "STRING_VALUE", * // }, * // ], + * // SecurityGroupRuleArn: "STRING_VALUE", * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/DescribeSecurityGroupVpcAssociationsCommand.ts b/clients/client-ec2/src/commands/DescribeSecurityGroupVpcAssociationsCommand.ts new file mode 100644 index 000000000000..80f8937c76d5 --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeSecurityGroupVpcAssociationsCommand.ts @@ -0,0 +1,119 @@ +// 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 { + DescribeSecurityGroupVpcAssociationsRequest, + DescribeSecurityGroupVpcAssociationsResult, +} from "../models/models_4"; +import { + de_DescribeSecurityGroupVpcAssociationsCommand, + se_DescribeSecurityGroupVpcAssociationsCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeSecurityGroupVpcAssociationsCommand}. + */ +export interface DescribeSecurityGroupVpcAssociationsCommandInput extends DescribeSecurityGroupVpcAssociationsRequest {} +/** + * @public + * + * The output of {@link DescribeSecurityGroupVpcAssociationsCommand}. + */ +export interface DescribeSecurityGroupVpcAssociationsCommandOutput + extends DescribeSecurityGroupVpcAssociationsResult, + __MetadataBearer {} + +/** + *

Describes security group VPC associations made with AssociateSecurityGroupVpc.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeSecurityGroupVpcAssociationsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeSecurityGroupVpcAssociationsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DescribeSecurityGroupVpcAssociationsRequest + * Filters: [ // FilterList + * { // Filter + * Name: "STRING_VALUE", + * Values: [ // ValueStringList + * "STRING_VALUE", + * ], + * }, + * ], + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * DryRun: true || false, + * }; + * const command = new DescribeSecurityGroupVpcAssociationsCommand(input); + * const response = await client.send(command); + * // { // DescribeSecurityGroupVpcAssociationsResult + * // SecurityGroupVpcAssociations: [ // SecurityGroupVpcAssociationList + * // { // SecurityGroupVpcAssociation + * // GroupId: "STRING_VALUE", + * // VpcId: "STRING_VALUE", + * // VpcOwnerId: "STRING_VALUE", + * // State: "associating" || "associated" || "association-failed" || "disassociating" || "disassociated" || "disassociation-failed", + * // StateReason: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeSecurityGroupVpcAssociationsCommandInput - {@link DescribeSecurityGroupVpcAssociationsCommandInput} + * @returns {@link DescribeSecurityGroupVpcAssociationsCommandOutput} + * @see {@link DescribeSecurityGroupVpcAssociationsCommandInput} for command's `input` shape. + * @see {@link DescribeSecurityGroupVpcAssociationsCommandOutput} 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 DescribeSecurityGroupVpcAssociationsCommand extends $Command + .classBuilder< + DescribeSecurityGroupVpcAssociationsCommandInput, + DescribeSecurityGroupVpcAssociationsCommandOutput, + 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", "DescribeSecurityGroupVpcAssociations", {}) + .n("EC2Client", "DescribeSecurityGroupVpcAssociationsCommand") + .f(void 0, void 0) + .ser(se_DescribeSecurityGroupVpcAssociationsCommand) + .de(de_DescribeSecurityGroupVpcAssociationsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeSecurityGroupVpcAssociationsRequest; + output: DescribeSecurityGroupVpcAssociationsResult; + }; + sdk: { + input: DescribeSecurityGroupVpcAssociationsCommandInput; + output: DescribeSecurityGroupVpcAssociationsCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/DescribeSecurityGroupsCommand.ts b/clients/client-ec2/src/commands/DescribeSecurityGroupsCommand.ts index 1461b66b0151..9286ab5eeeb0 100644 --- a/clients/client-ec2/src/commands/DescribeSecurityGroupsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSecurityGroupsCommand.ts @@ -104,6 +104,7 @@ export interface DescribeSecurityGroupsCommandOutput extends DescribeSecurityGro * // }, * // ], * // VpcId: "STRING_VALUE", + * // SecurityGroupArn: "STRING_VALUE", * // OwnerId: "STRING_VALUE", * // GroupName: "STRING_VALUE", * // Description: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/DescribeSpotDatafeedSubscriptionCommand.ts b/clients/client-ec2/src/commands/DescribeSpotDatafeedSubscriptionCommand.ts index ad2012c941b5..149b6ef297dc 100644 --- a/clients/client-ec2/src/commands/DescribeSpotDatafeedSubscriptionCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotDatafeedSubscriptionCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeSpotDatafeedSubscriptionRequest, DescribeSpotDatafeedSubscriptionResult } from "../models/models_4"; +import { DescribeSpotDatafeedSubscriptionRequest } from "../models/models_4"; +import { DescribeSpotDatafeedSubscriptionResult } from "../models/models_5"; import { de_DescribeSpotDatafeedSubscriptionCommand, se_DescribeSpotDatafeedSubscriptionCommand, diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetInstancesCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetInstancesCommand.ts index 4892cf44e136..34e1daf644ec 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetInstancesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetInstancesCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeSpotFleetInstancesRequest, DescribeSpotFleetInstancesResponse } from "../models/models_4"; +import { DescribeSpotFleetInstancesRequest, DescribeSpotFleetInstancesResponse } from "../models/models_5"; import { de_DescribeSpotFleetInstancesCommand, se_DescribeSpotFleetInstancesCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts index 76173f800b8a..fd0797fa603a 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetRequestHistoryCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeSpotFleetRequestHistoryRequest } from "../models/models_4"; -import { DescribeSpotFleetRequestHistoryResponse } from "../models/models_5"; +import { DescribeSpotFleetRequestHistoryRequest, DescribeSpotFleetRequestHistoryResponse } from "../models/models_5"; import { de_DescribeSpotFleetRequestHistoryCommand, se_DescribeSpotFleetRequestHistoryCommand, diff --git a/clients/client-ec2/src/commands/DescribeStaleSecurityGroupsCommand.ts b/clients/client-ec2/src/commands/DescribeStaleSecurityGroupsCommand.ts index 0eff12d4703e..ea19abda3bd6 100644 --- a/clients/client-ec2/src/commands/DescribeStaleSecurityGroupsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeStaleSecurityGroupsCommand.ts @@ -28,9 +28,14 @@ export interface DescribeStaleSecurityGroupsCommandInput extends DescribeStaleSe export interface DescribeStaleSecurityGroupsCommandOutput extends DescribeStaleSecurityGroupsResult, __MetadataBearer {} /** - *

Describes the stale security group rules for security groups in a specified VPC. - * Rules are stale when they reference a deleted security group in a peered VPC. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has - * been deleted.

+ *

Describes the stale security group rules for security groups referenced across a VPC + * peering connection, transit gateway connection, or with a security group VPC + * association. Rules are stale when they reference a deleted security group. Rules can + * also be stale if they reference a security group in a peer VPC for which the VPC peering + * connection has been deleted, across a transit gateway where the transit gateway has been + * deleted (or the transit + * gateway security group referencing feature has been disabled), or if a + * security group VPC association has been disassociated.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ec2/src/commands/DisassociateSecurityGroupVpcCommand.ts b/clients/client-ec2/src/commands/DisassociateSecurityGroupVpcCommand.ts new file mode 100644 index 000000000000..e4dca67a6082 --- /dev/null +++ b/clients/client-ec2/src/commands/DisassociateSecurityGroupVpcCommand.ts @@ -0,0 +1,98 @@ +// 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 { DisassociateSecurityGroupVpcRequest, DisassociateSecurityGroupVpcResult } from "../models/models_5"; +import { de_DisassociateSecurityGroupVpcCommand, se_DisassociateSecurityGroupVpcCommand } from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DisassociateSecurityGroupVpcCommand}. + */ +export interface DisassociateSecurityGroupVpcCommandInput extends DisassociateSecurityGroupVpcRequest {} +/** + * @public + * + * The output of {@link DisassociateSecurityGroupVpcCommand}. + */ +export interface DisassociateSecurityGroupVpcCommandOutput + extends DisassociateSecurityGroupVpcResult, + __MetadataBearer {} + +/** + *

Disassociates a security group from a VPC. You cannot disassociate the security group if any Elastic network interfaces in the associated VPC are still associated with the security group. + * + * Note that the disassociation is asynchronous and you can check the status of the request with DescribeSecurityGroupVpcAssociations.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DisassociateSecurityGroupVpcCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DisassociateSecurityGroupVpcCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DisassociateSecurityGroupVpcRequest + * GroupId: "STRING_VALUE", // required + * VpcId: "STRING_VALUE", // required + * DryRun: true || false, + * }; + * const command = new DisassociateSecurityGroupVpcCommand(input); + * const response = await client.send(command); + * // { // DisassociateSecurityGroupVpcResult + * // State: "associating" || "associated" || "association-failed" || "disassociating" || "disassociated" || "disassociation-failed", + * // }; + * + * ``` + * + * @param DisassociateSecurityGroupVpcCommandInput - {@link DisassociateSecurityGroupVpcCommandInput} + * @returns {@link DisassociateSecurityGroupVpcCommandOutput} + * @see {@link DisassociateSecurityGroupVpcCommandInput} for command's `input` shape. + * @see {@link DisassociateSecurityGroupVpcCommandOutput} 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 DisassociateSecurityGroupVpcCommand extends $Command + .classBuilder< + DisassociateSecurityGroupVpcCommandInput, + DisassociateSecurityGroupVpcCommandOutput, + 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", "DisassociateSecurityGroupVpc", {}) + .n("EC2Client", "DisassociateSecurityGroupVpcCommand") + .f(void 0, void 0) + .ser(se_DisassociateSecurityGroupVpcCommand) + .de(de_DisassociateSecurityGroupVpcCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DisassociateSecurityGroupVpcRequest; + output: DisassociateSecurityGroupVpcResult; + }; + sdk: { + input: DisassociateSecurityGroupVpcCommandInput; + output: DisassociateSecurityGroupVpcCommandOutput; + }; + }; +} diff --git a/clients/client-ec2/src/commands/GetConsoleOutputCommand.ts b/clients/client-ec2/src/commands/GetConsoleOutputCommand.ts index c1d36e6ef8c7..294b53d67af9 100644 --- a/clients/client-ec2/src/commands/GetConsoleOutputCommand.ts +++ b/clients/client-ec2/src/commands/GetConsoleOutputCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetConsoleOutputRequest, GetConsoleOutputResult } from "../models/models_5"; +import { GetConsoleOutputRequest } from "../models/models_5"; +import { GetConsoleOutputResult } from "../models/models_6"; import { de_GetConsoleOutputCommand, se_GetConsoleOutputCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetConsoleScreenshotCommand.ts b/clients/client-ec2/src/commands/GetConsoleScreenshotCommand.ts index 86296f033e12..f412bb99307a 100644 --- a/clients/client-ec2/src/commands/GetConsoleScreenshotCommand.ts +++ b/clients/client-ec2/src/commands/GetConsoleScreenshotCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetConsoleScreenshotRequest, GetConsoleScreenshotResult } from "../models/models_5"; +import { GetConsoleScreenshotRequest, GetConsoleScreenshotResult } from "../models/models_6"; import { de_GetConsoleScreenshotCommand, se_GetConsoleScreenshotCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetDefaultCreditSpecificationCommand.ts b/clients/client-ec2/src/commands/GetDefaultCreditSpecificationCommand.ts index aedd446068d1..16a86e174962 100644 --- a/clients/client-ec2/src/commands/GetDefaultCreditSpecificationCommand.ts +++ b/clients/client-ec2/src/commands/GetDefaultCreditSpecificationCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetDefaultCreditSpecificationRequest, GetDefaultCreditSpecificationResult } from "../models/models_5"; +import { GetDefaultCreditSpecificationRequest, GetDefaultCreditSpecificationResult } from "../models/models_6"; import { de_GetDefaultCreditSpecificationCommand, se_GetDefaultCreditSpecificationCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetEbsDefaultKmsKeyIdCommand.ts b/clients/client-ec2/src/commands/GetEbsDefaultKmsKeyIdCommand.ts index 22b1a6bee5a8..bbf124697521 100644 --- a/clients/client-ec2/src/commands/GetEbsDefaultKmsKeyIdCommand.ts +++ b/clients/client-ec2/src/commands/GetEbsDefaultKmsKeyIdCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetEbsDefaultKmsKeyIdRequest } from "../models/models_5"; -import { GetEbsDefaultKmsKeyIdResult } from "../models/models_6"; +import { GetEbsDefaultKmsKeyIdRequest, GetEbsDefaultKmsKeyIdResult } from "../models/models_6"; import { de_GetEbsDefaultKmsKeyIdCommand, se_GetEbsDefaultKmsKeyIdCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyVerifiedAccessTrustProviderCommand.ts b/clients/client-ec2/src/commands/ModifyVerifiedAccessTrustProviderCommand.ts index 2a6aa211a752..37dadb542fd0 100644 --- a/clients/client-ec2/src/commands/ModifyVerifiedAccessTrustProviderCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVerifiedAccessTrustProviderCommand.ts @@ -11,7 +11,7 @@ import { ModifyVerifiedAccessTrustProviderRequestFilterSensitiveLog, ModifyVerifiedAccessTrustProviderResult, ModifyVerifiedAccessTrustProviderResultFilterSensitiveLog, -} from "../models/models_6"; +} from "../models/models_7"; import { de_ModifyVerifiedAccessTrustProviderCommand, se_ModifyVerifiedAccessTrustProviderCommand, diff --git a/clients/client-ec2/src/commands/ModifyVolumeAttributeCommand.ts b/clients/client-ec2/src/commands/ModifyVolumeAttributeCommand.ts index 7dee1a055079..862c0fcb335d 100644 --- a/clients/client-ec2/src/commands/ModifyVolumeAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVolumeAttributeCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyVolumeAttributeRequest } from "../models/models_6"; +import { ModifyVolumeAttributeRequest } from "../models/models_7"; import { de_ModifyVolumeAttributeCommand, se_ModifyVolumeAttributeCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyVolumeCommand.ts b/clients/client-ec2/src/commands/ModifyVolumeCommand.ts index c7ff4417fc7b..64eb8de3be70 100644 --- a/clients/client-ec2/src/commands/ModifyVolumeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVolumeCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyVolumeRequest, ModifyVolumeResult } from "../models/models_6"; +import { ModifyVolumeRequest, ModifyVolumeResult } from "../models/models_7"; import { de_ModifyVolumeCommand, se_ModifyVolumeCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyVpcAttributeCommand.ts b/clients/client-ec2/src/commands/ModifyVpcAttributeCommand.ts index 96fecf682a84..ee1b2cc420ee 100644 --- a/clients/client-ec2/src/commands/ModifyVpcAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVpcAttributeCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyVpcAttributeRequest } from "../models/models_6"; +import { ModifyVpcAttributeRequest } from "../models/models_7"; import { de_ModifyVpcAttributeCommand, se_ModifyVpcAttributeCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyVpcEndpointCommand.ts b/clients/client-ec2/src/commands/ModifyVpcEndpointCommand.ts index b40394b64825..b327e8007d5b 100644 --- a/clients/client-ec2/src/commands/ModifyVpcEndpointCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVpcEndpointCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ModifyVpcEndpointRequest, ModifyVpcEndpointResult } from "../models/models_6"; +import { ModifyVpcEndpointRequest, ModifyVpcEndpointResult } from "../models/models_7"; import { de_ModifyVpcEndpointCommand, se_ModifyVpcEndpointCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/RevokeSecurityGroupEgressCommand.ts b/clients/client-ec2/src/commands/RevokeSecurityGroupEgressCommand.ts index 63ef02aae076..85a00c397e73 100644 --- a/clients/client-ec2/src/commands/RevokeSecurityGroupEgressCommand.ts +++ b/clients/client-ec2/src/commands/RevokeSecurityGroupEgressCommand.ts @@ -136,6 +136,21 @@ export interface RevokeSecurityGroupEgressCommandOutput extends RevokeSecurityGr * // ], * // }, * // ], + * // RevokedSecurityGroupRules: [ // RevokedSecurityGroupRuleList + * // { // RevokedSecurityGroupRule + * // SecurityGroupRuleId: "STRING_VALUE", + * // GroupId: "STRING_VALUE", + * // IsEgress: true || false, + * // IpProtocol: "STRING_VALUE", + * // FromPort: Number("int"), + * // ToPort: Number("int"), + * // CidrIpv4: "STRING_VALUE", + * // CidrIpv6: "STRING_VALUE", + * // PrefixListId: "STRING_VALUE", + * // ReferencedGroupId: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // }, + * // ], * // }; * * ``` diff --git a/clients/client-ec2/src/commands/RevokeSecurityGroupIngressCommand.ts b/clients/client-ec2/src/commands/RevokeSecurityGroupIngressCommand.ts index 82be1b92a74d..62bbbe41de4d 100644 --- a/clients/client-ec2/src/commands/RevokeSecurityGroupIngressCommand.ts +++ b/clients/client-ec2/src/commands/RevokeSecurityGroupIngressCommand.ts @@ -141,6 +141,21 @@ export interface RevokeSecurityGroupIngressCommandOutput extends RevokeSecurityG * // ], * // }, * // ], + * // RevokedSecurityGroupRules: [ // RevokedSecurityGroupRuleList + * // { // RevokedSecurityGroupRule + * // SecurityGroupRuleId: "STRING_VALUE", + * // GroupId: "STRING_VALUE", + * // IsEgress: true || false, + * // IpProtocol: "STRING_VALUE", + * // FromPort: Number("int"), + * // ToPort: Number("int"), + * // CidrIpv4: "STRING_VALUE", + * // CidrIpv6: "STRING_VALUE", + * // PrefixListId: "STRING_VALUE", + * // ReferencedGroupId: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // }, + * // ], * // }; * * ``` diff --git a/clients/client-ec2/src/commands/index.ts b/clients/client-ec2/src/commands/index.ts index d0db6d8c2d0c..c83f4befc176 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -26,6 +26,7 @@ export * from "./AssociateIpamByoasnCommand"; export * from "./AssociateIpamResourceDiscoveryCommand"; export * from "./AssociateNatGatewayAddressCommand"; export * from "./AssociateRouteTableCommand"; +export * from "./AssociateSecurityGroupVpcCommand"; export * from "./AssociateSubnetCidrBlockCommand"; export * from "./AssociateTransitGatewayMulticastDomainCommand"; export * from "./AssociateTransitGatewayPolicyTableCommand"; @@ -326,6 +327,7 @@ export * from "./DescribeScheduledInstanceAvailabilityCommand"; export * from "./DescribeScheduledInstancesCommand"; export * from "./DescribeSecurityGroupReferencesCommand"; export * from "./DescribeSecurityGroupRulesCommand"; +export * from "./DescribeSecurityGroupVpcAssociationsCommand"; export * from "./DescribeSecurityGroupsCommand"; export * from "./DescribeSnapshotAttributeCommand"; export * from "./DescribeSnapshotTierStatusCommand"; @@ -409,6 +411,7 @@ export * from "./DisassociateIpamByoasnCommand"; export * from "./DisassociateIpamResourceDiscoveryCommand"; export * from "./DisassociateNatGatewayAddressCommand"; export * from "./DisassociateRouteTableCommand"; +export * from "./DisassociateSecurityGroupVpcCommand"; export * from "./DisassociateSubnetCidrBlockCommand"; export * from "./DisassociateTransitGatewayMulticastDomainCommand"; export * from "./DisassociateTransitGatewayPolicyTableCommand"; diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index 785c92020c92..c60410850b63 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -5041,6 +5041,61 @@ export interface AssociateRouteTableResult { AssociationState?: RouteTableAssociationState; } +/** + * @public + */ +export interface AssociateSecurityGroupVpcRequest { + /** + *

A security group ID.

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

A VPC ID.

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

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

+ * @public + */ + DryRun?: boolean; +} + +/** + * @public + * @enum + */ +export const SecurityGroupVpcAssociationState = { + associated: "associated", + associating: "associating", + association_failed: "association-failed", + disassociated: "disassociated", + disassociating: "disassociating", + disassociation_failed: "disassociation-failed", +} as const; + +/** + * @public + */ +export type SecurityGroupVpcAssociationState = + (typeof SecurityGroupVpcAssociationState)[keyof typeof SecurityGroupVpcAssociationState]; + +/** + * @public + */ +export interface AssociateSecurityGroupVpcResult { + /** + *

The state of the association.

+ * @public + */ + State?: SecurityGroupVpcAssociationState; +} + /** * @public */ @@ -6883,6 +6938,12 @@ export interface SecurityGroupRule { * @public */ Tags?: Tag[]; + + /** + *

The ARN of the security group rule.

+ * @public + */ + SecurityGroupRuleArn?: string; } /** @@ -8542,291 +8603,6 @@ export const CapacityReservationState = { */ export type CapacityReservationState = (typeof CapacityReservationState)[keyof typeof CapacityReservationState]; -/** - *

Describes a Capacity Reservation.

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

The ID of the Capacity Reservation.

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

The ID of the Amazon Web Services account that owns the Capacity Reservation.

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

The Amazon Resource Name (ARN) of the Capacity Reservation.

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

The Availability Zone ID of the Capacity Reservation.

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

The type of instance for which the Capacity Reservation reserves capacity.

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

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

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

The Availability Zone in which the capacity is reserved.

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

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

- *
    - *
  • - *

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

    - *
  • - *
  • - *

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

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

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

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

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

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

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides - * dedicated throughput to Amazon EBS and an optimized configuration stack to provide - * optimal I/O performance. This optimization isn't available with all instance types. - * Additional usage charges apply when using an EBS- optimized instance.

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

- * Deprecated. - *

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

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

- *
    - *
  • - *

    - * active - The Capacity Reservation is active and the capacity is available for your use.

    - *
  • - *
  • - *

    - * expired - The Capacity Reservation expired automatically at the date and time specified - * in your request. The reserved capacity is no longer available for your use.

    - *
  • - *
  • - *

    - * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no - * longer available for your use.

    - *
  • - *
  • - *

    - * pending - The Capacity Reservation request was successful but the capacity - * provisioning is still pending.

    - *
  • - *
  • - *

    - * failed - The Capacity Reservation request has failed. A request might fail - * due to invalid request parameters, capacity constraints, or instance limit constraints. - * Failed requests are retained for 60 minutes.

    - *
  • - *
- * @public - */ - State?: CapacityReservationState; - - /** - *

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

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

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity - * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to - * expired when it reaches its end date and time.

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

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end - * types:

- *
    - *
  • - *

    - * unlimited - The Capacity Reservation remains active until you explicitly cancel it.

    - *
  • - *
  • - *

    - * limited - The Capacity Reservation expires automatically at a specified date and time.

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

Indicates the type of instance launches that the Capacity Reservation accepts. The options - * include:

- *
    - *
  • - *

    - * open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, - * and Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying - * any additional parameters.

    - *
  • - *
  • - *

    - * targeted - The Capacity Reservation only accepts instances that have matching attributes - * (instance type, platform, and Availability Zone), and explicitly target the - * Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

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

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

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

Any tags assigned to the Capacity Reservation.

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

The Amazon Resource Name (ARN) of the Outpost on which the Capacity - * Reservation was created.

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

The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs. - * Only valid for Capacity Reservations that were created by a Capacity Reservation Fleet.

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

The Amazon Resource Name (ARN) of the cluster placement group in which - * the Capacity Reservation was created. For more information, see - * - * Capacity Reservations for cluster placement groups in the - * Amazon EC2 User Guide.

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

Information about instance capacity usage.

- * @public - */ - CapacityAllocations?: CapacityAllocation[]; - - /** - *

The type of Capacity Reservation.

- * @public - */ - ReservationType?: CapacityReservationType; - - /** - *

The ID of the Amazon Web Services account to which billing of the unused capacity - * of the Capacity Reservation is assigned.

- * @public - */ - UnusedReservationBillingOwnerId?: string; -} - -/** - * @public - */ -export interface CreateCapacityReservationResult { - /** - *

Information about the Capacity Reservation.

- * @public - */ - CapacityReservation?: CapacityReservation; -} - -/** - * @public - */ -export interface CreateCapacityReservationBySplittingRequest { - /** - *

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

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

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

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

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

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

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

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

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

- * @public - */ - TagSpecifications?: TagSpecification[]; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index e79df9ad051a..e702b86f070c 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -15,13 +15,17 @@ import { AddPrefixListEntry, AddressFamily, AttachmentStatus, - CapacityReservation, + CapacityAllocation, CapacityReservationFleetState, CapacityReservationInstancePlatform, + CapacityReservationState, + CapacityReservationTenancy, + CapacityReservationType, + EndDateType, InstanceEventWindow, + InstanceMatchCriteria, NatGatewayAddress, PortRange, - Protocol, ResourceType, SubnetIpv6CidrBlockAssociation, Tag, @@ -32,6 +36,291 @@ import { WeekDay, } from "./models_0"; +/** + *

Describes a Capacity Reservation.

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

The ID of the Capacity Reservation.

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

The ID of the Amazon Web Services account that owns the Capacity Reservation.

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

The Amazon Resource Name (ARN) of the Capacity Reservation.

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

The Availability Zone ID of the Capacity Reservation.

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

The type of instance for which the Capacity Reservation reserves capacity.

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

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

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

The Availability Zone in which the capacity is reserved.

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

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

+ *
    + *
  • + *

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

    + *
  • + *
  • + *

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

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

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

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

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

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

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides + * dedicated throughput to Amazon EBS and an optimized configuration stack to provide + * optimal I/O performance. This optimization isn't available with all instance types. + * Additional usage charges apply when using an EBS- optimized instance.

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

+ * Deprecated. + *

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

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

+ *
    + *
  • + *

    + * active - The Capacity Reservation is active and the capacity is available for your use.

    + *
  • + *
  • + *

    + * expired - The Capacity Reservation expired automatically at the date and time specified + * in your request. The reserved capacity is no longer available for your use.

    + *
  • + *
  • + *

    + * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no + * longer available for your use.

    + *
  • + *
  • + *

    + * pending - The Capacity Reservation request was successful but the capacity + * provisioning is still pending.

    + *
  • + *
  • + *

    + * failed - The Capacity Reservation request has failed. A request might fail + * due to invalid request parameters, capacity constraints, or instance limit constraints. + * Failed requests are retained for 60 minutes.

    + *
  • + *
+ * @public + */ + State?: CapacityReservationState; + + /** + *

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

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

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity + * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to + * expired when it reaches its end date and time.

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

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end + * types:

+ *
    + *
  • + *

    + * unlimited - The Capacity Reservation remains active until you explicitly cancel it.

    + *
  • + *
  • + *

    + * limited - The Capacity Reservation expires automatically at a specified date and time.

    + *
  • + *
+ * @public + */ + EndDateType?: EndDateType; + + /** + *

Indicates the type of instance launches that the Capacity Reservation accepts. The options + * include:

+ *
    + *
  • + *

    + * open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, + * and Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying + * any additional parameters.

    + *
  • + *
  • + *

    + * targeted - The Capacity Reservation only accepts instances that have matching attributes + * (instance type, platform, and Availability Zone), and explicitly target the + * Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

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

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

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

Any tags assigned to the Capacity Reservation.

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

The Amazon Resource Name (ARN) of the Outpost on which the Capacity + * Reservation was created.

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

The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs. + * Only valid for Capacity Reservations that were created by a Capacity Reservation Fleet.

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

The Amazon Resource Name (ARN) of the cluster placement group in which + * the Capacity Reservation was created. For more information, see + * + * Capacity Reservations for cluster placement groups in the + * Amazon EC2 User Guide.

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

Information about instance capacity usage.

+ * @public + */ + CapacityAllocations?: CapacityAllocation[]; + + /** + *

The type of Capacity Reservation.

+ * @public + */ + ReservationType?: CapacityReservationType; + + /** + *

The ID of the Amazon Web Services account to which billing of the unused capacity + * of the Capacity Reservation is assigned.

+ * @public + */ + UnusedReservationBillingOwnerId?: string; +} + +/** + * @public + */ +export interface CreateCapacityReservationResult { + /** + *

Information about the Capacity Reservation.

+ * @public + */ + CapacityReservation?: CapacityReservation; +} + +/** + * @public + */ +export interface CreateCapacityReservationBySplittingRequest { + /** + *

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

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

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

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

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

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

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

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

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

+ * @public + */ + TagSpecifications?: TagSpecification[]; +} + /** * @public */ @@ -8662,11 +8951,13 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { /** *

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify - * efa. For more information, see Elastic Fabric Adapter in the + * efa or efa. For more information, see Elastic Fabric Adapter in the * Amazon EC2 User Guide.

*

If you are not creating an EFA, specify interface or omit this * parameter.

- *

Valid values: interface | efa + *

If you specify efa-only, do not assign any IP addresses to the network + * interface. EFA-only network interfaces do not support IP addresses.

+ *

Valid values: interface | efa | efa-only *

* @public */ @@ -12055,131 +12346,6 @@ export interface CreateNetworkInsightsAccessScopeResult { NetworkInsightsAccessScopeContent?: NetworkInsightsAccessScopeContent; } -/** - *

Describes a port range.

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

The first port in the range.

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

The last port in the range.

- * @public - */ - ToPort?: number; -} - -/** - *

Describes a set of filters for a path analysis. Use path filters to scope the analysis when - * there can be multiple resulting paths.

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

The source IPv4 address.

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

The source port range.

- * @public - */ - SourcePortRange?: RequestFilterPortRange; - - /** - *

The destination IPv4 address.

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

The destination port range.

- * @public - */ - DestinationPortRange?: RequestFilterPortRange; -} - -/** - * @public - */ -export interface CreateNetworkInsightsPathRequest { - /** - *

The IP address of the source.

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

The IP address of the destination.

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

The ID or ARN of the source. If the resource is in another account, you must specify an ARN.

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

The ID or ARN of the destination. If the resource is in another account, you must specify an ARN.

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

The protocol.

- * @public - */ - Protocol: Protocol | undefined; - - /** - *

The destination port.

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

The tags to add to the path.

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

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

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

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

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

Scopes the analysis to network paths that match specific filters at the source. If you specify - * this parameter, you can't specify the parameters for the source IP address or the destination port.

- * @public - */ - FilterAtSource?: PathRequestFilter; - - /** - *

Scopes the analysis to network paths that match specific filters at the destination. If you specify - * this parameter, you can't specify the parameter for the destination IP address.

- * @public - */ - FilterAtDestination?: PathRequestFilter; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 57996f1b9077..2cd4feaa2a30 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -50,7 +50,6 @@ import { IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, - LaunchTemplate, PrivateIpAddressSpecification, Subnet, Tenancy, @@ -58,6 +57,131 @@ import { Vpc, } from "./models_1"; +/** + *

Describes a port range.

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

The first port in the range.

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

The last port in the range.

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

Describes a set of filters for a path analysis. Use path filters to scope the analysis when + * there can be multiple resulting paths.

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

The source IPv4 address.

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

The source port range.

+ * @public + */ + SourcePortRange?: RequestFilterPortRange; + + /** + *

The destination IPv4 address.

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

The destination port range.

+ * @public + */ + DestinationPortRange?: RequestFilterPortRange; +} + +/** + * @public + */ +export interface CreateNetworkInsightsPathRequest { + /** + *

The IP address of the source.

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

The IP address of the destination.

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

The ID or ARN of the source. If the resource is in another account, you must specify an ARN.

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

The ID or ARN of the destination. If the resource is in another account, you must specify an ARN.

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

The protocol.

+ * @public + */ + Protocol: Protocol | undefined; + + /** + *

The destination port.

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

The tags to add to the path.

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

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

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

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

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

Scopes the analysis to network paths that match specific filters at the source. If you specify + * this parameter, you can't specify the parameters for the source IP address or the destination port.

+ * @public + */ + FilterAtSource?: PathRequestFilter; + + /** + *

Scopes the analysis to network paths that match specific filters at the destination. If you specify + * this parameter, you can't specify the parameter for the destination IP address.

+ * @public + */ + FilterAtDestination?: PathRequestFilter; +} + /** *

Describes a port range.

* @public @@ -264,7 +388,9 @@ export interface CreateNetworkInterfaceRequest { /** *

The type of network interface. The default is interface.

- *

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

+ *

If you specify efa-only, do not assign any IP addresses to the network + * interface. EFA-only network interfaces do not support IP addresses.

+ *

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

* @public */ InterfaceType?: NetworkInterfaceCreationType; @@ -2012,6 +2138,12 @@ export interface CreateSecurityGroupResult { * @public */ Tags?: Tag[]; + + /** + *

The security group ARN.

+ * @public + */ + SecurityGroupArn?: string; } /** @@ -9342,84 +9474,6 @@ export interface DeleteKeyPairResult { KeyPairId?: string; } -/** - * @public - */ -export interface DeleteLaunchTemplateRequest { - /** - *

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

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

The ID of the launch template.

- *

You must specify either the launch template ID or the - * launch template name, but not both.

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

The name of the launch template.

- *

You must specify either the launch template ID or the - * launch template name, but not both.

- * @public - */ - LaunchTemplateName?: string; -} - -/** - * @public - */ -export interface DeleteLaunchTemplateResult { - /** - *

Information about the launch template.

- * @public - */ - LaunchTemplate?: LaunchTemplate; -} - -/** - * @public - */ -export interface DeleteLaunchTemplateVersionsRequest { - /** - *

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

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

The ID of the launch template.

- *

You must specify either the launch template ID or the - * launch template name, but not both.

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

The name of the launch template.

- *

You must specify either the launch template ID or the - * launch template name, but not both.

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

The version numbers of one or more launch template versions to delete. You can specify - * up to 200 launch template version numbers.

- * @public - */ - Versions: string[] | undefined; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 3f6cd5800fcd..bddadf454399 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -16,7 +16,6 @@ import { BundleTask, BundleTaskFilterSensitiveLog, ByoipCidr, - CapacityReservation, CapacityReservationFleetState, CapacityReservationTenancy, ClientVpnAuthorizationRuleStatus, @@ -35,6 +34,7 @@ import { import { _InstanceType, + CapacityReservation, CarrierGateway, ClientVpnAuthenticationType, ClientVpnEndpointStatus, @@ -58,6 +58,7 @@ import { FleetReplacementStrategy, FleetType, InstanceLifecycle, + LaunchTemplate, LaunchTemplateAndOverridesResponse, LocalGatewayRoute, LocalGatewayRouteTable, @@ -90,6 +91,84 @@ import { VerifiedAccessGroup, } from "./models_2"; +/** + * @public + */ +export interface DeleteLaunchTemplateRequest { + /** + *

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

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

The ID of the launch template.

+ *

You must specify either the launch template ID or the + * launch template name, but not both.

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

The name of the launch template.

+ *

You must specify either the launch template ID or the + * launch template name, but not both.

+ * @public + */ + LaunchTemplateName?: string; +} + +/** + * @public + */ +export interface DeleteLaunchTemplateResult { + /** + *

Information about the launch template.

+ * @public + */ + LaunchTemplate?: LaunchTemplate; +} + +/** + * @public + */ +export interface DeleteLaunchTemplateVersionsRequest { + /** + *

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

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

The ID of the launch template.

+ *

You must specify either the launch template ID or the + * launch template name, but not both.

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

The name of the launch template.

+ *

You must specify either the launch template ID or the + * launch template name, but not both.

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

The version numbers of one or more launch template versions to delete. You can specify + * up to 200 launch template version numbers.

+ * @public + */ + Versions: string[] | undefined; +} + /** *

Describes a launch template version that was successfully deleted.

* @public @@ -8733,66 +8812,6 @@ export interface DescribeIdentityIdFormatResult { Statuses?: IdFormat[]; } -/** - * @public - */ -export interface DescribeIdFormatRequest { - /** - *

The type of resource: bundle | - * conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | instance | internet-gateway | - * network-acl | network-acl-association | - * network-interface | network-interface-attachment | - * prefix-list | reservation | route-table | - * route-table-association | security-group | - * snapshot | subnet | - * subnet-cidr-block-association | volume | vpc - * | vpc-cidr-block-association | vpc-endpoint | - * vpc-peering-connection | vpn-connection | vpn-gateway - *

- * @public - */ - Resource?: string; -} - -/** - * @public - */ -export interface DescribeIdFormatResult { - /** - *

Information about the ID format for the resource.

- * @public - */ - Statuses?: IdFormat[]; -} - -/** - * @public - * @enum - */ -export const ImageAttributeName = { - blockDeviceMapping: "blockDeviceMapping", - bootMode: "bootMode", - deregistrationProtection: "deregistrationProtection", - description: "description", - imdsSupport: "imdsSupport", - kernel: "kernel", - lastLaunchedTime: "lastLaunchedTime", - launchPermission: "launchPermission", - productCodes: "productCodes", - ramdisk: "ramdisk", - sriovNetSupport: "sriovNetSupport", - tpmSupport: "tpmSupport", - uefiData: "uefiData", -} as const; - -/** - * @public - */ -export type ImageAttributeName = (typeof ImageAttributeName)[keyof typeof ImageAttributeName]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 1b17d7a85d02..b43fed8d670a 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -2,7 +2,6 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { - ActiveInstance, AlternatePathHint, AttachmentStatus, CurrencyCodeValues, @@ -14,6 +13,7 @@ import { PathComponent, ReservedInstancesListing, SecurityGroupRule, + SecurityGroupVpcAssociationState, Tag, } from "./models_0"; @@ -62,20 +62,70 @@ import { RouteTable, Snapshot, SnapshotState, - SpotDatafeedSubscription, StorageTier, } from "./models_2"; -import { - Byoasn, - EventInformation, - Filter, - IdFormat, - ImageAttributeName, - InstanceTagNotificationAttribute, - PermissionGroup, - ProductCode, -} from "./models_3"; +import { Byoasn, Filter, IdFormat, InstanceTagNotificationAttribute, PermissionGroup, ProductCode } from "./models_3"; + +/** + * @public + */ +export interface DescribeIdFormatRequest { + /** + *

The type of resource: bundle | + * conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | instance | internet-gateway | + * network-acl | network-acl-association | + * network-interface | network-interface-attachment | + * prefix-list | reservation | route-table | + * route-table-association | security-group | + * snapshot | subnet | + * subnet-cidr-block-association | volume | vpc + * | vpc-cidr-block-association | vpc-endpoint | + * vpc-peering-connection | vpn-connection | vpn-gateway + *

+ * @public + */ + Resource?: string; +} + +/** + * @public + */ +export interface DescribeIdFormatResult { + /** + *

Information about the ID format for the resource.

+ * @public + */ + Statuses?: IdFormat[]; +} + +/** + * @public + * @enum + */ +export const ImageAttributeName = { + blockDeviceMapping: "blockDeviceMapping", + bootMode: "bootMode", + deregistrationProtection: "deregistrationProtection", + description: "description", + imdsSupport: "imdsSupport", + kernel: "kernel", + lastLaunchedTime: "lastLaunchedTime", + launchPermission: "launchPermission", + productCodes: "productCodes", + ramdisk: "ramdisk", + sriovNetSupport: "sriovNetSupport", + tpmSupport: "tpmSupport", + uefiData: "uefiData", +} as const; + +/** + * @public + */ +export type ImageAttributeName = (typeof ImageAttributeName)[keyof typeof ImageAttributeName]; /** *

Contains the parameters for DescribeImageAttribute.

@@ -3605,7 +3655,7 @@ export interface InstanceNetworkInterface { /** *

The type of network interface.

- *

Valid values: interface | efa | trunk + *

Valid values: interface | efa | efa-only | trunk *

* @public */ @@ -5013,8 +5063,8 @@ export interface DescribeInstanceTypesRequest { * *
  • *

    - * supported-usage-class - The usage class (on-demand | - * spot).

    + * supported-usage-class - The usage class (on-demand | spot | + * capacity-block).

    *
  • *
  • *

    @@ -6037,7 +6087,7 @@ export interface InstanceTypeInfo { FreeTierEligible?: boolean; /** - *

    Indicates whether the instance type is offered for spot or On-Demand.

    + *

    Indicates whether the instance type is offered for spot, On-Demand, or Capacity Blocks.

    * @public */ SupportedUsageClasses?: UsageClassType[]; @@ -9307,15 +9357,11 @@ export interface DescribeNetworkInterfacesRequest { *
  • *

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

    *
  • *
  • @@ -11836,6 +11882,12 @@ export interface SecurityGroup { */ VpcId?: string; + /** + *

    The ARN of the security group.

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

    The Amazon Web Services account ID of the owner of the security group.

    * @public @@ -11866,8 +11918,7 @@ export interface SecurityGroup { */ export interface DescribeSecurityGroupsResult { /** - *

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

    + *

    The 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; @@ -11879,6 +11930,122 @@ export interface DescribeSecurityGroupsResult { SecurityGroups?: SecurityGroup[]; } +/** + * @public + */ +export interface DescribeSecurityGroupVpcAssociationsRequest { + /** + *

    Security group VPC association filters.

    + *
      + *
    • + *

      + * group-id: The security group ID.

      + *
    • + *
    • + *

      + * vpc-id: The ID of the associated VPC.

      + *
    • + *
    • + *

      + * vpc-owner-id: The account ID of the VPC owner.

      + *
    • + *
    • + *

      + * state: The state of the association.

      + *
    • + *
    • + *

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

      + *
    • + *
    • + *

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

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

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

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

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

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

    A security group association with a VPC that you made with AssociateSecurityGroupVpc.

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

    The association's security group ID.

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

    The association's VPC ID.

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

    The Amazon Web Services account ID of the owner of the VPC.

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

    The association's state.

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

    The association's state reason.

    + * @public + */ + StateReason?: string; +} + +/** + * @public + */ +export interface DescribeSecurityGroupVpcAssociationsResult { + /** + *

    The security group VPC associations.

    + * @public + */ + SecurityGroupVpcAssociations?: SecurityGroupVpcAssociation[]; + + /** + *

    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; +} + /** * @public * @enum @@ -12282,189 +12449,6 @@ export interface DescribeSpotDatafeedSubscriptionRequest { DryRun?: boolean; } -/** - *

    Contains the output of DescribeSpotDatafeedSubscription.

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

    The Spot Instance data feed subscription.

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

    Contains the parameters for DescribeSpotFleetInstances.

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

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

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

    The ID of the Spot Fleet request.

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

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

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

    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; -} - -/** - *

    Contains the output of DescribeSpotFleetInstances.

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

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

    - * @public - */ - ActiveInstances?: ActiveInstance[]; - - /** - *

    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; - - /** - *

    The ID of the Spot Fleet request.

    - * @public - */ - SpotFleetRequestId?: string; -} - -/** - * @public - * @enum - */ -export const EventType = { - BATCH_CHANGE: "fleetRequestChange", - ERROR: "error", - INFORMATION: "information", - INSTANCE_CHANGE: "instanceChange", -} as const; - -/** - * @public - */ -export type EventType = (typeof EventType)[keyof typeof EventType]; - -/** - *

    Contains the parameters for DescribeSpotFleetRequestHistory.

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

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

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

    The ID of the Spot Fleet request.

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

    The type of events to describe. By default, all events are described.

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

    The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

    - * @public - */ - StartTime: Date | undefined; - - /** - *

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

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

    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; -} - -/** - *

    Describes an event in the history of the Spot Fleet request.

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

    Information about the event.

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

    The event type.

    - *
      - *
    • - *

      - * error - An error with the Spot Fleet request.

      - *
    • - *
    • - *

      - * fleetRequestChange - A change in the status or configuration of - * the Spot Fleet request.

      - *
    • - *
    • - *

      - * instanceChange - An instance was launched or terminated.

      - *
    • - *
    • - *

      - * Information - An informational event.

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

    The date and time of the event, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

    - * @public - */ - Timestamp?: Date; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index a9beada493c5..576cc285bb2a 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -2,6 +2,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { + ActiveInstance, ActivityStatus, AddressTransfer, AllocationStrategy, @@ -16,6 +17,7 @@ import { IpamResourceDiscoveryAssociation, NatGatewayAddress, ResourceType, + SecurityGroupVpcAssociationState, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, @@ -69,6 +71,7 @@ import { ServiceConfiguration, ServiceConnectivityType, ServiceTypeDetail, + SpotDatafeedSubscription, SpotInstanceStateFault, State, TrafficMirrorFilter, @@ -92,6 +95,7 @@ import { } from "./models_2"; import { + EventInformation, ExportTaskS3Location, FastLaunchLaunchTemplateSpecificationResponse, FastLaunchResourceType, @@ -105,7 +109,190 @@ import { StatisticType, } from "./models_3"; -import { AttributeBooleanValue, HistoryRecord, RIProductDescription } from "./models_4"; +import { AttributeBooleanValue, RIProductDescription } from "./models_4"; + +/** + *

    Contains the output of DescribeSpotDatafeedSubscription.

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

    The Spot Instance data feed subscription.

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

    Contains the parameters for DescribeSpotFleetInstances.

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

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

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

    The ID of the Spot Fleet request.

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

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

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

    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; +} + +/** + *

    Contains the output of DescribeSpotFleetInstances.

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

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

    + * @public + */ + ActiveInstances?: ActiveInstance[]; + + /** + *

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

    The ID of the Spot Fleet request.

    + * @public + */ + SpotFleetRequestId?: string; +} + +/** + * @public + * @enum + */ +export const EventType = { + BATCH_CHANGE: "fleetRequestChange", + ERROR: "error", + INFORMATION: "information", + INSTANCE_CHANGE: "instanceChange", +} as const; + +/** + * @public + */ +export type EventType = (typeof EventType)[keyof typeof EventType]; + +/** + *

    Contains the parameters for DescribeSpotFleetRequestHistory.

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

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

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

    The ID of the Spot Fleet request.

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

    The type of events to describe. By default, all events are described.

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

    The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

    + * @public + */ + StartTime: Date | undefined; + + /** + *

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

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

    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; +} + +/** + *

    Describes an event in the history of the Spot Fleet request.

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

    Information about the event.

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

    The event type.

    + *
      + *
    • + *

      + * error - An error with the Spot Fleet request.

      + *
    • + *
    • + *

      + * fleetRequestChange - A change in the status or configuration of + * the Spot Fleet request.

      + *
    • + *
    • + *

      + * instanceChange - An instance was launched or terminated.

      + *
    • + *
    • + *

      + * Information - An informational event.

      + *
    • + *
    + * @public + */ + EventType?: EventType; + + /** + *

    The date and time of the event, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

    + * @public + */ + Timestamp?: Date; +} /** *

    Contains the output of DescribeSpotFleetRequestHistory.

    @@ -323,7 +510,9 @@ export interface InstanceNetworkInterfaceSpecification { /** *

    The type of network interface.

    - *

    Valid values: interface | efa + *

    If you specify efa-only, do not assign any IP addresses to the network + * interface. EFA-only network interfaces do not support IP addresses.

    + *

    Valid values: interface | efa | efa-only *

    * @public */ @@ -1975,8 +2164,7 @@ export interface DescribeStaleSecurityGroupsRequest { MaxResults?: number; /** - *

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

    + *

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

    * @public */ NextToken?: string; @@ -2080,8 +2268,7 @@ export interface StaleSecurityGroup { */ export interface DescribeStaleSecurityGroupsResult { /** - *

    The token to include in another request to get the next page of items. - * If there are no additional items to return, the string is empty.

    + *

    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; @@ -7667,6 +7854,42 @@ export interface DisassociateRouteTableRequest { AssociationId: string | undefined; } +/** + * @public + */ +export interface DisassociateSecurityGroupVpcRequest { + /** + *

    A security group ID.

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

    A VPC ID.

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

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

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

    The state of the disassociation.

    + * @public + */ + State?: SecurityGroupVpcAssociationState; +} + /** * @public */ @@ -9648,153 +9871,6 @@ export interface GetConsoleOutputRequest { DryRun?: boolean; } -/** - * @public - */ -export interface GetConsoleOutputResult { - /** - *

    The ID of the instance.

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

    The time at which the output was last updated.

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

    The console output, base64-encoded. If you are using a command line tool, the tool - * decodes the output for you.

    - * @public - */ - Output?: string; -} - -/** - * @public - */ -export interface GetConsoleScreenshotRequest { - /** - *

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

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

    The ID of the instance.

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

    When set to true, acts as keystroke input and wakes up an instance that's - * in standby or "sleep" mode.

    - * @public - */ - WakeUp?: boolean; -} - -/** - * @public - */ -export interface GetConsoleScreenshotResult { - /** - *

    The data that comprises the image.

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

    The ID of the instance.

    - * @public - */ - InstanceId?: string; -} - -/** - * @public - * @enum - */ -export const UnlimitedSupportedInstanceFamily = { - t2: "t2", - t3: "t3", - t3a: "t3a", - t4g: "t4g", -} as const; - -/** - * @public - */ -export type UnlimitedSupportedInstanceFamily = - (typeof UnlimitedSupportedInstanceFamily)[keyof typeof UnlimitedSupportedInstanceFamily]; - -/** - * @public - */ -export interface GetDefaultCreditSpecificationRequest { - /** - *

    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; - - /** - *

    The instance family.

    - * @public - */ - InstanceFamily: UnlimitedSupportedInstanceFamily | undefined; -} - -/** - *

    Describes the default credit option for CPU usage of a burstable performance instance - * family.

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

    The instance family.

    - * @public - */ - InstanceFamily?: UnlimitedSupportedInstanceFamily; - - /** - *

    The default credit option for CPU usage of the instance family. Valid values are - * standard and unlimited.

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

    The default credit option for CPU usage of the instance family.

    - * @public - */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; -} - -/** - * @public - */ -export interface GetEbsDefaultKmsKeyIdRequest { - /** - *

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

    - * @public - */ - DryRun?: boolean; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index b82f51d3582b..0f5a308dfeab 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -31,8 +31,6 @@ import { UnsuccessfulItem, VerifiedAccessInstance, VerifiedAccessSseSpecificationResponse, - VerifiedAccessTrustProvider, - VerifiedAccessTrustProviderFilterSensitiveLog, } from "./models_0"; import { @@ -69,18 +67,14 @@ import { ShutdownBehavior, TargetCapacitySpecificationRequest, TargetCapacityUnitType, - VolumeType, } from "./models_1"; import { AutoAcceptSharedAttachmentsValue, DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, - DnsOptionsSpecification, - IpAddressType, SSEType, SubnetCidrReservation, - SubnetConfiguration, TrafficDirection, TrafficMirrorFilter, TrafficMirrorFilterRule, @@ -137,15 +131,159 @@ import { import { ExcessCapacityTerminationPolicy, - InstanceFamilyCreditSpecification, LaunchTemplateConfig, SnapshotBlockPublicAccessState, TransitGatewayPropagationState, - UnlimitedSupportedInstanceFamily, VerifiedAccessInstanceLoggingConfiguration, - VolumeModification, } from "./models_5"; +/** + * @public + */ +export interface GetConsoleOutputResult { + /** + *

    The ID of the instance.

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

    The time at which the output was last updated.

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

    The console output, base64-encoded. If you are using a command line tool, the tool + * decodes the output for you.

    + * @public + */ + Output?: string; +} + +/** + * @public + */ +export interface GetConsoleScreenshotRequest { + /** + *

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

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

    The ID of the instance.

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

    When set to true, acts as keystroke input and wakes up an instance that's + * in standby or "sleep" mode.

    + * @public + */ + WakeUp?: boolean; +} + +/** + * @public + */ +export interface GetConsoleScreenshotResult { + /** + *

    The data that comprises the image.

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

    The ID of the instance.

    + * @public + */ + InstanceId?: string; +} + +/** + * @public + * @enum + */ +export const UnlimitedSupportedInstanceFamily = { + t2: "t2", + t3: "t3", + t3a: "t3a", + t4g: "t4g", +} as const; + +/** + * @public + */ +export type UnlimitedSupportedInstanceFamily = + (typeof UnlimitedSupportedInstanceFamily)[keyof typeof UnlimitedSupportedInstanceFamily]; + +/** + * @public + */ +export interface GetDefaultCreditSpecificationRequest { + /** + *

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

    The instance family.

    + * @public + */ + InstanceFamily: UnlimitedSupportedInstanceFamily | undefined; +} + +/** + *

    Describes the default credit option for CPU usage of a burstable performance instance + * family.

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

    The instance family.

    + * @public + */ + InstanceFamily?: UnlimitedSupportedInstanceFamily; + + /** + *

    The default credit option for CPU usage of the instance family. Valid values are + * standard and unlimited.

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

    The default credit option for CPU usage of the instance family.

    + * @public + */ + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; +} + +/** + * @public + */ +export interface GetEbsDefaultKmsKeyIdRequest { + /** + *

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

    + * @public + */ + DryRun?: boolean; +} + /** * @public */ @@ -9083,348 +9221,6 @@ export interface ModifyVerifiedAccessTrustProviderOidcOptions { Scope?: string; } -/** - * @public - */ -export interface ModifyVerifiedAccessTrustProviderRequest { - /** - *

    The ID of the Verified Access trust provider.

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

    The options for an OpenID Connect-compatible user-identity trust provider.

    - * @public - */ - OidcOptions?: ModifyVerifiedAccessTrustProviderOidcOptions; - - /** - *

    The options for a device-based trust provider. This parameter is required when the - * provider type is device.

    - * @public - */ - DeviceOptions?: ModifyVerifiedAccessTrustProviderDeviceOptions; - - /** - *

    A description for the Verified Access trust provider.

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

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

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

    A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring idempotency.

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

    The options for server side encryption.

    - * @public - */ - SseSpecification?: VerifiedAccessSseSpecificationRequest; -} - -/** - * @public - */ -export interface ModifyVerifiedAccessTrustProviderResult { - /** - *

    Details about the Verified Access trust provider.

    - * @public - */ - VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider; -} - -/** - * @public - */ -export interface ModifyVolumeRequest { - /** - *

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

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

    The ID of the volume.

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

    The target size of the volume, in GiB. The target volume size must be greater than or - * equal to the existing size of the volume.

    - *

    The following are the supported volumes sizes for each volume type:

    - *
      - *
    • - *

      - * gp2 and gp3: 1 - 16,384 GiB

      - *
    • - *
    • - *

      - * io1: 4 - 16,384 GiB

      - *
    • - *
    • - *

      - * io2: 4 - 65,536 GiB

      - *
    • - *
    • - *

      - * st1 and sc1: 125 - 16,384 GiB

      - *
    • - *
    • - *

      - * standard: 1 - 1024 GiB

      - *
    • - *
    - *

    Default: The existing size is retained.

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

    The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

    - *

    Default: The existing type is retained.

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

    The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

    - *

    The following are the supported values for each volume type:

    - *
      - *
    • - *

      - * gp3: 3,000 - 16,000 IOPS

      - *
    • - *
    • - *

      - * io1: 100 - 64,000 IOPS

      - *
    • - *
    • - *

      - * io2: 100 - 256,000 IOPS

      - *
    • - *
    - *

    For io2 volumes, you can achieve up to 256,000 IOPS on - * instances - * built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

    - *

    Default: The existing value is retained if you keep the same volume type. If you change - * the volume type to io1, io2, or gp3, the default is 3,000.

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

    The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. - * The maximum value is 1,000.

    - *

    Default: The existing value is retained if the source and target volume type is gp3. - * Otherwise, the default value is 125.

    - *

    Valid Range: Minimum value of 125. Maximum value of 1000.

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

    Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the - * volume to up to 16 - * Nitro-based instances in the same Availability Zone. This parameter is - * supported with io1 and io2 volumes only. For more information, see - * - * Amazon EBS Multi-Attach in the Amazon EBS User Guide.

    - * @public - */ - MultiAttachEnabled?: boolean; -} - -/** - * @public - */ -export interface ModifyVolumeResult { - /** - *

    Information about the volume modification.

    - * @public - */ - VolumeModification?: VolumeModification; -} - -/** - * @public - */ -export interface ModifyVolumeAttributeRequest { - /** - *

    Indicates whether the volume should be auto-enabled for I/O operations.

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

    The ID of the volume.

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

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

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

    Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

    - *

    You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

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

    Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to - * the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP - * address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon - * provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is - * not enabled.

    - *

    You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

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

    The ID of the VPC.

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

    Indicates whether Network Address Usage metrics are enabled for your VPC.

    - * @public - */ - EnableNetworkAddressUsageMetrics?: AttributeBooleanValue; -} - -/** - * @public - */ -export interface ModifyVpcEndpointRequest { - /** - *

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

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

    The ID of the endpoint.

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

    (Gateway endpoint) Specify true to reset the policy document to the - * default policy. The default policy allows full access to the service.

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

    (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must - * be in valid JSON format.

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

    (Gateway endpoint) The IDs of the route tables to associate with the endpoint.

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

    (Gateway endpoint) The IDs of the route tables to disassociate from the endpoint.

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

    (Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to serve the endpoint. - * For a Gateway Load Balancer endpoint, you can specify only one subnet.

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

    (Interface endpoint) The IDs of the subnets from which to remove the endpoint.

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

    (Interface endpoint) The IDs of the security groups to associate with the endpoint network interfaces.

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

    (Interface endpoint) The IDs of the security groups to disassociate from the endpoint network interfaces.

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

    The IP address type for the endpoint.

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

    The DNS options for the endpoint.

    - * @public - */ - DnsOptions?: DnsOptionsSpecification; - - /** - *

    (Interface endpoint) Indicates whether a private hosted zone is associated with the VPC.

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

    The subnet configurations for the endpoint.

    - * @public - */ - SubnetConfigurations?: SubnetConfiguration[]; -} - -/** - * @public - */ -export interface ModifyVpcEndpointResult { - /** - *

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

    - * @public - */ - Return?: boolean; -} - /** * @internal */ @@ -9588,27 +9384,3 @@ export const ModifyVerifiedAccessTrustProviderOidcOptionsFilterSensitiveLog = ( ...obj, ...(obj.ClientSecret && { ClientSecret: SENSITIVE_STRING }), }); - -/** - * @internal - */ -export const ModifyVerifiedAccessTrustProviderRequestFilterSensitiveLog = ( - obj: ModifyVerifiedAccessTrustProviderRequest -): any => ({ - ...obj, - ...(obj.OidcOptions && { - OidcOptions: ModifyVerifiedAccessTrustProviderOidcOptionsFilterSensitiveLog(obj.OidcOptions), - }), -}); - -/** - * @internal - */ -export const ModifyVerifiedAccessTrustProviderResultFilterSensitiveLog = ( - obj: ModifyVerifiedAccessTrustProviderResult -): any => ({ - ...obj, - ...(obj.VerifiedAccessTrustProvider && { - VerifiedAccessTrustProvider: VerifiedAccessTrustProviderFilterSensitiveLog(obj.VerifiedAccessTrustProvider), - }), -}); diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index 5d2baab493d7..1197480d2d1d 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -6,7 +6,6 @@ import { AddressAttribute, AddressAttributeName, ByoipCidr, - CapacityReservation, CapacityReservationInstancePlatform, ClientVpnAuthorizationRuleStatus, CurrencyCodeValues, @@ -22,12 +21,15 @@ import { TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, UnsuccessfulItem, + VerifiedAccessTrustProvider, + VerifiedAccessTrustProviderFilterSensitiveLog, } from "./models_0"; import { _InstanceType, AmdSevSnpSpecification, BlockDeviceMapping, + CapacityReservation, CreditSpecificationRequest, ElasticGpuSpecification, HostnameType, @@ -41,10 +43,13 @@ import { RuleAction, ShutdownBehavior, SpotInstanceType, + VolumeType, } from "./models_1"; import { + DnsOptionsSpecification, IKEVersionsRequestListValue, + IpAddressType, PayerResponsibility, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsRequestListValue, @@ -54,7 +59,9 @@ import { Phase2IntegrityAlgorithmsRequestListValue, SnapshotState, SSEType, + SubnetConfiguration, TransitGatewayRoute, + VerifiedAccessSseSpecificationRequest, VpnConnection, VpnConnectionFilterSensitiveLog, VpnTunnelLogOptionsSpecification, @@ -64,6 +71,7 @@ import { Byoasn, ClientVpnConnectionStatus, Filter, InstanceTagNotificationAttri import { ArchitectureValues, + AttributeBooleanValue, BootModeValues, HttpTokensState, ImdsSupportValues, @@ -90,9 +98,358 @@ import { SpotInstanceRequest, SpotInstanceRequestFilterSensitiveLog, SpotPlacement, + VolumeModification, } from "./models_5"; -import { CapacityReservationSpecification, Purchase } from "./models_6"; +import { + CapacityReservationSpecification, + ModifyVerifiedAccessTrustProviderDeviceOptions, + ModifyVerifiedAccessTrustProviderOidcOptions, + ModifyVerifiedAccessTrustProviderOidcOptionsFilterSensitiveLog, + Purchase, +} from "./models_6"; + +/** + * @public + */ +export interface ModifyVerifiedAccessTrustProviderRequest { + /** + *

    The ID of the Verified Access trust provider.

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

    The options for an OpenID Connect-compatible user-identity trust provider.

    + * @public + */ + OidcOptions?: ModifyVerifiedAccessTrustProviderOidcOptions; + + /** + *

    The options for a device-based trust provider. This parameter is required when the + * provider type is device.

    + * @public + */ + DeviceOptions?: ModifyVerifiedAccessTrustProviderDeviceOptions; + + /** + *

    A description for the Verified Access trust provider.

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

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

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

    A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring idempotency.

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

    The options for server side encryption.

    + * @public + */ + SseSpecification?: VerifiedAccessSseSpecificationRequest; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessTrustProviderResult { + /** + *

    Details about the Verified Access trust provider.

    + * @public + */ + VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider; +} + +/** + * @public + */ +export interface ModifyVolumeRequest { + /** + *

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

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

    The ID of the volume.

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

    The target size of the volume, in GiB. The target volume size must be greater than or + * equal to the existing size of the volume.

    + *

    The following are the supported volumes sizes for each volume type:

    + *
      + *
    • + *

      + * gp2 and gp3: 1 - 16,384 GiB

      + *
    • + *
    • + *

      + * io1: 4 - 16,384 GiB

      + *
    • + *
    • + *

      + * io2: 4 - 65,536 GiB

      + *
    • + *
    • + *

      + * st1 and sc1: 125 - 16,384 GiB

      + *
    • + *
    • + *

      + * standard: 1 - 1024 GiB

      + *
    • + *
    + *

    Default: The existing size is retained.

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

    The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

    + *

    Default: The existing type is retained.

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

    The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

    + *

    The following are the supported values for each volume type:

    + *
      + *
    • + *

      + * gp3: 3,000 - 16,000 IOPS

      + *
    • + *
    • + *

      + * io1: 100 - 64,000 IOPS

      + *
    • + *
    • + *

      + * io2: 100 - 256,000 IOPS

      + *
    • + *
    + *

    For io2 volumes, you can achieve up to 256,000 IOPS on + * instances + * built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

    + *

    Default: The existing value is retained if you keep the same volume type. If you change + * the volume type to io1, io2, or gp3, the default is 3,000.

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

    The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. + * The maximum value is 1,000.

    + *

    Default: The existing value is retained if the source and target volume type is gp3. + * Otherwise, the default value is 125.

    + *

    Valid Range: Minimum value of 125. Maximum value of 1000.

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

    Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the + * volume to up to 16 + * Nitro-based instances in the same Availability Zone. This parameter is + * supported with io1 and io2 volumes only. For more information, see + * + * Amazon EBS Multi-Attach in the Amazon EBS User Guide.

    + * @public + */ + MultiAttachEnabled?: boolean; +} + +/** + * @public + */ +export interface ModifyVolumeResult { + /** + *

    Information about the volume modification.

    + * @public + */ + VolumeModification?: VolumeModification; +} + +/** + * @public + */ +export interface ModifyVolumeAttributeRequest { + /** + *

    Indicates whether the volume should be auto-enabled for I/O operations.

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

    The ID of the volume.

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

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

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

    Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

    + *

    You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

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

    Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to + * the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP + * address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon + * provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is + * not enabled.

    + *

    You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

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

    The ID of the VPC.

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

    Indicates whether Network Address Usage metrics are enabled for your VPC.

    + * @public + */ + EnableNetworkAddressUsageMetrics?: AttributeBooleanValue; +} + +/** + * @public + */ +export interface ModifyVpcEndpointRequest { + /** + *

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

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

    The ID of the endpoint.

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

    (Gateway endpoint) Specify true to reset the policy document to the + * default policy. The default policy allows full access to the service.

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

    (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must + * be in valid JSON format.

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

    (Gateway endpoint) The IDs of the route tables to associate with the endpoint.

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

    (Gateway endpoint) The IDs of the route tables to disassociate from the endpoint.

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

    (Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to serve the endpoint. + * For a Gateway Load Balancer endpoint, you can specify only one subnet.

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

    (Interface endpoint) The IDs of the subnets from which to remove the endpoint.

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

    (Interface endpoint) The IDs of the security groups to associate with the endpoint network interfaces.

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

    (Interface endpoint) The IDs of the security groups to disassociate from the endpoint network interfaces.

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

    The IP address type for the endpoint.

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

    The DNS options for the endpoint.

    + * @public + */ + DnsOptions?: DnsOptionsSpecification; + + /** + *

    (Interface endpoint) Indicates whether a private hosted zone is associated with the VPC.

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

    The subnet configurations for the endpoint.

    + * @public + */ + SubnetConfigurations?: SubnetConfiguration[]; +} + +/** + * @public + */ +export interface ModifyVpcEndpointResult { + /** + *

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

    + * @public + */ + Return?: boolean; +} /** * @public @@ -3762,6 +4119,78 @@ export interface RevokeSecurityGroupEgressRequest { IpPermissions?: IpPermission[]; } +/** + *

    A security group rule removed with RevokeSecurityGroupEgress or RevokeSecurityGroupIngress.

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

    A security group rule ID.

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

    A security group ID.

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

    Defines if a security group rule is an outbound rule.

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

    The security group rule's protocol.

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

    The 'from' port number of the security group rule.

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

    The 'to' port number of the security group rule.

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

    The IPv4 CIDR of the traffic source.

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

    The IPv6 CIDR of the traffic source.

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

    The ID of a prefix list that's the traffic source.

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

    The ID of a referenced security group.

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

    A description of the revoked security group rule.

    + * @public + */ + Description?: string; +} + /** * @public */ @@ -3779,6 +4208,12 @@ export interface RevokeSecurityGroupEgressResult { * @public */ UnknownIpPermissions?: IpPermission[]; + + /** + *

    Details about the revoked security group rules.

    + * @public + */ + RevokedSecurityGroupRules?: RevokedSecurityGroupRule[]; } /** @@ -3880,6 +4315,12 @@ export interface RevokeSecurityGroupIngressResult { * @public */ UnknownIpPermissions?: IpPermission[]; + + /** + *

    Details about the revoked security group rules.

    + * @public + */ + RevokedSecurityGroupRules?: RevokedSecurityGroupRule[]; } /** @@ -6089,6 +6530,30 @@ export interface WithdrawByoipCidrResult { ByoipCidr?: ByoipCidr; } +/** + * @internal + */ +export const ModifyVerifiedAccessTrustProviderRequestFilterSensitiveLog = ( + obj: ModifyVerifiedAccessTrustProviderRequest +): any => ({ + ...obj, + ...(obj.OidcOptions && { + OidcOptions: ModifyVerifiedAccessTrustProviderOidcOptionsFilterSensitiveLog(obj.OidcOptions), + }), +}); + +/** + * @internal + */ +export const ModifyVerifiedAccessTrustProviderResultFilterSensitiveLog = ( + obj: ModifyVerifiedAccessTrustProviderResult +): any => ({ + ...obj, + ...(obj.VerifiedAccessTrustProvider && { + VerifiedAccessTrustProvider: VerifiedAccessTrustProviderFilterSensitiveLog(obj.VerifiedAccessTrustProvider), + }), +}); + /** * @internal */ diff --git a/clients/client-ec2/src/pagination/DescribeSecurityGroupVpcAssociationsPaginator.ts b/clients/client-ec2/src/pagination/DescribeSecurityGroupVpcAssociationsPaginator.ts new file mode 100644 index 000000000000..6bdc69dc5b06 --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeSecurityGroupVpcAssociationsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + DescribeSecurityGroupVpcAssociationsCommand, + DescribeSecurityGroupVpcAssociationsCommandInput, + DescribeSecurityGroupVpcAssociationsCommandOutput, +} from "../commands/DescribeSecurityGroupVpcAssociationsCommand"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateDescribeSecurityGroupVpcAssociations: ( + config: EC2PaginationConfiguration, + input: DescribeSecurityGroupVpcAssociationsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + EC2PaginationConfiguration, + DescribeSecurityGroupVpcAssociationsCommandInput, + DescribeSecurityGroupVpcAssociationsCommandOutput +>(EC2Client, DescribeSecurityGroupVpcAssociationsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-ec2/src/pagination/index.ts b/clients/client-ec2/src/pagination/index.ts index b7f9a76a9b3e..3c1f3a2fd8f7 100644 --- a/clients/client-ec2/src/pagination/index.ts +++ b/clients/client-ec2/src/pagination/index.ts @@ -85,6 +85,7 @@ export * from "./DescribeRouteTablesPaginator"; export * from "./DescribeScheduledInstanceAvailabilityPaginator"; export * from "./DescribeScheduledInstancesPaginator"; export * from "./DescribeSecurityGroupRulesPaginator"; +export * from "./DescribeSecurityGroupVpcAssociationsPaginator"; export * from "./DescribeSecurityGroupsPaginator"; export * from "./DescribeSnapshotTierStatusPaginator"; export * from "./DescribeSnapshotsPaginator"; diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index 63ef1cae684d..ff414758ea7f 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -120,6 +120,10 @@ import { AssociateRouteTableCommandInput, AssociateRouteTableCommandOutput, } from "../commands/AssociateRouteTableCommand"; +import { + AssociateSecurityGroupVpcCommandInput, + AssociateSecurityGroupVpcCommandOutput, +} from "../commands/AssociateSecurityGroupVpcCommand"; import { AssociateSubnetCidrBlockCommandInput, AssociateSubnetCidrBlockCommandOutput, @@ -1105,6 +1109,10 @@ import { DescribeSecurityGroupsCommandInput, DescribeSecurityGroupsCommandOutput, } from "../commands/DescribeSecurityGroupsCommand"; +import { + DescribeSecurityGroupVpcAssociationsCommandInput, + DescribeSecurityGroupVpcAssociationsCommandOutput, +} from "../commands/DescribeSecurityGroupVpcAssociationsCommand"; import { DescribeSnapshotAttributeCommandInput, DescribeSnapshotAttributeCommandOutput, @@ -1406,6 +1414,10 @@ import { DisassociateRouteTableCommandInput, DisassociateRouteTableCommandOutput, } from "../commands/DisassociateRouteTableCommand"; +import { + DisassociateSecurityGroupVpcCommandInput, + DisassociateSecurityGroupVpcCommandOutput, +} from "../commands/DisassociateSecurityGroupVpcCommand"; import { DisassociateSubnetCidrBlockCommandInput, DisassociateSubnetCidrBlockCommandOutput, @@ -2263,6 +2275,8 @@ import { AssociateNatGatewayAddressResult, AssociateRouteTableRequest, AssociateRouteTableResult, + AssociateSecurityGroupVpcRequest, + AssociateSecurityGroupVpcResult, AssociateSubnetCidrBlockRequest, AssociateSubnetCidrBlockResult, AssociateTransitGatewayMulticastDomainRequest, @@ -2321,7 +2335,6 @@ import { CancelSpotInstanceRequestsRequest, CancelSpotInstanceRequestsResult, CapacityAllocation, - CapacityReservation, CapacityReservationFleetCancellationState, CidrBlock, ClientVpnAuthorizationRuleStatus, @@ -2333,9 +2346,7 @@ import { CopyImageResult, CopySnapshotRequest, CopySnapshotResult, - CreateCapacityReservationBySplittingRequest, CreateCapacityReservationRequest, - CreateCapacityReservationResult, DeviceOptions, EnaSrdSpecification, EnaSrdUdpSpecification, @@ -2423,6 +2434,7 @@ import { BaselineEbsBandwidthMbps, BaselineEbsBandwidthMbpsRequest, BlockDeviceMapping, + CapacityReservation, CapacityReservationOptionsRequest, CapacityReservationTarget, CapacityReservationTargetResponse, @@ -2439,9 +2451,11 @@ import { ConnectionTrackingSpecification, ConnectionTrackingSpecificationRequest, CpuManufacturer, + CreateCapacityReservationBySplittingRequest, CreateCapacityReservationBySplittingResult, CreateCapacityReservationFleetRequest, CreateCapacityReservationFleetResult, + CreateCapacityReservationResult, CreateCarrierGatewayRequest, CreateCarrierGatewayResult, CreateClientVpnEndpointRequest, @@ -2512,7 +2526,6 @@ import { CreateNetworkAclResult, CreateNetworkInsightsAccessScopeRequest, CreateNetworkInsightsAccessScopeResult, - CreateNetworkInsightsPathRequest, CreditSpecification, CreditSpecificationRequest, CustomerGateway, @@ -2626,13 +2639,11 @@ import { NetworkInterfaceCountRequest, NewDhcpConfiguration, OnDemandOptionsRequest, - PathRequestFilter, Placement, PlacementResponse, PrivateDnsNameOptionsOnLaunch, PrivateIpAddressSpecification, ProvisionedBandwidth, - RequestFilterPortRange, RequestIpamResourceTag, RequestLaunchTemplateData, ReservationFleetInstanceSpecification, @@ -2657,6 +2668,7 @@ import { CloudWatchLogOptionsSpecification, ConnectionNotification, ConnectionTrackingConfiguration, + CreateNetworkInsightsPathRequest, CreateNetworkInsightsPathResult, CreateNetworkInterfacePermissionRequest, CreateNetworkInterfacePermissionResult, @@ -2792,9 +2804,6 @@ import { DeleteIpamScopeResult, DeleteKeyPairRequest, DeleteKeyPairResult, - DeleteLaunchTemplateRequest, - DeleteLaunchTemplateResult, - DeleteLaunchTemplateVersionsRequest, DnsEntry, DnsOptions, DnsOptionsSpecification, @@ -2815,6 +2824,7 @@ import { NetworkInterfacePermissionState, NetworkInterfacePrivateIpAddress, PathFilter, + PathRequestFilter, Phase1DHGroupNumbersListValue, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsListValue, @@ -2832,6 +2842,7 @@ import { PrivateDnsNameConfiguration, PropagatingVgw, ReplaceRootVolumeTask, + RequestFilterPortRange, Route, RouteTable, RouteTableAssociation, @@ -2914,6 +2925,9 @@ import { ClientVpnRoute, ConnectionLogResponseOptions, ConversionTask, + DeleteLaunchTemplateRequest, + DeleteLaunchTemplateResult, + DeleteLaunchTemplateVersionsRequest, DeleteLaunchTemplateVersionsResponseErrorItem, DeleteLaunchTemplateVersionsResponseSuccessItem, DeleteLaunchTemplateVersionsResult, @@ -3110,8 +3124,6 @@ import { DescribeIamInstanceProfileAssociationsResult, DescribeIdentityIdFormatRequest, DescribeIdentityIdFormatResult, - DescribeIdFormatRequest, - DescribeIdFormatResult, DestinationOptionsResponse, DirectoryServiceAuthentication, DiskImageDescription, @@ -3169,6 +3181,8 @@ import { ConnectionTrackingSpecificationResponse, CpuOptions, CreateVolumePermission, + DescribeIdFormatRequest, + DescribeIdFormatResult, DescribeImageAttributeRequest, DescribeImagesRequest, DescribeImagesResult, @@ -3291,6 +3305,8 @@ import { DescribeSecurityGroupRulesResult, DescribeSecurityGroupsRequest, DescribeSecurityGroupsResult, + DescribeSecurityGroupVpcAssociationsRequest, + DescribeSecurityGroupVpcAssociationsResult, DescribeSnapshotAttributeRequest, DescribeSnapshotAttributeResult, DescribeSnapshotsRequest, @@ -3298,10 +3314,6 @@ import { DescribeSnapshotTierStatusRequest, DescribeSnapshotTierStatusResult, DescribeSpotDatafeedSubscriptionRequest, - DescribeSpotDatafeedSubscriptionResult, - DescribeSpotFleetInstancesRequest, - DescribeSpotFleetInstancesResponse, - DescribeSpotFleetRequestHistoryRequest, DiskInfo, EbsInfo, EbsInstanceBlockDevice, @@ -3319,7 +3331,6 @@ import { GpuDeviceMemoryInfo, GpuInfo, HibernationOptions, - HistoryRecord, Image, ImageAttribute, ImageMetadata, @@ -3403,6 +3414,7 @@ import { ScheduledInstanceRecurrenceRequest, SecurityGroup, SecurityGroupReference, + SecurityGroupVpcAssociation, SlotDateTimeRangeRequest, SlotStartTimeRangeRequest, SnapshotDetail, @@ -3423,6 +3435,10 @@ import { CoipAddressUsage, DataQuery, DataResponse, + DescribeSpotDatafeedSubscriptionResult, + DescribeSpotFleetInstancesRequest, + DescribeSpotFleetInstancesResponse, + DescribeSpotFleetRequestHistoryRequest, DescribeSpotFleetRequestHistoryResponse, DescribeSpotFleetRequestsRequest, DescribeSpotFleetRequestsResponse, @@ -3573,6 +3589,8 @@ import { DisassociateNatGatewayAddressRequest, DisassociateNatGatewayAddressResult, DisassociateRouteTableRequest, + DisassociateSecurityGroupVpcRequest, + DisassociateSecurityGroupVpcResult, DisassociateSubnetCidrBlockRequest, DisassociateSubnetCidrBlockResult, DisassociateTransitGatewayMulticastDomainRequest, @@ -3645,14 +3663,8 @@ import { GetCoipPoolUsageRequest, GetCoipPoolUsageResult, GetConsoleOutputRequest, - GetConsoleOutputResult, - GetConsoleScreenshotRequest, - GetConsoleScreenshotResult, - GetDefaultCreditSpecificationRequest, - GetDefaultCreditSpecificationResult, - GetEbsDefaultKmsKeyIdRequest, + HistoryRecord, InstanceEventWindowDisassociationRequest, - InstanceFamilyCreditSpecification, InstanceNetworkInterfaceSpecification, InstanceUsage, Ipv6CidrAssociation, @@ -3711,6 +3723,12 @@ import { DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + GetConsoleOutputResult, + GetConsoleScreenshotRequest, + GetConsoleScreenshotResult, + GetDefaultCreditSpecificationRequest, + GetDefaultCreditSpecificationResult, + GetEbsDefaultKmsKeyIdRequest, GetEbsDefaultKmsKeyIdResult, GetEbsEncryptionByDefaultRequest, GetEbsEncryptionByDefaultResult, @@ -3810,6 +3828,7 @@ import { ImportVolumeResult, InstanceBlockDeviceMappingSpecification, InstanceCreditSpecificationRequest, + InstanceFamilyCreditSpecification, InstanceMetadataDefaultsResponse, InstanceRequirementsWithMetadataRequest, InstanceTypeInfoFromInstanceRequirements, @@ -3934,14 +3953,6 @@ import { ModifyVerifiedAccessInstanceResult, ModifyVerifiedAccessTrustProviderDeviceOptions, ModifyVerifiedAccessTrustProviderOidcOptions, - ModifyVerifiedAccessTrustProviderRequest, - ModifyVerifiedAccessTrustProviderResult, - ModifyVolumeAttributeRequest, - ModifyVolumeRequest, - ModifyVolumeResult, - ModifyVpcAttributeRequest, - ModifyVpcEndpointRequest, - ModifyVpcEndpointResult, NetworkInterfaceAttachmentChanges, PrefixListAssociation, PrefixListEntry, @@ -3994,8 +4005,16 @@ import { IpamCidrAuthorizationContext, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyVerifiedAccessTrustProviderRequest, + ModifyVerifiedAccessTrustProviderResult, + ModifyVolumeAttributeRequest, + ModifyVolumeRequest, + ModifyVolumeResult, + ModifyVpcAttributeRequest, ModifyVpcEndpointConnectionNotificationRequest, ModifyVpcEndpointConnectionNotificationResult, + ModifyVpcEndpointRequest, + ModifyVpcEndpointResult, ModifyVpcEndpointServiceConfigurationRequest, ModifyVpcEndpointServiceConfigurationResult, ModifyVpcEndpointServicePayerResponsibilityRequest, @@ -4112,6 +4131,7 @@ import { RestoreSnapshotTierResult, RevokeClientVpnIngressRequest, RevokeClientVpnIngressResult, + RevokedSecurityGroupRule, RevokeSecurityGroupEgressRequest, RevokeSecurityGroupEgressResult, RevokeSecurityGroupIngressRequest, @@ -4631,6 +4651,23 @@ export const se_AssociateRouteTableCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2AssociateSecurityGroupVpcCommand + */ +export const se_AssociateSecurityGroupVpcCommand = async ( + input: AssociateSecurityGroupVpcCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_AssociateSecurityGroupVpcRequest(input, context), + [_A]: _ASGV, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2AssociateSubnetCidrBlockCommand */ @@ -9748,6 +9785,23 @@ export const se_DescribeSecurityGroupsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2DescribeSecurityGroupVpcAssociationsCommand + */ +export const se_DescribeSecurityGroupVpcAssociationsCommand = async ( + input: DescribeSecurityGroupVpcAssociationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DescribeSecurityGroupVpcAssociationsRequest(input, context), + [_A]: _DSGVA, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2DescribeSnapshotAttributeCommand */ @@ -11142,6 +11196,23 @@ export const se_DisassociateRouteTableCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2DisassociateSecurityGroupVpcCommand + */ +export const se_DisassociateSecurityGroupVpcCommand = async ( + input: DisassociateSecurityGroupVpcCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DisassociateSecurityGroupVpcRequest(input, context), + [_A]: _DSGV, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2DisassociateSubnetCidrBlockCommand */ @@ -15487,6 +15558,26 @@ export const de_AssociateRouteTableCommand = async ( return response; }; +/** + * deserializeAws_ec2AssociateSecurityGroupVpcCommand + */ +export const de_AssociateSecurityGroupVpcCommand = 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_AssociateSecurityGroupVpcResult(data, context); + const response: AssociateSecurityGroupVpcCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2AssociateSubnetCidrBlockCommand */ @@ -21429,6 +21520,26 @@ export const de_DescribeSecurityGroupsCommand = async ( return response; }; +/** + * deserializeAws_ec2DescribeSecurityGroupVpcAssociationsCommand + */ +export const de_DescribeSecurityGroupVpcAssociationsCommand = 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_DescribeSecurityGroupVpcAssociationsResult(data, context); + const response: DescribeSecurityGroupVpcAssociationsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2DescribeSnapshotAttributeCommand */ @@ -23051,6 +23162,26 @@ export const de_DisassociateRouteTableCommand = async ( return response; }; +/** + * deserializeAws_ec2DisassociateSecurityGroupVpcCommand + */ +export const de_DisassociateSecurityGroupVpcCommand = 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_DisassociateSecurityGroupVpcResult(data, context); + const response: DisassociateSecurityGroupVpcCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2DisassociateSubnetCidrBlockCommand */ @@ -28519,6 +28650,23 @@ const se_AssociateRouteTableRequest = (input: AssociateRouteTableRequest, contex return entries; }; +/** + * serializeAws_ec2AssociateSecurityGroupVpcRequest + */ +const se_AssociateSecurityGroupVpcRequest = (input: AssociateSecurityGroupVpcRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input[_GIr] != null) { + entries[_GIr] = input[_GIr]; + } + if (input[_VI] != null) { + entries[_VI] = input[_VI]; + } + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + return entries; +}; + /** * serializeAws_ec2AssociateSubnetCidrBlockRequest */ @@ -38097,6 +38245,33 @@ const se_DescribeSecurityGroupsRequest = (input: DescribeSecurityGroupsRequest, return entries; }; +/** + * serializeAws_ec2DescribeSecurityGroupVpcAssociationsRequest + */ +const se_DescribeSecurityGroupVpcAssociationsRequest = ( + input: DescribeSecurityGroupVpcAssociationsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_Fi] != null) { + const memberEntries = se_FilterList(input[_Fi], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input[_NT] != null) { + entries[_NT] = input[_NT]; + } + if (input[_MR] != null) { + entries[_MR] = input[_MR]; + } + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + return entries; +}; + /** * serializeAws_ec2DescribeSnapshotAttributeRequest */ @@ -40263,6 +40438,26 @@ const se_DisassociateRouteTableRequest = (input: DisassociateRouteTableRequest, return entries; }; +/** + * serializeAws_ec2DisassociateSecurityGroupVpcRequest + */ +const se_DisassociateSecurityGroupVpcRequest = ( + input: DisassociateSecurityGroupVpcRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_GIr] != null) { + entries[_GIr] = input[_GIr]; + } + if (input[_VI] != null) { + entries[_VI] = input[_VI]; + } + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + return entries; +}; + /** * serializeAws_ec2DisassociateSubnetCidrBlockRequest */ @@ -55949,6 +56144,17 @@ const de_AssociateRouteTableResult = (output: any, context: __SerdeContext): Ass return contents; }; +/** + * deserializeAws_ec2AssociateSecurityGroupVpcResult + */ +const de_AssociateSecurityGroupVpcResult = (output: any, context: __SerdeContext): AssociateSecurityGroupVpcResult => { + const contents: any = {}; + if (output[_st] != null) { + contents[_Stat] = __expectString(output[_st]); + } + return contents; +}; + /** * deserializeAws_ec2AssociateSubnetCidrBlockResult */ @@ -58792,6 +58998,9 @@ const de_CreateSecurityGroupResult = (output: any, context: __SerdeContext): Cre } else if (output[_tS] != null && output[_tS][_i] != null) { contents[_Ta] = de_TagList(__getArrayIfSingleItem(output[_tS][_i]), context); } + if (output[_sGA] != null) { + contents[_SGA] = __expectString(output[_sGA]); + } return contents; }; @@ -62302,6 +62511,25 @@ const de_DescribeSecurityGroupsResult = (output: any, context: __SerdeContext): return contents; }; +/** + * deserializeAws_ec2DescribeSecurityGroupVpcAssociationsResult + */ +const de_DescribeSecurityGroupVpcAssociationsResult = ( + output: any, + context: __SerdeContext +): DescribeSecurityGroupVpcAssociationsResult => { + const contents: any = {}; + if (output.securityGroupVpcAssociationSet === "") { + contents[_SGVA] = []; + } else if (output[_sGVAS] != null && output[_sGVAS][_i] != null) { + contents[_SGVA] = de_SecurityGroupVpcAssociationList(__getArrayIfSingleItem(output[_sGVAS][_i]), context); + } + if (output[_nTe] != null) { + contents[_NT] = __expectString(output[_nTe]); + } + return contents; +}; + /** * deserializeAws_ec2DescribeSnapshotAttributeResult */ @@ -63850,6 +64078,20 @@ const de_DisassociateNatGatewayAddressResult = ( return contents; }; +/** + * deserializeAws_ec2DisassociateSecurityGroupVpcResult + */ +const de_DisassociateSecurityGroupVpcResult = ( + output: any, + context: __SerdeContext +): DisassociateSecurityGroupVpcResult => { + const contents: any = {}; + if (output[_st] != null) { + contents[_Stat] = __expectString(output[_st]); + } + return contents; +}; + /** * deserializeAws_ec2DisassociateSubnetCidrBlockResult */ @@ -77006,6 +77248,58 @@ const de_RevokeClientVpnIngressResult = (output: any, context: __SerdeContext): return contents; }; +/** + * deserializeAws_ec2RevokedSecurityGroupRule + */ +const de_RevokedSecurityGroupRule = (output: any, context: __SerdeContext): RevokedSecurityGroupRule => { + const contents: any = {}; + if (output[_sGRI] != null) { + contents[_SGRIe] = __expectString(output[_sGRI]); + } + if (output[_gIr] != null) { + contents[_GIr] = __expectString(output[_gIr]); + } + if (output[_iEs] != null) { + contents[_IE] = __parseBoolean(output[_iEs]); + } + if (output[_iPpr] != null) { + contents[_IPpr] = __expectString(output[_iPpr]); + } + if (output[_fP] != null) { + contents[_FP] = __strictParseInt32(output[_fP]) as number; + } + if (output[_tPo] != null) { + contents[_TP] = __strictParseInt32(output[_tPo]) as number; + } + if (output[_cIidr] != null) { + contents[_CIidr] = __expectString(output[_cIidr]); + } + if (output[_cIid] != null) { + contents[_CIid] = __expectString(output[_cIid]); + } + if (output[_pLI] != null) { + contents[_PLI] = __expectString(output[_pLI]); + } + if (output[_rGI] != null) { + contents[_RGI] = __expectString(output[_rGI]); + } + if (output[_de] != null) { + contents[_De] = __expectString(output[_de]); + } + return contents; +}; + +/** + * deserializeAws_ec2RevokedSecurityGroupRuleList + */ +const de_RevokedSecurityGroupRuleList = (output: any, context: __SerdeContext): RevokedSecurityGroupRule[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_RevokedSecurityGroupRule(entry, context); + }); +}; + /** * deserializeAws_ec2RevokeSecurityGroupEgressResult */ @@ -77019,6 +77313,11 @@ const de_RevokeSecurityGroupEgressResult = (output: any, context: __SerdeContext } else if (output[_uIPS] != null && output[_uIPS][_i] != null) { contents[_UIP] = de_IpPermissionList(__getArrayIfSingleItem(output[_uIPS][_i]), context); } + if (output.revokedSecurityGroupRuleSet === "") { + contents[_RSGR] = []; + } else if (output[_rSGRS] != null && output[_rSGRS][_i] != null) { + contents[_RSGR] = de_RevokedSecurityGroupRuleList(__getArrayIfSingleItem(output[_rSGRS][_i]), context); + } return contents; }; @@ -77038,6 +77337,11 @@ const de_RevokeSecurityGroupIngressResult = ( } else if (output[_uIPS] != null && output[_uIPS][_i] != null) { contents[_UIP] = de_IpPermissionList(__getArrayIfSingleItem(output[_uIPS][_i]), context); } + if (output.revokedSecurityGroupRuleSet === "") { + contents[_RSGR] = []; + } else if (output[_rSGRS] != null && output[_rSGRS][_i] != null) { + contents[_RSGR] = de_RevokedSecurityGroupRuleList(__getArrayIfSingleItem(output[_rSGRS][_i]), context); + } return contents; }; @@ -77566,6 +77870,9 @@ const de_SecurityGroup = (output: any, context: __SerdeContext): SecurityGroup = if (output[_vI] != null) { contents[_VI] = __expectString(output[_vI]); } + if (output[_sGA] != null) { + contents[_SGA] = __expectString(output[_sGA]); + } if (output[_oI] != null) { contents[_OIwn] = __expectString(output[_oI]); } @@ -77746,8 +78053,8 @@ const de_SecurityGroupRule = (output: any, context: __SerdeContext): SecurityGro if (output[_pLI] != null) { contents[_PLI] = __expectString(output[_pLI]); } - if (output[_rGI] != null) { - contents[_RGIe] = de_ReferencedSecurityGroup(output[_rGI], context); + if (output[_rGIe] != null) { + contents[_RGIe] = de_ReferencedSecurityGroup(output[_rGIe], context); } if (output[_de] != null) { contents[_De] = __expectString(output[_de]); @@ -77757,6 +78064,9 @@ const de_SecurityGroupRule = (output: any, context: __SerdeContext): SecurityGro } else if (output[_tS] != null && output[_tS][_i] != null) { contents[_Ta] = de_TagList(__getArrayIfSingleItem(output[_tS][_i]), context); } + if (output[_sGRA] != null) { + contents[_SGRA] = __expectString(output[_sGRA]); + } return contents; }; @@ -77771,6 +78081,40 @@ const de_SecurityGroupRuleList = (output: any, context: __SerdeContext): Securit }); }; +/** + * deserializeAws_ec2SecurityGroupVpcAssociation + */ +const de_SecurityGroupVpcAssociation = (output: any, context: __SerdeContext): SecurityGroupVpcAssociation => { + const contents: any = {}; + if (output[_gIr] != null) { + contents[_GIr] = __expectString(output[_gIr]); + } + if (output[_vI] != null) { + contents[_VI] = __expectString(output[_vI]); + } + if (output[_vOIp] != null) { + contents[_VOIp] = __expectString(output[_vOIp]); + } + if (output[_st] != null) { + contents[_Stat] = __expectString(output[_st]); + } + if (output[_sR] != null) { + contents[_SRt] = __expectString(output[_sR]); + } + return contents; +}; + +/** + * deserializeAws_ec2SecurityGroupVpcAssociationList + */ +const de_SecurityGroupVpcAssociationList = (output: any, context: __SerdeContext): SecurityGroupVpcAssociation[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_SecurityGroupVpcAssociation(entry, context); + }); +}; + /** * deserializeAws_ec2ServiceConfiguration */ @@ -83431,6 +83775,7 @@ const _ASGE = "AuthorizeSecurityGroupEgress"; const _ASGI = "AuthorizeSecurityGroupIngress"; const _ASGId = "AddSecurityGroupIds"; const _ASGTCVTN = "ApplySecurityGroupsToClientVpnTargetNetwork"; +const _ASGV = "AssociateSecurityGroupVpc"; const _ASI = "AddSubnetIds"; const _ASIAT = "AddSupportedIpAddressTypes"; const _ASS = "AmdSevSnp"; @@ -84057,6 +84402,8 @@ const _DSFRH = "DescribeSpotFleetRequestHistory"; const _DSG = "DeleteSecurityGroup"; const _DSGR = "DescribeSecurityGroupReferences"; const _DSGRe = "DescribeSecurityGroupRules"; +const _DSGV = "DisassociateSecurityGroupVpc"; +const _DSGVA = "DescribeSecurityGroupVpcAssociations"; const _DSGe = "DescribeSecurityGroups"; const _DSI = "DescribeScheduledInstances"; const _DSIA = "DescribeScheduledInstanceAvailability"; @@ -85331,6 +85678,7 @@ const _RSFRB = "RestoreSnapshotFromRecycleBin"; const _RSGE = "RevokeSecurityGroupEgress"; const _RSGI = "RevokeSecurityGroupIngress"; const _RSGIe = "RemoveSecurityGroupIds"; +const _RSGR = "RevokedSecurityGroupRules"; const _RSI = "RequestSpotInstances"; const _RSIAT = "RemoveSupportedIpAddressTypes"; const _RSIe = "RemoveSubnetIds"; @@ -85434,16 +85782,19 @@ const _SFRI = "SpotFleetRequestIds"; const _SFRIp = "SpotFleetRequestId"; const _SFRS = "SpotFleetRequestState"; const _SG = "SecurityGroups"; +const _SGA = "SecurityGroupArn"; const _SGFV = "SecurityGroupForVpcs"; const _SGI = "SecurityGroupIds"; const _SGIe = "SecurityGroupId"; const _SGR = "SecurityGroupRules"; +const _SGRA = "SecurityGroupRuleArn"; const _SGRD = "SecurityGroupRuleDescriptions"; const _SGRI = "SecurityGroupRuleIds"; const _SGRIe = "SecurityGroupRuleId"; const _SGRS = "SecurityGroupReferencingSupport"; const _SGRSe = "SecurityGroupReferenceSet"; const _SGRe = "SecurityGroupRule"; +const _SGVA = "SecurityGroupVpcAssociations"; const _SGe = "SecurityGroup"; const _SH = "StartHour"; const _SI = "StartInstances"; @@ -87043,7 +87394,8 @@ const _rET = "restoreExpiryTime"; const _rEe = "regionEndpoint"; const _rFP = "rekeyFuzzPercentage"; const _rGA = "ruleGroupArn"; -const _rGI = "referencedGroupInfo"; +const _rGI = "referencedGroupId"; +const _rGIe = "referencedGroupInfo"; const _rGROPS = "ruleGroupRuleOptionsPairSet"; const _rGT = "ruleGroupType"; const _rGTPS = "ruleGroupTypePairSet"; @@ -87087,6 +87439,7 @@ const _rRVT = "replaceRootVolumeTask"; const _rRVTI = "replaceRootVolumeTaskId"; const _rRVTS = "replaceRootVolumeTaskSet"; const _rS = "reservationSet"; +const _rSGRS = "revokedSecurityGroupRuleSet"; const _rST = "restoreStartTime"; const _rSe = "replacementStrategy"; const _rSes = "resourceStatement"; @@ -87163,17 +87516,20 @@ const _sFRI = "spotFleetRequestId"; const _sFRS = "successfulFleetRequestSet"; const _sFRSp = "spotFleetRequestState"; const _sG = "securityGroup"; +const _sGA = "securityGroupArn"; const _sGFVS = "securityGroupForVpcSet"; const _sGI = "securityGroupId"; const _sGIS = "securityGroupIdSet"; const _sGIe = "securityGroupIds"; const _sGIec = "securityGroupInfo"; const _sGR = "securityGroupRule"; +const _sGRA = "securityGroupRuleArn"; const _sGRI = "securityGroupRuleId"; const _sGRS = "securityGroupRuleSet"; const _sGRSe = "securityGroupReferenceSet"; const _sGRSec = "securityGroupReferencingSupport"; const _sGS = "securityGroupSet"; +const _sGVAS = "securityGroupVpcAssociationSet"; const _sGe = "securityGroups"; const _sH = "startHour"; const _sI = "serviceId"; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 024d1c41f120..d9ed620a5fa1 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -2282,6 +2282,9 @@ { "target": "com.amazonaws.ec2#AssociateRouteTable" }, + { + "target": "com.amazonaws.ec2#AssociateSecurityGroupVpc" + }, { "target": "com.amazonaws.ec2#AssociateSubnetCidrBlock" }, @@ -3185,6 +3188,9 @@ { "target": "com.amazonaws.ec2#DescribeSecurityGroups" }, + { + "target": "com.amazonaws.ec2#DescribeSecurityGroupVpcAssociations" + }, { "target": "com.amazonaws.ec2#DescribeSnapshotAttribute" }, @@ -3431,6 +3437,9 @@ { "target": "com.amazonaws.ec2#DisassociateRouteTable" }, + { + "target": "com.amazonaws.ec2#DisassociateSecurityGroupVpc" + }, { "target": "com.amazonaws.ec2#DisassociateSubnetCidrBlock" }, @@ -7089,6 +7098,64 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#AssociateSecurityGroupVpc": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateSecurityGroupVpcRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateSecurityGroupVpcResult" + }, + "traits": { + "smithy.api#documentation": "

    Associates a security group with another VPC in the same Region. This enables you to use the same security group with network interfaces and instances in the specified VPC.

    \n \n
      \n
    • \n

      The VPC you want to associate the security group with must be in the same Region.

      \n
    • \n
    • \n

      You can associate the security group with another VPC if your account owns the VPC or if the VPC was shared with you.

      \n
    • \n
    • \n

      You must own the security group and the VPC that it was created in.

      \n
    • \n
    • \n

      You cannot use this feature with default security groups.

      \n
    • \n
    • \n

      You cannot use this feature with the default VPC.

      \n
    • \n
    \n
    " + } + }, + "com.amazonaws.ec2#AssociateSecurityGroupVpcRequest": { + "type": "structure", + "members": { + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

    A security group ID.

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

    A VPC ID.

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

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

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

    The state of the association.

    ", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#AssociateSubnetCidrBlock": { "type": "operation", "input": { @@ -18080,7 +18147,7 @@ "InterfaceType": { "target": "com.amazonaws.ec2#NetworkInterfaceCreationType", "traits": { - "smithy.api#documentation": "

    The type of network interface. The default is interface.

    \n

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

    " + "smithy.api#documentation": "

    The type of network interface. The default is interface.

    \n

    If you specify efa-only, do not assign any IP addresses to the network \n interface. EFA-only network interfaces do not support IP addresses.

    \n

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

    " } }, "TagSpecifications": { @@ -18943,6 +19010,14 @@ "smithy.api#documentation": "

    The tags assigned to the security group.

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

    The security group ARN.

    ", + "smithy.api#xmlName": "securityGroupArn" + } } }, "traits": { @@ -19740,7 +19815,7 @@ "target": "com.amazonaws.ec2#CreateTrafficMirrorSessionResult" }, "traits": { - "smithy.api#documentation": "

    Creates a Traffic Mirror session.

    \n

    A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it\n to the session to define a subset of the traffic to mirror, for example all TCP\n traffic.

    \n

    The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

    \n

    By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to\n create filter rules that specify the traffic to mirror.

    " + "smithy.api#documentation": "

    Creates a Traffic Mirror session.

    \n

    A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it\n to the session to define a subset of the traffic to mirror, for example all TCP\n traffic.

    \n

    The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

    \n

    By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to\n create filter rules that specify the traffic to mirror.

    " } }, "com.amazonaws.ec2#CreateTrafficMirrorSessionRequest": { @@ -25230,7 +25305,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

    Deletes a security group.

    \n

    If you attempt to delete a security group that is associated with an instance or network interface or is\n\t\t\t referenced by another security group in the same VPC, the operation fails with\n\t\t\t\tDependencyViolation.

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

    Deletes a security group.

    \n

    If you attempt to delete a security group that is associated with an instance or network interface, is\n\t\t\t referenced by another security group in the same VPC, or has a VPC association, the operation fails with\n\t\t\t\tDependencyViolation.

    ", "smithy.api#examples": [ { "title": "To delete a security group", @@ -32779,7 +32854,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 |\n spot).

      \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.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" } }, @@ -36251,7 +36326,7 @@ "target": "com.amazonaws.ec2#FilterList", "traits": { "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

    One or more filters.

    \n
      \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n description - The description of the network interface.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

      \n requester-managed - Indicates whether the network interface is being managed by an Amazon Web 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" } } @@ -37517,7 +37592,7 @@ "target": "com.amazonaws.ec2#DescribeSecurityGroupReferencesResult" }, "traits": { - "smithy.api#documentation": "

    Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

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

    Describes the VPCs on the other side of a VPC peering or Transit Gateway connection that are referencing the security groups you've specified in this request.

    ", "smithy.api#examples": [ { "title": "To describe security group references", @@ -37667,6 +37742,90 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeSecurityGroupVpcAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupVpcAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeSecurityGroupVpcAssociationsResult" + }, + "traits": { + "smithy.api#documentation": "

    Describes security group VPC associations made with AssociateSecurityGroupVpc.

    ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "SecurityGroupVpcAssociations", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupVpcAssociationsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 5, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupVpcAssociationsRequest": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

    Security group VPC association filters.

    \n
      \n
    • \n

      \n group-id: The security group ID.

      \n
    • \n
    • \n

      \n vpc-id: The ID of the associated VPC.

      \n
    • \n
    • \n

      \n vpc-owner-id: The account ID of the VPC owner.

      \n
    • \n
    • \n

      \n state: The state of the association.

      \n
    • \n
    • \n

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

      \n
    • \n
    • \n

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

      \n
    • \n
    ", + "smithy.api#xmlName": "Filter" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

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

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

    The maximum number of items to return for this request.\n\tTo get the next page of items, make another request with the token returned in the output.\n\tFor more information, see Pagination.

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

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

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeSecurityGroupVpcAssociationsResult": { + "type": "structure", + "members": { + "SecurityGroupVpcAssociations": { + "target": "com.amazonaws.ec2#SecurityGroupVpcAssociationList", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupVpcAssociationSet", + "smithy.api#documentation": "

    The security group VPC associations.

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

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

    ", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeSecurityGroups": { "type": "operation", "input": { @@ -37797,7 +37956,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

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

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

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

    ", "smithy.api#xmlName": "nextToken" } }, @@ -39019,7 +39178,7 @@ "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsResult" }, "traits": { - "smithy.api#documentation": "

    Describes the stale security group rules for security groups in a specified VPC. \n Rules are stale when they reference a deleted security group in a peered VPC. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has \n been deleted.

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

    Describes the stale security group rules for security groups referenced across a VPC\n peering connection, transit gateway connection, or with a security group VPC\n association. Rules are stale when they reference a deleted security group. Rules can\n also be stale if they reference a security group in a peer VPC for which the VPC peering\n connection has been deleted, across a transit gateway where the transit gateway has been\n deleted (or the transit\n gateway security group referencing feature has been disabled), or if a\n security group VPC association has been disassociated.

    ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -39064,7 +39223,7 @@ "NextToken": { "target": "com.amazonaws.ec2#DescribeStaleSecurityGroupsNextToken", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "VpcId": { @@ -39087,7 +39246,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "NextToken", - "smithy.api#documentation": "

    The token to include in another request to get the next page of items. \n If there are no additional items to return, the string is empty.

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

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

    ", "smithy.api#xmlName": "nextToken" } }, @@ -45238,6 +45397,67 @@ "smithy.api#input": {} } }, + "com.amazonaws.ec2#DisassociateSecurityGroupVpc": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateSecurityGroupVpcRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisassociateSecurityGroupVpcResult" + }, + "traits": { + "smithy.api#documentation": "

    Disassociates a security group from a VPC. You cannot disassociate the security group if any Elastic network interfaces in the associated VPC are still associated with the security group.\n \n Note that the disassociation is asynchronous and you can check the status of the request with DescribeSecurityGroupVpcAssociations.

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

    A security group ID.

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

    A VPC ID.

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

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

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

    The state of the disassociation.

    ", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#DisassociateSecurityGroupVpcSecurityGroupId": { + "type": "string" + }, "com.amazonaws.ec2#DisassociateSubnetCidrBlock": { "type": "operation", "input": { @@ -61090,7 +61310,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "InterfaceType", - "smithy.api#documentation": "

    The type of network interface.

    \n

    Valid values: interface | efa | trunk\n

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

    The type of network interface.

    \n

    Valid values: interface | efa | efa-only | trunk\n

    ", "smithy.api#xmlName": "interfaceType" } }, @@ -61351,7 +61571,7 @@ "InterfaceType": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

    The type of network interface.

    \n

    Valid values: interface | efa\n

    " + "smithy.api#documentation": "

    The type of network interface.

    \n

    If you specify efa-only, do not assign any IP addresses to the network \n\t interface. EFA-only network interfaces do not support IP addresses.

    \n

    Valid values: interface | efa | efa-only\n

    " } }, "NetworkCardIndex": { @@ -67600,7 +67820,7 @@ "target": "com.amazonaws.ec2#UsageClassTypeList", "traits": { "aws.protocols#ec2QueryName": "SupportedUsageClasses", - "smithy.api#documentation": "

    Indicates whether the instance type is offered for spot or On-Demand.

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

    Indicates whether the instance type is offered for spot, On-Demand, or Capacity Blocks.

    ", "smithy.api#xmlName": "supportedUsageClasses" } }, @@ -73092,7 +73312,7 @@ "InterfaceType": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

    The type of network interface. To create an Elastic Fabric Adapter (EFA), specify\n efa. For more information, see Elastic Fabric Adapter in the\n Amazon EC2 User Guide.

    \n

    If you are not creating an EFA, specify interface or omit this\n parameter.

    \n

    Valid values: interface | efa\n

    " + "smithy.api#documentation": "

    The type of network interface. To create an Elastic Fabric Adapter (EFA), specify\n efa or efa. For more information, see Elastic Fabric Adapter in the\n Amazon EC2 User Guide.

    \n

    If you are not creating an EFA, specify interface or omit this\n parameter.

    \n

    If you specify efa-only, do not assign any IP addresses to the network \n interface. EFA-only network interfaces do not support IP addresses.

    \n

    Valid values: interface | efa | efa-only\n

    " } }, "Ipv6AddressCount": { @@ -93424,6 +93644,14 @@ "smithy.api#documentation": "

    The outbound rules that were unknown to the service. In some cases,\n unknownIpPermissionSet might be in a different format from the request\n parameter.

    ", "smithy.api#xmlName": "unknownIpPermissionSet" } + }, + "RevokedSecurityGroupRules": { + "target": "com.amazonaws.ec2#RevokedSecurityGroupRuleList", + "traits": { + "aws.protocols#ec2QueryName": "RevokedSecurityGroupRuleSet", + "smithy.api#documentation": "

    Details about the revoked security group rules.

    ", + "smithy.api#xmlName": "revokedSecurityGroupRuleSet" + } } }, "traits": { @@ -93537,12 +93765,125 @@ "smithy.api#documentation": "

    The inbound rules that were unknown to the service. In some cases,\n unknownIpPermissionSet might be in a different format from the request\n parameter.

    ", "smithy.api#xmlName": "unknownIpPermissionSet" } + }, + "RevokedSecurityGroupRules": { + "target": "com.amazonaws.ec2#RevokedSecurityGroupRuleList", + "traits": { + "aws.protocols#ec2QueryName": "RevokedSecurityGroupRuleSet", + "smithy.api#documentation": "

    Details about the revoked security group rules.

    ", + "smithy.api#xmlName": "revokedSecurityGroupRuleSet" + } } }, "traits": { "smithy.api#output": {} } }, + "com.amazonaws.ec2#RevokedSecurityGroupRule": { + "type": "structure", + "members": { + "SecurityGroupRuleId": { + "target": "com.amazonaws.ec2#SecurityGroupRuleId", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupRuleId", + "smithy.api#documentation": "

    A security group rule ID.

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

    A security group ID.

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

    Defines if a security group rule is an outbound rule.

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

    The security group rule's protocol.

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

    The 'from' port number of the security group rule.

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

    The 'to' port number of the security group rule.

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

    The IPv4 CIDR of the traffic source.

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

    The IPv6 CIDR of the traffic source.

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

    The ID of a prefix list that's the traffic source.

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

    The ID of a referenced security group.

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

    A description of the revoked security group rule.

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

    A security group rule removed with RevokeSecurityGroupEgress or RevokeSecurityGroupIngress.

    " + } + }, + "com.amazonaws.ec2#RevokedSecurityGroupRuleList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#RevokedSecurityGroupRule", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#RoleId": { "type": "string" }, @@ -95632,6 +95973,14 @@ "smithy.api#xmlName": "vpcId" } }, + "SecurityGroupArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupArn", + "smithy.api#documentation": "

    The ARN of the security group.

    ", + "smithy.api#xmlName": "securityGroupArn" + } + }, "OwnerId": { "target": "com.amazonaws.ec2#String", "traits": { @@ -95987,6 +96336,14 @@ "smithy.api#documentation": "

    The tags applied to the security group rule.

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

    The ARN of the security group rule.

    ", + "smithy.api#xmlName": "securityGroupRuleArn" + } } }, "traits": { @@ -96139,6 +96496,104 @@ } } }, + "com.amazonaws.ec2#SecurityGroupVpcAssociation": { + "type": "structure", + "members": { + "GroupId": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

    The association's security group ID.

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

    The association's VPC ID.

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

    The Amazon Web Services account ID of the owner of the VPC.

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

    The association's state.

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

    The association's state reason.

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

    A security group association with a VPC that you made with AssociateSecurityGroupVpc.

    " + } + }, + "com.amazonaws.ec2#SecurityGroupVpcAssociationList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupVpcAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SecurityGroupVpcAssociationState": { + "type": "enum", + "members": { + "associating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associating" + } + }, + "associated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associated" + } + }, + "association_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "association-failed" + } + }, + "disassociating": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociating" + } + }, + "disassociated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociated" + } + }, + "disassociation_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociation-failed" + } + } + } + }, "com.amazonaws.ec2#SelfServicePortal": { "type": "enum", "members": {