Class: Google::Apis::ComputeAlpha::RouterNat
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::RouterNat
- Defined in:
- generated/google/apis/compute_alpha/classes.rb,
generated/google/apis/compute_alpha/representations.rb,
generated/google/apis/compute_alpha/representations.rb
Overview
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.
Instance Attribute Summary collapse
-
#icmp_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for ICMP connections.
-
#min_ports_per_vm ⇒ Fixnum
Minimum number of ports allocated to a VM from this NAT config.
-
#name ⇒ String
Unique name of this Nat service.
-
#nat_ip_allocate_option ⇒ String
Specify the NatIpAllocateOption.
-
#nat_ips ⇒ Array<String>
A list of URLs of the IP resources used for this Nat service.
-
#source_subnetwork_ip_ranges_to_nat ⇒ String
Specify the Nat option.
-
#subnetworks ⇒ Array<Google::Apis::ComputeAlpha::RouterNatSubnetworkToNat>
A list of Subnetwork resources whose traffic should be translated by NAT Gateway.
-
#tcp_established_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for TCP established connections.
-
#tcp_transitory_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for TCP transitory connections.
-
#udp_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for UDP connections.
Instance Method Summary collapse
-
#initialize(**args) ⇒ RouterNat
constructor
A new instance of RouterNat.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ RouterNat
Returns a new instance of RouterNat
22015 22016 22017 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22015 def initialize(**args) update!(**args) end |
Instance Attribute Details
#icmp_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
Corresponds to the JSON property icmpIdleTimeoutSec
21955 21956 21957 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21955 def icmp_idle_timeout_sec @icmp_idle_timeout_sec end |
#min_ports_per_vm ⇒ Fixnum
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 gets rounded up to the
nearest power of 2. Eg. if the value of this field is 50, at least 64 ports
will be allocated to a VM.
Corresponds to the JSON property minPortsPerVm
21963 21964 21965 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21963 def min_ports_per_vm @min_ports_per_vm end |
#name ⇒ String
Unique name of this Nat service. The name must be 1-63 characters long and
comply with RFC1035.
Corresponds to the JSON property name
21969 21970 21971 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21969 def name @name end |
#nat_ip_allocate_option ⇒ String
Specify the NatIpAllocateOption. If it is AUTO_ONLY, then nat_ip should be
empty.
Corresponds to the JSON property natIpAllocateOption
21975 21976 21977 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21975 def nat_ip_allocate_option @nat_ip_allocate_option end |
#nat_ips ⇒ Array<String>
A list of URLs of the IP resources used for this Nat service. These IPs must
be valid static external IP addresses assigned to the project. max_length is
subject to change post alpha.
Corresponds to the JSON property natIps
21982 21983 21984 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21982 def nat_ips @nat_ips end |
#source_subnetwork_ip_ranges_to_nat ⇒ String
Specify the Nat option. 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.
Corresponds to the JSON property sourceSubnetworkIpRangesToNat
21989 21990 21991 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21989 def source_subnetwork_ip_ranges_to_nat @source_subnetwork_ip_ranges_to_nat end |
#subnetworks ⇒ Array<Google::Apis::ComputeAlpha::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.
Corresponds to the JSON property subnetworks
21996 21997 21998 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21996 def subnetworks @subnetworks end |
#tcp_established_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for TCP established connections. Defaults to 1200s if not
set.
Corresponds to the JSON property tcpEstablishedIdleTimeoutSec
22002 22003 22004 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22002 def tcp_established_idle_timeout_sec @tcp_established_idle_timeout_sec end |
#tcp_transitory_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
set.
Corresponds to the JSON property tcpTransitoryIdleTimeoutSec
22008 22009 22010 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22008 def tcp_transitory_idle_timeout_sec @tcp_transitory_idle_timeout_sec end |
#udp_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
Corresponds to the JSON property udpIdleTimeoutSec
22013 22014 22015 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22013 def udp_idle_timeout_sec @udp_idle_timeout_sec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
22020 22021 22022 22023 22024 22025 22026 22027 22028 22029 22030 22031 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22020 def update!(**args) @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec) @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm) @name = args[:name] if args.key?(:name) @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option) @nat_ips = args[:nat_ips] if args.key?(:nat_ips) @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat) @subnetworks = args[:subnetworks] if args.key?(:subnetworks) @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec) @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec) @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec) end |