rubycfn 0.1.9 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -2
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/rubycfn/version.rb +1 -1
- data/lib/rubycfn.rb +42 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f48f2fd5a84ad9092cc5d23f7ecc427b1054a078
|
4
|
+
data.tar.gz: 6d2a01e823d195c9434071e64124dd633a43a17b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17bcc704984776c553bfa46f3b35466ba0126a5360f2f8fac3d33e2e42bc159162edc29bd6f7ce461deb435596a064d7eedda475593e1f1ca9d281e356dba1fd
|
7
|
+
data.tar.gz: f2d94563b2729e527f4e53123af2bb501f4fdc98e79f7cf3ed36cbe261a75dd53c7ba0cf6d946472d426dd6e29b1252a6d10b4722f2cf9bd6f9ecec31af3510b
|
data/CHANGELOG.md
CHANGED
@@ -2,10 +2,13 @@
|
|
2
2
|
All notable changes to Rubycfn will be documented in this file.
|
3
3
|
This project uses [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
-
## 0.1.
|
5
|
+
## 0.1.11 (Next Release)
|
6
|
+
|
7
|
+
## 0.1.10
|
8
|
+
* Added conditions section support, condition in resources, and added several missing intrinsic functions. -- [@dennisvink][@dennisvink]
|
6
9
|
|
7
10
|
## 0.1.9
|
8
|
-
* Merged feature/cicd into release :')
|
11
|
+
* Merged feature/cicd into release :') -- [@dennisvink][@dennisvink]
|
9
12
|
|
10
13
|
## 0.1.8
|
11
14
|
* `Export` in outputs now takes both strings and hashes -- [@dennisvink][@dennisvink]
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
data/lib/rubycfn/version.rb
CHANGED
data/lib/rubycfn.rb
CHANGED
@@ -12,6 +12,7 @@ require "rubycfn/version"
|
|
12
12
|
@parameters = {}
|
13
13
|
@properties = {}
|
14
14
|
@mappings = {}
|
15
|
+
@conditions = {}
|
15
16
|
@resources = {}
|
16
17
|
@resource_name = ""
|
17
18
|
@variables = {}
|
@@ -70,6 +71,36 @@ class Array
|
|
70
71
|
end
|
71
72
|
alias_method :cidr, :fncidr
|
72
73
|
|
74
|
+
def fnequals
|
75
|
+
{
|
76
|
+
"Fn::Equals": self
|
77
|
+
}
|
78
|
+
end
|
79
|
+
|
80
|
+
def fnand
|
81
|
+
{
|
82
|
+
"Fn::And": self
|
83
|
+
}
|
84
|
+
end
|
85
|
+
|
86
|
+
def fnif
|
87
|
+
{
|
88
|
+
"Fn::If": self
|
89
|
+
}
|
90
|
+
end
|
91
|
+
|
92
|
+
def fnnot
|
93
|
+
{
|
94
|
+
"Fn::Not": self
|
95
|
+
}
|
96
|
+
end
|
97
|
+
|
98
|
+
def fnor
|
99
|
+
{
|
100
|
+
"Fn::Or": self
|
101
|
+
}
|
102
|
+
end
|
103
|
+
|
73
104
|
def fnfindinmap(name = nil)
|
74
105
|
self.unshift(name.cfnize) if name
|
75
106
|
{
|
@@ -147,6 +178,14 @@ module Rubycfn
|
|
147
178
|
end
|
148
179
|
end
|
149
180
|
|
181
|
+
def self.condition(name, arguments)
|
182
|
+
name = name.to_s.cfnize
|
183
|
+
res = {
|
184
|
+
"#{name}": arguments
|
185
|
+
}
|
186
|
+
TOPLEVEL_BINDING.eval("@conditions = @conditions.deep_merge(#{res})")
|
187
|
+
end
|
188
|
+
|
150
189
|
def self.mapping(name, arguments = {})
|
151
190
|
raise "`name` is required for mapping." unless arguments[:name]
|
152
191
|
unless arguments[:data]
|
@@ -280,7 +319,8 @@ module Rubycfn
|
|
280
319
|
"#{name.to_s}#{i == 0 ? "" : resource_postpend}": {
|
281
320
|
DependsOn: TOPLEVEL_BINDING.eval("@depends_on"),
|
282
321
|
Properties: TOPLEVEL_BINDING.eval("@properties"),
|
283
|
-
Type: arguments[:type]
|
322
|
+
Type: arguments[:type],
|
323
|
+
Condition: arguments[:condition]
|
284
324
|
}
|
285
325
|
}
|
286
326
|
TOPLEVEL_BINDING.eval("@resources = @resources.deep_merge(#{res})")
|
@@ -302,6 +342,7 @@ module Rubycfn
|
|
302
342
|
skeleton.merge!(Description: TOPLEVEL_BINDING.eval("@description"))
|
303
343
|
skeleton.merge!(Mappings: sort_json(TOPLEVEL_BINDING.eval("@mappings")))
|
304
344
|
skeleton.merge!(Parameters: sort_json(TOPLEVEL_BINDING.eval("@parameters")))
|
345
|
+
skeleton.merge!(Conditions: sort_json(TOPLEVEL_BINDING.eval("@conditions")))
|
305
346
|
skeleton.merge!(Resources: sort_json(TOPLEVEL_BINDING.eval("@resources")))
|
306
347
|
skeleton.merge!(Outputs: sort_json(TOPLEVEL_BINDING.eval("@outputs")))
|
307
348
|
TOPLEVEL_BINDING.eval("@variables = @resources = @outputs = @properties = @mappings = @parameters = {}")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubycfn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dennis Vink
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: neatjson
|