bora 1.5.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|