cloud params validator
This commit is contained in:
parent
66d3df5aa6
commit
e681b6dbfb
@ -1,12 +1,5 @@
|
||||
require "db/mongo/models/deploy_env/deploy_env_base"
|
||||
require "db/validators/deploy_env/run_list"
|
||||
require "db/validators/deploy_env/expiration"
|
||||
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"
|
||||
require "db/validators/deploy_env/cloud_parameters"
|
||||
|
||||
module Devops
|
||||
module Model
|
||||
@ -25,12 +18,15 @@ module Devops
|
||||
:groups => {:type => Array, :empty => false},
|
||||
:stack_template => {:type => String, :empty => false, :nil => true}
|
||||
|
||||
=begin
|
||||
set_validators ::Validators::DeployEnv::Flavor,
|
||||
::Validators::DeployEnv::Image,
|
||||
::Validators::DeployEnv::SubnetNotEmpty,
|
||||
::Validators::DeployEnv::SubnetBelongsToProvider,
|
||||
::Validators::DeployEnv::Groups,
|
||||
::Validators::DeployEnv::StackTemplate
|
||||
=end
|
||||
set_validators ::Validators::DeployEnv::CloudParameters
|
||||
|
||||
def initialize d={}
|
||||
super(d)
|
||||
|
||||
40
devops-service/db/validators/deploy_env/cloud_parameters.rb
Normal file
40
devops-service/db/validators/deploy_env/cloud_parameters.rb
Normal file
@ -0,0 +1,40 @@
|
||||
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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user