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
|