cfn2dsl 0.2.0 → 0.3.1
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/lib/cfn2dsl.rb +2 -0
- data/lib/cloudformation.rb +6 -0
- data/lib/intrinsic_function.rb +19 -0
- data/lib/metadata.rb +9 -0
- data/lib/rules.rb +9 -0
- data/lib/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d41f4227841cd556701c4bdeb8b203b32a2889a9
|
4
|
+
data.tar.gz: acf409e0bb4abf9bc6d58bf0223f4d6c83c581e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7181c56d9605bf9a15abf5e767f06d476dba22755acec7f7ff446bf6d85cbdd5fa17d403419a97975b41950571db7b13a6e89adf8580ef460cf6b2f916c17f29
|
7
|
+
data.tar.gz: 2057466527c91674128aa24175b4f56b302794a793268339d4499c0c0f07dba101bd72cf2b9bdd1a7f10a7dfe1a8b9ffecf3794f4e38a793afc6f46071c265be
|
data/lib/cfn2dsl.rb
CHANGED
data/lib/cloudformation.rb
CHANGED
@@ -7,6 +7,8 @@ class CloudFormation
|
|
7
7
|
:conditions,
|
8
8
|
:outputs,
|
9
9
|
:mappings,
|
10
|
+
:rules,
|
11
|
+
:metadata,
|
10
12
|
:description,
|
11
13
|
:aws_template_format_version
|
12
14
|
]
|
@@ -51,6 +53,10 @@ class CloudFormation
|
|
51
53
|
def complex_parser(name, json)
|
52
54
|
elms = []
|
53
55
|
case name
|
56
|
+
when :metadata
|
57
|
+
json.each_pair { |k, v| elms << Metadata.new(k, v) }
|
58
|
+
when :rules
|
59
|
+
json.each_pair { |k, v| elms << Rules.new(k, v) }
|
54
60
|
when :parameters
|
55
61
|
json.each_pair { |k, v| elms << Parameter.new(k, v) }
|
56
62
|
when :resources
|
data/lib/intrinsic_function.rb
CHANGED
@@ -109,6 +109,23 @@ class IntrinsicFunction
|
|
109
109
|
return "FnJoin(#{seperator}, #{values})"
|
110
110
|
end
|
111
111
|
|
112
|
+
def fn_sub
|
113
|
+
origin = '"' + @parameters[0].gsub('"'){'\\"'} + '"'
|
114
|
+
values = @parameters[1].ai
|
115
|
+
return "FnSub(#{origin}, #{values})"
|
116
|
+
end
|
117
|
+
|
118
|
+
def fn_split
|
119
|
+
delimiter = '"' + @parameters[0].gsub('"'){'\\"'} + '"'
|
120
|
+
value = '"' + @parameters[1] + '"'
|
121
|
+
return "FnSplit(#{delimiter}, #{value})"
|
122
|
+
end
|
123
|
+
|
124
|
+
def fn_import_value
|
125
|
+
value = '"' + @parameters[0] + '"'
|
126
|
+
return "FnImportValue(#{value})"
|
127
|
+
end
|
128
|
+
|
112
129
|
def fn_get_a_zs
|
113
130
|
if @parameters.instance_of? String
|
114
131
|
value = '"' + @parameters.gsub('"'){'\\"'} + '"'
|
@@ -118,4 +135,6 @@ class IntrinsicFunction
|
|
118
135
|
|
119
136
|
return "FnGetAZs(#{value})"
|
120
137
|
end
|
138
|
+
|
139
|
+
|
121
140
|
end
|
data/lib/metadata.rb
ADDED
data/lib/rules.rb
ADDED
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfn2dsl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Yung
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-07-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: extlib
|
@@ -68,10 +68,12 @@ files:
|
|
68
68
|
- lib/condition.rb
|
69
69
|
- lib/intrinsic_function.rb
|
70
70
|
- lib/mapping.rb
|
71
|
+
- lib/metadata.rb
|
71
72
|
- lib/output.rb
|
72
73
|
- lib/parameter.rb
|
73
74
|
- lib/render.rb
|
74
75
|
- lib/resource.rb
|
76
|
+
- lib/rules.rb
|
75
77
|
- lib/version.rb
|
76
78
|
homepage: https://github.com/allinwonder/cfn2dsl.git
|
77
79
|
licenses:
|
@@ -93,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
95
|
version: '0'
|
94
96
|
requirements: []
|
95
97
|
rubyforge_project:
|
96
|
-
rubygems_version: 2.
|
98
|
+
rubygems_version: 2.6.12
|
97
99
|
signing_key:
|
98
100
|
specification_version: 4
|
99
101
|
summary: A tool to convert CloudFormation JSON template into a Ruby DSL cfndsl
|