class TrainPlugins::PuppetDBInterface::Connection
Public Class Methods
new(options)
click to toggle source
Calls superclass method
# File lib/train-puppetdb/connection.rb, line 9 def initialize(options) if options.nil? || options[:server].nil? raise Train::TransportError, "You must set a PuppetDB server." end super(options) @tmp_dir = Dir.mktmpdir # Check if target is reachable begin @client = PuppetDB::Client.new({ :server => options[:server], :pem => { 'key' => sanitize_cert("key", options[:key]), 'cert' => sanitize_cert("cert", options[:cert]), 'ca_file' => sanitize_cert("ca", options[:cacert]), } }) @client.request('nodes', [:'~', 'certname', '.*'], {:limit => 1}) rescue => e raise Train::TransportError, e.response end end
Public Instance Methods
local?()
click to toggle source
# File lib/train-puppetdb/connection.rb, line 35 def local? false end
puppetdb_client()
click to toggle source
# File lib/train-puppetdb/connection.rb, line 43 def puppetdb_client @client end
uri()
click to toggle source
# File lib/train-puppetdb/connection.rb, line 39 def uri 'puppetdb://' end
Private Instance Methods
sanitize_cert(filename, cert)
click to toggle source
# File lib/train-puppetdb/connection.rb, line 49 def sanitize_cert(filename, cert) if cert.start_with?("-----") File.write("#{@tmp_dir}/#{filename}", cert) return "#{@tmp_dir}/#{filename}" else return cert end end