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



18462
18463
18464
# File 'generated/google/apis/compute_alpha/classes.rb', line 18462

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


18427
18428
18429
# File 'generated/google/apis/compute_alpha/classes.rb', line 18427

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)


18433
18434
18435
# File 'generated/google/apis/compute_alpha/classes.rb', line 18433

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)


18439
18440
18441
# File 'generated/google/apis/compute_alpha/classes.rb', line 18439

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


18446
18447
18448
# File 'generated/google/apis/compute_alpha/classes.rb', line 18446

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)


18453
18454
18455
# File 'generated/google/apis/compute_alpha/classes.rb', line 18453

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



18460
18461
18462
# File 'generated/google/apis/compute_alpha/classes.rb', line 18460

def subnetworks
  @subnetworks
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



18467
18468
18469
18470
18471
18472
18473
18474
# File 'generated/google/apis/compute_alpha/classes.rb', line 18467

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