class Hieracles::Puppetdb::Request
Public Class Methods
new(options)
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 5 def initialize(options) @client = Hieracles::Puppetdb::Client.new options end
Public Instance Methods
events()
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 59 def events @client.request("events") end
factnames()
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 49 def factnames() @client.request("fact-names") end
facts(label, value)
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 34 def facts(label, value) resp = @client.request("facts/#{label}/#{value}") extract_names resp end
node_facts(fqdn, regex = //)
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 14 def node_facts(fqdn, regex = //) resp = @client.request("nodes/#{fqdn}/facts") filter = Filter.new regex resp.data = resp.data.reduce({}) do |a, d| if filter.match(d['name']) a[d['name'].to_sym] = d['value'] end a end resp end
Also aliased as: node_fact
node_info(fqdn)
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 9 def node_info(fqdn) @client.request("nodes/#{fqdn}") end
Also aliased as: node_infos
node_resources(fqdn, *args)
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 27 def node_resources(fqdn, *args) resp = @client.request("nodes/#{fqdn}/resources") field = args.shift make_hashed resp end
Also aliased as: node_res
resources(*args)
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 53 def resources(*args) query = Query.new args make_hashed @client.request("resources", query.elements) end
Also aliased as: res
same(name, fqdn)
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 39 def same(name, fqdn) r = @client.request("nodes/#{fqdn}/facts/#{name}") if r.data.length > 0 value = r.data[0]['value'] facts name, value else r end end
Private Instance Methods
extract_names(resp, label = 'certname')
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 65 def extract_names(resp, label = 'certname') resp.data = resp.data.reduce([]) do |a, d| a << d[label] a end.sort resp end
make_hashed(resp, label = 'title', filter = nil)
click to toggle source
# File lib/hieracles/puppetdb/request.rb, line 73 def make_hashed(resp, label = 'title', filter = nil) resp.data = resp.data.reduce({}) do |a, d| if !filter || Regexp.new(filter).match(d[label]) a[d[label]] = d end a end resp end