Struct aws_sdk_ec2::client::fluent_builders::CreateVpc
source · [−]pub struct CreateVpc { /* private fields */ }
Expand description
Fluent builder constructing a request to CreateVpc
.
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.
Implementations
sourceimpl CreateVpc
impl CreateVpc
sourcepub async fn customize(
self
) -> Result<CustomizableOperation<CreateVpc, AwsResponseRetryClassifier>, SdkError<CreateVpcError>>
pub async fn customize(
self
) -> Result<CustomizableOperation<CreateVpc, AwsResponseRetryClassifier>, SdkError<CreateVpcError>>
Consume this builder, creating a customizable operation that can be modified before being sent. The operation’s inner http::Request can be modified as well.
sourcepub async fn send(self) -> Result<CreateVpcOutput, SdkError<CreateVpcError>>
pub async fn send(self) -> Result<CreateVpcOutput, SdkError<CreateVpcError>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
sourcepub fn cidr_block(self, input: impl Into<String>) -> Self
pub fn cidr_block(self, input: impl Into<String>) -> Self
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
.
sourcepub fn set_cidr_block(self, input: Option<String>) -> Self
pub fn set_cidr_block(self, input: Option<String>) -> Self
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
.
sourcepub fn amazon_provided_ipv6_cidr_block(self, input: bool) -> Self
pub fn amazon_provided_ipv6_cidr_block(self, input: bool) -> Self
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.
sourcepub fn set_amazon_provided_ipv6_cidr_block(self, input: Option<bool>) -> Self
pub fn set_amazon_provided_ipv6_cidr_block(self, input: Option<bool>) -> Self
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.
sourcepub fn ipv6_pool(self, input: impl Into<String>) -> Self
pub fn ipv6_pool(self, input: impl Into<String>) -> Self
The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
sourcepub fn set_ipv6_pool(self, input: Option<String>) -> Self
pub fn set_ipv6_pool(self, input: Option<String>) -> Self
The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
sourcepub fn ipv6_cidr_block(self, input: impl Into<String>) -> Self
pub fn ipv6_cidr_block(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_ipv6_cidr_block(self, input: Option<String>) -> Self
pub fn set_ipv6_cidr_block(self, input: Option<String>) -> Self
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.
sourcepub fn ipv4_ipam_pool_id(self, input: impl Into<String>) -> Self
pub fn ipv4_ipam_pool_id(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_ipv4_ipam_pool_id(self, input: Option<String>) -> Self
pub fn set_ipv4_ipam_pool_id(self, input: Option<String>) -> Self
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.
sourcepub fn ipv4_netmask_length(self, input: i32) -> Self
pub fn ipv4_netmask_length(self, input: i32) -> Self
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.
sourcepub fn set_ipv4_netmask_length(self, input: Option<i32>) -> Self
pub fn set_ipv4_netmask_length(self, input: Option<i32>) -> Self
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.
sourcepub fn ipv6_ipam_pool_id(self, input: impl Into<String>) -> Self
pub fn ipv6_ipam_pool_id(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_ipv6_ipam_pool_id(self, input: Option<String>) -> Self
pub fn set_ipv6_ipam_pool_id(self, input: Option<String>) -> Self
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.
sourcepub fn ipv6_netmask_length(self, input: i32) -> Self
pub fn ipv6_netmask_length(self, input: i32) -> Self
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.
sourcepub fn set_ipv6_netmask_length(self, input: Option<i32>) -> Self
pub fn set_ipv6_netmask_length(self, input: Option<i32>) -> Self
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.
sourcepub fn dry_run(self, input: bool) -> Self
pub fn dry_run(self, input: bool) -> Self
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
.
sourcepub fn set_dry_run(self, input: Option<bool>) -> Self
pub fn set_dry_run(self, input: Option<bool>) -> Self
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
.
sourcepub fn instance_tenancy(self, input: Tenancy) -> Self
pub fn instance_tenancy(self, input: Tenancy) -> Self
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
sourcepub fn set_instance_tenancy(self, input: Option<Tenancy>) -> Self
pub fn set_instance_tenancy(self, input: Option<Tenancy>) -> Self
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
sourcepub fn ipv6_cidr_block_network_border_group(
self,
input: impl Into<String>
) -> Self
pub fn ipv6_cidr_block_network_border_group(
self,
input: impl Into<String>
) -> Self
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.
sourcepub fn set_ipv6_cidr_block_network_border_group(
self,
input: Option<String>
) -> Self
pub fn set_ipv6_cidr_block_network_border_group(
self,
input: Option<String>
) -> Self
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.
sourcepub fn tag_specifications(self, input: TagSpecification) -> Self
pub fn tag_specifications(self, input: TagSpecification) -> Self
Appends an item to TagSpecifications
.
To override the contents of this collection use set_tag_specifications
.
The tags to assign to the VPC.
sourcepub fn set_tag_specifications(self, input: Option<Vec<TagSpecification>>) -> Self
pub fn set_tag_specifications(self, input: Option<Vec<TagSpecification>>) -> Self
The tags to assign to the VPC.