Class: CloudFormationValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/cfn-model/validator/cloudformation_validator.rb

Instance Method Summary collapse

Instance Method Details

#validate(cloudformation_string) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/cfn-model/validator/cloudformation_validator.rb', line 8

def validate(cloudformation_string)
  if json_text?(cloudformation_string)
    raise ParserError.new('Invalid JSON!') unless valid_json?(cloudformation_string)
  end

  schema = SchemaGenerator.new.generate cloudformation_string
  validator = Kwalify::Validator.new(schema)
  validator.validate(YAML.load(cloudformation_string))
rescue ArgumentError, IOError, NameError => e
  raise ParserError, e.inspect
end