Class: Puppet::Provider::SearchDomain::CiscoNexus

Inherits:
ResourceApi::SimpleProvider
  • Object
show all
Defined in:
lib/puppet/provider/search_domain/cisco_nexus.rb

Overview

Implementation for the search_domain type using the Resource API.

Instance Method Summary collapse

Instance Method Details

#canonicalize(_context, resources) ⇒ Object



18
19
20
# File 'lib/puppet/provider/search_domain/cisco_nexus.rb', line 18

def canonicalize(_context, resources)
  resources
end

#create(context, name, should) ⇒ Object



48
49
50
51
# File 'lib/puppet/provider/search_domain/cisco_nexus.rb', line 48

def create(context, name, should)
  context.notice("Creating '#{name}' with #{should.inspect}")
  Cisco::DomainName.new(name)
end

#delete(context, name) ⇒ Object



53
54
55
56
57
# File 'lib/puppet/provider/search_domain/cisco_nexus.rb', line 53

def delete(context, name)
  context.notice("Destroying '#{name}'")
  @domainnames = Cisco::DomainName.domainnames
  @domainnames[name].destroy
end

#get(_context, domains = nil) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/puppet/provider/search_domain/cisco_nexus.rb', line 22

def get(_context, domains=nil)
  require 'cisco_node_utils'
  current_states = []
  if domains.nil? || domains.empty?
    @domainnames = Cisco::DomainName.domainnames
    @domainnames.each do |name, instance|
      current_states << get_current_state(name, instance)
    end
  else
    domains.each do |domain|
      @domainnames = Cisco::DomainName.domainnames
      domainname = @domainnames[domain]
      next if domainname.nil?
      current_states << get_current_state(domain, domainname)
    end
  end
  current_states
end

#get_current_state(name, _instance) ⇒ Object



41
42
43
44
45
46
# File 'lib/puppet/provider/search_domain/cisco_nexus.rb', line 41

def get_current_state(name, _instance)
  {
    name:   name,
    ensure: 'present',
  }
end