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



18289
18290
18291
# File 'generated/google/apis/compute_alpha/classes.rb', line 18289

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

Instance Attribute Details

#auto_allocated_nat_ipsArray<String>

[Output Only] 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>)


18254
18255
18256
# File 'generated/google/apis/compute_alpha/classes.rb', line 18254

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)


18260
18261
18262
# File 'generated/google/apis/compute_alpha/classes.rb', line 18260

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)


18266
18267
18268
# File 'generated/google/apis/compute_alpha/classes.rb', line 18266

def nat_ip_allocate_option
  @nat_ip_allocate_option
end

#nat_ipsArray<String>

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


18273
18274
18275
# File 'generated/google/apis/compute_alpha/classes.rb', line 18273

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)


18280
18281
18282
# File 'generated/google/apis/compute_alpha/classes.rb', line 18280

def source_subnetwork_ip_ranges_to_nat
  @source_subnetwork_ip_ranges_to_nat
end

#subnetworksArray<Google::Apis::ComputeAlpha::RouterNatSubnetworkToNat>

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



18287
18288
18289
# File 'generated/google/apis/compute_alpha/classes.rb', line 18287

def subnetworks
  @subnetworks
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



18294
18295
18296
18297
18298
18299
18300
18301
# File 'generated/google/apis/compute_alpha/classes.rb', line 18294

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