Class: Google::Apis::ComputeBeta::RouterNat
- Inherits:
-
Object
- Object
- Google::Apis::ComputeBeta::RouterNat
- Defined in:
- generated/google/apis/compute_beta/classes.rb,
generated/google/apis/compute_beta/representations.rb,
generated/google/apis/compute_beta/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.
-
#log_config ⇒ Google::Apis::ComputeBeta::RouterNatLogConfig
Configuration of logging on a NAT.
-
#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::ComputeBeta::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
21117 21118 21119 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21117 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
21052 21053 21054 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21052 def icmp_idle_timeout_sec @icmp_idle_timeout_sec end |
#log_config ⇒ Google::Apis::ComputeBeta::RouterNatLogConfig
Configuration of logging on a NAT.
Corresponds to the JSON property logConfig
21057 21058 21059 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21057 def log_config @log_config 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
21065 21066 21067 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21065 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
21071 21072 21073 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21071 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
21077 21078 21079 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21077 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
21084 21085 21086 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21084 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
21091 21092 21093 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21091 def source_subnetwork_ip_ranges_to_nat @source_subnetwork_ip_ranges_to_nat end |
#subnetworks ⇒ Array<Google::Apis::ComputeBeta::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
21098 21099 21100 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21098 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
21104 21105 21106 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21104 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
21110 21111 21112 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21110 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
21115 21116 21117 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21115 def udp_idle_timeout_sec @udp_idle_timeout_sec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
21122 21123 21124 21125 21126 21127 21128 21129 21130 21131 21132 21133 21134 |
# File 'generated/google/apis/compute_beta/classes.rb', line 21122 def update!(**args) @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec) @log_config = args[:log_config] if args.key?(:log_config) @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 |