def validate_template template
begin
client_opts = {}
client_opts[:template] = template
apply_template(client_opts)
resp = client.validate_template(client_opts)
results = {}
[
:capabilities,
:capabilities_reason,
:description,
].each do |method|
if resp.respond_to?(method)
results[method] = resp.send(method)
end
end
if resp.respond_to?(:parameters)
results[:parameters] = resp.parameters.collect(&:to_hash)
end
results
rescue CloudFormation::Errors::ValidationError => e
results = {}
results[:code] = e.code
results[:message] = e.message
results
end
end