Sha256: dfc02c1f69331e1463789062bb0d2e7e3ff0a5d721c98a5156af81a8e00afcef

Contents?: true

Size: 986 Bytes

Versions: 3

Compression:

Stored size: 986 Bytes

Contents

require 'net/https'

module OpsManagerUiDrivers
  module Version15
    class Api
      def initialize(host: nil, user: nil, password: nil)
        @host = host
        @user = user
        @password = password
      end

      def export_installation
        tmpfile = Tempfile.new('installation.zip')
        http.request(get('installation_asset_collection')) do |response|
          response.read_body do |chunk|
            tmpfile.write(chunk)
          end
        end
        tmpfile.close
        tmpfile
      end

      private

      def http
        uri = URI(@host)
        Net::HTTP.new(uri.host, uri.port).tap do |http|
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE
          http.read_timeout = 900
        end
      end

      def get(endpoint)
        uri = URI("#{@host}/api/#{endpoint}")
        Net::HTTP::Get.new(uri.request_uri).tap do |get|
          get.basic_auth(@user, @password)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ops_manager_ui_drivers-0.15.0 lib/ops_manager_ui_drivers/version15/api_1_5.rb
ops_manager_ui_drivers-0.14.1 lib/ops_manager_ui_drivers/version15/api_1_5.rb
ops_manager_ui_drivers-0.14.0 lib/ops_manager_ui_drivers/version15/api_1_5.rb