35 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require_relative "request_parser"
 | |
| 
 | |
| module Devops
 | |
|   module API2_0
 | |
|     module Parser
 | |
|       class StackParser < RequestParser
 | |
| 
 | |
|         def create
 | |
|           @body ||= create_object_from_json_body
 | |
|           project_name = check_string(@body["project"], "Parameter 'project' must be a not empty string")
 | |
|           env_name = check_string(@body["deploy_env"], "Parameter 'deploy_env' must be a not empty string")
 | |
|           check_string(@body["name"], "Parameter 'name' must be a not empty string", true, false)
 | |
|           list = check_array(@body["run_list"], "Parameter 'run_list' is invalid, it should be not empty array of strings", String, true, true)
 | |
|           Validators::Helpers::RunList.new(list).validate! unless list.nil?
 | |
|           @body
 | |
|         end
 | |
| 
 | |
|         def run_list
 | |
|           list = check_array(create_object_from_json_body(Array), "Body must contains not empty array of strings")
 | |
|           Validators::Helpers::RunList.new(list).validate!
 | |
|           list
 | |
|         end
 | |
| 
 | |
|         def deploy
 | |
|           @body ||= create_object_from_json_body
 | |
|           names = check_array(@body["names"], "Parameter 'names' should be a not empty array of strings", String, true)
 | |
|           tags = check_array(@body["tags"], "Parameter 'tags' should be an array of strings", String, true)
 | |
|           @body
 | |
|         end
 | |
| 
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | 
