sparkle_formation 1.0.0 → 1.0.2
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34e0be284545b28444bd22287a29aaf74a0aa25d
|
4
|
+
data.tar.gz: e18497e3c5b66af3e905cd0754e88eb5f1cded54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ac1f84363eaa01a0f87eaac6932a4eb03b35170b2f0d1b286eb0c2b8632c8c8fef62b01fa928b14e808bb34b167c130306b09c70acb6e45bdbfa2874790cf44
|
7
|
+
data.tar.gz: aa39442b0e3690301b6db50cd7fadea4e3aee04fd687aa99b9da19aa396f6203c01e8eff50454224b036fe4a327a05215398e65afbf2418413c998d1e55bda14
|
data/CHANGELOG.md
CHANGED
@@ -272,7 +272,7 @@ class SparkleFormation
|
|
272
272
|
# @param stack_name [String, Symbol] logical resource name of stack
|
273
273
|
# @apram output_name [String, Symbol] stack output name
|
274
274
|
def _stack_output(stack_name, output_name)
|
275
|
-
|
275
|
+
_cf_attr(_process_key(stack_name), "Outputs.#{_process_key(output_name)}")
|
276
276
|
end
|
277
277
|
alias_method :stack_output!, :_stack_output
|
278
278
|
|
@@ -17,6 +17,8 @@ class SparkleFormation
|
|
17
17
|
|
18
18
|
# @return [String] default stack resource name
|
19
19
|
DEFAULT_STACK_RESOURCE = 'AWS::CloudFormation::Stack'
|
20
|
+
# @return [Array<String>] collection of valid stack resource types
|
21
|
+
VALID_STACK_RESOURCES = [DEFAULT_STACK_RESOURCE]
|
20
22
|
|
21
23
|
class << self
|
22
24
|
|
@@ -298,6 +300,8 @@ class SparkleFormation
|
|
298
300
|
attr_reader :parameters
|
299
301
|
# @return [SparkleFormation] parent stack
|
300
302
|
attr_accessor :parent
|
303
|
+
# @return [Array<String>] valid stack resource types
|
304
|
+
attr_reader :stack_resource_types
|
301
305
|
|
302
306
|
# Create new instance
|
303
307
|
#
|
@@ -331,6 +335,10 @@ class SparkleFormation
|
|
331
335
|
SfnAws.load!
|
332
336
|
end
|
333
337
|
@parameters = set_generation_parameters!(options.fetch(:parameters, {}))
|
338
|
+
@stack_resource_types = (
|
339
|
+
VALID_STACK_RESOURCES +
|
340
|
+
options.fetch(:stack_resource_types, [])
|
341
|
+
).uniq
|
334
342
|
@components = Smash.new
|
335
343
|
@load_order = []
|
336
344
|
@overrides = []
|
@@ -341,6 +349,14 @@ class SparkleFormation
|
|
341
349
|
@compiled = nil
|
342
350
|
end
|
343
351
|
|
352
|
+
# Check if type is a registered stack type
|
353
|
+
#
|
354
|
+
# @param type [String]
|
355
|
+
# @return [TrueClass, FalseClass]
|
356
|
+
def stack_resource_type?(type)
|
357
|
+
stack_resource_types.include?(type)
|
358
|
+
end
|
359
|
+
|
344
360
|
# @return [SparkleFormation] root stack
|
345
361
|
def root
|
346
362
|
if(parent)
|
@@ -460,7 +476,7 @@ class SparkleFormation
|
|
460
476
|
# @return [Array<SparkleFormation>]
|
461
477
|
def nested_stacks(*args)
|
462
478
|
compile.resources.keys!.map do |key|
|
463
|
-
if(compile.resources[key].type
|
479
|
+
if(stack_resource_type?(compile.resources[key].type))
|
464
480
|
result = [compile.resources[key].properties.stack]
|
465
481
|
if(args.include?(:with_resource))
|
466
482
|
result.push(compile[:resources][key])
|
@@ -477,7 +493,7 @@ class SparkleFormation
|
|
477
493
|
def nested?(stack_hash=nil)
|
478
494
|
stack_hash = compile.dump! unless stack_hash
|
479
495
|
!!stack_hash.fetch('Resources', {}).detect do |r_name, resource|
|
480
|
-
resource['Type']
|
496
|
+
stack_resource_type?(resource['Type'])
|
481
497
|
end
|
482
498
|
end
|
483
499
|
|
@@ -485,7 +501,7 @@ class SparkleFormation
|
|
485
501
|
def isolated_nests?(stack_hash=nil)
|
486
502
|
stack_hash = compile.dump! unless stack_hash
|
487
503
|
stack_hash.fetch('Resources', {}).all? do |name, resource|
|
488
|
-
resource['Type']
|
504
|
+
stack_resource_type?(resource['Type'])
|
489
505
|
end
|
490
506
|
end
|
491
507
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sparkle_formation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Roberts
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: attribute_struct
|