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



21329
21330
21331
# File 'generated/google/apis/compute_alpha/classes.rb', line 21329

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

Instance Attribute Details

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

Returns:

  • (Array<String>)


21294
21295
21296
# File 'generated/google/apis/compute_alpha/classes.rb', line 21294

def auto_allocated_nat_ips
  @auto_allocated_nat_ips
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)


21300
21301
21302
# File 'generated/google/apis/compute_alpha/classes.rb', line 21300

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)


21306
21307
21308
# File 'generated/google/apis/compute_alpha/classes.rb', line 21306

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>)


21313
21314
21315
# File 'generated/google/apis/compute_alpha/classes.rb', line 21313

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)


21320
21321
21322
# File 'generated/google/apis/compute_alpha/classes.rb', line 21320

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



21327
21328
21329
# File 'generated/google/apis/compute_alpha/classes.rb', line 21327

def subnetworks
  @subnetworks
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



21334
21335
21336
21337
21338
21339
21340
21341
# File 'generated/google/apis/compute_alpha/classes.rb', line 21334

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