Class: Google::Apis::ComputeV1::RouterInterface

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ RouterInterface

Returns a new instance of RouterInterface.



46125
46126
46127
# File 'lib/google/apis/compute_v1/classes.rb', line 46125

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

Instance Attribute Details

#ip_rangeString

IP address and range of the interface.

  • For Internet Protocol version 4 (IPv4), the IP range must be in theRFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example, 169.254.0.1/30. Note: Do not truncate the IP address, as it represents the IP address of the interface.
  • For Internet Protocol version 6 (IPv6), the value must be a unique local address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This value should be a CIDR-formatted string, for example, fdff:1::1/112. Within the router's VPC, this IPv6 prefix will be reserved exclusively for this connection and cannot be used for any other purpose. Corresponds to the JSON property ipRange

Returns:

  • (String)


46047
46048
46049
# File 'lib/google/apis/compute_v1/classes.rb', line 46047

def ip_range
  @ip_range
end

#ip_versionString

IP version of this interface. Corresponds to the JSON property ipVersion

Returns:

  • (String)


46052
46053
46054
# File 'lib/google/apis/compute_v1/classes.rb', line 46052

def ip_version
  @ip_version
end

#linked_interconnect_attachmentString

URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork. Corresponds to the JSON property linkedInterconnectAttachment

Returns:

  • (String)


46059
46060
46061
# File 'lib/google/apis/compute_v1/classes.rb', line 46059

def linked_interconnect_attachment
  @linked_interconnect_attachment
end

#linked_vpn_tunnelString

URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork. Corresponds to the JSON property linkedVpnTunnel

Returns:

  • (String)


46066
46067
46068
# File 'lib/google/apis/compute_v1/classes.rb', line 46066

def linked_vpn_tunnel
  @linked_vpn_tunnel
end

#management_typeString

Output only. [Output Only] The resource that configures and manages this interface.

  • MANAGED_BY_USER is the default value and can be managed directly by users.
  • MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted. Corresponds to the JSON property managementType

Returns:

  • (String)


46080
46081
46082
# File 'lib/google/apis/compute_v1/classes.rb', line 46080

def management_type
  @management_type
end

#nameString

Name of this interface entry. The name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Corresponds to the JSON property name

Returns:

  • (String)


46091
46092
46093
# File 'lib/google/apis/compute_v1/classes.rb', line 46091

def name
  @name
end

#private_ip_addressString

The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM. Corresponds to the JSON property privateIpAddress

Returns:

  • (String)


46099
46100
46101
# File 'lib/google/apis/compute_v1/classes.rb', line 46099

def private_ip_address
  @private_ip_address
end

#redundant_interfaceString

Name of the interface that will be redundant with the current interface you are creating. The redundantInterface must belong to the same Cloud Router as the interface here. To establish the BGP session to a Router Appliance VM, you must create two BGP peers. The two BGP peers must be attached to two separate interfaces that are redundant with each other. The redundant_interface must be 1-63 characters long, and comply withRFC1035. Specifically, the redundant_interface must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Corresponds to the JSON property redundantInterface

Returns:

  • (String)


46114
46115
46116
# File 'lib/google/apis/compute_v1/classes.rb', line 46114

def redundant_interface
  @redundant_interface
end

#subnetworkString

The URI of the subnetwork resource that this interface belongs to, which must be in the same region as the Cloud Router. When you establish a BGP session to a VM instance using this interface, the VM instance must belong to the same subnetwork as the subnetwork specified here. Corresponds to the JSON property subnetwork

Returns:

  • (String)


46123
46124
46125
# File 'lib/google/apis/compute_v1/classes.rb', line 46123

def subnetwork
  @subnetwork
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



46130
46131
46132
46133
46134
46135
46136
46137
46138
46139
46140
# File 'lib/google/apis/compute_v1/classes.rb', line 46130

def update!(**args)
  @ip_range = args[:ip_range] if args.key?(:ip_range)
  @ip_version = args[:ip_version] if args.key?(:ip_version)
  @linked_interconnect_attachment = args[:linked_interconnect_attachment] if args.key?(:linked_interconnect_attachment)
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
  @management_type = args[:management_type] if args.key?(:management_type)
  @name = args[:name] if args.key?(:name)
  @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
  @redundant_interface = args[:redundant_interface] if args.key?(:redundant_interface)
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
end