72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# File 'lib/jerakia/cli.rb', line 72
def lookup(key)
case true
when options[:verbose]
loglevel = "verbose"
logfile = STDOUT
when options[:debug]
loglevel = "debug"
logfile = STDOUT
else
logfile = nil
loglevel = options[:log_level]
end
begin
jac = Jerakia.new({
:config => options[:config],
:logfile => logfile,
:loglevel => loglevel,
:trace => options[:trace],
})
req = Jerakia::Request.new(
:key => key,
:namespace => options[:namespace].split(/::/),
:policy => options[:policy].to_sym,
:lookup_type => options[:type].to_sym,
:merge => options[:merge_type].to_sym,
:metadata => options[:metadata] || {},
:scope => options[:scope].to_sym,
:scope_options => options[:scope_options],
:use_schema => options[:schema],
)
answer = jac.lookup(req)
case options[:output]
when 'json'
puts answer.payload.to_json
when 'yaml'
puts answer.payload.to_yaml
end
rescue Jerakia::Error => e
STDERR.puts "Error(#{e.class}): #{e.message}"
STDERR.puts e.backtrace.join("\n") if options[:trace]
exit 1
end
end
|