cfhighlander 0.10.3 → 0.10.4.alpha.1575543782
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 +17 -0
- data/lib/cfhighlander.dsl.subcomponent.rb +9 -6
- data/lib/cfhighlander.dsl.template.rb +2 -0
- data/lib/cfhighlander.version.rb +1 -1
- data/templates/cfndsl.component.template.erb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6429727b671be259b4a45e5eb2866e8048e82a50e3ab0081895f8c138271f7f9
|
4
|
+
data.tar.gz: ca62164af33efebd992e34f37ba0212c7bc6c35632d6f00eefbda22b894a2fbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab5e6cbf9f210fde2970436a595e47bac2fbb7e4088f133420fa3863f41ef5302a2ef5bb1a82bbc3872dc36f04715aaa61266dbd2d331eb04c3fb89ee8e9d780
|
7
|
+
data.tar.gz: c8ec94cc3f5420300639a9850176cf6eeca3b2820bed5027751895b55b1d819eb3b06a697fdf7d5c745e712d22e0b22c3e359726e85ef369cb6a9d829068aec4
|
data/README.md
CHANGED
@@ -459,6 +459,23 @@ end
|
|
459
459
|
|
460
460
|
```
|
461
461
|
|
462
|
+
**Conditional Groups** - If you have more than 1 stack you want to control with a single parameter, you can supply the `condition:` option with a string value on each component you want to control with the condition.
|
463
|
+
|
464
|
+
```ruby
|
465
|
+
CfhighlanderTemplate do
|
466
|
+
|
467
|
+
# Components always required
|
468
|
+
Component 'vpc'
|
469
|
+
Component name: 'ecs', template: 'ecs'
|
470
|
+
|
471
|
+
# Components only required in development environments
|
472
|
+
Component name: 'linux-bastion', template: 'bastion', conditional: true, condition: 'EnableDevelopmentResources', enabled: false
|
473
|
+
Component name: 'windows-bastion', template: 'bastion', conditional: true, condition: 'EnableDevelopmentResources', enabled: false
|
474
|
+
|
475
|
+
|
476
|
+
end
|
477
|
+
```
|
478
|
+
|
462
479
|
**Convert config value to parameter** - In case of inner component having configuration value
|
463
480
|
you wish to expose as runtime parameter, it is possible to do so with limitation that configuration
|
464
481
|
value is only used in *resource declarations*, as property value. If configuration value is being used
|
@@ -35,8 +35,9 @@ module Cfhighlander
|
|
35
35
|
:template,
|
36
36
|
:template_version,
|
37
37
|
:inlined,
|
38
|
-
:dependson
|
39
|
-
|
38
|
+
:dependson,
|
39
|
+
:condition
|
40
|
+
|
40
41
|
def initialize(parent,
|
41
42
|
name,
|
42
43
|
template,
|
@@ -45,6 +46,7 @@ module Cfhighlander
|
|
45
46
|
config = {},
|
46
47
|
export_config = {},
|
47
48
|
conditional = false,
|
49
|
+
condition = nil,
|
48
50
|
enabled = true,
|
49
51
|
dependson = [],
|
50
52
|
inline = false,
|
@@ -55,6 +57,7 @@ module Cfhighlander
|
|
55
57
|
@export_config = export_config
|
56
58
|
@component_sources = component_sources
|
57
59
|
@conditional = conditional
|
60
|
+
@condition = condition
|
58
61
|
@dependson = [*dependson]
|
59
62
|
@inlined = inline
|
60
63
|
|
@@ -90,13 +93,13 @@ module Cfhighlander
|
|
90
93
|
|
91
94
|
# add condition to parent if conditonal component
|
92
95
|
if @conditional
|
93
|
-
|
94
|
-
@parent.Condition(
|
95
|
-
CfnDsl::RefDefinition.new(
|
96
|
+
condition_name = @condition.nil? ? "Enable#{@cfn_name}" : @condition
|
97
|
+
@parent.Condition(condition_name, CfnDsl::Fn.new('Equals', [
|
98
|
+
CfnDsl::RefDefinition.new(condition_name),
|
96
99
|
'true'
|
97
100
|
]).to_json)
|
98
101
|
@parent.Parameters do
|
99
|
-
ComponentParam
|
102
|
+
ComponentParam condition_name, enabled.to_s, allowedValues: %w(true false)
|
100
103
|
end
|
101
104
|
end
|
102
105
|
end
|
@@ -117,6 +117,7 @@ module Cfhighlander
|
|
117
117
|
config: {},
|
118
118
|
export_config: {},
|
119
119
|
conditional: false,
|
120
|
+
condition: nil,
|
120
121
|
enabled: true,
|
121
122
|
dependson: [],
|
122
123
|
render: Cfhighlander::Model::Component::Substack,
|
@@ -140,6 +141,7 @@ module Cfhighlander
|
|
140
141
|
config,
|
141
142
|
export_config,
|
142
143
|
conditional,
|
144
|
+
condition,
|
143
145
|
enabled,
|
144
146
|
dependson,
|
145
147
|
render == Cfhighlander::Model::Component::Inline
|
data/lib/cfhighlander.version.rb
CHANGED
@@ -17,7 +17,7 @@ CloudFormation do
|
|
17
17
|
Parameters ({
|
18
18
|
<% for @param in @subcomponent.parameters %><%="\t"%>'<%=@param.name %>' => <%= @param.cfndsl_value %>,
|
19
19
|
<% end %>})
|
20
|
-
<% if @subcomponent.conditional %>Condition '
|
20
|
+
<% if @subcomponent.conditional %>Condition '<%= @subcomponent.condition %>' <% end %>
|
21
21
|
end
|
22
22
|
<% end %>
|
23
23
|
|
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.
|
4
|
+
version: 0.10.4.alpha.1575543782
|
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-
|
13
|
+
date: 2019-12-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: highline
|
@@ -271,9 +271,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
271
271
|
version: '0'
|
272
272
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
273
273
|
requirements:
|
274
|
-
- - "
|
274
|
+
- - ">"
|
275
275
|
- !ruby/object:Gem::Version
|
276
|
-
version:
|
276
|
+
version: 1.3.1
|
277
277
|
requirements: []
|
278
278
|
rubyforge_project:
|
279
279
|
rubygems_version: 2.7.7
|