bora 1.5.0 → 1.6.0
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/bora.gemspec +2 -1
- data/lib/bora/stack.rb +11 -2
- data/lib/bora/template.rb +7 -6
- data/lib/bora/version.rb +1 -1
- metadata +23 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3b7fb07038e20354a749af9db174d21fca4a3ab
|
4
|
+
data.tar.gz: 923412c975c6d3c2454d7dd616ed7b2339bb7646
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f89db4d0f3175157424d9ea86ddb3fa6ec8aacabac8a762d8a7ad1e8f08f217c489f92d8fe2a72dfc287dfb6c82cf88bee97d5674d4b6961b00ab01808f15272
|
7
|
+
data.tar.gz: 039661e930401f3ac1c59bf122fd7aa67b60aaf79a5d129ec269a6dcb125d54f2667fdb6c626f0a8c35f1c90584a1fc111b9759a72907184af1a76f8a700bcc6
|
data/bora.gemspec
CHANGED
@@ -24,9 +24,10 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_dependency "diffy", "~> 3.0"
|
25
25
|
spec.add_dependency "rake", "~> 10.0"
|
26
26
|
spec.add_dependency "thor", "~> 0.19"
|
27
|
+
spec.add_dependency "hashie", "~> 3.4.6"
|
27
28
|
|
28
29
|
spec.add_development_dependency "bundler", "~> 1.11"
|
29
|
-
spec.add_development_dependency "hashie", "~> 3.4.6"
|
30
30
|
spec.add_development_dependency "rspec", "~> 3.0"
|
31
31
|
spec.add_development_dependency "simplecov", "~> 0.12"
|
32
|
+
spec.add_development_dependency "pry"
|
32
33
|
end
|
data/lib/bora/stack.rb
CHANGED
@@ -287,6 +287,7 @@ class Bora
|
|
287
287
|
end
|
288
288
|
end
|
289
289
|
end
|
290
|
+
#binding.pry
|
290
291
|
cfn_options
|
291
292
|
end
|
292
293
|
|
@@ -316,8 +317,16 @@ class Bora
|
|
316
317
|
end
|
317
318
|
|
318
319
|
def cfn_options_from_stack_config
|
319
|
-
valid_options =
|
320
|
-
|
320
|
+
valid_options = %w(capabilities tags disable_rollback on_failure)
|
321
|
+
|
322
|
+
cfn_options = @stack_config.select { |k| valid_options.include?(k) }
|
323
|
+
# Expand any Tags to "key" => key, "value" => value pairs
|
324
|
+
if cfn_options['tags']
|
325
|
+
cfn_options['tags'] = cfn_options['tags'].map do |k, v|
|
326
|
+
{ key: k, value: v }
|
327
|
+
end
|
328
|
+
end
|
329
|
+
cfn_options
|
321
330
|
end
|
322
331
|
|
323
332
|
def get_new_template(cfn_options)
|
data/lib/bora/template.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
require 'bora/stack'
|
2
|
+
require 'hashie'
|
2
3
|
|
3
4
|
class Bora
|
4
5
|
class Template
|
5
|
-
# These are properties that you can define on the template, but which can also be defined in the stack
|
6
|
-
INHERITABLE_PROPERTIES =
|
6
|
+
# These are properties that you can define on the template, but which can also be defined and overriden in the stack
|
7
|
+
INHERITABLE_PROPERTIES = %w(capabilities default_region tags)
|
7
8
|
|
8
9
|
# These are properties that can be passed in from the command line to override what's defined inthe stack
|
9
|
-
OVERRIDABLE_PROPERTIES =
|
10
|
+
OVERRIDABLE_PROPERTIES = %w(cfn_stack_name)
|
10
11
|
|
11
12
|
def initialize(template_name, template_config, override_config = {})
|
12
13
|
@template_name = template_name
|
@@ -31,11 +32,12 @@ class Bora
|
|
31
32
|
@stacks.each { |_, s| s.rake_tasks }
|
32
33
|
end
|
33
34
|
|
34
|
-
|
35
35
|
private
|
36
36
|
|
37
37
|
def resolve_stack_config(template_config, stack_config, override_config)
|
38
|
-
|
38
|
+
Hashie::Mash.new(
|
39
|
+
inheritable_properties(template_config)
|
40
|
+
).deep_merge(stack_config).merge(overridable_properties(override_config))
|
39
41
|
end
|
40
42
|
|
41
43
|
def inheritable_properties(config)
|
@@ -45,6 +47,5 @@ class Bora
|
|
45
47
|
def overridable_properties(config)
|
46
48
|
config.select { |k| INHERITABLE_PROPERTIES.include?(k) || OVERRIDABLE_PROPERTIES.include?(k) }
|
47
49
|
end
|
48
|
-
|
49
50
|
end
|
50
51
|
end
|
data/lib/bora/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bora
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charles Blaxland
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -95,33 +95,33 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.19'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: hashie
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
104
|
-
type: :
|
103
|
+
version: 3.4.6
|
104
|
+
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 3.4.6
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: bundler
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: '1.11'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: '1.11'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rspec
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0.12'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: pry
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
153
167
|
description:
|
154
168
|
email:
|
155
169
|
- charles.blaxland@gmail.com
|