class Morpheus::ReportsInterface

Public Instance Methods

create(payload) click to toggle source
# File lib/morpheus/api/reports_interface.rb, line 18
def create(payload)
  url = "#{@base_url}/api/reports"
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
  execute(method: :post, url: url, headers: headers, payload: payload.to_json)
end
destroy(id, params={}) click to toggle source

def update(id, payload)

url = "#{@base_url}/api/reports/#{id}"
headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
execute(method: :put, url: url, headers: headers, payload: payload.to_json)

end

# File lib/morpheus/api/reports_interface.rb, line 30
def destroy(id, params={})
  url = "#{@base_url}/api/reports/#{id}"
  headers = { :params => params, :authorization => "Bearer #{@access_token}"}
  execute(method: :delete, url: url, headers: headers)
end
export(id, outfile, params={}, report_format='json') click to toggle source
# File lib/morpheus/api/reports_interface.rb, line 42
def export(id, outfile, params={}, report_format='json')
  url = "#{@base_url}/api/reports/export/#{id}.#{report_format}"
  headers = { params: params, authorization: "Bearer #{@access_token}" }
  opts = {method: :get, url: url, headers: headers, timeout: 172800}
  # execute(opts, {parse_json: false})
  if Dir.exist?(outfile)
    raise "outfile is invalid. It is the name of an existing directory: #{outfile}"
  end
  # if @verify_ssl == false
  #   opts[:verify_ssl] = OpenSSL::SSL::VERIFY_NONE
  # end
  if @dry_run
    return opts
  end
  http_response = nil
  File.open(outfile, 'w') {|f|
    block = proc { |response|
      response.read_body do |chunk|
        # writing to #{outfile} ..."
        f.write chunk
      end
    }
    opts[:block_response] = block
    http_response = Morpheus::RestClient.execute(opts)
  }
  return http_response
end
get(id, params={}) click to toggle source
# File lib/morpheus/api/reports_interface.rb, line 5
def get(id, params={})
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
  url = "#{@base_url}/api/reports/#{id}"
  headers = { params: params, authorization: "Bearer #{@access_token}" }
  execute(method: :get, url: url, headers: headers)
end
list(params={}) click to toggle source
# File lib/morpheus/api/reports_interface.rb, line 12
def list(params={})
  url = "#{@base_url}/api/reports"
  headers = { params: params, authorization: "Bearer #{@access_token}" }
  execute(method: :get, url: url, headers: headers)
end
types(params={}) click to toggle source
# File lib/morpheus/api/reports_interface.rb, line 36
def types(params={})
  url = "#{@base_url}/api/report-types"
  headers = { params: params, authorization: "Bearer #{@access_token}" }
  execute(method: :get, url: url, headers: headers)
end