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.CreateVPC

Contents

Description

Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create uses a 28 netmask (16 IPv4 addresses), and the largest uses a 16 netmask (65,536 IPv4 addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide .

You can optionally request an Amazon-provided IPv6 CIDR block for the VPC. The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide .

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide .

Synopsis

Creating a Request

createVPC Source #

Arguments

:: Text

cvCidrBlock

-> CreateVPC 

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

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

  • cvAmazonProvidedIPv6CidrBlock - Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.
  • cvInstanceTenancy - The tenancy options for instances launched into the VPC. For default , instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated , instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC. Important: The host value cannot be used with this parameter. Use the default or dedicated values only. Default: default
  • cvDryRun - 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 .
  • cvCidrBlock - The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16 .

data CreateVPC Source #

Contains the parameters for CreateVpc.

See: createVPC smart constructor.

Instances

Eq CreateVPC Source # 
Data CreateVPC Source # 

Methods

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

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

toConstr :: CreateVPC -> Constr #

dataTypeOf :: CreateVPC -> DataType #

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

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

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

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

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

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

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

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

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

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

Read CreateVPC Source # 
Show CreateVPC Source # 
Generic CreateVPC Source # 

Associated Types

type Rep CreateVPC :: * -> * #

Hashable CreateVPC Source # 
NFData CreateVPC Source # 

Methods

rnf :: CreateVPC -> () #

AWSRequest CreateVPC Source # 
ToHeaders CreateVPC Source # 

Methods

toHeaders :: CreateVPC -> [Header] #

ToPath CreateVPC Source # 
ToQuery CreateVPC Source # 
type Rep CreateVPC Source # 
type Rep CreateVPC = D1 * (MetaData "CreateVPC" "Network.AWS.EC2.CreateVPC" "amazonka-ec2-1.6.0-Kkew7Kpgof6EYi20Z0WOzs" False) (C1 * (MetaCons "CreateVPC'" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "_cvAmazonProvidedIPv6CidrBlock") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Bool))) (S1 * (MetaSel (Just Symbol "_cvInstanceTenancy") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Tenancy)))) ((:*:) * (S1 * (MetaSel (Just Symbol "_cvDryRun") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Bool))) (S1 * (MetaSel (Just Symbol "_cvCidrBlock") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)))))
type Rs CreateVPC Source # 

Request Lenses

cvAmazonProvidedIPv6CidrBlock :: Lens' CreateVPC (Maybe Bool) Source #

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.

cvInstanceTenancy :: Lens' CreateVPC (Maybe Tenancy) Source #

The tenancy options for instances launched into the VPC. For default , instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated , instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC. Important: The host value cannot be used with this parameter. Use the default or dedicated values only. Default: default

cvDryRun :: Lens' CreateVPC (Maybe Bool) Source #

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 .

cvCidrBlock :: Lens' CreateVPC Text Source #

The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16 .

Destructuring the Response

createVPCResponse Source #

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

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

data CreateVPCResponse Source #

Contains the output of CreateVpc.

See: createVPCResponse smart constructor.

Instances

Eq CreateVPCResponse Source # 
Data CreateVPCResponse Source # 

Methods

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

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

toConstr :: CreateVPCResponse -> Constr #

dataTypeOf :: CreateVPCResponse -> DataType #

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

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

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

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

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

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

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

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

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

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

Read CreateVPCResponse Source # 
Show CreateVPCResponse Source # 
Generic CreateVPCResponse Source # 
NFData CreateVPCResponse Source # 

Methods

rnf :: CreateVPCResponse -> () #

type Rep CreateVPCResponse Source # 
type Rep CreateVPCResponse = D1 * (MetaData "CreateVPCResponse" "Network.AWS.EC2.CreateVPC" "amazonka-ec2-1.6.0-Kkew7Kpgof6EYi20Z0WOzs" False) (C1 * (MetaCons "CreateVPCResponse'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_cvrsVPC") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe VPC))) (S1 * (MetaSel (Just Symbol "_cvrsResponseStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Int))))

Response Lenses

cvrsVPC :: Lens' CreateVPCResponse (Maybe VPC) Source #

Information about the VPC.

cvrsResponseStatus :: Lens' CreateVPCResponse Int Source #

  • - | The response status code.