Project

General

Profile

Download (1.22 KB) Statistics
| Branch: | Tag: | Revision:
class SmartProxy
post "/puppet/run" do
hosts = params[:nodes]
begin
log_halt 400, "Failed puppet run: No nodes defined" unless hosts
log_halt 500, "Failed puppet run: Check Log files" unless Proxy::Puppet.run hosts
rescue => e
log_halt 500, "Failed puppet run: #{e}"
end
end

get "/puppet/environments" do
content_type :json
begin
Proxy::Puppet::Environment.all.to_json
rescue => e
log_halt 406, "Failed to list puppet environments: #{e}"
end
end

get "/puppet/environments/:environment" do
content_type :json
begin
env = Proxy::Puppet::Environment.find(params[:environment])
log_halt 404, "Not found" unless env
{:name => env.name, :paths => env.paths}.to_json
rescue => e
log_halt 406, "Failed to show puppet environment: #{e}"
end
end

get "/puppet/environments/:environment/classes" do
content_type :json
begin
env = Proxy::Puppet::Environment.find(params[:environment])
log_halt 404, "Not found" unless env
env.classes.map{|k| {k.to_s => { :name => k.name, :module => k.module, :params => k.params} } }.to_json
rescue => e
log_halt 406, "Failed to show puppet classes: #{e}"
end
end

end
(8-8/11)