Class: Rbeapi::Api::StpInstances

Inherits:
Entity
  • Object
show all
Defined in:
lib/rbeapi/api/stp.rb

Overview

The StpInstances class provides a class instance for working with spanning-tree instances in EOS

Constant Summary collapse

DEFAULT_STP_PRIORITY =
'32768'

Instance Attribute Summary

Attributes inherited from Entity

#config, #error, #node

Instance Method Summary collapse

Methods inherited from Entity

#configure, #get_block, #initialize, instance

Constructor Details

This class inherits a constructor from Rbeapi::Api::Entity

Instance Method Details

#delete(inst) ⇒ Boolean

Deletes a configured MST instance

Parameters:

  • inst (String)

    The MST instance to delete

Returns:

  • (Boolean)

    True if the commands succeed otherwise False


233
234
235
236
# File 'lib/rbeapi/api/stp.rb', line 233

def delete(inst)
  configure ['spanning-tree mst configuration', "no instance #{inst}",
             'exit']
end

#get(inst) ⇒ nil, Hash<Symbol, Object] returns the stp instance config as a resource hash. If the instances is not configured this method will return a nil object

get returns the specified stp intstance config parsed from the nodes current running configuration.

Examples:

{
  priority: <string>
}

Returns:

  • (nil, Hash<Symbol, Object] returns the stp instance config as a resource hash. If the instances is not configured this method will return a nil object)

    nil, Hash<Symbol, Object] returns the stp instance config as a resource hash. If the instances is not configured this method will return a nil object


165
166
167
168
169
170
# File 'lib/rbeapi/api/stp.rb', line 165

def get(inst)
  return nil unless parse_instances.include?(inst.to_s)
  response = {}
  response.merge!(parse_priority(inst))
  response
end

#getallHash<Symbol, Object>

getall returns all configured stp instances parsed from the nodes running configuration. The return hash is keyed by the instance identifier value

Examples:

{
  <inst>: {...}
}

Returns:

  • (Hash<Symbol, Object>)

    returns all configured stp instances found in the nodes running configuration

See Also:


186
187
188
189
190
191
# File 'lib/rbeapi/api/stp.rb', line 186

def getall
  parse_instances.each_with_object({}) do |inst, hsh|
    values = get(inst)
    hsh[inst] = values if values
  end
end

#set_priority(inst, opts = {}) ⇒ Boolean

Configures the spanning-tree MST priority

Parameters:

  • inst (String)

    The MST instance to configure

  • opts (Hash) (defaults to: {})

    The configuration parameters for the priority

Options Hash (opts):

  • :value (string)

    The value to set the priority to

  • :default (Boolean)

    The value should be set to default

Returns:

  • (Boolean)

    True if the commands succeed otherwise False


247
248
249
250
251
252
253
254
255
256
257
258
259
# File 'lib/rbeapi/api/stp.rb', line 247

def set_priority(inst, opts = {})
  value = opts[:value]
  default = opts[:default] || false

  case default
  when true
    cmd = "default spanning-tree mst #{inst} priority"
  when false
    cmd = (value ? "spanning-tree mst #{inst} priority #{value}" : \
                   "no spanning-tree mst #{inst} priority")
  end
  configure cmd
end