cloudformation-ruby-dsl 0.4.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
@@ -89,6 +89,11 @@ template do
|
|
89
89
|
mapping 'TableExampleMap',
|
90
90
|
text.get_map({ :column0 => 'foo' }, :column1, :column2, :column3)
|
91
91
|
|
92
|
+
# Shows how to create a table useful for looking up subnets that correspond to a particular env/region for eg. vpc placement.
|
93
|
+
vpc = Table.load 'maps/vpc.txt'
|
94
|
+
mapping 'TableExampleMultimap',
|
95
|
+
vpc.get_multimap({ :visibility => 'private', :zone => ['a', 'c'] }, :env, :region, :subnet)
|
96
|
+
|
92
97
|
# The tag type is a Ruby CFN extension. These tags are excised from the template and used to generate a series of --tag arguments
|
93
98
|
# which are passed to cfn-cmd. They do not ultimately appear in the expanded Cloudformation template. The diff subcommand will
|
94
99
|
# compare tags with the running stack and identify any changes, but cfn-update-stack will do the diff and throw an error on any
|
@@ -0,0 +1,25 @@
|
|
1
|
+
env region zone visibility subnet
|
2
|
+
qa us-east-1 a public subnet-aaaa
|
3
|
+
qa us-east-1 a private subnet-bbbb
|
4
|
+
qa us-east-1 b public subnet-cccc
|
5
|
+
qa us-east-1 b private subnet-dddd
|
6
|
+
qa us-east-1 c public subnet-eeee
|
7
|
+
qa us-east-1 c private subnet-ffff
|
8
|
+
qa eu-west-1 a public subnet-gggg
|
9
|
+
qa eu-west-1 a private subnet-hhhh
|
10
|
+
qa eu-west-1 b public subnet-iiii
|
11
|
+
qa eu-west-1 b private subnet-jjjj
|
12
|
+
qa eu-west-1 c public subnet-kkkk
|
13
|
+
qa eu-west-1 c private subnet-llll
|
14
|
+
prod us-east-1 a public subnet-mmmm
|
15
|
+
prod us-east-1 a private subnet-nnnn
|
16
|
+
prod us-east-1 b public subnet-oooo
|
17
|
+
prod us-east-1 b private subnet-pppp
|
18
|
+
prod us-east-1 c public subnet-qqqq
|
19
|
+
prod us-east-1 c private subnet-rrrr
|
20
|
+
prod eu-west-1 a public subnet-ssss
|
21
|
+
prod eu-west-1 a private subnet-tttt
|
22
|
+
prod eu-west-1 b public subnet-uuuu
|
23
|
+
prod eu-west-1 b private subnet-vvvv
|
24
|
+
prod eu-west-1 c public subnet-wwww
|
25
|
+
prod eu-west-1 c private subnet-xxxx
|
@@ -57,8 +57,15 @@ class Table
|
|
57
57
|
private
|
58
58
|
|
59
59
|
# Return the subset of records that match the predicate for all keys in the predicate.
|
60
|
+
# The predicate is expected to be a map of key/value or key/[value,...] pairs.
|
60
61
|
def filter(predicate)
|
61
|
-
|
62
|
+
def matches(predicate_value, record_value)
|
63
|
+
if predicate_value.is_a?(Array); predicate_value.include?(record_value)
|
64
|
+
else; predicate_value == record_value
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
@records.select { |record| predicate.all? { |key, value| matches(value, record[key]) } }
|
62
69
|
end
|
63
70
|
|
64
71
|
def build_nested_map(records, path, multi)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudformation-ruby-dsl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2014-07-
|
19
|
+
date: 2014-07-17 00:00:00.000000000 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: detabulator
|
@@ -126,6 +126,7 @@ files:
|
|
126
126
|
- examples/maps/more_maps/map2.json
|
127
127
|
- examples/maps/more_maps/map3.json
|
128
128
|
- examples/maps/table.txt
|
129
|
+
- examples/maps/vpc.txt
|
129
130
|
- examples/userdata.sh
|
130
131
|
- initial_contributions.md
|
131
132
|
- lib/cloudformation-ruby-dsl.rb
|