class Rbeapi::Api::OspfInterfaces
The OspfInterfaces
class is a global class that provides an instance for working with the node's OSPF interface configuration.
Public Instance Methods
Returns a single MLAG interface configuration.
Example
{ network_type: <string> }
@param name [String] The interface name to return the configuration
values for. This must be the full interface identifier.
@return [nil, Hash<String, String>] A Ruby hash that represents the
MLAG interface configuration. A nil object is returned if the specified interface is not configured
# File lib/rbeapi/api/ospf.rb, line 388 def get(name) config = get_block("interface #{name}") return nil unless config unless /no switchport$/ =~ config || /^interface (Lo|Vl)/ =~ config return nil end response = {} nettype = /ip ospf network point-to-point/ =~ config response[:network_type] = nettype.nil? ? 'broadcast' : 'point-to-point' response end
Returns the collection of MLAG interfaces as a hash index by the interface name.
Example
{ <name>: { network_type: <string> }, <name>: { network_type: <string> }, ... }
@return [nil, Hash<String, String>] A Ruby hash that represents the
MLAG interface configuration. A nil object is returned if no interfaces are configured.
# File lib/rbeapi/api/ospf.rb, line 419 def getall interfaces = config.scan(/(?<=interface\s)[Et|Po|Lo|Vl].+/) interfaces.each_with_object({}) do |intf, hsh| values = get(intf) hsh[intf] = values if values end end
set_network_type
sets network type with options.
@param name [String] The name of the interface.
@param opts [hash] Optional keyword arguments.
@option opts value [String] The point-to-point value.
@option opts enable [Boolean] If false then the command is
negated. Default is true.
@option opts default [Boolean] Configure the ip ospf network
to default.
@return [Boolean] Returns true if the command completed successfully.
# File lib/rbeapi/api/ospf.rb, line 443 def set_network_type(name, opts = {}) value = opts[:value] return false unless [nil, 'point-to-point'].include?(value) cmd = command_builder('ip ospf network', opts) configure_interface(name, cmd) end