pub struct Builder { /* private fields */ }
Expand description

A builder for CreateVpcInput.

Implementations§

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.

Examples found in repository?
src/client.rs (line 24428)
24427
24428
24429
24430
        pub fn cidr_block(mut self, input: impl Into<std::string::String>) -> Self {
            self.inner = self.inner.cidr_block(input.into());
            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.

Examples found in repository?
src/client.rs (line 24433)
24432
24433
24434
24435
        pub fn set_cidr_block(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.inner = self.inner.set_cidr_block(input);
            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.

Examples found in repository?
src/client.rs (line 24438)
24437
24438
24439
24440
        pub fn amazon_provided_ipv6_cidr_block(mut self, input: bool) -> Self {
            self.inner = self.inner.amazon_provided_ipv6_cidr_block(input);
            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.

Examples found in repository?
src/client.rs (line 24446)
24442
24443
24444
24445
24446
24447
24448
        pub fn set_amazon_provided_ipv6_cidr_block(
            mut self,
            input: std::option::Option<bool>,
        ) -> Self {
            self.inner = self.inner.set_amazon_provided_ipv6_cidr_block(input);
            self
        }

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

Examples found in repository?
src/client.rs (line 24451)
24450
24451
24452
24453
        pub fn ipv6_pool(mut self, input: impl Into<std::string::String>) -> Self {
            self.inner = self.inner.ipv6_pool(input.into());
            self
        }

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

Examples found in repository?
src/client.rs (line 24456)
24455
24456
24457
24458
        pub fn set_ipv6_pool(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.inner = self.inner.set_ipv6_pool(input);
            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.

Examples found in repository?
src/client.rs (line 24462)
24461
24462
24463
24464
        pub fn ipv6_cidr_block(mut self, input: impl Into<std::string::String>) -> Self {
            self.inner = self.inner.ipv6_cidr_block(input.into());
            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.

Examples found in repository?
src/client.rs (line 24471)
24467
24468
24469
24470
24471
24472
24473
        pub fn set_ipv6_cidr_block(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inner = self.inner.set_ipv6_cidr_block(input);
            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.

Examples found in repository?
src/client.rs (line 24476)
24475
24476
24477
24478
        pub fn ipv4_ipam_pool_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.inner = self.inner.ipv4_ipam_pool_id(input.into());
            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.

Examples found in repository?
src/client.rs (line 24484)
24480
24481
24482
24483
24484
24485
24486
        pub fn set_ipv4_ipam_pool_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inner = self.inner.set_ipv4_ipam_pool_id(input);
            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.

Examples found in repository?
src/client.rs (line 24489)
24488
24489
24490
24491
        pub fn ipv4_netmask_length(mut self, input: i32) -> Self {
            self.inner = self.inner.ipv4_netmask_length(input);
            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.

Examples found in repository?
src/client.rs (line 24494)
24493
24494
24495
24496
        pub fn set_ipv4_netmask_length(mut self, input: std::option::Option<i32>) -> Self {
            self.inner = self.inner.set_ipv4_netmask_length(input);
            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.

Examples found in repository?
src/client.rs (line 24499)
24498
24499
24500
24501
        pub fn ipv6_ipam_pool_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.inner = self.inner.ipv6_ipam_pool_id(input.into());
            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.

Examples found in repository?
src/client.rs (line 24507)
24503
24504
24505
24506
24507
24508
24509
        pub fn set_ipv6_ipam_pool_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inner = self.inner.set_ipv6_ipam_pool_id(input);
            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.

Examples found in repository?
src/client.rs (line 24512)
24511
24512
24513
24514
        pub fn ipv6_netmask_length(mut self, input: i32) -> Self {
            self.inner = self.inner.ipv6_netmask_length(input);
            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.

Examples found in repository?
src/client.rs (line 24517)
24516
24517
24518
24519
        pub fn set_ipv6_netmask_length(mut self, input: std::option::Option<i32>) -> Self {
            self.inner = self.inner.set_ipv6_netmask_length(input);
            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.

Examples found in repository?
src/client.rs (line 24522)
24521
24522
24523
24524
        pub fn dry_run(mut self, input: bool) -> Self {
            self.inner = self.inner.dry_run(input);
            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.

Examples found in repository?
src/client.rs (line 24527)
24526
24527
24528
24529
        pub fn set_dry_run(mut self, input: std::option::Option<bool>) -> Self {
            self.inner = self.inner.set_dry_run(input);
            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

Examples found in repository?
src/client.rs (line 24534)
24533
24534
24535
24536
        pub fn instance_tenancy(mut self, input: crate::model::Tenancy) -> Self {
            self.inner = self.inner.instance_tenancy(input);
            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

Examples found in repository?
src/client.rs (line 24544)
24540
24541
24542
24543
24544
24545
24546
        pub fn set_instance_tenancy(
            mut self,
            input: std::option::Option<crate::model::Tenancy>,
        ) -> Self {
            self.inner = self.inner.set_instance_tenancy(input);
            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.

Examples found in repository?
src/client.rs (line 24555)
24549
24550
24551
24552
24553
24554
24555
24556
24557
        pub fn ipv6_cidr_block_network_border_group(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.inner = self
                .inner
                .ipv6_cidr_block_network_border_group(input.into());
            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.

Examples found in repository?
src/client.rs (line 24564)
24560
24561
24562
24563
24564
24565
24566
        pub fn set_ipv6_cidr_block_network_border_group(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inner = self.inner.set_ipv6_cidr_block_network_border_group(input);
            self
        }

Appends an item to tag_specifications.

To override the contents of this collection use set_tag_specifications.

The tags to assign to the VPC.

Examples found in repository?
src/client.rs (line 24573)
24572
24573
24574
24575
        pub fn tag_specifications(mut self, input: crate::model::TagSpecification) -> Self {
            self.inner = self.inner.tag_specifications(input);
            self
        }

The tags to assign to the VPC.

Examples found in repository?
src/client.rs (line 24581)
24577
24578
24579
24580
24581
24582
24583
        pub fn set_tag_specifications(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::TagSpecification>>,
        ) -> Self {
            self.inner = self.inner.set_tag_specifications(input);
            self
        }

Consumes the builder and constructs a CreateVpcInput.

Examples found in repository?
src/client.rs (line 24395)
24383
24384
24385
24386
24387
24388
24389
24390
24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
24406
24407
24408
24409
24410
24411
24412
24413
24414
24415
24416
24417
24418
24419
24420
24421
24422
24423
24424
24425
        pub async fn customize(
            self,
        ) -> std::result::Result<
            crate::operation::customize::CustomizableOperation<
                crate::operation::CreateVpc,
                aws_http::retry::AwsResponseRetryClassifier,
            >,
            aws_smithy_http::result::SdkError<crate::error::CreateVpcError>,
        > {
            let handle = self.handle.clone();
            let operation = self
                .inner
                .build()
                .map_err(aws_smithy_http::result::SdkError::construction_failure)?
                .make_operation(&handle.conf)
                .await
                .map_err(aws_smithy_http::result::SdkError::construction_failure)?;
            Ok(crate::operation::customize::CustomizableOperation { handle, operation })
        }

        /// 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](aws_smithy_types::retry::RetryConfig), which can be
        /// set when configuring the client.
        pub async fn send(
            self,
        ) -> std::result::Result<
            crate::output::CreateVpcOutput,
            aws_smithy_http::result::SdkError<crate::error::CreateVpcError>,
        > {
            let op = self
                .inner
                .build()
                .map_err(aws_smithy_http::result::SdkError::construction_failure)?
                .make_operation(&self.handle.conf)
                .await
                .map_err(aws_smithy_http::result::SdkError::construction_failure)?;
            self.handle.client.call(op).await
        }

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more