sparkle_formation 3.0.26 → 3.0.28

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.
Files changed (40) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +6 -0
  3. data/lib/sparkle_formation/composition.rb +17 -17
  4. data/lib/sparkle_formation/error.rb +2 -5
  5. data/lib/sparkle_formation/function_struct.rb +27 -31
  6. data/lib/sparkle_formation/provider/aws.rb +32 -31
  7. data/lib/sparkle_formation/provider/azure.rb +18 -19
  8. data/lib/sparkle_formation/provider/google.rb +20 -22
  9. data/lib/sparkle_formation/provider/heat.rb +17 -17
  10. data/lib/sparkle_formation/provider/terraform.rb +14 -15
  11. data/lib/sparkle_formation/provider.rb +0 -2
  12. data/lib/sparkle_formation/resources/aws.rb +129 -149
  13. data/lib/sparkle_formation/resources/aws_resources.json +9208 -5542
  14. data/lib/sparkle_formation/resources/azure.rb +2 -5
  15. data/lib/sparkle_formation/resources/azure_resources.json +12367 -2901
  16. data/lib/sparkle_formation/resources/google.rb +1 -4
  17. data/lib/sparkle_formation/resources/heat.rb +0 -4
  18. data/lib/sparkle_formation/resources/heat_resources.json +2616 -2062
  19. data/lib/sparkle_formation/resources/rackspace.rb +0 -4
  20. data/lib/sparkle_formation/resources/terraform.rb +2 -6
  21. data/lib/sparkle_formation/resources.rb +20 -24
  22. data/lib/sparkle_formation/sparkle.rb +56 -66
  23. data/lib/sparkle_formation/sparkle_attribute/aws.rb +61 -34
  24. data/lib/sparkle_formation/sparkle_attribute/azure.rb +12 -8
  25. data/lib/sparkle_formation/sparkle_attribute/google.rb +18 -15
  26. data/lib/sparkle_formation/sparkle_attribute/heat.rb +22 -7
  27. data/lib/sparkle_formation/sparkle_attribute/rackspace.rb +0 -2
  28. data/lib/sparkle_formation/sparkle_attribute/terraform.rb +11 -5
  29. data/lib/sparkle_formation/sparkle_attribute.rb +13 -7
  30. data/lib/sparkle_formation/sparkle_collection/rainbow.rb +5 -7
  31. data/lib/sparkle_formation/sparkle_collection.rb +13 -15
  32. data/lib/sparkle_formation/sparkle_formation.rb +116 -112
  33. data/lib/sparkle_formation/sparkle_struct.rb +30 -24
  34. data/lib/sparkle_formation/translation/heat.rb +57 -58
  35. data/lib/sparkle_formation/translation/rackspace.rb +48 -49
  36. data/lib/sparkle_formation/translation.rb +34 -37
  37. data/lib/sparkle_formation/utils.rb +6 -13
  38. data/lib/sparkle_formation/version.rb +1 -1
  39. data/sparkle_formation.gemspec +1 -1
  40. metadata +9 -9
@@ -16,13 +16,14 @@ class SparkleFormation
16
16
  # @option options [String] :delimiter value used for joining items. Defaults to ''
17
17
  # @return [Hash]
18
18
  def _cf_join(*args)
19
- options = args.detect{|i| i.is_a?(Hash) && i[:options]} || {:options => {}}
19
+ options = args.detect { |i| i.is_a?(Hash) && i[:options] } || {:options => {}}
20
20
  args.delete(options)
21
- unless(args.size == 1)
21
+ unless args.size == 1
22
22
  args = [args]
23
23
  end
24
24
  {'Fn::Join' => [options[:options][:delimiter] || '', *args]}
25
25
  end
26
+
26
27
  alias_method :join!, :_cf_join
27
28
 
28
29
  # Split generator
@@ -35,6 +36,7 @@ class SparkleFormation
35
36
  __t_stringish(delimiter) unless delimiter.is_a?(Hash)
36
37
  {'Fn::Split' => [delimiter, string]}
37
38
  end
39
+
38
40
  alias_method :split!, :_cf_split
39
41
 
40
42
  # Sub generator
@@ -43,9 +45,14 @@ class SparkleFormation
43
45
  # @param variables [Hash] key value mappings for substitution
44
46
  # @return [Hash]
45
47
  def _cf_sub(string, variables = nil)
