Copyright | (c) 2013-2023 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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). For more information about how large to make your VPC, see Your VPC and subnets in the Amazon Virtual Private Cloud User Guide.
You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).
By default, each instance you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, 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
- data CreateVpc = CreateVpc' {
- amazonProvidedIpv6CidrBlock :: Maybe Bool
- cidrBlock :: Maybe Text
- dryRun :: Maybe Bool
- instanceTenancy :: Maybe Tenancy
- ipv4IpamPoolId :: Maybe Text
- ipv4NetmaskLength :: Maybe Int
- ipv6CidrBlock :: Maybe Text
- ipv6CidrBlockNetworkBorderGroup :: Maybe Text
- ipv6IpamPoolId :: Maybe Text
- ipv6NetmaskLength :: Maybe Int
- ipv6Pool :: Maybe Text
- tagSpecifications :: Maybe [TagSpecification]
- newCreateVpc :: CreateVpc
- createVpc_amazonProvidedIpv6CidrBlock :: Lens' CreateVpc (Maybe Bool)
- createVpc_cidrBlock :: Lens' CreateVpc (Maybe Text)
- createVpc_dryRun :: Lens' CreateVpc (Maybe Bool)
- createVpc_instanceTenancy :: Lens' CreateVpc (Maybe Tenancy)
- createVpc_ipv4IpamPoolId :: Lens' CreateVpc (Maybe Text)
- createVpc_ipv4NetmaskLength :: Lens' CreateVpc (Maybe Int)
- createVpc_ipv6CidrBlock :: Lens' CreateVpc (Maybe Text)
- createVpc_ipv6CidrBlockNetworkBorderGroup :: Lens' CreateVpc (Maybe Text)
- createVpc_ipv6IpamPoolId :: Lens' CreateVpc (Maybe Text)
- createVpc_ipv6NetmaskLength :: Lens' CreateVpc (Maybe Int)
- createVpc_ipv6Pool :: Lens' CreateVpc (Maybe Text)
- createVpc_tagSpecifications :: Lens' CreateVpc (Maybe [TagSpecification])
- data CreateVpcResponse = CreateVpcResponse' {
- vpc :: Maybe Vpc
- httpStatus :: Int
- newCreateVpcResponse :: Int -> CreateVpcResponse
- createVpcResponse_vpc :: Lens' CreateVpcResponse (Maybe Vpc)
- createVpcResponse_httpStatus :: Lens' CreateVpcResponse Int
Creating a Request
See: newCreateVpc
smart constructor.
CreateVpc' | |
|
Instances
newCreateVpc :: CreateVpc Source #
Create a value of CreateVpc
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:amazonProvidedIpv6CidrBlock:CreateVpc'
, createVpc_amazonProvidedIpv6CidrBlock
- 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.
CreateVpc
, createVpc_cidrBlock
- The IPv4 network range for the VPC, in CIDR notation. For example,
10.0.0.0/16
. We modify the specified CIDR block to its canonical
form; for example, if you specify 100.68.0.18/18
, we modify it to
100.68.0.0/18
.
$sel:dryRun:CreateVpc'
, createVpc_dryRun
- 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
.
CreateVpc
, createVpc_instanceTenancy
- 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
$sel:ipv4IpamPoolId:CreateVpc'
, createVpc_ipv4IpamPoolId
- The ID of an IPv4 IPAM pool you want to use for allocating this VPC's
CIDR. For more information, see
What is IPAM?
in the Amazon VPC IPAM User Guide.
$sel:ipv4NetmaskLength:CreateVpc'
, createVpc_ipv4NetmaskLength
- The netmask length of the IPv4 CIDR you want to allocate to this VPC
from an Amazon VPC IP Address Manager (IPAM) pool. For more information
about IPAM, see
What is IPAM?
in the Amazon VPC IPAM User Guide.
CreateVpc
, createVpc_ipv6CidrBlock
- The IPv6 CIDR block from the IPv6 address pool. You must also specify
Ipv6Pool
in the request.
To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
$sel:ipv6CidrBlockNetworkBorderGroup:CreateVpc'
, createVpc_ipv6CidrBlockNetworkBorderGroup
- The name of the location from which we advertise the IPV6 CIDR block.
Use this parameter to limit the address to this location.
You must set AmazonProvidedIpv6CidrBlock
to true
to use this
parameter.
$sel:ipv6IpamPoolId:CreateVpc'
, createVpc_ipv6IpamPoolId
- The ID of an IPv6 IPAM pool which will be used to allocate this VPC an
IPv6 CIDR. IPAM is a VPC feature that you can use to automate your IP
address management workflows including assigning, tracking,
troubleshooting, and auditing IP addresses across Amazon Web Services
Regions and accounts throughout your Amazon Web Services Organization.
For more information, see
What is IPAM?
in the Amazon VPC IPAM User Guide.
$sel:ipv6NetmaskLength:CreateVpc'
, createVpc_ipv6NetmaskLength
- The netmask length of the IPv6 CIDR you want to allocate to this VPC
from an Amazon VPC IP Address Manager (IPAM) pool. For more information
about IPAM, see
What is IPAM?
in the Amazon VPC IPAM User Guide.
CreateVpc
, createVpc_ipv6Pool
- The ID of an IPv6 address pool from which to allocate the IPv6 CIDR
block.
CreateVpc
, createVpc_tagSpecifications
- The tags to assign to the VPC.
Request Lenses
createVpc_amazonProvidedIpv6CidrBlock :: 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.
createVpc_cidrBlock :: Lens' CreateVpc (Maybe Text) Source #
The IPv4 network range for the VPC, in CIDR notation. For example,
10.0.0.0/16
. We modify the specified CIDR block to its canonical
form; for example, if you specify 100.68.0.18/18
, we modify it to
100.68.0.0/18
.
createVpc_dryRun :: 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
.
createVpc_instanceTenancy :: 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
createVpc_ipv4IpamPoolId :: Lens' CreateVpc (Maybe Text) Source #
The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.
createVpc_ipv4NetmaskLength :: Lens' CreateVpc (Maybe Int) Source #
The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.
createVpc_ipv6CidrBlock :: Lens' CreateVpc (Maybe Text) Source #
The IPv6 CIDR block from the IPv6 address pool. You must also specify
Ipv6Pool
in the request.
To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
createVpc_ipv6CidrBlockNetworkBorderGroup :: Lens' CreateVpc (Maybe Text) Source #
The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.
You must set AmazonProvidedIpv6CidrBlock
to true
to use this
parameter.
createVpc_ipv6IpamPoolId :: Lens' CreateVpc (Maybe Text) Source #
The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.
createVpc_ipv6NetmaskLength :: Lens' CreateVpc (Maybe Int) Source #
The netmask length of the IPv6 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.
createVpc_ipv6Pool :: Lens' CreateVpc (Maybe Text) Source #
The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
createVpc_tagSpecifications :: Lens' CreateVpc (Maybe [TagSpecification]) Source #
The tags to assign to the VPC.
Destructuring the Response
data CreateVpcResponse Source #
See: newCreateVpcResponse
smart constructor.
CreateVpcResponse' | |
|
Instances
Create a value of CreateVpcResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
CreateVpcResponse
, createVpcResponse_vpc
- Information about the VPC.
$sel:httpStatus:CreateVpcResponse'
, createVpcResponse_httpStatus
- The response's http status code.
Response Lenses
createVpcResponse_vpc :: Lens' CreateVpcResponse (Maybe Vpc) Source #
Information about the VPC.
createVpcResponse_httpStatus :: Lens' CreateVpcResponse Int Source #
The response's http status code.