autostacker24 2.4.0 → 2.5.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/lib/autostacker24/stacker.rb +16 -2
- data/lib/autostacker24/template_preprocessor.rb +1 -5
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7b54d10abfc1294e6facf1bdf9dac7dc91268cac
|
|
4
|
+
data.tar.gz: b07933b181619c692bcd0ac28859bfed468b0b79
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3d877ff8f8b12e32b179135069eff7d5a3d6d5caa5fda5aabda6cebc1021cb37bbf06f01ce97f859501f7a4f97393ddc445dc1df2ef13c5f94260f72e5fec470
|
|
7
|
+
data.tar.gz: aa35982f679d5bb82c3084e0934b79e8defc3e211fcfae1285155ac8b4d57aa673ce3f71775fe47d14174dc727db5532fb2331be3f3e36d8b776fbdea82086bb
|
|
@@ -28,6 +28,14 @@ module Stacker
|
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
+
# set custom cloudformation parameters
|
|
32
|
+
def cloud_formation_params=(params)
|
|
33
|
+
unless params == @cloud_formation_params
|
|
34
|
+
@lazy_cloud_formation = nil
|
|
35
|
+
@cloud_formation_params = params
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
31
39
|
def create_or_update_stack(stack_name, template, parameters, parent_stack_name = nil, tags = nil, timeout_in_minutes = DEFAULT_TIMEOUT)
|
|
32
40
|
if find_stack(stack_name).nil?
|
|
33
41
|
create_stack(stack_name, template, parameters, parent_stack_name, tags, timeout_in_minutes)
|
|
@@ -173,7 +181,7 @@ module Stacker
|
|
|
173
181
|
|
|
174
182
|
def cloud_formation # lazy CloudFormation client
|
|
175
183
|
unless @lazy_cloud_formation
|
|
176
|
-
params = {}
|
|
184
|
+
params = @cloud_formation_params || {}
|
|
177
185
|
params[:credentials] = @credentials if @credentials
|
|
178
186
|
params[:region] = @region if @region
|
|
179
187
|
@lazy_cloud_formation = Aws::CloudFormation::Client.new(params)
|
|
@@ -182,8 +190,14 @@ module Stacker
|
|
|
182
190
|
end
|
|
183
191
|
|
|
184
192
|
def template_body(template)
|
|
185
|
-
|
|
193
|
+
wd = Dir.getwd()
|
|
194
|
+
if File.exists?(template) # template is a valid filename
|
|
195
|
+
template = File.read(template)
|
|
196
|
+
Dir.chdir(File.dirname(template))
|
|
197
|
+
end
|
|
186
198
|
AutoStacker24::Preprocessor.preprocess(template)
|
|
199
|
+
ensure
|
|
200
|
+
Dir.chdir(wd)
|
|
187
201
|
end
|
|
188
202
|
|
|
189
203
|
extend self
|
|
@@ -111,14 +111,10 @@ module AutoStacker24
|
|
|
111
111
|
i = s.index('@', i + 1)
|
|
112
112
|
return s, '' if i.nil?
|
|
113
113
|
|
|
114
|
-
file_match = /\A@file:\/\/([^@\s]+)@?/.match(s[i..-1])
|
|
115
|
-
file_curly_match = /\A@\{file:\/\/([^\}]+)\}/.match(s[i..-1])
|
|
114
|
+
file_match = /\A@file:\/\/([^@\s]+)@?/.match(s[i..-1]) || /\A@\{file:\/\/([^\}]+)\}/.match(s[i..-1])
|
|
116
115
|
if file_match # inline file
|
|
117
116
|
s = s[0, i] + File.read(file_match[1]) + file_match.post_match
|
|
118
117
|
i -= 1
|
|
119
|
-
elsif file_curly_match # inline file with curly braces
|
|
120
|
-
s = s[0, i] + File.read(file_curly_match[1]) + file_curly_match.post_match
|
|
121
|
-
i -= 1
|
|
122
118
|
elsif s[i, 2] =~ /\A@@/ # escape
|
|
123
119
|
s = s[0, i] + s[i+1..-1]
|
|
124
120
|
elsif s[i, 2] =~ /\A@(\w|\{)/
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: autostacker24
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Johannes Mueller
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2016-
|
|
12
|
+
date: 2016-11-11 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: aws-sdk-core
|