pulumi_wasm_providers_gcp_mini::compute::router_nat

Struct RouterNatResult

source
pub struct RouterNatResult {
Show 24 fields pub auto_network_tier: Output<String>, pub drain_nat_ips: Output<Vec<String>>, pub enable_dynamic_port_allocation: Output<bool>, pub enable_endpoint_independent_mapping: Output<bool>, pub endpoint_types: Output<Vec<String>>, pub icmp_idle_timeout_sec: Output<Option<i32>>, pub initial_nat_ips: Output<Option<Vec<String>>>, pub log_config: Output<Option<RouterNatLogConfig>>, pub max_ports_per_vm: Output<Option<i32>>, pub min_ports_per_vm: Output<i32>, pub name: Output<String>, pub nat_ip_allocate_option: Output<Option<String>>, pub nat_ips: Output<Vec<String>>, pub project: Output<String>, pub region: Output<String>, pub router: Output<String>, pub rules: Output<Option<Vec<RouterNatRule>>>, pub source_subnetwork_ip_ranges_to_nat: Output<String>, pub subnetworks: Output<Option<Vec<RouterNatSubnetwork>>>, pub tcp_established_idle_timeout_sec: Output<Option<i32>>, pub tcp_time_wait_timeout_sec: Output<Option<i32>>, pub tcp_transitory_idle_timeout_sec: Output<Option<i32>>, pub type_: Output<Option<String>>, pub udp_idle_timeout_sec: Output<Option<i32>>,
}

Fields§

§auto_network_tier: Output<String>

The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used. Possible values are: PREMIUM, STANDARD.

§drain_nat_ips: Output<Vec<String>>

A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT.

§enable_dynamic_port_allocation: Output<bool>

Enable Dynamic Port Allocation. If minPortsPerVm is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config. If maxPortsPerVm is set, maxPortsPerVm must be set to a power of two greater than minPortsPerVm. If maxPortsPerVm is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config. Mutually exclusive with enableEndpointIndependentMapping.

§enable_endpoint_independent_mapping: Output<bool>

Enable endpoint independent mapping. For more information see the official documentation.

§endpoint_types: Output<Vec<String>>

Specifies the endpoint Types supported by the NAT Gateway. Supported values include: ENDPOINT_TYPE_VM, ENDPOINT_TYPE_SWG, ENDPOINT_TYPE_MANAGED_PROXY_LB.

§icmp_idle_timeout_sec: Output<Option<i32>>

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

§initial_nat_ips: Output<Option<Vec<String>>>

Self-links of NAT IPs to be used as initial value for creation alongside a RouterNatAddress resource. Conflicts with natIps and drainNatIps. Only valid if natIpAllocateOption is set to MANUAL_ONLY.

§log_config: Output<Option<RouterNatLogConfig>>

Configuration for logging on NAT Structure is documented below.

§max_ports_per_vm: Output<Option<i32>>

Maximum number of ports allocated to a VM from this NAT. This field can only be set when enableDynamicPortAllocation is enabled.

§min_ports_per_vm: Output<i32>

Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.

§name: Output<String>

Name of the NAT service. The name must be 1-63 characters long and comply with RFC1035.

§nat_ip_allocate_option: Output<Option<String>>

How external IPs should be allocated for this NAT. Valid values are AUTO_ONLY for only allowing NAT IPs allocated by Google Cloud Platform, or MANUAL_ONLY for only user-allocated NAT IP addresses. Possible values are: MANUAL_ONLY, AUTO_ONLY.

§nat_ips: Output<Vec<String>>

Self-links of NAT IPs. Only valid if natIpAllocateOption is set to MANUAL_ONLY. If this field is used alongside with a count created list of address resources google_compute_address.foobar.*.self_link, the access level resource for the address resource must have a lifecycle block with create_before_destroy = true so the number of resources can be increased/decreased without triggering the resourceInUseByAnotherResource error.

§project: Output<String>

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

§region: Output<String>

Region where the router and NAT reside.

§router: Output<String>

The name of the Cloud Router in which this NAT will be configured.


§rules: Output<Option<Vec<RouterNatRule>>>

A list of rules associated with this NAT. Structure is documented below.

§source_subnetwork_ip_ranges_to_nat: Output<String>

How NAT should be configured per Subnetwork. If ALL_SUBNETWORKS_ALL_IP_RANGES, all of the IP ranges in every Subnetwork are allowed to Nat. If 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). 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 RouterNat section in any Router for this network in this region. Possible values are: ALL_SUBNETWORKS_ALL_IP_RANGES, ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, LIST_OF_SUBNETWORKS.

§subnetworks: Output<Option<Vec<RouterNatSubnetwork>>>

One or more subnetwork NAT configurations. Only used if source_subnetwork_ip_ranges_to_nat is set to LIST_OF_SUBNETWORKS Structure is documented below.

§tcp_established_idle_timeout_sec: Output<Option<i32>>

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

§tcp_time_wait_timeout_sec: Output<Option<i32>>

Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.

§tcp_transitory_idle_timeout_sec: Output<Option<i32>>

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

§type_: Output<Option<String>>

Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC. If PUBLIC NAT used for public IP translation. If PRIVATE NAT used for private IP translation. Default value is PUBLIC. Possible values are: PUBLIC, PRIVATE.

§udp_idle_timeout_sec: Output<Option<i32>>

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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, U> Into<U> for T
where 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<T, U> TryFrom<U> for T
where U: Into<T>,

source§

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 T
where U: TryFrom<T>,

source§

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.