class Helpers::PuppetDB
Public Class Methods
new(host, port)
click to toggle source
# File lib/helpers/puppetdb.rb, line 8 def initialize(host, port) @puppetdb_host = host @puppetdb_port = port end
Public Instance Methods
get_facts(node=nil)
click to toggle source
# File lib/helpers/puppetdb.rb, line 29 def get_facts(node=nil) if node fact_endpoint = "http://#{@puppetdb_host}:#{@puppetdb_port}/v3/nodes/#{node}/facts" else fact_endpoint = "http://#{@puppetdb_host}:#{@puppetdb_port}/v3/facts" end uri = URI.parse(fact_endpoint) request = Net::HTTP::Get.new(uri.path) request.add_field('Accept', 'application/json') http_client = Net::HTTP.new(uri.host, uri.port) begin response = http_client.request(request) response['Content-Type'] = 'application/json' if response.code == '200' facts = JSON.parse(response.body) else facts = [] end return facts rescue Timeout::Error end end
get_nodes()
click to toggle source
# File lib/helpers/puppetdb.rb, line 13 def get_nodes uri = URI.parse( "http://#{@puppetdb_host}:#{@puppetdb_port}/v3/nodes" ) request = Net::HTTP::Get.new(uri.path) request.add_field('Accept', 'application/json') http_client = Net::HTTP.new(uri.host, uri.port) response = http_client.request(request) response['Content-Type'] = 'application/yaml' if response.code == '200' nodes = JSON.parse(response.body) else nodes = [] end return nodes end