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.Durationorgoogle.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