class PuppetPSSH::PuppetDB
Public Class Methods
new(host = 'puppet', port = '8080', use_ssl = false)
click to toggle source
# File lib/puppet-pssh.rb, line 16 def initialize(host = 'puppet', port = '8080', use_ssl = false) @host = host @port = port @use_ssl = use_ssl end
Public Instance Methods
active_nodes()
click to toggle source
# File lib/puppet-pssh.rb, line 50 def active_nodes query = URI.encode '["=", ["node", "active"], true]' get_nodes_from_query query end
deactivated_nodes()
click to toggle source
# File lib/puppet-pssh.rb, line 45 def deactivated_nodes query = URI.encode '["=", ["node", "active"], false]' get_nodes_from_query query end
get_nodes_from_query(query)
click to toggle source
# File lib/puppet-pssh.rb, line 26 def get_nodes_from_query(query) target_url = "#{url}nodes?query=#{query}" Log.debug "Puppet master host: #{@host}" Log.debug "Puppet master url: #{target_url}" nodes = [] begin out = Excon.get target_url JSON.parse(out.body).each do |n| nodes << n end rescue TypeError => e raise Exception.new "Error retrieving node list from master host: #{@host}" rescue Excon::Errors::SocketError => e raise Exception.new "Could not connect to the puppet master host: #{@host}" end nodes end
url()
click to toggle source
# File lib/puppet-pssh.rb, line 22 def url "#{@use_ssl ? 'https' : 'http'}://#{@host}:#{@port}/" end