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
21978 21979 21980 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21978 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
21913 21914 21915 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21913 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
21918 21919 21920 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21918 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
21926 21927 21928 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21926 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
21932 21933 21934 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21932 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
21938 21939 21940 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21938 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
21945 21946 21947 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21945 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
21952 21953 21954 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21952 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
21959 21960 21961 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21959 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
21965 21966 21967 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21965 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
21971 21972 21973 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21971 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
21976 21977 21978 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21976 def udp_idle_timeout_sec @udp_idle_timeout_sec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
21983 21984 21985 21986 21987 21988 21989 21990 21991 21992 21993 21994 21995 |
# File 'generated/google/apis/compute_alpha/classes.rb', line 21983 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 |