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

Version Path
ansible_tower_client-0.15.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.14.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.13.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.12.2 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.12.1 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.12.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.11.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.10.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.9.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.8.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.7.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.6.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.5.0 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.4.1 lib/ansible_tower_client/connection.rb
ansible_tower_client-0.4.0 lib/ansible_tower_client/connection.rb