Class: StackMaster::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/stack_master/validator.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(stack_definition, config) ⇒ Validator

Returns a new instance of Validator.



7
8
9
10
# File 'lib/stack_master/validator.rb', line 7

def initialize(stack_definition, config)
  @stack_definition = stack_definition
  @config = config
end

Class Method Details

.valid?(stack_definition, config) ⇒ Boolean

Returns:

  • (Boolean)


3
4
5
# File 'lib/stack_master/validator.rb', line 3

def self.valid?(stack_definition, config)
  new(stack_definition, config).perform
end

Instance Method Details

#performObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/stack_master/validator.rb', line 12

def perform
  StackMaster.stdout.print "#{@stack_definition.stack_name}: "
  template_body = TemplateCompiler.compile(@config, @stack_definition.template_file_path, @stack_definition.compiler_options)
  cf.validate_template(template_body: TemplateUtils.maybe_compressed_template_body(template_body))
  StackMaster.stdout.puts "valid"
  true
rescue Aws::CloudFormation::Errors::ValidationError => e
  StackMaster.stdout.puts "invalid. #{e.message}"
  false
end