2015-06-17 22:37:08 +03:00
|
|
|
module Devops
|
2015-07-27 11:14:01 +03:00
|
|
|
module API2_0
|
2015-06-17 22:37:08 +03:00
|
|
|
module Routes
|
2015-07-08 13:43:31 +03:00
|
|
|
module StackTemplatePresetRoutes
|
2015-06-17 22:37:08 +03:00
|
|
|
|
|
|
|
|
def self.registered(app)
|
|
|
|
|
# Get list of available stack_template_presets
|
|
|
|
|
#
|
|
|
|
|
# * *Request*
|
|
|
|
|
# - method : GET
|
|
|
|
|
# - headers :
|
|
|
|
|
# - Accept: application/json
|
|
|
|
|
#
|
|
|
|
|
# * *Returns* : array of hashes
|
|
|
|
|
# [ {id: 'preset id', template_preset_body: 'long body'} ]
|
|
|
|
|
#
|
2015-07-27 11:14:01 +03:00
|
|
|
app.get_with_headers "/stack_template_presets", :headers => [:accept] do
|
|
|
|
|
# check_privileges("stack_template_presets", "r")
|
|
|
|
|
json Devops::API2_0::Handler::StackTemplatePreset.new(request, params).templates.map(&:to_hash)
|
|
|
|
|
end
|
2015-06-17 22:37:08 +03:00
|
|
|
|
|
|
|
|
# Get information about stack_template_preset
|
|
|
|
|
#
|
|
|
|
|
# * *Request*
|
|
|
|
|
# - method : GET
|
|
|
|
|
# - headers :
|
|
|
|
|
# - Accept: application/json
|
|
|
|
|
#
|
2015-07-08 15:56:24 +03:00
|
|
|
# * *Returns* : hash
|
|
|
|
|
# {id: 'preset id', template_preset_body: 'long body'}
|
2015-06-17 22:37:08 +03:00
|
|
|
#
|
2015-07-27 11:14:01 +03:00
|
|
|
app.get_with_headers "/stack_template_presets/:id", :headers => [:accept] do |id|
|
|
|
|
|
# check_privileges("stack_template_presets", "r")
|
|
|
|
|
json Devops::API2_0::Handler::StackTemplatePreset.new(request, params).template(id).to_hash
|
|
|
|
|
end
|
2015-06-18 17:53:03 +03:00
|
|
|
|
|
|
|
|
# Build stack template from preset
|
|
|
|
|
#
|
|
|
|
|
# * *Request*
|
|
|
|
|
# - method : POST
|
|
|
|
|
# - headers :
|
|
|
|
|
# - Accept: application/json
|
|
|
|
|
# - params :
|
|
|
|
|
# - provider: string
|
|
|
|
|
# - stack_template_id: id of stack template to create
|
|
|
|
|
# - template_attrs: hash with template attributes
|
|
|
|
|
#
|
2015-07-08 15:56:24 +03:00
|
|
|
# TODO: not stack template, but stack itself
|
|
|
|
|
#
|
2015-06-18 17:53:03 +03:00
|
|
|
# * *Returns* : created stack template model
|
|
|
|
|
# {
|
|
|
|
|
# id: 'template id',
|
|
|
|
|
# provider: 'provider',
|
|
|
|
|
# template_body: 'long body'
|
|
|
|
|
# }
|
|
|
|
|
#
|
2015-07-27 11:14:01 +03:00
|
|
|
app.post_with_headers "/stack_template_presets/:id/build_stack_template", :headers => [:accept] do |id|
|
|
|
|
|
# check_privileges("stack_template_presets", "r")
|
|
|
|
|
check_privileges('stack_template', 'w')
|
|
|
|
|
body = create_object_from_json_body
|
|
|
|
|
stack = Devops::API2_0::Handler::StackTemplatePreset.new(request, params).build_stack_template(id, body)
|
|
|
|
|
create_response 'Created', stack.to_hash, 201
|
|
|
|
|
end
|
2015-06-18 17:53:03 +03:00
|
|
|
|
2015-06-17 22:37:08 +03:00
|
|
|
puts "Stack template presets routes initialized"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|