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 { ModifyVpnConnectionRequest, ModifyVpnConnectionResult } from "../models/models_7"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link ModifyVpnConnectionCommand}. */ export interface ModifyVpnConnectionCommandInput extends ModifyVpnConnectionRequest { } /** * @public * * The output of {@link ModifyVpnConnectionCommand}. */ export interface ModifyVpnConnectionCommandOutput extends ModifyVpnConnectionResult, __MetadataBearer { } declare const ModifyVpnConnectionCommand_base: { new (input: ModifyVpnConnectionCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: ModifyVpnConnectionCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Modifies the customer gateway or the target gateway of an Amazon Web Services Site-to-Site VPN connection. To * modify the target gateway, the following migration options are available:

* *

Before you perform the migration to the new gateway, you must configure the new * gateway. Use CreateVpnGateway to create a virtual private gateway, or * CreateTransitGateway to create a transit gateway.

*

This step is required when you migrate from a virtual private gateway with static * routes to a transit gateway.

*

You must delete the static routes before you migrate to the new gateway.

*

Keep a copy of the static route before you delete it. You will need to add back these * routes to the transit gateway after the VPN connection migration is complete.

*

After you migrate to the new gateway, you might need to modify your VPC route table. * Use CreateRoute and DeleteRoute to make the changes * described in Update VPC route * tables in the Amazon Web Services Site-to-Site VPN User Guide.

*

When the new gateway is a transit gateway, modify the transit gateway route table to * allow traffic between the VPC and the Amazon Web Services Site-to-Site VPN connection. * Use CreateTransitGatewayRoute to add the routes.

*

If you deleted VPN static routes, you must add the static routes to the transit * gateway route table.

*

After you perform this operation, the VPN endpoint's IP addresses on the Amazon Web Services side and the tunnel options remain intact. Your Amazon Web Services Site-to-Site VPN connection will * be temporarily unavailable for a brief period while we provision the new * endpoints.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { EC2Client, ModifyVpnConnectionCommand } from "@aws-sdk/client-ec2"; // ES Modules import * // const { EC2Client, ModifyVpnConnectionCommand } = 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 = { // ModifyVpnConnectionRequest * VpnConnectionId: "STRING_VALUE", // required * TransitGatewayId: "STRING_VALUE", * CustomerGatewayId: "STRING_VALUE", * VpnGatewayId: "STRING_VALUE", * DryRun: true || false, * }; * const command = new ModifyVpnConnectionCommand(input); * const response = await client.send(command); * // { // ModifyVpnConnectionResult * // VpnConnection: { // VpnConnection * // Category: "STRING_VALUE", * // TransitGatewayId: "STRING_VALUE", * // VpnConcentratorId: "STRING_VALUE", * // CoreNetworkArn: "STRING_VALUE", * // CoreNetworkAttachmentArn: "STRING_VALUE", * // GatewayAssociationState: "associated" || "not-associated" || "associating" || "disassociating", * // Options: { // VpnConnectionOptions * // EnableAcceleration: true || false, * // StaticRoutesOnly: true || false, * // LocalIpv4NetworkCidr: "STRING_VALUE", * // RemoteIpv4NetworkCidr: "STRING_VALUE", * // LocalIpv6NetworkCidr: "STRING_VALUE", * // RemoteIpv6NetworkCidr: "STRING_VALUE", * // OutsideIpAddressType: "STRING_VALUE", * // TransportTransitGatewayAttachmentId: "STRING_VALUE", * // TunnelInsideIpVersion: "ipv4" || "ipv6", * // TunnelOptions: [ // TunnelOptionsList * // { // TunnelOption * // OutsideIpAddress: "STRING_VALUE", * // TunnelInsideCidr: "STRING_VALUE", * // TunnelInsideIpv6Cidr: "STRING_VALUE", * // PreSharedKey: "STRING_VALUE", * // Phase1LifetimeSeconds: Number("int"), * // Phase2LifetimeSeconds: Number("int"), * // RekeyMarginTimeSeconds: Number("int"), * // RekeyFuzzPercentage: Number("int"), * // ReplayWindowSize: Number("int"), * // DpdTimeoutSeconds: Number("int"), * // DpdTimeoutAction: "STRING_VALUE", * // Phase1EncryptionAlgorithms: [ // Phase1EncryptionAlgorithmsList * // { // Phase1EncryptionAlgorithmsListValue * // Value: "STRING_VALUE", * // }, * // ], * // Phase2EncryptionAlgorithms: [ // Phase2EncryptionAlgorithmsList * // { // Phase2EncryptionAlgorithmsListValue * // Value: "STRING_VALUE", * // }, * // ], * // Phase1IntegrityAlgorithms: [ // Phase1IntegrityAlgorithmsList * // { // Phase1IntegrityAlgorithmsListValue * // Value: "STRING_VALUE", * // }, * // ], * // Phase2IntegrityAlgorithms: [ // Phase2IntegrityAlgorithmsList * // { // Phase2IntegrityAlgorithmsListValue * // Value: "STRING_VALUE", * // }, * // ], * // Phase1DHGroupNumbers: [ // Phase1DHGroupNumbersList * // { // Phase1DHGroupNumbersListValue * // Value: Number("int"), * // }, * // ], * // Phase2DHGroupNumbers: [ // Phase2DHGroupNumbersList * // { // Phase2DHGroupNumbersListValue * // Value: Number("int"), * // }, * // ], * // IkeVersions: [ // IKEVersionsList * // { // IKEVersionsListValue * // Value: "STRING_VALUE", * // }, * // ], * // StartupAction: "STRING_VALUE", * // LogOptions: { // VpnTunnelLogOptions * // CloudWatchLogOptions: { // CloudWatchLogOptions * // LogEnabled: true || false, * // LogGroupArn: "STRING_VALUE", * // LogOutputFormat: "STRING_VALUE", * // BgpLogEnabled: true || false, * // BgpLogGroupArn: "STRING_VALUE", * // BgpLogOutputFormat: "STRING_VALUE", * // }, * // }, * // EnableTunnelLifecycleControl: true || false, * // }, * // ], * // TunnelBandwidth: "standard" || "large", * // }, * // Routes: [ // VpnStaticRouteList * // { // VpnStaticRoute * // DestinationCidrBlock: "STRING_VALUE", * // Source: "Static", * // State: "pending" || "available" || "deleting" || "deleted", * // }, * // ], * // Tags: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // VgwTelemetry: [ // VgwTelemetryList * // { // VgwTelemetry * // AcceptedRouteCount: Number("int"), * // LastStatusChange: new Date("TIMESTAMP"), * // OutsideIpAddress: "STRING_VALUE", * // Status: "UP" || "DOWN", * // StatusMessage: "STRING_VALUE", * // CertificateArn: "STRING_VALUE", * // }, * // ], * // PreSharedKeyArn: "STRING_VALUE", * // VpnConnectionId: "STRING_VALUE", * // State: "pending" || "available" || "deleting" || "deleted", * // CustomerGatewayConfiguration: "STRING_VALUE", * // Type: "ipsec.1", * // CustomerGatewayId: "STRING_VALUE", * // VpnGatewayId: "STRING_VALUE", * // }, * // }; * * ``` * * @param ModifyVpnConnectionCommandInput - {@link ModifyVpnConnectionCommandInput} * @returns {@link ModifyVpnConnectionCommandOutput} * @see {@link ModifyVpnConnectionCommandInput} for command's `input` shape. * @see {@link ModifyVpnConnectionCommandOutput} 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 ModifyVpnConnectionCommand extends ModifyVpnConnectionCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: ModifyVpnConnectionRequest; output: ModifyVpnConnectionResult; }; sdk: { input: ModifyVpnConnectionCommandInput; output: ModifyVpnConnectionCommandOutput; }; }; }