Sha256: d0750679fb41b4e49e031886a709983b2d4baa1682913aa8a4b08a27ac3ee7e4

Contents?: true

Size: 933 Bytes

Versions: 3

Compression:

Stored size: 933 Bytes

Contents

require 'net/https'

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

      def export_installation
        response = http.request(get('installation_asset_collection'))

        Tempfile.new('installation.zip').tap do |tempfile|
          tempfile.write(response.body)
          tempfile.close
        end
      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 = 1800
        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.16.0 lib/ops_manager_ui_drivers/version13/api_1_3.rb
ops_manager_ui_drivers-0.15.2 lib/ops_manager_ui_drivers/version13/api_1_3.rb
ops_manager_ui_drivers-0.15.1 lib/ops_manager_ui_drivers/version13/api_1_3.rb