Class: Google::Apis::ComputeAlpha::RouterNat

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
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

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ RouterNat

Returns a new instance of RouterNat



26228
26229
26230
# File 'generated/google/apis/compute_alpha/classes.rb', line 26228

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#drain_nat_ipsArray<String>

A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only. Corresponds to the JSON property drainNatIps

Returns:

  • (Array<String>)


26158
26159
26160
# File 'generated/google/apis/compute_alpha/classes.rb', line 26158

def drain_nat_ips
  @drain_nat_ips
end

#icmp_idle_timeout_secFixnum

Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. Corresponds to the JSON property icmpIdleTimeoutSec

Returns:

  • (Fixnum)


26163
26164
26165
# File 'generated/google/apis/compute_alpha/classes.rb', line 26163

def icmp_idle_timeout_sec
  @icmp_idle_timeout_sec
end

#log_configGoogle::Apis::ComputeAlpha::RouterNatLogConfig

Configuration of logging on a NAT. Corresponds to the JSON property logConfig



26168
26169
26170
# File 'generated/google/apis/compute_alpha/classes.rb', line 26168

def log_config
  @log_config
end

#min_ports_per_vmFixnum

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

Returns:

  • (Fixnum)


26176
26177
26178
# File 'generated/google/apis/compute_alpha/classes.rb', line 26176

def min_ports_per_vm
  @min_ports_per_vm
end

#nameString

Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035. Corresponds to the JSON property name

Returns:

  • (String)


26182
26183
26184
# File 'generated/google/apis/compute_alpha/classes.rb', line 26182

def name
  @name
end

#nat_ip_allocate_optionString

Specify the NatIpAllocateOption. If it is AUTO_ONLY, then nat_ip should be empty. Corresponds to the JSON property natIpAllocateOption

Returns:

  • (String)


26188
26189
26190
# File 'generated/google/apis/compute_alpha/classes.rb', line 26188

def nat_ip_allocate_option
  @nat_ip_allocate_option
end

#nat_ipsArray<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

Returns:

  • (Array<String>)


26195
26196
26197
# File 'generated/google/apis/compute_alpha/classes.rb', line 26195

def nat_ips
  @nat_ips
end

#source_subnetwork_ip_ranges_to_natString

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

Returns:

  • (String)


26202
26203
26204
# File 'generated/google/apis/compute_alpha/classes.rb', line 26202

def source_subnetwork_ip_ranges_to_nat
  @source_subnetwork_ip_ranges_to_nat
end

#subnetworksArray<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



26209
26210
26211
# File 'generated/google/apis/compute_alpha/classes.rb', line 26209

def subnetworks
  @subnetworks
end

#tcp_established_idle_timeout_secFixnum

Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set. Corresponds to the JSON property tcpEstablishedIdleTimeoutSec

Returns:

  • (Fixnum)


26215
26216
26217
# File 'generated/google/apis/compute_alpha/classes.rb', line 26215

def tcp_established_idle_timeout_sec
  @tcp_established_idle_timeout_sec
end

#tcp_transitory_idle_timeout_secFixnum

Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set. Corresponds to the JSON property tcpTransitoryIdleTimeoutSec

Returns:

  • (Fixnum)


26221
26222
26223
# File 'generated/google/apis/compute_alpha/classes.rb', line 26221

def tcp_transitory_idle_timeout_sec
  @tcp_transitory_idle_timeout_sec
end

#udp_idle_timeout_secFixnum

Timeout (in seconds) for UDP connections. Defaults to 30s if not set. Corresponds to the JSON property udpIdleTimeoutSec

Returns:

  • (Fixnum)


26226
26227
26228
# File 'generated/google/apis/compute_alpha/classes.rb', line 26226

def udp_idle_timeout_sec
  @udp_idle_timeout_sec
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



26233
26234
26235
26236
26237
26238
26239
26240
26241
26242
26243
26244
26245
26246
# File 'generated/google/apis/compute_alpha/classes.rb', line 26233

def update!(**args)
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
  @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