class PuppetGhostbuster::PuppetDB

Public Class Methods

classes() click to toggle source
# File lib/puppet-ghostbuster/puppetdb.rb, line 20
def self.classes
  @@classes ||= client.request('', 'resources[title] { type = "Class" and nodes { deactivated is null } }').data.map { |r| r['title'] }.uniq
end
client() click to toggle source
# File lib/puppet-ghostbuster/puppetdb.rb, line 5
def self.client
  @@client ||= ::PuppetDB::Client.new({
    :server => "#{ENV['PUPPETDB_URL'] || 'http://puppetdb:8080'}",
    :pem    => {
      'key'     => ENV['PUPPETDB_KEY_FILE'],
      'cert'    => ENV['PUPPETDB_CERT_FILE'],
      'ca_file' => ENV['PUPPETDB_CACERT_FILE'],
    }
  }, 4)
end
resources() click to toggle source
# File lib/puppet-ghostbuster/puppetdb.rb, line 28
def self.resources
  @@resources ||= client.request('', 'resources[type] { nodes { deactivated is null } }').data.map { |r| r['type'] }.uniq
end

Public Instance Methods

classes() click to toggle source
# File lib/puppet-ghostbuster/puppetdb.rb, line 24
def classes
  self.class.classes
end
client() click to toggle source
# File lib/puppet-ghostbuster/puppetdb.rb, line 16
def client
  self.class.client
end
resources() click to toggle source
# File lib/puppet-ghostbuster/puppetdb.rb, line 32
def resources
  self.class.resources
end