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

Fluent builder constructing a request to CreateNatGateway.

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

When you create a public NAT gateway and assign it an EIP or secondary EIPs, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the NAT gateway will fail to launch. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

Implementations§

source§

impl CreateNatGatewayFluentBuilder

source

pub fn as_input(&self) -> &CreateNatGatewayInputBuilder

Access the CreateNatGateway as a reference.

source

pub async fn send( self ) -> Result<CreateNatGatewayOutput, SdkError<CreateNatGatewayError, HttpResponse>>

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.

source

pub fn customize( self ) -> CustomizableOperation<CreateNatGatewayOutput, CreateNatGatewayError, Self>

Consumes this builder, creating a customizable operation that can be modified before being sent.

source

pub fn allocation_id(self, input: impl Into<String>) -> Self

[Public NAT gateways only] The allocation ID of an Elastic IP address to associate with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

source

pub fn set_allocation_id(self, input: Option<String>) -> Self

[Public NAT gateways only] The allocation ID of an Elastic IP address to associate with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

source

pub fn get_allocation_id(&self) -> &Option<String>

[Public NAT gateways only] The allocation ID of an Elastic IP address to associate with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

source

pub fn client_token(self, input: impl Into<String>) -> Self

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

Constraint: Maximum 64 ASCII characters.

source

pub fn set_client_token(self, input: Option<String>) -> Self

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

Constraint: Maximum 64 ASCII characters.

source

pub fn get_client_token(&self) -> &Option<String>

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

Constraint: Maximum 64 ASCII characters.

source

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.

source

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.

source

pub fn get_dry_run(&self) -> &Option<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.

source

pub fn subnet_id(self, input: impl Into<String>) -> Self

The ID of the subnet in which to create the NAT gateway.

source

pub fn set_subnet_id(self, input: Option<String>) -> Self

The ID of the subnet in which to create the NAT gateway.

source

pub fn get_subnet_id(&self) -> &Option<String>

The ID of the subnet in which to create the NAT gateway.

source

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 NAT gateway.

source

pub fn set_tag_specifications( self, input: Option<Vec<TagSpecification>> ) -> Self

The tags to assign to the NAT gateway.

source

pub fn get_tag_specifications(&self) -> &Option<Vec<TagSpecification>>

The tags to assign to the NAT gateway.

source

pub fn connectivity_type(self, input: ConnectivityType) -> Self

Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.

source

pub fn set_connectivity_type(self, input: Option<ConnectivityType>) -> Self

Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.

source

pub fn get_connectivity_type(&self) -> &Option<ConnectivityType>

Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.

source

pub fn private_ip_address(self, input: impl Into<String>) -> Self

The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.

source

pub fn set_private_ip_address(self, input: Option<String>) -> Self

The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.

source

pub fn get_private_ip_address(&self) -> &Option<String>

The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.

source

pub fn secondary_allocation_ids(self, input: impl Into<String>) -> Self

Appends an item to SecondaryAllocationIds.

To override the contents of this collection use set_secondary_allocation_ids.

Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.

source

pub fn set_secondary_allocation_ids(self, input: Option<Vec<String>>) -> Self

Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.

source

pub fn get_secondary_allocation_ids(&self) -> &Option<Vec<String>>

Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.

source

pub fn secondary_private_ip_addresses(self, input: impl Into<String>) -> Self

Appends an item to SecondaryPrivateIpAddresses.

To override the contents of this collection use set_secondary_private_ip_addresses.

Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

source

pub fn set_secondary_private_ip_addresses( self, input: Option<Vec<String>> ) -> Self

Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

source

pub fn get_secondary_private_ip_addresses(&self) -> &Option<Vec<String>>

Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

source

pub fn secondary_private_ip_address_count(self, input: i32) -> Self

[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

source

pub fn set_secondary_private_ip_address_count(self, input: Option<i32>) -> Self

[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

source

pub fn get_secondary_private_ip_address_count(&self) -> &Option<i32>

[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

Trait Implementations§

source§

impl Clone for CreateNatGatewayFluentBuilder

source§

fn clone(&self) -> CreateNatGatewayFluentBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CreateNatGatewayFluentBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<Unshared, Shared> IntoShared<Shared> for Unsharedwhere Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more