cfhighlander 0.10.1.alpha.1571347461 → 0.10.1.alpha.1571413903
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/README.md +13 -0
- data/lib/cfhighlander.dsl.subcomponent.rb +5 -2
- data/lib/cfhighlander.dsl.template.rb +3 -1
- data/templates/cfndsl.component.template.erb +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e246b9fc914f854d4976016fea26ccc89dda5574a709bbd5ba5c18bded1717d
|
4
|
+
data.tar.gz: 9b5e58dd0280bd9b2c3362c6e6b9e15001b4862e1a03d2691f98c5fd1d0b2332
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5811cfab3fd0326f90a57fe8868fc6826a23f8968f9d8df33d0164b58a9d16bdaedd0a8d00c0b4597203a367b70cd747146e0a82db902cc3335fa7d8145f1a30
|
7
|
+
data.tar.gz: fb2a829a5299da15f0f09482c18a35f7632ae41b5b96d15a4c30b6ef2855cdb3af59da25a8e65bbbb53ca76eea0f39f190a2f946b235e900693089ac95278e62
|
data/README.md
CHANGED
@@ -651,6 +651,19 @@ end
|
|
651
651
|
Will include any cfndsl libraries present and exported in vpc template
|
652
652
|
so extension methods can be consumed within cfndsl template.
|
653
653
|
|
654
|
+
### Component dependson
|
655
|
+
|
656
|
+
If you require dependencies between nest stacks, this can be defined in the component by using the `dependson` attribute with the value of the depend component names. This will take an array of component names or a string with a single component name. This adds the cloudformation `DependsOn` property to the stack resource in the master template.
|
657
|
+
|
658
|
+
```ruby
|
659
|
+
CfhighlanderTemplate do
|
660
|
+
Name 'test'
|
661
|
+
Component name: 'vpc', template: 'vpc'
|
662
|
+
Component name: 'bastion', template: 'bastion'
|
663
|
+
Component name: 'ecs', template: 'ecs', dependson: ['vpc','bastion']
|
664
|
+
end
|
665
|
+
```
|
666
|
+
|
654
667
|
### LambdaFunctions
|
655
668
|
|
656
669
|
|
@@ -34,7 +34,8 @@ module Cfhighlander
|
|
34
34
|
:name,
|
35
35
|
:template,
|
36
36
|
:template_version,
|
37
|
-
:inlined
|
37
|
+
:inlined,
|
38
|
+
:dependson
|
38
39
|
|
39
40
|
def initialize(parent,
|
40
41
|
name,
|
@@ -45,6 +46,7 @@ module Cfhighlander
|
|
45
46
|
export_config = {},
|
46
47
|
conditional = false,
|
47
48
|
enabled = true,
|
49
|
+
dependson = [],
|
48
50
|
inline = false,
|
49
51
|
distribution_format = 'yaml')
|
50
52
|
|
@@ -53,8 +55,9 @@ module Cfhighlander
|
|
53
55
|
@export_config = export_config
|
54
56
|
@component_sources = component_sources
|
55
57
|
@conditional = conditional
|
58
|
+
@dependson = [*dependson]
|
56
59
|
@inlined = inline
|
57
|
-
|
60
|
+
|
58
61
|
template_name = template
|
59
62
|
template_version = 'latest'
|
60
63
|
if template.include?('@') and not (template.start_with? 'git')
|
@@ -118,6 +118,7 @@ module Cfhighlander
|
|
118
118
|
export_config: {},
|
119
119
|
conditional: false,
|
120
120
|
enabled: true,
|
121
|
+
dependson: [],
|
121
122
|
render: Cfhighlander::Model::Component::Substack,
|
122
123
|
&block)
|
123
124
|
puts "INFO: Requested subcomponent #{name} with template #{template}"
|
@@ -129,7 +130,7 @@ module Cfhighlander
|
|
129
130
|
end
|
130
131
|
|
131
132
|
name = template if name.nil?
|
132
|
-
|
133
|
+
|
133
134
|
# load component
|
134
135
|
component = Cfhighlander::Dsl::Subcomponent.new(self,
|
135
136
|
name,
|
@@ -140,6 +141,7 @@ module Cfhighlander
|
|
140
141
|
export_config,
|
141
142
|
conditional,
|
142
143
|
enabled,
|
144
|
+
dependson,
|
143
145
|
render == Cfhighlander::Model::Component::Inline
|
144
146
|
)
|
145
147
|
# component.instance_eval(&block) unless block.nil?
|
@@ -11,6 +11,9 @@ CloudFormation do
|
|
11
11
|
<% for @subcomponent in dsl.subcomponents %>
|
12
12
|
CloudFormation_Stack('<%= @subcomponent.cfn_name %>') do
|
13
13
|
TemplateURL '<%= @subcomponent.distribution_url %>'
|
14
|
+
<%- if !@subcomponent.dependson.empty? %>
|
15
|
+
DependsOn <%= @subcomponent.dependson %>
|
16
|
+
<%- end %>
|
14
17
|
Parameters ({
|
15
18
|
<% for @param in @subcomponent.parameters %><%="\t"%>'<%=@param.name %>' => <%= @param.cfndsl_value %>,
|
16
19
|
<% end %>})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfhighlander
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.1.alpha.
|
4
|
+
version: 0.10.1.alpha.1571413903
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikola Tosic
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-10-
|
13
|
+
date: 2019-10-18 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: highline
|