Class: Stackit::ManagedStackService
- Inherits:
-
Object
- Object
- Stackit::ManagedStackService
- Defined in:
- lib/stackit/stack/managed_stack_service.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#options ⇒ Object
Returns the value of attribute options.
-
#stack_action ⇒ Object
Returns the value of attribute stack_action.
-
#stacks ⇒ Object
Returns the value of attribute stacks.
Instance Method Summary collapse
- #capabilities ⇒ Object
- #change_set! ⇒ Object
- #change_set_name ⇒ Object
- #create! ⇒ Object
- #debug ⇒ Object
- #delete! ⇒ Object
- #depends ⇒ Object
- #depends_on(deps) ⇒ Object
- #depends_stacks ⇒ Object
- #disable_rollback ⇒ Object
- #dry_run ⇒ Object
- #force ⇒ Object
-
#initialize(options) ⇒ ManagedStackService
constructor
A new instance of ManagedStackService.
- #notification_arns ⇒ Object
- #on_failure ⇒ Object
- #parameter_mappings ⇒ Object
- #parameters_file ⇒ Object
- #resolve_parameter(key) ⇒ Object
- #resolve_parameters(keys) ⇒ Object
- #retain_resources ⇒ Object
- #stack ⇒ Object
- #stack_name ⇒ Object
- #stack_policy ⇒ Object
- #stack_policy_during_update ⇒ Object
- #tags ⇒ Object
- #template ⇒ Object
- #template_dir ⇒ Object
- #timeout_in_minutes ⇒ Object
- #update! ⇒ Object
- #use_previous_template ⇒ Object
- #user_defined_parameters ⇒ Object
- #wait ⇒ Object
Constructor Details
#initialize(options) ⇒ ManagedStackService
Returns a new instance of ManagedStackService.
9 10 11 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 9 def initialize() self. = || {} end |
Instance Attribute Details
#options ⇒ Object
Returns the value of attribute options.
5 6 7 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 5 def @options end |
#stack_action ⇒ Object
Returns the value of attribute stack_action.
7 8 9 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 7 def stack_action @stack_action end |
#stacks ⇒ Object
Returns the value of attribute stacks.
6 7 8 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 6 def stacks @stacks end |
Instance Method Details
#capabilities ⇒ Object
102 103 104 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 102 def capabilities [:capabilities] end |
#change_set! ⇒ Object
28 29 30 31 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 28 def change_set! self.stack_action = :change_set! final_stack.change_set! end |
#change_set_name ⇒ Object
122 123 124 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 122 def change_set_name [:change_set_name] end |
#create! ⇒ Object
13 14 15 16 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 13 def create! self.stack_action = :create! final_stack.create! end |
#debug ⇒ Object
90 91 92 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 90 def debug !![:debug] end |
#delete! ⇒ Object
23 24 25 26 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 23 def delete! self.stack_action = :delete! final_stack.delete! end |
#depends ⇒ Object
54 55 56 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 54 def depends [:depends] end |
#depends_on(deps) ⇒ Object
58 59 60 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 58 def depends_on(deps) [:depends] = deps end |
#depends_stacks ⇒ Object
151 152 153 154 155 156 157 158 159 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 151 def depends_stacks return @depends_stacks unless @depends_stacks.nil? @depends_stacks = [] return @depends_stacks unless [:depends] [:depends].each do |stack| @depends_stacks << Stackit::Stack.new(stack_name: stack) end @depends_stacks end |
#disable_rollback ⇒ Object
74 75 76 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 74 def disable_rollback !![:debug] ? true : !![:disable_rollback] end |
#dry_run ⇒ Object
86 87 88 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 86 def dry_run [:dry_run] end |
#force ⇒ Object
82 83 84 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 82 def force [:force] end |
#notification_arns ⇒ Object
98 99 100 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 98 def notification_arns [:notification_arns] end |
#on_failure ⇒ Object
110 111 112 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 110 def on_failure [:on_failure] end |
#parameter_mappings ⇒ Object
62 63 64 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 62 def parameter_mappings {} end |
#parameters_file ⇒ Object
49 50 51 52 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 49 def parameters_file return [:parameters_file] || File.("#{[:stack_name]}.parameters", template_dir) end |
#resolve_parameter(key) ⇒ Object
165 166 167 168 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 165 def resolve_parameter(key) Stackit.logger.debug "Resolving parameter: #{key}" Stackit::ParameterResolver.new(depends_stacks).resolve(key) end |
#resolve_parameters(keys) ⇒ Object
170 171 172 173 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 170 def resolve_parameters(keys) Stackit.logger.debug "Resolving parameters: #{keys.join(', ')}" Stackit::ParameterResolver.new(depends_stacks).resolve(keys) end |
#retain_resources ⇒ Object
114 115 116 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 114 def retain_resources [:retain_resources] end |
#stack ⇒ Object
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 126 def stack @stack ||= ManagedStack.new( template: template, stack_name: stack_name, stack_policy: stack_policy, stack_policy_during_update: stack_policy_during_update, depends: depends, parameters_file: parameters_file, parameter_map: parameter_mappings, disable_rollback: disable_rollback, wait: wait, force: force, dry_run: dry_run, debug: debug, timeout_in_minutes: timeout_in_minutes, notification_arns: notification_arns, capabilities: capabilities, tags: , on_failure: on_failure, use_previous_template: use_previous_template, retain_resources: retain_resources, change_set_name: change_set_name ) end |
#stack_name ⇒ Object
33 34 35 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 33 def stack_name [:stack_name] || "#{Stackit.environment}-#{[:stack_name]}" end |
#stack_policy ⇒ Object
41 42 43 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 41 def stack_policy [:template] end |
#stack_policy_during_update ⇒ Object
45 46 47 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 45 def stack_policy_during_update [:stack_policy_during_update] end |
#tags ⇒ Object
106 107 108 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 106 def [:tags] end |
#template ⇒ Object
37 38 39 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 37 def template [:template] || File.("#{[:stack_name]}.json", template_dir) end |
#template_dir ⇒ Object
70 71 72 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 70 def template_dir dir = [:template_dir] ? [:template_dir] : __dir__ end |
#timeout_in_minutes ⇒ Object
94 95 96 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 94 def timeout_in_minutes [:timeout_in_minutes] end |
#update! ⇒ Object
18 19 20 21 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 18 def update! self.stack_action = :update! final_stack.update! end |
#use_previous_template ⇒ Object
118 119 120 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 118 def use_previous_template [:use_previous_template] end |
#user_defined_parameters ⇒ Object
66 67 68 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 66 def user_defined_parameters {} end |
#wait ⇒ Object
78 79 80 |
# File 'lib/stackit/stack/managed_stack_service.rb', line 78 def wait [:wait] end |