Sha256: 073562544ed4da4df1783583459a70a708c1905e5e097b63a8b3a55df4f93316

Contents?: true

Size: 652 Bytes

Versions: 8

Compression:

Stored size: 652 Bytes

Contents

require 'puppetdb'

class PuppetGhostbuster
  class PuppetDB
    def self.client
      @@client ||= ::PuppetDB::Client.new({
        :server => "#{ENV['PUPPETDB_URL'] || 'http://puppetdb:8080'}/pdb/query",
        :pem    => {
          'key'     => ENV['PUPPETDB_KEY_FILE'],
          'cert'    => ENV['PUPPETDB_CERT_FILE'],
          'ca_file' => ENV['PUPPETDB_CACERT_FILE'],
        }
      }, 4)
    end

    def client
      self.class.client
    end

    def self.classes
      @@classes ||= client.request('resources', [:'=', 'type', 'Class']).data.map { |r| r['title'] }.uniq
    end

    def classes
      self.class.classes
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
puppet-ghostbuster-0.8.0 lib/puppet-ghostbuster/puppetdb.rb
puppet-ghostbuster-0.7.3 lib/puppet-ghostbuster/puppetdb.rb
puppet-ghostbuster-0.7.2 lib/puppet-ghostbuster/puppetdb.rb
puppet-ghostbuster-0.7.1 lib/puppet-ghostbuster/puppetdb.rb
puppet-ghostbuster-0.7.0 lib/puppet-ghostbuster/puppetdb.rb
puppet-ghostbuster-0.6.0 lib/puppet-ghostbuster/puppetdb.rb
puppet-ghostbuster-0.5.1 lib/puppet-ghostbuster/puppetdb.rb
puppet-ghostbuster-0.5.0 lib/puppet-ghostbuster/puppetdb.rb