2015-04-16 17:54:40 +03:00
|
|
|
require 'db/mongo/models/stack/stack_factory'
|
2015-07-30 15:37:43 +03:00
|
|
|
require "app/api2/parsers/stack"
|
2015-07-27 11:14:01 +03:00
|
|
|
require_relative "request_handler"
|
2015-04-16 17:54:40 +03:00
|
|
|
|
|
|
|
|
module Devops
|
2015-07-27 11:14:01 +03:00
|
|
|
module API2_0
|
2015-04-16 17:54:40 +03:00
|
|
|
module Handler
|
2015-07-27 11:14:01 +03:00
|
|
|
class Stack < RequestHandler
|
2015-04-16 17:54:40 +03:00
|
|
|
|
2015-07-30 15:37:43 +03:00
|
|
|
set_parser Devops::API2_0::Parser::StackParser
|
|
|
|
|
|
2015-07-27 11:14:01 +03:00
|
|
|
def stacks
|
|
|
|
|
Devops::Db.connector.stacks
|
2015-04-16 17:54:40 +03:00
|
|
|
end
|
|
|
|
|
|
2015-07-27 16:42:28 +03:00
|
|
|
def stacks_for_provider provider
|
|
|
|
|
Devops::Db.connector.stacks(provider)
|
2015-04-16 17:54:40 +03:00
|
|
|
end
|
|
|
|
|
|
2015-07-30 15:37:43 +03:00
|
|
|
def create_stack
|
|
|
|
|
object = parser.create
|
2015-07-27 11:14:01 +03:00
|
|
|
stack_model = Model::StackFactory.create(object['provider'], object)
|
|
|
|
|
Devops::Db.connector.stack_insert(stack_model)
|
|
|
|
|
stack_model
|
2015-04-16 17:54:40 +03:00
|
|
|
end
|
|
|
|
|
|
2015-07-27 11:14:01 +03:00
|
|
|
def stack id
|
|
|
|
|
Devops::Db.connector.stack(id)
|
2015-04-16 17:54:40 +03:00
|
|
|
end
|
|
|
|
|
|
2015-07-27 11:14:01 +03:00
|
|
|
def delete_stack id
|
|
|
|
|
stack = self.stack(id)
|
|
|
|
|
stack.delete_stack_in_cloud!
|
|
|
|
|
Devops::Db.connector.stack_delete(id)
|
2015-04-16 17:54:40 +03:00
|
|
|
end
|
|
|
|
|
|
2015-07-27 16:42:28 +03:00
|
|
|
def sync_details id
|
|
|
|
|
stack = self.stack(id)
|
|
|
|
|
stack.sync_details!
|
|
|
|
|
Devops::Db.connector.stack_update(stack)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def resources id
|
|
|
|
|
stack = Devops::Db.connector.stack(id)
|
|
|
|
|
stack.resources
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def resources id, resource_id
|
|
|
|
|
stack = Devops::Db.connector.stack(id)
|
|
|
|
|
stack.resource(resource_id)
|
|
|
|
|
end
|
2015-04-16 17:54:40 +03:00
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
2015-07-27 11:14:01 +03:00
|
|
|
end
|