fluke/devops-service/routes/v2.0/handlers/stack_template_preset.rb

44 lines
1.2 KiB
Ruby
Raw Normal View History

require 'json'
require 'lib/stack_template_presets/factory'
module Devops
module Version2_0
module Handler
class StackTemplatePreset
def self.get_presets
lambda {
# check_privileges("stack_template_presets", "r")
json Devops::StackTemplatePresetsFactory.list.map(&:to_hash)
}
end
def self.get_preset
lambda {
# check_privileges("stack_template_presets", "r")
json Devops::StackTemplatePresetsFactory.get(params['id']).to_hash
}
end
2015-06-22 11:59:31 +03:00
def self.build_stack_template
lambda {
# check_privileges("stack_template_presets", "r")
check_privileges('stack_template', 'w')
attrs = create_object_from_json_body
provider, stack_id, parameters = attrs.fetch('provider'), attrs.fetch('stack'), attrs.fetch('parameters')
preset = Devops::StackTemplatePresetsFactory.get(attrs.fetch('id'))
stack = preset.create_stack_from_preset(provider, stack_id, parameters)
create_response 'Created', stack.to_hash, 201
}
end
end
end
end
end