fluke/devops-service/app/api2/handlers/stack.rb

56 lines
1.3 KiB
Ruby
Raw Normal View History

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"
module Devops
2015-07-27 11:14:01 +03:00
module API2_0
module Handler
2015-07-27 11:14:01 +03:00
class Stack < RequestHandler
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
end
def stacks_for_provider provider
Devops::Db.connector.stacks(provider)
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
end
2015-07-27 11:14:01 +03:00
def stack id
Devops::Db.connector.stack(id)
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)
end
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
end
end
end
2015-07-27 11:14:01 +03:00
end