Class: PuppetGhostbuster::PuppetDB

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet-ghostbuster/puppetdb.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.classesObject



30
31
32
33
34
35
# File 'lib/puppet-ghostbuster/puppetdb.rb', line 30

def self.classes
  @@classes ||= client.request('',
                               'resources[title] { type = "Class" and nodes { deactivated is null } }').data.map do |r|
    r['title']
  end.uniq
end

.clientObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/puppet-ghostbuster/puppetdb.rb', line 15

def self.client
  @@client ||= ::PuppetDB::Client.new({
                                        server: ENV['PUPPETDB_URL'] || @@puppetdb,
                                        pem: {
                                          'key' => ENV['PUPPETDB_KEY_FILE'] || Puppet[:hostprivkey],
                                          'cert' => ENV['PUPPETDB_CERT_FILE'] || Puppet[:hostcert],
                                          'ca_file' => ENV['PUPPETDB_CACERT_FILE'] || Puppet[:localcacert],
                                        },
                                      }, 4)
end

.resourcesObject



41
42
43
44
45
# File 'lib/puppet-ghostbuster/puppetdb.rb', line 41

def self.resources
  @@resources ||= client.request('', 'resources[type] { nodes { deactivated is null } }').data.map do |r|
    r['type']
  end.uniq
end

Instance Method Details

#classesObject



37
38
39
# File 'lib/puppet-ghostbuster/puppetdb.rb', line 37

def classes
  self.class.classes
end

#clientObject



26
27
28
# File 'lib/puppet-ghostbuster/puppetdb.rb', line 26

def client
  self.class.client
end

#resourcesObject



47
48
49
# File 'lib/puppet-ghostbuster/puppetdb.rb', line 47

def resources
  self.class.resources
end