pub struct RouterNatArgs {Show 24 fields
pub auto_network_tier: Output<Option<String>>,
pub drain_nat_ips: Output<Option<Vec<String>>>,
pub enable_dynamic_port_allocation: Output<Option<bool>>,
pub enable_endpoint_independent_mapping: Output<Option<bool>>,
pub endpoint_types: Output<Option<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<Option<i32>>,
pub name: Output<Option<String>>,
pub nat_ip_allocate_option: Output<Option<String>>,
pub nat_ips: Output<Option<Vec<String>>>,
pub project: Output<Option<String>>,
pub region: Output<Option<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<Option<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<Option<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<Option<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<Option<bool>>
Enable endpoint independent mapping. For more information see the official documentation.
endpoint_types: Output<Option<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<Option<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<Option<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<Option<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<Option<String>>
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
region: Output<Option<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.
Implementations§
source§impl RouterNatArgs
impl RouterNatArgs
sourcepub fn builder() -> RouterNatArgsBuilder
pub fn builder() -> RouterNatArgsBuilder
Create an instance of RouterNatArgs
using the builder syntax
Trait Implementations§
source§impl Clone for RouterNatArgs
impl Clone for RouterNatArgs
source§fn clone(&self) -> RouterNatArgs
fn clone(&self) -> RouterNatArgs
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for RouterNatArgs
impl RefUnwindSafe for RouterNatArgs
impl Send for RouterNatArgs
impl Sync for RouterNatArgs
impl Unpin for RouterNatArgs
impl UnwindSafe for RouterNatArgs
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)