#661: done
This commit is contained in:
parent
2305b1f837
commit
844c11ae3f
@ -210,14 +210,16 @@ module Devops
|
||||
end
|
||||
|
||||
def set_tags node_name
|
||||
tags = parser.tags
|
||||
prepare_tags do |id, provider|
|
||||
provider.set_tags id, parser.tags
|
||||
provider.set_tags id, tags
|
||||
end
|
||||
end
|
||||
|
||||
def unset_tags node_name
|
||||
tags = parser.tags
|
||||
prepare_tags do |id, provider|
|
||||
provider.unset_tags id, parser.tags
|
||||
provider.unset_tags id, tags
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -72,6 +72,30 @@ module Devops
|
||||
Devops::Db.connector.set_stack_run_list(id, parser.run_list)
|
||||
end
|
||||
|
||||
def set_tags id
|
||||
tags = parser.tags
|
||||
prepare_tags do |id, provider|
|
||||
provider.set_tags id, tags
|
||||
end
|
||||
end
|
||||
|
||||
def unset_tags id
|
||||
tags = parser.tags
|
||||
prepare_tags do |id, provider|
|
||||
provider.unset_tags id, tags
|
||||
end
|
||||
end
|
||||
|
||||
def prepare_tags node_name
|
||||
stack = Devops::Db.connector.stack(id)
|
||||
Devops::Db.connector.check_project_auth stack.project, stack.deploy_env, parser.current_user
|
||||
stack_servers = Devops::Db.connector.stack_servers(id)
|
||||
provider = stack.provider_instance
|
||||
stack_servers.each do |s|
|
||||
yield s.id, provider
|
||||
end
|
||||
end
|
||||
|
||||
def deploy id
|
||||
stack = self.stack(id)
|
||||
owner = parser.current_user
|
||||
|
||||
@ -21,6 +21,16 @@ module Devops
|
||||
list
|
||||
end
|
||||
|
||||
def tags
|
||||
@body ||= create_object_from_json_body
|
||||
raise InvalidRecord.new("Request body should be an object") unless @body.is_a?(Hash)
|
||||
@body.each do |k, v|
|
||||
raise InvalidRecord.new("Invalid key '#{k}', it should be a String") unless k.is_a?(String)
|
||||
raise InvalidRecord.new("Invalid value '#{v}' for key '#{k}', it should be a String") unless v.is_a?(String)
|
||||
end
|
||||
@body
|
||||
end
|
||||
|
||||
def deploy
|
||||
@body ||= create_object_from_json_body
|
||||
names = check_array(@body["names"], "Parameter 'names' should be a not empty array of strings", String, true)
|
||||
|
||||
@ -305,7 +305,7 @@ module Devops
|
||||
end
|
||||
|
||||
hash = {}
|
||||
# Add devops server tags
|
||||
# Add instance tags
|
||||
#
|
||||
# * *Request*
|
||||
# - method : PUT
|
||||
@ -325,7 +325,7 @@ module Devops
|
||||
create_response("Added")
|
||||
}
|
||||
|
||||
# Delete devops server tags
|
||||
# Delete instance tags
|
||||
#
|
||||
# * *Request*
|
||||
# - method : DELETE
|
||||
|
||||
@ -111,6 +111,46 @@ module Devops
|
||||
end
|
||||
end
|
||||
|
||||
hash = {}
|
||||
# Add tags to stack instances
|
||||
#
|
||||
# * *Request*
|
||||
# - method : PUT
|
||||
# - headers :
|
||||
# - Content-Type: application/json
|
||||
# - body :
|
||||
# {
|
||||
# "tag name": "tag value"
|
||||
# }
|
||||
#
|
||||
# * *Returns* :
|
||||
# 200 - Added
|
||||
hash["PUT"] = lambda {|id|
|
||||
check_privileges("stack", "w")
|
||||
Devops::API2_0::Handler::Stack.new(request).set_tags(id)
|
||||
create_response("Added")
|
||||
}
|
||||
|
||||
# Delete tags from stack instances
|
||||
#
|
||||
# * *Request*
|
||||
# - method : DELETE
|
||||
# - headers :
|
||||
# - Content-Type: application/json
|
||||
# - body :
|
||||
# {
|
||||
# "tag name": "tag value"
|
||||
# }
|
||||
#
|
||||
# * *Returns* :
|
||||
# 200 - Deleted
|
||||
hash["DELETE"] = lambda {|id|
|
||||
check_privileges("stack", "w")
|
||||
Devops::API2_0::Handler::Stack.new(request).unset_tags(id)
|
||||
create_response("Deleted")
|
||||
}
|
||||
app.multi_routes "/stack/:id/tags", {:headers => [:content_type]}, hash
|
||||
|
||||
puts "Stack routes initialized"
|
||||
end
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user