blob: 81ec1bf76759ba08251e7cd5f615ccbf83b95ec2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
require 'puppet/resource/type'
require 'puppet/indirector/code'
require 'puppet/indirector/resource_type'
class Puppet::Indirector::ResourceType::Parser < Puppet::Indirector::Code
desc "Return the data-form of a resource type."
def find(request)
krt = request.environment.known_resource_types
# This is a bit ugly.
[:hostclass, :definition, :node].each do |type|
if r = krt.send(type, request.key)
return r
end
end
nil
end
def search(request)
raise ArgumentError, "Only '*' is acceptable as a search request" unless request.key == "*"
krt = request.environment.known_resource_types
result = [krt.hostclasses.values, krt.definitions.values, krt.nodes.values].flatten
return nil if result.empty?
result
end
end
|