fluke/devops-service/app/api2/routes/stack.rb

61 lines
2.2 KiB
Ruby
Raw Normal View History

module Devops
2015-07-27 11:14:01 +03:00
module API2_0
module Routes
module StackRoutes
def self.registered(app)
2015-07-27 11:14:01 +03:00
app.get_with_headers '/stacks', :headers => [:accept] do
check_privileges("stack", "r")
2015-07-30 15:37:43 +03:00
json Devops::API2_0::Handler::Stack.new(request).stacks.map(&:to_hash)
2015-07-27 11:14:01 +03:00
end
2015-07-27 11:14:01 +03:00
app.get_with_headers '/stacks/provider/:provider', :headers => [:accept] do |provider|
check_privileges("stack", "r")
check_provider(provider)
2015-07-30 15:37:43 +03:00
json Devops::API2_0::Handler::Stack.new(request).stacks_for_provider(provider).map(&:to_hash)
2015-07-27 11:14:01 +03:00
end
2015-07-27 11:14:01 +03:00
app.post_with_headers "/stack", :headers => [:accept] do
check_privileges("stack", "w")
2015-07-30 15:37:43 +03:00
m = Devops::API2_0::Handler::Stack.new(request).create_stack object
2015-07-27 11:14:01 +03:00
create_response "Created", m.to_hash, 201
end
hash = {}
2015-07-27 11:14:01 +03:00
hash['GET'] = lambda { |stack_id|
check_privileges("stack", "r")
2015-07-30 15:37:43 +03:00
json Devops::API2_0::Handler::Stack.new(request).stack(stack_id).to_hash
2015-07-27 11:14:01 +03:00
}
2015-07-27 11:14:01 +03:00
hash['DELETE'] = lambda { |stack_id|
check_privileges("stack", "w")
2015-07-30 15:37:43 +03:00
Devops::API2_0::Handler::Stack.new(request).delete_stack(stack_id)
2015-07-27 11:14:01 +03:00
create_response("Stack '#{stack_id}' has been removed")
}
app.multi_routes '/stack/:stack_id', {:headers => [:accept]}, hash
app.post_with_headers "/stack/:stack_id/sync_details", :headers => [:accept] do |stack_id|
check_privileges("stack", "w")
2015-07-30 15:37:43 +03:00
json Devops::API2_0::Handler::Stack.new(request).sync_details(stack_id).to_hash
end
app.get_with_headers "/stack/:stack_id/resources", :headers => [:accept] do |stack_id|
check_privileges("stack", "r")
2015-07-30 15:37:43 +03:00
json Devops::API2_0::Handler::Stack.new(request).resources(stack_id)
end
app.get_with_headers "/stack/:stack_id/resources/:resource_id", :headers => [:accept] do |stack_id, resource_id|
check_privileges("stack", "r")
2015-07-30 15:37:43 +03:00
json Devops::API2_0::Handler::Stack.new(request).resource(stack_id, resource_id)
end
puts "Stack routes initialized"
end
end
end
end
2015-07-27 11:14:01 +03:00
end