fluke/devops-service/db/mongo/models/deploy_env.rb

26 lines
666 B
Ruby
Raw Normal View History

2014-05-08 15:34:26 +04:00
require "db/exceptions/invalid_record"
2014-06-24 13:40:52 +04:00
require "db/mongo/models/deploy_env_static"
require "db/mongo/models/deploy_env_openstack"
require "db/mongo/models/deploy_env_ec2"
require "providers/static"
require "providers/openstack"
require "providers/ec2"
2014-05-08 15:34:26 +04:00
2014-06-24 13:40:52 +04:00
class DeployEnv
2014-05-08 15:34:26 +04:00
def self.create hash
2014-06-24 13:40:52 +04:00
c = case(hash["provider"])
when ::Provider::Static::PROVIDER
DeployEnvStatic
when ::Provider::Ec2::PROVIDER
DeployEnvEc2
when ::Provider::Openstack::PROVIDER
DeployEnvOpenstack
else
raise InvalidRecord.new "Invalid provider '#{hash["provider"]}' for deploy envirenment '#{hash["identifier"]}'"
end
c.new(hash)
2014-05-08 15:34:26 +04:00
end
end