class StackMaster::Validator
Public Class Methods
new(stack_definition, config, options)
click to toggle source
# File lib/stack_master/validator.rb, line 7 def initialize(stack_definition, config, options) @stack_definition = stack_definition @config = config @options = options end
valid?(stack_definition, config, options)
click to toggle source
# File lib/stack_master/validator.rb, line 3 def self.valid?(stack_definition, config, options) new(stack_definition, config, options).perform end
Public Instance Methods
perform()
click to toggle source
# File lib/stack_master/validator.rb, line 13 def perform StackMaster.stdout.print "#{@stack_definition.stack_name}: " if validate_template_parameters? && parameter_validator.missing_parameters? StackMaster.stdout.puts "invalid\n#{parameter_validator.error_message}" return false end cf.validate_template(template_body: TemplateUtils.maybe_compressed_template_body(stack.template_body)) StackMaster.stdout.puts "valid" true rescue Aws::CloudFormation::Errors::ValidationError => e StackMaster.stdout.puts "invalid. #{e.message}" false end
Private Instance Methods
cf()
click to toggle source
# File lib/stack_master/validator.rb, line 33 def cf @cf ||= StackMaster.cloud_formation_driver end
parameter_validator()
click to toggle source
# File lib/stack_master/validator.rb, line 45 def parameter_validator @parameter_validator ||= ParameterValidator.new(stack: stack, stack_definition: @stack_definition) end
stack()
click to toggle source
# File lib/stack_master/validator.rb, line 37 def stack @stack ||= if validate_template_parameters? Stack.generate(@stack_definition, @config) else Stack.generate_without_parameters(@stack_definition, @config) end end
validate_template_parameters?()
click to toggle source
# File lib/stack_master/validator.rb, line 29 def validate_template_parameters? @options.validate_template_parameters end