RouterNat class final

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.

Constructors

RouterNat({String? autoNetworkTier, List<String> drainNatIps = const [], int? effectiveTcpTimeWaitTimeoutSec, bool? enableDynamicPortAllocation, bool? enableEndpointIndependentMapping, List<String> endpointTypes = const [], int? icmpIdleTimeoutSec, RouterNatLogConfig? logConfig, int? maxPortsPerVm, int? minPortsPerVm, String? name, List<RouterNatSubnetworkToNat64> nat64Subnetworks = const [], String? natIpAllocateOption, List<String> natIps = const [], List<RouterNatRule> rules = const [], String? sourceSubnetworkIpRangesToNat, String? sourceSubnetworkIpRangesToNat64, List<RouterNatSubnetworkToNat> subnetworks = const [], int? tcpEstablishedIdleTimeoutSec, int? tcpTimeWaitTimeoutSec, int? tcpTransitoryIdleTimeoutSec, String? type, int? udpIdleTimeoutSec})
RouterNat.fromJson(Object? j)
factory

Properties

autoNetworkTier 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. Check the AutoNetworkTier enum for the list of possible values.
final
drainNatIps List<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. These IPs should be used for updating/patching a NAT only.
final
effectiveTcpTimeWaitTimeoutSec int?
Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT state. This value is equal to tcp_time_wait_timeout_sec. If tcp_time_wait_timeout_sec isn't set, the effective timeout is 30s or 120s. The field is output only.
final
enableDynamicPortAllocation bool?
Enable Dynamic Port Allocation.
final
enableEndpointIndependentMapping bool?
final
endpointTypes List<String>
List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM Check the EndpointTypes enum for the list of possible values.
final
hashCode int
The hash code for this object.
no setterinherited
icmpIdleTimeoutSec int?
Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
final
logConfig RouterNatLogConfig?
Configure logging on this NAT.
final
maxPortsPerVm int?
Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
final
minPortsPerVm int?
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.
final
name String?
Unique name of this Nat service. The name must be 1-63 characters long and comply withRFC1035.
final
nat64Subnetworks List<RouterNatSubnetworkToNat64>
List of Subnetwork resources whose traffic should be translated by NAT64 Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is selected for the SubnetworkIpRangeToNat64Option above.
final
natIpAllocateOption String?
Specify the NatIpAllocateOption, which can take one of the following values:
final
natIps List<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.
final
qualifiedName String
The fully qualified name of this message, i.e., google.protobuf.Duration or google.rpc.ErrorInfo.
finalinherited
rules List<RouterNatRule>
A list of rules associated with this NAT.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sourceSubnetworkIpRangesToNat String?
Specify the Nat option, which can take one of the following values:
final
sourceSubnetworkIpRangesToNat64 String?
Specify the Nat option for NAT64, which can take one of the following values:
final
subnetworks List<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.
final
tcpEstablishedIdleTimeoutSec int?
Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set.
final
tcpTimeWaitTimeoutSec int?
Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set.
final
tcpTransitoryIdleTimeoutSec int?
Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set.
final
type String?
Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC. Check the Type enum for the list of possible values.
final
udpIdleTimeoutSec int?
Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Object
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

fullyQualifiedName → const String