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
 | |
| 
 | 
