Module: PuppetX::Eos::EapiProviderMixin

Defined in:
lib/puppet_x/eos/provider.rb

Overview

EapiProviderMixin module

Instance Method Summary collapse

Instance Method Details

#nodeNode

Instance of Rbeapi::Client::Node used to sending and receiving eAPI messages. In addition, the node object provides access to Ruby Client for eAPI API modules used to configure EOS resources.

Returns:

  • (Node)

    An instance of Rbeapi::Client::Node used to send and receive eAPI messages



60
61
62
63
64
65
# File 'lib/puppet_x/eos/provider.rb', line 60

def node
  return @node if @node
  Rbeapi::Client.load_config(ENV['RBEAPI_CONF']) if ENV['RBEAPI_CONF']
  connection_name = ENV['RBEAPI_CONNECTION'] || 'localhost'
  @node = Rbeapi::Client.connect_to(connection_name)
end

#prefetch(resources) ⇒ Object



43
44
45
46
47
48
49
50
51
# File 'lib/puppet_x/eos/provider.rb', line 43

def prefetch(resources)
  provider_hash = instances.each_with_object({}) do |provider, hsh|
    hsh[provider.name] = provider
  end

  resources.each_pair do |name, resource|
    resource.provider = provider_hash[name] if provider_hash[name]
  end
end