#661: done
This commit is contained in:
parent
2305b1f837
commit
844c11ae3f
@ -210,14 +210,16 @@ module Devops
|
|||||||
end
|
end
|
||||||
|
|
||||||
def set_tags node_name
|
def set_tags node_name
|
||||||
|
tags = parser.tags
|
||||||
prepare_tags do |id, provider|
|
prepare_tags do |id, provider|
|
||||||
provider.set_tags id, parser.tags
|
provider.set_tags id, tags
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def unset_tags node_name
|
def unset_tags node_name
|
||||||
|
tags = parser.tags
|
||||||
prepare_tags do |id, provider|
|
prepare_tags do |id, provider|
|
||||||
provider.unset_tags id, parser.tags
|
provider.unset_tags id, tags
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -72,6 +72,30 @@ module Devops
|
|||||||
Devops::Db.connector.set_stack_run_list(id, parser.run_list)
|
Devops::Db.connector.set_stack_run_list(id, parser.run_list)
|
||||||
end
|
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
|
def deploy id
|
||||||
stack = self.stack(id)
|
stack = self.stack(id)
|
||||||
owner = parser.current_user
|
owner = parser.current_user
|
||||||
|
|||||||
@ -21,6 +21,16 @@ module Devops
|
|||||||
list
|
list
|
||||||
end
|
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
|
def deploy
|
||||||
@body ||= create_object_from_json_body
|
@body ||= create_object_from_json_body
|
||||||
names = check_array(@body["names"], "Parameter 'names' should be a not empty array of strings", String, true)
|
names = check_array(@body["names"], "Parameter 'names' should be a not empty array of strings", String, true)
|
||||||
|
|||||||
@ -305,7 +305,7 @@ module Devops
|
|||||||
end
|
end
|
||||||
|
|
||||||
hash = {}
|
hash = {}
|
||||||
# Add devops server tags
|
# Add instance tags
|
||||||
#
|
#
|
||||||
# * *Request*
|
# * *Request*
|
||||||
# - method : PUT
|
# - method : PUT
|
||||||
@ -325,7 +325,7 @@ module Devops
|
|||||||
create_response("Added")
|
create_response("Added")
|
||||||
}
|
}
|
||||||
|
|
||||||
# Delete devops server tags
|
# Delete instance tags
|
||||||
#
|
#
|
||||||
# * *Request*
|
# * *Request*
|
||||||
# - method : DELETE
|
# - method : DELETE
|
||||||
|
|||||||
@ -111,6 +111,46 @@ module Devops
|
|||||||
end
|
end
|
||||||
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"
|
puts "Stack routes initialized"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user