68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# File 'lib/cloud_former/template.rb', line 68
def dump_json
res = { 'AWSTemplateFormatVersion' => '2010-09-09' }
if @parameters.any?
parameter_res = {}
@parameters.each do |param|
parameter_res[param.get_name] = param.dump_json
end
res['Parameters'] = parameter_res
end
if @conditions.any?
condition_res = {}
@conditions.each do |condition|
condition_res[condition.get_name] = condition.dump_json
end
res['Conditions'] = condition_res
end
if @mappings.any?
res['Mappings'] = @mappings
end
if @resources.any?
resource_res = {}
@resources.each do |resource|
resource.resource_tree.flatten.each do |r|
resource_res[r.get_name] = r.dump_json
end
end
res['Resources'] = resource_res
end
if @outputs.any?
output_res = {}
@outputs.each do |output|
if output[:value].is_a?(Resource) || output[:value].is_a?(Parameter)
output_res[output[:key]] = { 'Value' => { 'Ref' => output[:value].get_name } }
elsif output[:value].is_a?(Function)
output_res[output[:key]] = { 'Value' => output[:value].dump_json }
else
output_res[output[:key]] = { 'Value' => output[:value] }
end
end
res['Outputs'] = output_res
end
res
end
|