import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import type { ModifyVpcEncryptionControlRequest, ModifyVpcEncryptionControlResult } from "../models/models_7"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link ModifyVpcEncryptionControlCommand}. */ export interface ModifyVpcEncryptionControlCommandInput extends ModifyVpcEncryptionControlRequest { } /** * @public * * The output of {@link ModifyVpcEncryptionControlCommand}. */ export interface ModifyVpcEncryptionControlCommandOutput extends ModifyVpcEncryptionControlResult, __MetadataBearer { } declare const ModifyVpcEncryptionControlCommand_base: { new (input: ModifyVpcEncryptionControlCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: ModifyVpcEncryptionControlCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Modifies the encryption control configuration for a VPC. You can update the encryption mode and exclusion settings for various gateway types and peering connections.

*

For more information, see Enforce VPC encryption in transit in the Amazon VPC User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { EC2Client, ModifyVpcEncryptionControlCommand } from "@aws-sdk/client-ec2"; // ES Modules import * // const { EC2Client, ModifyVpcEncryptionControlCommand } = require("@aws-sdk/client-ec2"); // CommonJS import * // import type { EC2ClientConfig } from "@aws-sdk/client-ec2"; * const config = {}; // type is EC2ClientConfig * const client = new EC2Client(config); * const input = { // ModifyVpcEncryptionControlRequest * DryRun: true || false, * VpcEncryptionControlId: "STRING_VALUE", // required * Mode: "monitor" || "enforce", * InternetGatewayExclusion: "enable" || "disable", * EgressOnlyInternetGatewayExclusion: "enable" || "disable", * NatGatewayExclusion: "enable" || "disable", * VirtualPrivateGatewayExclusion: "enable" || "disable", * VpcPeeringExclusion: "enable" || "disable", * LambdaExclusion: "enable" || "disable", * VpcLatticeExclusion: "enable" || "disable", * ElasticFileSystemExclusion: "enable" || "disable", * }; * const command = new ModifyVpcEncryptionControlCommand(input); * const response = await client.send(command); * // { // ModifyVpcEncryptionControlResult * // VpcEncryptionControl: { // VpcEncryptionControl * // VpcId: "STRING_VALUE", * // VpcEncryptionControlId: "STRING_VALUE", * // Mode: "monitor" || "enforce", * // State: "enforce-in-progress" || "monitor-in-progress" || "enforce-failed" || "monitor-failed" || "deleting" || "deleted" || "available" || "creating" || "delete-failed", * // StateMessage: "STRING_VALUE", * // ResourceExclusions: { // VpcEncryptionControlExclusions * // InternetGateway: { // VpcEncryptionControlExclusion * // State: "enabling" || "enabled" || "disabling" || "disabled", * // StateMessage: "STRING_VALUE", * // }, * // EgressOnlyInternetGateway: { * // State: "enabling" || "enabled" || "disabling" || "disabled", * // StateMessage: "STRING_VALUE", * // }, * // NatGateway: { * // State: "enabling" || "enabled" || "disabling" || "disabled", * // StateMessage: "STRING_VALUE", * // }, * // VirtualPrivateGateway: { * // State: "enabling" || "enabled" || "disabling" || "disabled", * // StateMessage: "STRING_VALUE", * // }, * // VpcPeering: { * // State: "enabling" || "enabled" || "disabling" || "disabled", * // StateMessage: "STRING_VALUE", * // }, * // Lambda: "", * // VpcLattice: "", * // ElasticFileSystem: "", * // }, * // Tags: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // }, * // }; * * ``` * * @param ModifyVpcEncryptionControlCommandInput - {@link ModifyVpcEncryptionControlCommandInput} * @returns {@link ModifyVpcEncryptionControlCommandOutput} * @see {@link ModifyVpcEncryptionControlCommandInput} for command's `input` shape. * @see {@link ModifyVpcEncryptionControlCommandOutput} 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 declare class ModifyVpcEncryptionControlCommand extends ModifyVpcEncryptionControlCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: ModifyVpcEncryptionControlRequest; output: ModifyVpcEncryptionControlResult; }; sdk: { input: ModifyVpcEncryptionControlCommandInput; output: ModifyVpcEncryptionControlCommandOutput; }; }; }