class Orchestrator_api::Error

Public Class Methods

make_error_from_response(res) click to toggle source
# File lib/orchestrator_api/error.rb, line 11
def self.make_error_from_response(res)
  begin
    data = JSON.parse(res.body)
  rescue
    return EndpointError.new("An unspecified error has occurred with the Orchestrator API")
  end
  code = res.code

  case data['kind']
  when 'puppetlabs.validators/validation-error'
    ValidationError.new(data, code)
  when 'puppetlabs.orchestrator/unknown-job'
    UnknownJob.new(data, code)
  when 'puppetlabs.orchestrator/unknown-environment'
    UnknownEnvironment.new(data, code)
  when 'puppetlabs.orchestrator/empty-environment'
    EmptyEnvironment.new(data, code)
  when 'puppetlabs.orchestrator/empty-target'
    EmptyTarget.new(data, code)
  when 'puppetlabs.orchestrator/dependency-cycle'
    DependencyCycle.new(data, code)
  when 'puppetlabs.orchestrator/puppetdb-error'
    PuppetdbError.new(data, code)
  when 'puppetlabs.orchestrator/query-error'
    QueryError.new(data, code)
  when 'puppetlabs.orchestrator/unknown-error'
    UnknownError.new(data, code)
  when 'puppetlabs.orchestrator/not-permitted'
    UnauthorizedError.new(data, code)
  else
    EndpointError.new("An unspecified error has occurred with the Orchestrator API")
  end
end
new(data,code) click to toggle source
Calls superclass method
# File lib/orchestrator_api/error.rb, line 4
def initialize(data,code)
  @code = code
  @kind = data['kind']
  @details = data['details']
  super(data['msg'])
end