cloud_former 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cloud_former/template.rb +15 -1
- data/lib/cloud_former/version.rb +1 -1
- data/spec/output_spec.rb +29 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d408999d0a1f6006fb6b712b2d97303200f1b04e
|
4
|
+
data.tar.gz: 4314d3bc196854be11d68f6482156038c17b38b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11f9ad101ef463bb127b4e119a266b87c6d09848f7246d5dfb696b24ef86e7ef34984df2bb9887b6e5bd8b444e2800239c9ad70b7cf98e8aad5ceb51edf34fd4
|
7
|
+
data.tar.gz: 883b1c471a76a1004da38b63f5e59638c78e85b8af2dd2bcdc0df40dc8570d788abf76737a01c641cf212d8fb385598aa1b6d82a23bfc4c3237f191a033eea3b
|
@@ -4,7 +4,6 @@ module CloudFormer
|
|
4
4
|
def initialize
|
5
5
|
@resources = []
|
6
6
|
@parameters = []
|
7
|
-
@mappings = []
|
8
7
|
@outputs = []
|
9
8
|
end
|
10
9
|
|
@@ -16,6 +15,10 @@ module CloudFormer
|
|
16
15
|
@resources << resource
|
17
16
|
end
|
18
17
|
|
18
|
+
def add_output(key, value)
|
19
|
+
@outputs << [key, value]
|
20
|
+
end
|
21
|
+
|
19
22
|
def dump_json
|
20
23
|
res = { 'AWSTemplateFormatVersion' => '2010-09-09' }
|
21
24
|
|
@@ -35,6 +38,17 @@ module CloudFormer
|
|
35
38
|
res['Resources'] = resource_res
|
36
39
|
end
|
37
40
|
|
41
|
+
if @outputs.any?
|
42
|
+
output_res = {}
|
43
|
+
@outputs.each do |output|
|
44
|
+
if (output[1].is_a?(Resource) || output[1].is_a?(Parameter))
|
45
|
+
output_res[output[0]] = { 'Value' => { 'Ref' => output[1].name } }
|
46
|
+
else
|
47
|
+
output_res[output[0]] = { 'Value' => output[1] }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
res['Outputs'] = output_res
|
51
|
+
end
|
38
52
|
|
39
53
|
res
|
40
54
|
end
|
data/lib/cloud_former/version.rb
CHANGED
data/spec/output_spec.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Outputs' do
|
4
|
+
|
5
|
+
let(:template) { CloudFormer::Template.new }
|
6
|
+
|
7
|
+
describe 'with a literal output' do
|
8
|
+
before do
|
9
|
+
template.add_output('Hack', 12356)
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should produce awesome json' do
|
13
|
+
expect(template.dump_json['Outputs']).to eq({ "Hack" => { "Value" => 12356 } })
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe 'with a parameter output' do
|
18
|
+
|
19
|
+
let(:param) { CloudFormer::StringParameter.new('ack') }
|
20
|
+
|
21
|
+
before do
|
22
|
+
template.add_output('Hack', param)
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should work with a ref' do
|
26
|
+
expect(template.dump_json['Outputs']).to eq({ "Hack" => { "Value" => { 'Ref' => 'ack' } } })
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloud_former
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aubrey Holland
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- lib/cloud_former/template.rb
|
178
178
|
- lib/cloud_former/version.rb
|
179
179
|
- spec/metadata_spec.rb
|
180
|
+
- spec/output_spec.rb
|
180
181
|
- spec/parameter_spec.rb
|
181
182
|
- spec/resources/auto_scaling/auto_scaling_group_spec.rb
|
182
183
|
- spec/resources/auto_scaling/launch_configuration_spec.rb
|
@@ -212,6 +213,7 @@ specification_version: 4
|
|
212
213
|
summary: A Ruby DSL for creating CloudFormation templates
|
213
214
|
test_files:
|
214
215
|
- spec/metadata_spec.rb
|
216
|
+
- spec/output_spec.rb
|
215
217
|
- spec/parameter_spec.rb
|
216
218
|
- spec/resources/auto_scaling/auto_scaling_group_spec.rb
|
217
219
|
- spec/resources/auto_scaling/launch_configuration_spec.rb
|