1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
module Fog
module Parsers
module AWS
module CloudFormation
class ValidateTemplate < Fog::Parsers::Base
def reset
@parameter = {}
@response = { 'Parameters' => [] }
end
def start_element(name, attrs = [])
super
case name
when 'Parameters'
@in_parameters = true
end
end
def end_element(name)
case name
when 'DefaultValue', 'ParameterKey'
@parameter[name] = value
when 'Description'
if @in_parameters
@parameter[name] = value
else
@response[name] = value
end
when 'RequestId'
@response[name] = value
when 'member'
@response['Parameters'] << @parameter
@parameter = {}
when 'NoEcho'
case value
when 'false'
@parameter[name] = false
when 'true'
@parameter[name] = true
end
when 'Parameters'
@in_parameters = false
end
end
end
end
end
end
end
|