stackit 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: df47f6ccf824f6692b946a1ce1ef1d43ed9b0aa9
4
- data.tar.gz: 61987850e1facb65f0f05421e26a326e09a310df
3
+ metadata.gz: 74c0d77ac3a400e8bb794ef5602278273b2968e7
4
+ data.tar.gz: 1d3f025e498b3744a7c8ef8c3bdfe89f74620131
5
5
  SHA512:
6
- metadata.gz: 8c00ebff8a84e0b7f0b1842462017cc5b2293f8247dca97dc6953281365df25a866b1d8fc69e6bcb0a25b3c2b1cde8a02b2e82864b9f5358126fab2d463adc88
7
- data.tar.gz: 8914777ab9a660e98655541f4d2d03edca3e656d54ac6f3e1f996ee9d019f0e6f1f30139b89f59ed046f96144159de1e1ab7b2fb2496ccf27bbd4a82cc685f3e
6
+ metadata.gz: d94e81e8243630fbd1c4530252ba6776d2173afef305b2bf12fbd99e05b0eb7a4fe194c9bf9bc7d0001acb7cd981df3b8ffbdb7d3faef4f7580c82e939ace10e
7
+ data.tar.gz: 4d080ebc27d4c4227457d51736f1166bce276e2404ce4de9457e113d38d29407b362e2001dfd5e5558176ccec82457e18d38c8806851052eefcb4399a54f5204
@@ -3,42 +3,18 @@ module Stackit
3
3
  class ManagedStackService
4
4
 
5
5
  attr_accessor :options
6
+ attr_accessor :stacks
6
7
 
7
8
  def initialize(options)
8
9
  self.options = options
9
10
  end
10
11
 
11
12
  def create!
12
- Stackit::ManagedStack.new(
13
- template: template,
14
- stack_name: stack_name,
15
- stack_policy: options[:stack_policy],
16
- depends: options[:depends],
17
- user_defined_parameters: user_defined_parameters,
18
- parameters_file: parameters_file,
19
- parameter_map: parameter_mappings,
20
- wait: options[:wait],
21
- force: options[:force],
22
- dry_run: options[:dry_run],
23
- debug: !!options[:debug]
24
- ).create!
13
+ stack.create!
25
14
  end
26
15
 
27
16
  def update!
28
- ManagedStack.new(
29
- template: template,
30
- stack_name: stack_name,
31
- stack_policy: options[:stack_policy],
32
- stack_policy_during_update: options[:stack_policy_during_update],
33
- depends: options[:depends],
34
- user_defined_parameters: user_defined_parameters,
35
- parameters_file: parameters_file,
36
- parameter_map: parameter_mappings,
37
- wait: options[:wait],
38
- force: options[:force],
39
- dry_run: options[:dry_run],
40
- debug: !!options[:debug]
41
- ).update!
17
+ stack.update!
42
18
  end
43
19
 
44
20
  def delete!
@@ -76,5 +52,41 @@ module Stackit
76
52
  dir = options[:template_dir] ? options[:template_dir] : __dir__
77
53
  end
78
54
 
55
+ def stack
56
+ ManagedStack.new(
57
+ template: template,
58
+ stack_name: stack_name,
59
+ stack_policy: options[:stack_policy],
60
+ stack_policy_during_update: options[:stack_policy_during_update],
61
+ depends: options[:depends],
62
+ user_defined_parameters: user_defined_parameters,
63
+ parameters_file: parameters_file,
64
+ parameter_map: parameter_mappings,
65
+ wait: options[:wait],
66
+ force: options[:force],
67
+ dry_run: options[:dry_run],
68
+ debug: !!options[:debug]
69
+ )
70
+ end
71
+
72
+ def depends_stacks
73
+ stacks = []
74
+ options[:depends].each do |stack|
75
+ stacks << Stackit::Stack.new(stack_name: stack)
76
+ end
77
+ stacks
78
+ end
79
+
80
+ def stacks
81
+ @stacks ||= [stack].concat(depends_stacks)
82
+ end
83
+
84
+ def resolve_parameter(key)
85
+ depends_stacks.each do |s|
86
+ value = s[key]
87
+ return value unless value.nil?
88
+ end
89
+ end
90
+
79
91
  end
80
92
  end
@@ -1,3 +1,3 @@
1
1
  module Stackit
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stackit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Hahn