Class: Google::Apis::ComputeAlpha::RouterNat
- Inherits:
- 
      Object
      
        - Object
- Google::Apis::ComputeAlpha::RouterNat
 
- 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
- 
  
    
      #auto_allocated_nat_ips  ⇒ Array<String> 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    [Output Only] A list of IPs allocated automatically by GCP for this Nat service. 
- 
  
    
      #name  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Unique name of this Nat service. 
- 
  
    
      #nat_ip_allocate_option  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Specify the NatIpAllocateOption. 
- 
  
    
      #nat_ips  ⇒ Array<String> 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    A list of URLs of the IP resources used for this Nat service. 
- 
  
    
      #source_subnetwork_ip_ranges_to_nat  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Specify the Nat option. 
- 
  
    
      #subnetworks  ⇒ Array<Google::Apis::ComputeAlpha::RouterNatSubnetworkToNat> 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    A list of Subnetwork resources whose traffic should be translated by NAT Gateway. 
Instance Method Summary collapse
- 
  
    
      #initialize(**args)  ⇒ RouterNat 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of RouterNat. 
- 
  
    
      #update!(**args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Update properties of this object. 
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
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_ips ⇒ Array<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
| 21294 21295 21296 | # File 'generated/google/apis/compute_alpha/classes.rb', line 21294 def auto_allocated_nat_ips @auto_allocated_nat_ips end | 
#name ⇒ String
Unique name of this Nat service. The name must be 1-63 characters long and
comply with RFC1035.
Corresponds to the JSON property name
| 21300 21301 21302 | # File 'generated/google/apis/compute_alpha/classes.rb', line 21300 def name @name end | 
#nat_ip_allocate_option ⇒ String
Specify the NatIpAllocateOption. If it is AUTO_ONLY, then nat_ip should be
empty.
Corresponds to the JSON property natIpAllocateOption
| 21306 21307 21308 | # File 'generated/google/apis/compute_alpha/classes.rb', line 21306 def nat_ip_allocate_option @nat_ip_allocate_option end | 
#nat_ips ⇒ Array<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
| 21313 21314 21315 | # File 'generated/google/apis/compute_alpha/classes.rb', line 21313 def nat_ips @nat_ips end | 
#source_subnetwork_ip_ranges_to_nat ⇒ String
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
| 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 | 
#subnetworks ⇒ Array<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 |