46
- __t_hashish(variables) if variables
47
- {'Fn::Sub' => [string, variables].compact}
48
+ if variables.nil?
49
+ {'Fn::Sub' => string}
50
+ else
51
+ __t_hashish(variables)
52
+ {'Fn::Sub' => [string, variables]}
53
+ end
48
54
  end
55
+
49
56
  alias_method :_sub, :_cf_sub
50
57
  alias_method :sub!, :_cf_sub
51
58
 
@@ -58,6 +65,7 @@ class SparkleFormation
58
65
  __t_stringish(thing)
59
66
  {'Ref' => __attribute_key(thing)}
60
67
  end
68
+
61
69
  alias_method :_ref, :_cf_ref
62
70
  alias_method :ref!, :_cf_ref
63
71
 
@@ -69,6 +77,7 @@ class SparkleFormation
69
77
  __t_stringish(thing) unless thing.is_a?(Hash)
70
78
  {'Fn::ImportValue' => __attribute_key(thing)}
71
79
  end
80
+
72
81
  alias_method :_import_value, :_cf_value_import
73
82
  alias_method :import_value!, :_cf_value_import
74
83
 
@@ -81,18 +90,19 @@ class SparkleFormation
81
90
  def _cf_map(thing, key, *suffix)
82
91
  __t_stringish(thing)
83
92
  suffix = suffix.map do |item|
84
- if(item.is_a?(Symbol))
93
+ if item.is_a?(Symbol)
85
94
  _process_key(item, :force)
86
95
  else
87
96
  item
88
97
  end
89
98
  end
90
99
  thing = __attribute_key(thing)
91
- if(key.is_a?(Symbol))
100
+ if key.is_a?(Symbol)
92
101
  key = ref!(key)
93
102
  end
94
103
  {'Fn::FindInMap' => [thing, key, *suffix]}
95
104
  end
105
+
96
106
  alias_method :_cf_find_in_map, :_cf_map
97
107
  alias_method :find_in_map!, :_cf_map
98
108
  alias_method :map!, :_cf_map
@@ -107,7 +117,7 @@ class SparkleFormation
107
117
  args = args.slice(1, args.size)
108
118
  __t_stringish(r_name)
109
119
  args = args.map do |thing|
110
- if(thing.is_a?(Symbol))
120
+ if thing.is_a?(Symbol)
111
121
  _process_key(thing, :force)
112
122
  else
113
123
  thing
@@ -115,6 +125,7 @@ class SparkleFormation
115
125
  end
116
126
  {'Fn::GetAtt' => [__attribute_key(r_name), *args]}
117
127
  end
128
+
118
129
  alias_method :_cf_get_att, :_cf_attr
119
130
  alias_method :get_att!, :_cf_attr
120
131
  alias_method :attr!, :_cf_attr
@@ -126,13 +137,14 @@ class SparkleFormation
126
137
  def _cf_base64(arg)
127
138
  {'Fn::Base64' => arg}
128
139
  end
140
+
129
141
  alias_method :base64!, :_cf_base64
130
142
 
131
143
  # Fn::GetAZs generator
132
144
  #
133
145
  # @param region [String, Symbol] String will pass through. Symbol will be converted to ref
134
146
  # @return [Hash]
135
- def _cf_get_azs(region=nil)
147
+ def _cf_get_azs(region = nil)
136
148
  region = case region
137
149
  when Symbol
138
150
  _cf_ref(region)
@@ -143,6 +155,7 @@ class SparkleFormation
143
155
  end
144
156
  {'Fn::GetAZs' => region}
145
157
  end
158
+
146
159
  alias_method :get_azs!, :_cf_get_azs
147
160
  alias_method :azs!, :_cf_get_azs
148
161
 
@@ -156,6 +169,7 @@ class SparkleFormation
156
169
  item = _cf_ref(item) if item.is_a?(Symbol)
157
170
  {'Fn::Select' => [index, item]}
158
171
  end
172
+
159
173
  alias_method :select!, :_cf_select
160
174
 
161
175
  # Condition generator
@@ -166,6 +180,7 @@ class SparkleFormation
166
180
  __t_stringish(name)
167
181
  {'Condition' => __attribute_key(name)}
168
182
  end
183
+
169
184
  alias_method :condition!, :_condition
170
185
 
171
186
  # Condition setter
@@ -177,6 +192,7 @@ class SparkleFormation
177
192
  def _on_condition(name)
