# File lib/hammer_cli_csv/content_hosts.rb, line 69
      def export_sam(csv)
        guests_host = {}

        server = option_server || HammerCLI::Settings.get(:csv, :host)
        username = option_username || HammerCLI::Settings.get(:csv, :username)
        password = option_password || HammerCLI::Settings.get(:csv, :password)
        url = "#{server}/api/systems?organization_id=satellite-1"
        uri = URI(url)
        system_ids = Net::HTTP.start(uri.host, uri.port,
                                     :use_ssl => uri.scheme == 'https',
                                     :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http|
          request = Net::HTTP::Get.new uri.request_uri
          request.basic_auth(username, password)
          response = http.request(request)

          JSON.parse(response.body).collect do |system|
            system['guests'].each { |guest| guests_host[guest['uuid']] = system['name'] }
            system['uuid']
          end
        end

        #system_ids = ['327bf5cc-5498-4927-aa27-39b1503edf58', 'eeb6de95-afaf-4b14-9f92-e845ff269ccb']

        system_ids.each do |system_id|
          url = "#{server}/api/systems/#{system_id}"
          uri = URI(url)
          system = Net::HTTP.start(uri.host, uri.port,
                                  :use_ssl => uri.scheme == 'https',
                                  :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http|
            request = Net::HTTP::Get.new uri.request_uri
            request.basic_auth(username, password)
            response = http.request(request)

            JSON.parse(response.body)
          end

          url = "#{server}/api/systems/#{system_id}/subscriptions"
          uri = URI(url)
          system_subscriptions = Net::HTTP.start(uri.host, uri.port,
                                                 :use_ssl => uri.scheme == 'https',
                                                 :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http|
            request = Net::HTTP::Get.new uri.request_uri
            request.basic_auth(username, password)
            response = http.request(request)

            JSON.parse(response.body)['entitlements']
          end

          name = system['name']
          count = 1
          organization_name = system['owner']['displayName']
          environment = system['environment']['name']
          contentview = system['content_view']['name']
          hostcollections = nil
          virtual = system['facts']['virt.is_guest'] == 'true' ? 'Yes' : 'No'
          host = guests_host[system['uuid']]
          if system['facts']['distribution.name']
            operatingsystem = "#{system['facts']['distribution.name']} "
            operatingsystem += system['facts']['distribution.version'] if system['facts']['distribution.version']
            operatingsystem.strip!
          end
          architecture = system['facts']['uname.machine']
          sockets = system['facts']['cpu.cpu_socket(s)']
          ram = system['facts']['memory.memtotal']
          cores = system['facts']['cpu.core(s)_per_socket'] || 1
          sla = system['serviceLevel']

          products = CSV.generate do |column|
            column << system['installedProducts'].collect do |product|
              "#{product['productId']}|#{product['productName']}"
            end
          end
          products.delete!("\n")

          subscriptions = CSV.generate do |column|
            column << system_subscriptions.collect do |subscription|
              "#{subscription['quantity']}|#{subscription['productId']}|#{subscription['poolName']}"
            end
          end
          subscriptions.delete!("\n")

          csv << [name, count, organization_name, environment, contentview, hostcollections, virtual, host,
                  operatingsystem, architecture, sockets, ram, cores, sla, products, subscriptions]
        end
      end