Sha256: 899717d222bd62b03bc5f795b24864406ba01f16b0750aa57f76424d68ae25ea
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
require 'uri' require 'net/http' require 'json' module Helpers class PuppetDB def initialize(host, port) @puppetdb_host = host @puppetdb_port = port end 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 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
puppetdb_rundeck-1.0.0 | lib/helpers/puppetdb.rb |