178
193
  _set(*_condition(name).to_a.flatten)
179
194
  end
195
+
180
196
  alias_method :on_condition!, :_on_condition
181
197
 
182
198
  # Fn::If generator
@@ -188,6 +204,7 @@ class SparkleFormation
188
204
  def _if(cond, true_value, false_value)
189
205
  {'Fn::If' => _array(__attribute_key(cond), true_value, false_value)}
190
206
  end
207
+
191
208
  alias_method :if!, :_if
192
209
 
193
210
  # Fn::And generator
@@ -199,16 +216,17 @@ class SparkleFormation
199
216
  def _and(*args)
200
217
  {
201
218
  'Fn::And' => _array(
202
- *args.map{|v|
203
- if(v.is_a?(Symbol) || v.is_a?(String))
204
- _condition(v)
205
- else
206
- v
207
- end
208
- }
209
- )
219
+ *args.map { |v|
220
+ if v.is_a?(Symbol) || v.is_a?(String)
221
+ _condition(v)
222
+ else
223
+ v
224
+ end
225
+ }
226
+ ),
210
227
  }
211
228
  end
229
+
212
230
  alias_method :and!, :_and
213
231
 
214
232
  # Fn::Equals generator
@@ -219,6 +237,7 @@ class SparkleFormation
219
237
  def _equals(v1, v2)
220
238
  {'Fn::Equals' => _array(v1, v2)}
221
239
  end
240
+
222
241
  alias_method :equals!, :_equals
223
242
 
224
243
  # Fn::Not generator
@@ -226,13 +245,14 @@ class SparkleFormation
226
245
  # @param arg [Object]
227
246
  # @return [Hash]
228
247
  def _not(arg)
229
- if(arg.is_a?(String) || arg.is_a?(Symbol))
248
+ if arg.is_a?(String) || arg.is_a?(Symbol)
230
249
  arg = _condition(arg)
231
250
  else
232
251
  arg = _array(arg).first
233
252
  end
234
253
  {'Fn::Not' => [arg]}
235
254
  end
255
+
236
256
  alias_method :not!, :_not
237
257
 
238
258
  # Fn::Or generator
@@ -243,16 +263,17 @@ class SparkleFormation
243
263
  def _or(*args)
244
264
  {
245
265
  'Fn::Or' => _array(
246
- *args.map{|v|
247
- if(v.is_a?(Symbol) || v.is_a?(String))
248
- _condition(v)
249
- else
250
- v
251
- end
252
- }
253
- )
266
+ *args.map { |v|
267
+ if v.is_a?(Symbol) || v.is_a?(String)
268
+ _condition(v)
269
+ else
270
+ v
271
+ end
272
+ }
273
+ ),
254
274
  }
255
275
  end
276
+
256
277
  alias_method :or!, :_or
257
278
 
258
279
  # No value generator
@@ -261,6 +282,7 @@ class SparkleFormation
261
282
  def _no_value
262
283
  _ref('AWS::NoValue')
263
284
  end
285
+
264
286
  alias_method :no_value!, :_no_value
265
287
 
266
288
  # Region generator
@@ -269,6 +291,7 @@ class SparkleFormation
269
291
  def _region
270
292
  _ref('AWS::Region')
271
293
  end
294
+
272
295
  alias_method :region!, :_region
273
296
 
274
297
  # Notification ARNs generator
@@ -277,6 +300,7 @@ class SparkleFormation
277
300
  def _notification_arns
278
301
  _ref('AWS::NotificationARNs')
279
302
  end
303
+
280
304
  alias_method :notification_arns!, :_notification_arns
281
305
 
282
306
  # Account ID generator
@@ -285,6 +309,7 @@ class SparkleFormation
285
309
  def _account_id
286
310
  _ref('AWS::AccountId')
287
311
  end
312
+
288
313
  alias_method :account_id!, :_account_id
289
314
 
290
315
  # Stack ID generator
@@ -293,6 +318,7 @@ class SparkleFormation
293
318
  def _stack_id
294
319
  _ref('AWS::StackId')
295
320
  end
321
+
296
322
  alias_method :stack_id!, :_stack_id
297
323
 
298
324
  # Stack name generator
@@ -301,6 +327,7 @@ class SparkleFormation
301
327
  def _stack_name
302
328
  _ref('AWS::StackName')
