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



21419
21420
21421
# File 'generated/google/apis/compute_alpha/classes.rb', line 21419

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


21384
21385
21386
# File 'generated/google/apis/compute_alpha/classes.rb', line 21384

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)


21390
21391
21392
# File 'generated/google/apis/compute_alpha/classes.rb', line 21390

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)


21396
21397
21398
# File 'generated/google/apis/compute_alpha/classes.rb', line 21396

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


21403
21404
21405
# File 'generated/google/apis/compute_alpha/classes.rb', line 21403

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)


21410
21411
21412
# File 'generated/google/apis/compute_alpha/classes.rb', line 21410

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



21417
21418
21419
# File 'generated/google/apis/compute_alpha/classes.rb', line 21417

def subnetworks
  @subnetworks
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



21424
21425
21426
21427
21428
21429
21430
21431
# File 'generated/google/apis/compute_alpha/classes.rb', line 21424

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