stackit 0.3.17 → 0.3.19
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/stackit/stack.rb +13 -0
- data/lib/stackit/stack/managed_stack.rb +21 -1
- data/lib/stackit/stack/managed_stack_service.rb +15 -5
- data/lib/stackit/version.rb +1 -1
- 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: 826466c19841c00ed09ad5fec9af5862d47496b0
|
4
|
+
data.tar.gz: 3bb52fa36f06cda7d1cf28517820c062068790cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a827ff209fec39d98bf386a5d21eb160c6dba259266fa49a2dd9d7be317da7532f988032be8f0a665afba8f82133b1179016c87cdd10be7d298afdea581edfc2
|
7
|
+
data.tar.gz: 24ba977cffa979fafb9d79b5a7b7b5569c0bff95bbc639b2975bf22e356a6581f725922123887cc036fb897acacfde120bd9303517a3fb4ade88864f37db427f
|
data/lib/stackit/stack.rb
CHANGED
@@ -22,6 +22,7 @@ module Stackit
|
|
22
22
|
attr_accessor :on_failure
|
23
23
|
attr_accessor :use_previous_template
|
24
24
|
attr_accessor :retain_resources
|
25
|
+
attr_accessor :change_set_name
|
25
26
|
|
26
27
|
def initialize(options = {})
|
27
28
|
options = options.to_h.symbolize_keys!
|
@@ -37,6 +38,7 @@ module Stackit
|
|
37
38
|
self.on_failure = options[:on_failure]
|
38
39
|
self.use_previous_template = options[:use_previous_template]
|
39
40
|
self.retain_resources = options[:retain_resources]
|
41
|
+
self.change_set_name = options[:change_set_name]
|
40
42
|
end
|
41
43
|
|
42
44
|
def [](key)
|
@@ -143,6 +145,17 @@ module Stackit
|
|
143
145
|
}
|
144
146
|
end
|
145
147
|
|
148
|
+
def change_set_request_params
|
149
|
+
{
|
150
|
+
change_set_name: change_set_name || "#{stack_name}#{Time.now.strftime("%m%d%Y%H%M%S")}",
|
151
|
+
stack_name: stack_name,
|
152
|
+
use_previous_template: use_previous_template,
|
153
|
+
parameters: to_request_parameters,
|
154
|
+
notification_arns: notification_arns,
|
155
|
+
tags: to_request_tags
|
156
|
+
}
|
157
|
+
end
|
158
|
+
|
146
159
|
private
|
147
160
|
|
148
161
|
def stack
|
@@ -127,6 +127,20 @@ module Stackit
|
|
127
127
|
describe != nil
|
128
128
|
end
|
129
129
|
|
130
|
+
def change_set!
|
131
|
+
begin
|
132
|
+
response = cloudformation_request(:create_change_set)
|
133
|
+
notifier.response(response)
|
134
|
+
rescue ::Aws::CloudFormation::Errors::AlreadyExistsException => e
|
135
|
+
notifier.backtrace(e) if Stackit.debug
|
136
|
+
notifier.error(e.message)
|
137
|
+
rescue ::Aws::CloudFormation::Errors::ValidationError => e
|
138
|
+
notifier.backtrace(e) if Stackit.debug
|
139
|
+
notifier.error(e.message)
|
140
|
+
end
|
141
|
+
response
|
142
|
+
end
|
143
|
+
|
130
144
|
def describe
|
131
145
|
response = cloudformation_request(:describe_stacks)
|
132
146
|
if response && response[:stacks]
|
@@ -252,8 +266,14 @@ module Stackit
|
|
252
266
|
capabilities: capabilities,
|
253
267
|
use_previous_template: template.options[:template_body].nil? && template.options[:template_url].nil?
|
254
268
|
)
|
255
|
-
|
269
|
+
when :delete_stack
|
256
270
|
delete_stack_request_params
|
271
|
+
when :create_change_set
|
272
|
+
change_set_request_params.merge(template.options).merge(
|
273
|
+
parameters: to_request_parameters(merged_parameters),
|
274
|
+
capabilities: capabilities,
|
275
|
+
use_previous_template: template.options[:template_body].nil? && template.options[:template_url].nil?
|
276
|
+
)
|
257
277
|
end
|
258
278
|
end
|
259
279
|
|
@@ -7,7 +7,7 @@ module Stackit
|
|
7
7
|
attr_accessor :stack_action
|
8
8
|
|
9
9
|
def initialize(options)
|
10
|
-
self.options = options
|
10
|
+
self.options = options || {}
|
11
11
|
end
|
12
12
|
|
13
13
|
def create!
|
@@ -25,6 +25,11 @@ module Stackit
|
|
25
25
|
final_stack.delete!
|
26
26
|
end
|
27
27
|
|
28
|
+
def change_set!
|
29
|
+
self.stack_action = :change_set!
|
30
|
+
final_stack.change_set!
|
31
|
+
end
|
32
|
+
|
28
33
|
def stack_name
|
29
34
|
options[:stack_name] || "#{Stackit.environment}-#{options[:stack_name]}"
|
30
35
|
end
|
@@ -51,9 +56,7 @@ module Stackit
|
|
51
56
|
end
|
52
57
|
|
53
58
|
def depends_on(deps)
|
54
|
-
|
55
|
-
options[:depends] = deps
|
56
|
-
end
|
59
|
+
options[:depends] = deps
|
57
60
|
end
|
58
61
|
|
59
62
|
def parameter_mappings
|
@@ -116,6 +119,10 @@ module Stackit
|
|
116
119
|
options[:use_previous_template]
|
117
120
|
end
|
118
121
|
|
122
|
+
def change_set_name
|
123
|
+
options[:change_set_name]
|
124
|
+
end
|
125
|
+
|
119
126
|
def stack
|
120
127
|
@stack ||= ManagedStack.new(
|
121
128
|
template: template,
|
@@ -136,7 +143,8 @@ module Stackit
|
|
136
143
|
tags: tags,
|
137
144
|
on_failure: on_failure,
|
138
145
|
use_previous_template: use_previous_template,
|
139
|
-
retain_resources: retain_resources
|
146
|
+
retain_resources: retain_resources,
|
147
|
+
change_set_name: change_set_name
|
140
148
|
)
|
141
149
|
end
|
142
150
|
|
@@ -155,10 +163,12 @@ module Stackit
|
|
155
163
|
end
|
156
164
|
|
157
165
|
def resolve_parameter(key)
|
166
|
+
Stackit.logger.debug "Resolving parameter: #{key}"
|
158
167
|
Stackit::ParameterResolver.new(depends_stacks).resolve(key)
|
159
168
|
end
|
160
169
|
|
161
170
|
def resolve_parameters(keys)
|
171
|
+
Stackit.logger.debug "Resolving parameters: #{keys.join(', ')}"
|
162
172
|
Stackit::ParameterResolver.new(depends_stacks).resolve(keys)
|
163
173
|
end
|
164
174
|
|
data/lib/stackit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Hahn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|