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
21525 21526 21527 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21525 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
21460 21461 21462 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21460 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
21465 21466 21467 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21465 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
21473 21474 21475 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21473 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
21479 21480 21481 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21479 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
21485 21486 21487 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21485 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
21492 21493 21494 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21492 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
21499 21500 21501 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21499 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
21506 21507 21508 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21506 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
21512 21513 21514 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21512 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
21518 21519 21520 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21518 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
21523 21524 21525 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21523 def udp_idle_timeout_sec @udp_idle_timeout_sec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
21530 21531 21532 21533 21534 21535 21536 21537 21538 21539 21540 21541 21542 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21530 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 |