41 lines
1.1 KiB
Ruby
41 lines
1.1 KiB
Ruby
require "db/validators/deploy_env/flavor"
|
|
require "db/validators/deploy_env/image"
|
|
require "db/validators/deploy_env/subnet_not_empty"
|
|
require "db/validators/deploy_env/subnet_belongs_to_provider"
|
|
require "db/validators/deploy_env/groups"
|
|
require "db/validators/deploy_env/stack_template"
|
|
|
|
module Validators
|
|
class DeployEnv::CloudParameters < Base
|
|
|
|
def valid?
|
|
is_stack = !@model.stack_template.nil?
|
|
is_server_params = !@model.flavor.nil? or !@model.image.nil? or !@model.subnets.nil? or !@model.groups.nil?
|
|
if !is_server_params and !is_stack
|
|
@msg = "You should define 'stack_template' or all instance parameters (image, flavor, subnets, groups)"
|
|
return false
|
|
end
|
|
if is_stack
|
|
StackTemplate.new(@model).validate!
|
|
end
|
|
if is_server_params
|
|
Flavor.new(@model).validate!
|
|
Image.new(@model).validate!
|
|
SubnetNotEmpty.new(@model).validate!
|
|
SubnetBelongsToProvider.new(@model).validate!
|
|
Groups.new(@model).validate!
|
|
end
|
|
return true
|
|
rescue InvalidRecord => e
|
|
@msg = e.message
|
|
return false
|
|
end
|
|
|
|
def message
|
|
@msg
|
|
end
|
|
|
|
end
|
|
end
|
|
|