303
329
  end
330
+
304
331
  alias_method :stack_name!, :_stack_name
305
332
 
306
333
  # Resource dependency generator
@@ -313,8 +340,9 @@ class SparkleFormation
313
340
  # @return [Array<String>]
314
341
  # @note this will directly modify the struct at its current context to inject depends on structure
315
342
  def _depends_on(*args)
316
- _set('DependsOn', [args].flatten.compact.map{|s| __attribute_key(s)})
343
+ _set('DependsOn', [args].flatten.compact.map { |s| __attribute_key(s) })
317
344
  end
345
+
318
346
  alias_method :depends_on!, :_depends_on
319
347
 
320
348
  # Reference output value from nested stack
@@ -324,15 +352,16 @@ class SparkleFormation
324
352
  def _stack_output(stack_name, output_name)
325
353
  _cf_attr(_process_key(stack_name), "Outputs.#{__attribute_key(output_name)}")
326
354
  end
355
+
327
356
  alias_method :stack_output!, :_stack_output
328
357
 
329
358
  # @return [TrueClass, FalseClass] resource can be tagged
330
359
  def taggable?
331
- if(self[:type])
360
+ if self[:type]
332
361
  resource = _self._provider._resources.lookup(self[:type].gsub('::', '_').downcase)
333
362
  resource && resource[:properties].include?('Tags')
334
363
  else
335
- if(_parent)
364
+ if _parent
336
365
  _parent.taggable?
337
366
  end
338
367
  end
@@ -345,14 +374,12 @@ class SparkleFormation
345
374
  def _tags(hash)
346
375
  __t_hashish(hash)
347
376
  _set('Tags',
348
- hash.map{ |k, v|
349
- {'Key' => __attribute_key(k), 'Value' => v}
350
- }
351
- )
377
+ hash.map { |k, v|
378
+ {'Key' => __attribute_key(k), 'Value' => v}
379
+ })
352
380
  end
353
- alias_method :tags!, :_tags
354
381
 
382
+ alias_method :tags!, :_tags
355
383
  end
356
-
357
384
  end
358
385
  end
@@ -14,7 +14,7 @@ class SparkleFormation
14
14
  # @param hash [Hash] template dump
15
15
  # @return [Hash]
16
16
  def self.resources_formatter(hash)
17
- if(hash.key?('resources') && !hash['resources'].is_a?(Array))
17
+ if hash.key?('resources') && !hash['resources'].is_a?(Array)
18
18
  resources = hash.delete('resources')
19
19
  hash['resources'] = Array.new
20
20
  resources.each do |r_name, r_contents|
@@ -34,11 +34,12 @@ class SparkleFormation
34
34
  klass.class_eval do
35
35
  def _azure_dump
36
36
  result = _attribute_struct_dump
37
- if(_parent.nil?)
37
+ if _parent.nil?
38
38
  result = ::SparkleFormation::SparkleAttribute::Azure.resources_formatter(result)
39
39
  end
40
40
  result
41
41
  end
42
+
42
43
  alias_method :_attribute_struct_dump, :_dump
43
44
  alias_method :_dump, :_azure_dump
44
45
  alias_method :dump!, :_azure_dump
@@ -73,7 +74,7 @@ class SparkleFormation
73
74
  'providers',
74
75
  'reference',
75
76
  'resourceGroup',
76
- 'subscription'
77
+ 'subscription',
77
78
  ]
78
79
 
79
80
  # NOTE: Alias implementation disabled due to Ruby 2.3 __callee__ bug
@@ -110,6 +111,7 @@ class SparkleFormation
110
111
  x._fn_context = self
111
112
  x
112
113
  end
114
+
113
115
  alias_method :variables!, :_variables
114
116
 
115
117
  # @overload _resource_id(resource_name)
@@ -119,14 +121,14 @@ class SparkleFormation
119
121
  # @param [String, Symbol] name of resource
120
122
  # @return [FunctionStruct]
121
123
  def _resource_id(*args)
122
- if(args.size > 1)
124
+ if args.size > 1
123
125
  ::SparkleFormation::FunctionStruct.new('resourceId', *args)
124
126
  else
125
127
  r_name = args.first
126
128
  resource = _root.resources.set!(r_name)
127
- if(resource.nil?)
129
+ if resource.nil?
128
130
  ::Kernel.raise ::SparkleFormation::Error::NotFound::Resource.new(:name => r_name)
