Sha256: ec045cacef4dfb6df58d2066914cb5fbb078c0cf5722bf663f1bad9bd09f5582
Contents?: true
Size: 1.09 KB
Versions: 15
Compression:
Stored size: 1.09 KB
Contents
module AnsibleTowerClient class Connection attr_reader :connection def initialize(options = nil) raise "Credentials are required" unless options[:username] && options[:password] raise ":base_url is required" unless options[:base_url] verify_ssl = options[:verify_ssl] || OpenSSL::SSL::VERIFY_PEER verify_ssl = verify_ssl == OpenSSL::SSL::VERIFY_NONE ? false : true require 'faraday' require 'faraday_middleware' require 'ansible_tower_client/middleware/raise_tower_error' Faraday::Response.register_middleware :raise_tower_error => -> { Middleware::RaiseTowerError } @connection = Faraday.new(options[:base_url], :ssl => {:verify => verify_ssl}) do |f| f.use(FaradayMiddleware::EncodeJson) f.use(FaradayMiddleware::FollowRedirects, :limit => 3, :standards_compliant => true) f.request(:url_encoded) f.response(:raise_tower_error) f.adapter(Faraday.default_adapter) f.basic_auth(options[:username], options[:password]) end end def api @api ||= Api.new(connection) end end end
Version data entries
15 entries across 15 versions & 1 rubygems