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/mongo/models/deploy_env/deploy_env_base"
|
||||||
require "db/validators/deploy_env/run_list"
|
require "db/validators/deploy_env/cloud_parameters"
|
||||||
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"
|
|
||||||
|
|
||||||
module Devops
|
module Devops
|
||||||
module Model
|
module Model
|
||||||
@ -25,12 +18,15 @@ module Devops
|
|||||||
:groups => {:type => Array, :empty => false},
|
:groups => {:type => Array, :empty => false},
|
||||||
:stack_template => {:type => String, :empty => false, :nil => true}
|
:stack_template => {:type => String, :empty => false, :nil => true}
|
||||||
|
|
||||||
|
=begin
|
||||||
set_validators ::Validators::DeployEnv::Flavor,
|
set_validators ::Validators::DeployEnv::Flavor,
|
||||||
::Validators::DeployEnv::Image,
|
::Validators::DeployEnv::Image,
|
||||||
::Validators::DeployEnv::SubnetNotEmpty,
|
::Validators::DeployEnv::SubnetNotEmpty,
|
||||||
::Validators::DeployEnv::SubnetBelongsToProvider,
|
::Validators::DeployEnv::SubnetBelongsToProvider,
|
||||||
::Validators::DeployEnv::Groups,
|
::Validators::DeployEnv::Groups,
|
||||||
::Validators::DeployEnv::StackTemplate
|
::Validators::DeployEnv::StackTemplate
|
||||||
|
=end
|
||||||
|
set_validators ::Validators::DeployEnv::CloudParameters
|
||||||
|
|
||||||
def initialize d={}
|
def initialize d={}
|
||||||
super(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