129
- elsif(resource.type.nil?)
131
+ elsif resource.type.nil?
130
132
  ::Kernel.raise ::SparkleFormation::Error::InvalidResource.new(
131
133
  "Resource `#{r_name}` provides no type information."
132
134
  )
@@ -139,6 +141,7 @@ class SparkleFormation
139
141
  end
140
142
  end
141
143
  end
144
+
142
145
  alias_method :resource_id!, :_resource_id
143
146
 
144
147
  # Resource dependency generator
@@ -155,7 +158,7 @@ class SparkleFormation
155
158
  case item
156
159
  when ::Symbol
157
160
  resource = _root.resources.set!(item)
158
- if(resource.nil?)
161
+ if resource.nil?
159
162
  ::Kernel.raise ::SparkleFormation::Error::NotFound::Resource.new(:name => item)
160
163
  else
161
164
  [resource.type, resource.resource_name!].join('/')
@@ -166,6 +169,7 @@ class SparkleFormation
166
169
  end
167
170
  set!(:depends_on, args)
168
171
  end
172
+
169
173
  alias_method :depends_on!, :_depends_on
170
174
 
171
175
  # Reference output value from nested stack
@@ -180,8 +184,8 @@ class SparkleFormation
180
184
  o_root.outputs.set!(output_name).value
181
185
  o_root
182
186
  end
183
- alias_method :stack_output!, :_stack_output
184
187
 
188
+ alias_method :stack_output!, :_stack_output
185
189
  end
186
190
  end
187
191
  end
@@ -6,7 +6,6 @@ class SparkleFormation
6
6
 
7
7
  # Google specific helper implementations
8
8
  module Google
9
-
10
9
  CHARACTER_COLLECTION = ('a'..'z').to_a
11
10
 
12
11
  def self.included(klass)
@@ -15,9 +14,9 @@ class SparkleFormation
15
14
  klass.class_eval do
16
15
  def _google_dump
17
16
  result = _non_google_attribute_struct_dump
18
- if(_parent.nil?)
17
+ if _parent.nil?
19
18
  sparkle_root = {}
20
- if(result.key?('resources') && result['resources'].is_a?(Hash))
19
+ if result.key?('resources') && result['resources'].is_a?(Hash)
21
20
  resources = result.delete('resources') || {}
22
21
  sparkle_root = (resources.delete(_self.name) || {}).fetch('properties', {})
23
22
  result['resources'] = resources.map do |r_name, r_content|
@@ -27,21 +26,22 @@ class SparkleFormation
27
26
  result['outputs'] = outputs.map do |o_name, o_content|
28
27
  o_content.merge('name' => o_name)
29
28
  end
30
- if(_self.parent.nil?)
29
+ if _self.parent.nil?
31
30
  result = {
32
31
  'resources' => [{
33
32
  'name' => _self.name,
34
33
  'type' => _self.stack_resource_type,
35
34
  'properties' => {
36
- 'stack' => result
37
- }.merge(sparkle_root)
38
- }]
35
+ 'stack' => result,
36
+ }.merge(sparkle_root),
37
+ }],
39
38
  }
40
39
  end
41
40
  end
42
41
  end
43
42
  result
44
43
  end
44
+
45
45
  alias_method :_non_google_attribute_struct_dump, :_dump
46
46
  alias_method :_dump, :_google_dump
47
47
  alias_method :dump!, :_google_dump
@@ -56,17 +56,16 @@ class SparkleFormation
56
56
  # @see SparkleFormation::SparkleAttribute#dynamic!
57
57
  # @note generate unique names using the `:sparkle_unique` argument
58
58
  def _google_dynamic!(name, *args, &block)
59
- if(args.delete(:sparkle_unique))
59
+ if args.delete(:sparkle_unique)
60
60
  seed = Zlib.crc32(_self.root_path.map(&:name).join('-'))
61
61
  gen = Random.new(seed)
62
62
  suffix = Array.new(10) do
63
63
  CHARACTER_COLLECTION.at(
64
- gen.rand(CHARACTER_COLLECTION.size
65
- )
64
+ gen.rand(CHARACTER_COLLECTION.size)
66
65
  )
67
66
  end.join
68
- config_hash = args.detect{|a| a.is_a?(Hash)}
69
- unless(config_hash)
67
+ config_hash = args.detect { |a| a.is_a?(Hash) }
68
+ unless config_hash
70
69
  config_hash = {}
