class Node::Rest

Public Instance Methods

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