Module: Tfctl::Schema

Defined in:
lib/tfctl/schema.rb

Class Method Summary collapse

Class Method Details

.validate(data) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/tfctl/schema.rb', line 12

def validate(data)
    schemer = JSONSchemer.schema(main_schema)
    issues = []
    schemer.validate(data).each do |issue|
        issues << {
            details:      issue['details'],
            data_pointer: issue['data_pointer'],
        }
    end

    return if issues.empty?

    raise Tfctl::ValidationError.new('Config validation failed', issues)
end