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
-
#auto_allocated_nat_ips ⇒ Array<String>
[Output Only] A list of IPs allocated automatically by GCP for this Nat service.
-
#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
22166 22167 22168 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22166 def initialize(**args) update!(**args) end |
Instance Attribute Details
#auto_allocated_nat_ips ⇒ Array<String>
[Output Only] A list of IPs allocated automatically by GCP for this Nat
service. They will be raw IP strings like "179.12.26.133". They are ephemeral
IPs allocated from the IP blocks managed by the NAT manager. This list can
grow and shrink based on the number of VMs configured to use NAT.
Corresponds to the JSON property autoAllocatedNatIps
22101 22102 22103 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22101 def auto_allocated_nat_ips @auto_allocated_nat_ips end |
#icmp_idle_timeout_sec ⇒ Fixnum
Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
Corresponds to the JSON property icmpIdleTimeoutSec
22106 22107 22108 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22106 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
22114 22115 22116 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22114 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
22120 22121 22122 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22120 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
22126 22127 22128 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22126 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
22133 22134 22135 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22133 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
22140 22141 22142 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22140 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
22147 22148 22149 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22147 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
22153 22154 22155 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22153 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
22159 22160 22161 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22159 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
22164 22165 22166 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22164 def udp_idle_timeout_sec @udp_idle_timeout_sec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
22171 22172 22173 22174 22175 22176 22177 22178 22179 22180 22181 22182 22183 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 22171 def update!(**args) @auto_allocated_nat_ips = args[:auto_allocated_nat_ips] if args.key?(:auto_allocated_nat_ips) @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 |