71
70
  args.push(config_hash)
72
71
  end
@@ -83,12 +82,13 @@ class SparkleFormation
83
82
  # @return [SparkleFormation::GoogleStruct]
84
83
  def _ref(r_name)
85
84
  __t_stringish(r_name)
86
- if(_root.resources.set!(r_name).nil?)
85
+ if _root.resources.set!(r_name).nil?
87
86
  ::Kernel.raise ::SparkleFormation::Error::NotFound::Resource.new(:name => r_name)
88
87
  else
89
88
  ::SparkleFormation::GoogleStruct.new('ref').set!(__attribute_key(r_name))
90
89
  end
91
90
  end
91
+
92
92
  alias_method :ref!, :_ref
93
93
 
94
94
  # Jinja function string wrapper
@@ -97,6 +97,7 @@ class SparkleFormation
97
97
  def _jinja
98
98
  ::SparkleFormation::JinjaExpressionStruct.new
99
99
  end
100
+
100
101
  alias_method :jinja!, :_jinja
101
102
  alias_method :fn!, :_jinja
102
103
 
@@ -108,6 +109,7 @@ class SparkleFormation
108
109
  __t_stringish(e_name)
109
110
  _jinja.env[__attribute_key(e_name)]
110
111
  end
112
+
111
113
  alias_method :env!, :_env
112
114
 
113
115
  # Access a property value supplied to template
@@ -119,6 +121,7 @@ class SparkleFormation
119
121
  __t_stringish(p_name)
120
122
  _jinja.properties[__attribute_key(p_name)]
121
123
  end
124
+
122
125
  alias_method :property!, :_property
123
126
  alias_method :properties!, :_property
124
127
 
@@ -129,6 +132,7 @@ class SparkleFormation
129
132
  def _statement(line)
130
133
  ::SparkleFormation::JinjaStatementStruct.new(line)
131
134
  end
135
+
132
136
  alias_method :statement!, :_statement
133
137
 
134
138
  # Reference output value from nested stack
@@ -141,9 +145,8 @@ class SparkleFormation
141
145
  __t_stringish(output_name)
142
146
  _ref(stack_name)._set(output_name)
143
147
  end
144
- alias_method :stack_output!, :_stack_output
145
148
 
149
+ alias_method :stack_output!, :_stack_output
146
150
  end
147
-
148
151
  end
149
152
  end
@@ -10,7 +10,7 @@ class SparkleFormation
10
10
 
11
11
  # Set customized struct behavior
12
12
  def self.included(klass)
13
- if(klass.const_defined?(:CAMEL_KEYS))
13
+ if klass.const_defined?(:CAMEL_KEYS)
14
14
  klass.send(:remove_const, :CAMEL_KEYS)
15
15
  end
16
16
  klass.const_set(:CAMEL_KEYS, false)
@@ -28,6 +28,7 @@ class SparkleFormation
28
28
  end
29
29
  {'get_attr' => args}
30
30
  end
31
+
31
32
  alias_method :_attr, :_get_attr
32
33
  alias_method :attr!, :_get_attr
33
34
 
@@ -39,13 +40,14 @@ class SparkleFormation
39
40
  # @option options [String] :delimiter value used for joining items. Defaults to ''
40
41
  # @return [Hash]
41
42
  def _list_join(*args)
42
- options = args.detect{|i| i.is_a?(::Hash) && i[:options]} || {:options => {}}
43
+ options = args.detect { |i| i.is_a?(::Hash) && i[:options] } || {:options => {}}
43
44
  args.delete(options)
44
- unless(args.size == 1)
45
+ unless args.size == 1
45
46
  args = [args]
46
47
  end
47
48
  {'list_join' => [options[:options][:delimiter] || '', *args]}
48
49
  end
50
+
49
51
  alias_method :_join, :_list_join
50
52
  alias_method :join!, :_list_join
51
53
 
@@ -57,6 +59,7 @@ class SparkleFormation
57
59
  __t_stringish(loc)
58
60
  {'get_file' => loc}
59
61
  end
62
+
60
63
  alias_method :_file, :_get_file
61
64
  alias_method :file!, :_get_file
62
65
 
@@ -76,6 +79,7 @@ class SparkleFormation
76
79
  end
77
80
  {'get_param' => args.size == 1 ? args.first : args}
