class Node::Rest

Public Instance Methods

find(request) click to toggle source
   # File lib/puppet/indirector/node/rest.rb
 8 def find(request)
 9   session = Puppet.lookup(:http_session)
10   api = session.route_to(:puppet)
11   _, node = api.get_node(
12     request.key,
13     environment: request.environment.to_s,
14     configured_environment: request.options[:configured_environment],
15     transaction_uuid: request.options[:transaction_uuid]
16   )
17   node
18 rescue Puppet::HTTP::ResponseError => e
19   if e.response.code == 404
20     return nil unless request.options[:fail_on_404]
21 
22     _, body = parse_response(e.response)
23     msg = _("Find %{uri} resulted in 404 with the message: %{body}") % { uri: elide(e.response.url.path, 100), body: body }
24     raise Puppet::Error, msg
25   else
26     raise convert_to_http_error(e.response)
27   end
28 end