amazonka-ec2-1.6.0: Amazon Elastic Compute Cloud SDK.

Copyright(c) 2013-2018 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.EC2.CreateVPNConnection

Contents

Description

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1 .

The response includes information that you need to give to your network administrator to configure your customer gateway.

Important: We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide .

Synopsis

Creating a Request

createVPNConnection #

Creates a value of CreateVPNConnection with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • cvcOptions - The options for the VPN connection.
  • cvcDryRun - Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
  • cvcCustomerGatewayId - The ID of the customer gateway.
  • cvcType - The type of VPN connection (ipsec.1 ).
  • cvcVPNGatewayId - The ID of the virtual private gateway.

data CreateVPNConnection #

Contains the parameters for CreateVpnConnection.

See: createVPNConnection smart constructor.

Instances

Eq CreateVPNConnection # 
Data CreateVPNConnection # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateVPNConnection -> c CreateVPNConnection #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateVPNConnection #

toConstr :: CreateVPNConnection -> Constr #

dataTypeOf :: CreateVPNConnection -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateVPNConnection) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateVPNConnection) #

gmapT :: (forall b. Data b => b -> b) -> CreateVPNConnection -> CreateVPNConnection #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateVPNConnection -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateVPNConnection -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateVPNConnection -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateVPNConnection -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateVPNConnection -> m CreateVPNConnection #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateVPNConnection -> m CreateVPNConnection #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateVPNConnection -> m CreateVPNConnection #

Read CreateVPNConnection # 
Show CreateVPNConnection # 
Generic CreateVPNConnection # 
Hashable CreateVPNConnection # 
NFData CreateVPNConnection # 

Methods

rnf :: CreateVPNConnection -> () #

AWSRequest CreateVPNConnection # 
ToHeaders CreateVPNConnection # 
ToPath CreateVPNConnection # 
ToQuery CreateVPNConnection # 
type Rep CreateVPNConnection # 
type Rep CreateVPNConnection = D1 * (MetaData "CreateVPNConnection" "Network.AWS.EC2.CreateVPNConnection" "amazonka-ec2-1.6.0-Dm9BQRbqSOK72xbfLZMG4m" False) (C1 * (MetaCons "CreateVPNConnection'" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "_cvcOptions") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe VPNConnectionOptionsSpecification))) (S1 * (MetaSel (Just Symbol "_cvcDryRun") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Bool)))) ((:*:) * (S1 * (MetaSel (Just Symbol "_cvcCustomerGatewayId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)) ((:*:) * (S1 * (MetaSel (Just Symbol "_cvcType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "_cvcVPNGatewayId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text))))))
type Rs CreateVPNConnection # 

Request Lenses

cvcDryRun :: Lens' CreateVPNConnection (Maybe Bool) #

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

cvcCustomerGatewayId :: Lens' CreateVPNConnection Text #

The ID of the customer gateway.

cvcType :: Lens' CreateVPNConnection Text #

The type of VPN connection (ipsec.1 ).

cvcVPNGatewayId :: Lens' CreateVPNConnection Text #

The ID of the virtual private gateway.

Destructuring the Response

createVPNConnectionResponse #

Creates a value of CreateVPNConnectionResponse with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

data CreateVPNConnectionResponse #

Contains the output of CreateVpnConnection.

See: createVPNConnectionResponse smart constructor.

Instances

Eq CreateVPNConnectionResponse # 
Data CreateVPNConnectionResponse # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateVPNConnectionResponse -> c CreateVPNConnectionResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateVPNConnectionResponse #

toConstr :: CreateVPNConnectionResponse -> Constr #

dataTypeOf :: CreateVPNConnectionResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateVPNConnectionResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateVPNConnectionResponse) #

gmapT :: (forall b. Data b => b -> b) -> CreateVPNConnectionResponse -> CreateVPNConnectionResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateVPNConnectionResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateVPNConnectionResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateVPNConnectionResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateVPNConnectionResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateVPNConnectionResponse -> m CreateVPNConnectionResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateVPNConnectionResponse -> m CreateVPNConnectionResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateVPNConnectionResponse -> m CreateVPNConnectionResponse #

Read CreateVPNConnectionResponse # 
Show CreateVPNConnectionResponse # 
Generic CreateVPNConnectionResponse # 
NFData CreateVPNConnectionResponse # 
type Rep CreateVPNConnectionResponse # 
type Rep CreateVPNConnectionResponse = D1 * (MetaData "CreateVPNConnectionResponse" "Network.AWS.EC2.CreateVPNConnection" "amazonka-ec2-1.6.0-Dm9BQRbqSOK72xbfLZMG4m" False) (C1 * (MetaCons "CreateVPNConnectionResponse'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_cvcrsVPNConnection") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe VPNConnection))) (S1 * (MetaSel (Just Symbol "_cvcrsResponseStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Int))))

Response Lenses

cvcrsVPNConnection :: Lens' CreateVPNConnectionResponse (Maybe VPNConnection) #

Information about the VPN connection.