[][src]Struct google_compute1::RouterNat

pub struct RouterNat {
    pub udp_idle_timeout_sec: Option<i32>,
    pub nat_ips: Option<Vec<String>>,
    pub name: Option<String>,
    pub tcp_transitory_idle_timeout_sec: Option<i32>,
    pub subnetworks: Option<Vec<RouterNatSubnetworkToNat>>,
    pub nat_ip_allocate_option: Option<String>,
    pub icmp_idle_timeout_sec: Option<i32>,
    pub source_subnetwork_ip_ranges_to_nat: Option<String>,
    pub tcp_established_idle_timeout_sec: Option<i32>,
    pub log_config: Option<RouterNatLogConfig>,
    pub min_ports_per_vm: Option<i32>,
}

Represents a Nat resource. It enables the VMs within the specified subnetworks to access Internet without external IP addresses. It specifies a list of subnetworks (and the ranges within) that want to use NAT. Customers can also provide the external IPs that would be used for NAT. GCP would auto-allocate ephemeral IPs if no external IPs are provided.

This type is not used in any activity, and only used as part of another schema.

Fields

udp_idle_timeout_sec: Option<i32>

Timeout (in seconds) for UDP connections. Defaults to 30s if not set.

nat_ips: Option<Vec<String>>

A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project.

name: Option<String>

Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.

tcp_transitory_idle_timeout_sec: Option<i32>

Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.

subnetworks: Option<Vec<RouterNatSubnetworkToNat>>

A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.

nat_ip_allocate_option: Option<String>

Specify the NatIpAllocateOption, which can take one of the following values:

  • MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs.
  • AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
icmp_idle_timeout_sec: Option<i32>

Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.

source_subnetwork_ip_ranges_to_nat: Option<String>

Specify the Nat option, which can take one of the following values:

  • ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat.
  • ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat.
  • LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region.
tcp_established_idle_timeout_sec: Option<i32>

Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.

log_config: Option<RouterNatLogConfig>

Configure logging on this NAT.

min_ports_per_vm: Option<i32>

Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.

Trait Implementations

impl Part for RouterNat[src]

impl Default for RouterNat[src]

impl Clone for RouterNat[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for RouterNat[src]

impl Serialize for RouterNat[src]

impl<'de> Deserialize<'de> for RouterNat[src]

Auto Trait Implementations

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]