78
81
  end
82
+
79
83
  alias_method :_param, :_get_param
80
84
  alias_method :param!, :_get_param
81
85
 
@@ -87,6 +91,7 @@ class SparkleFormation
87
91
  __t_stringish(r_name)
88
92
  {'get_resource' => __attribute_key(r_name)}
89
93
  end
94
+
90
95
  alias_method :_resource, :_get_resource
91
96
  alias_method :resource!, :_get_resource
92
97
 
@@ -94,10 +99,11 @@ class SparkleFormation
94
99
  #
95
100
  # @param value [String, Hash] thing to be hashed
96
101
  # @param algorithm [String] algorithm to use (defaults to 'sha512')
97
- def _digest(value, algorithm='sha512')
102
+ def _digest(value, algorithm = 'sha512')
98
103
  __t_stringish(algorithm)
99
104
  {'digest' => [algorithm, value]}
100
105
  end
106
+
101
107
  alias_method :digest!, :_digest
102
108
 
103
109
  # resource_facade generator
@@ -108,6 +114,7 @@ class SparkleFormation
108
114
  __t_stringish(type)
109
115
  {'resource_facade' => type}
110
116
  end
117
+
111
118
  alias_method :_facade, :_resource_facade
112
119
  alias_method :facade!, :_resource_facade
113
120
  alias_method :resource_facade!, :_resource_facade
@@ -122,6 +129,7 @@ class SparkleFormation
122
129
  __t_hashish(params)
123
130
  {'str_replace' => {'template' => template, 'params' => params}}
124
131
  end
132
+
125
133
  alias_method :_replace, :_str_replace
126
134
  alias_method :replace!, :_str_replace
127
135
 
@@ -131,10 +139,11 @@ class SparkleFormation
131
139
  # @param string [Object]
132
140
  # @param idx [Numeric]
133
141
  # @return [Hash]
134
- def _str_split(splitter, string, idx=nil)
142
+ def _str_split(splitter, string, idx = nil)
135
143
  __t_stringish(splitter) unless splitter.is_a?(Hash)
136
144
  {'str_split' => [splitter, string, idx].compact}
137
145
  end
146
+
138
147
  alias_method :_split, :_str_split
139
148
  alias_method :split!, :_str_split
140
149
 
@@ -146,24 +155,28 @@ class SparkleFormation
146
155
  def _map_merge(*args)
147
156
  {'map_merge' => args}
148
157
  end
158
+
149
159
  alias_method :map_merge!, :_map_merge
150
160
 
151
161
  # @return [Hash]
152
162
  def _stack_id
153
163
  _get_param('OS::stack_id')
154
164
  end
165
+
155
166
  alias_method :stack_id!, :_stack_id
156
167
 
157
168
  # @return [Hash]
158
169
  def _stack_name
159
170
  _get_param('OS::stack_name')
160
171
  end
172
+
161
173
  alias_method :stack_name!, :_stack_name
162
174
 
163
175
  # @return [Hash]
164
176
  def _project_id
165
177
  _get_param('OS::project_id')
166
178
  end
179
+
167
180
  alias_method :project_id!, :_project_id
168
181
 
169
182
  # Resource dependency generator
@@ -176,8 +189,9 @@ class SparkleFormation
176
189
  # @return [Array<String>]
177
190
  # @note this will directly modify the struct at its current context to inject depends on structure
178
191
  def _depends_on(*args)
179
- _set('depends_on', [args].flatten.compact.map{|s| __attribute_key(s) })
192
+ _set('depends_on', [args].flatten.compact.map { |s| __attribute_key(s) })
180
193
  end
194
+
181
195
  alias_method :depends_on!, :_depends_on
182
196
 
183
197
  # Reference output value from nested stack
@@ -191,9 +205,10 @@ class SparkleFormation
191
205
  __attribute_key(output_name)
192
206
  )
193
207
  end
194
- alias_method :stack_output!, :_stack_output
195
208
 
209
+ alias_method :stack_output!, :_stack_output
196
210
  end
211
+
197
212
  OpenStack = Heat
198
213
  end
199
214
  end
@@ -14,8 +14,6 @@ class SparkleFormation
14
14
  def self.included(klass)
15
15
  klass.include SparkleFormation::SparkleAttribute::Heat
16
16
  end
17
-
18
17
  end
19
-
20
18
  end
21
19
  end