Class: CFnDK::Stacks
- Inherits:
-
Object
- Object
- CFnDK::Stacks
- Defined in:
- lib/cfndk/stacks.rb
Instance Method Summary collapse
- #create ⇒ Object
- #create_change_set ⇒ Object
- #delete_change_set ⇒ Object
- #destroy ⇒ Object
- #execute_change_set ⇒ Object
-
#initialize(data, option, credentials) ⇒ Stacks
constructor
A new instance of Stacks.
- #post_command_execute ⇒ Object
- #pre_command_execute ⇒ Object
- #report ⇒ Object
- #report_change_set ⇒ Object
- #update ⇒ Object
- #validate ⇒ Object
Constructor Details
#initialize(data, option, credentials) ⇒ Stacks
Returns a new instance of Stacks.
3 4 5 6 7 8 9 |
# File 'lib/cfndk/stacks.rb', line 3 def initialize(data, option, credentials) @option = option @credentials = credentials @global_config = CFnDK::GlobalConfig.new(data, option) prepare_stack(data) prepare_sequence end |
Instance Method Details
#create ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/cfndk/stacks.rb', line 11 def create @sequence.each do |stacks| stacks.each do |name| @stacks[name].create end stacks.each do |name| @stacks[name].wait_until_create end end end |
#create_change_set ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/cfndk/stacks.rb', line 54 def create_change_set @sequence.each do |stacks| wait_until_stacks = [] stacks.each do |name| wait_until_stacks.push(@stacks[name].create_change_set) end wait_until_stacks.compact! wait_until_stacks.each do |name| @stacks[name].wait_until_create_change_set end end end |
#delete_change_set ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/cfndk/stacks.rb', line 86 def delete_change_set @sequence.reverse_each do |stacks| stacks.each do |name| @stacks[name].delete_change_set end end end |
#destroy ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/cfndk/stacks.rb', line 35 def destroy @sequence.reverse_each do |stacks| stacks.each do |name| @stacks[name].destroy end stacks.each do |name| @stacks[name].wait_until_destroy end end end |
#execute_change_set ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/cfndk/stacks.rb', line 67 def execute_change_set @sequence.each do |stacks| created_stacks = [] wait_until_stacks = [] stacks.each do |name| created_stacks.push(name) if @stacks[name].created? wait_until_stacks.push(@stacks[name].execute_change_set) end wait_until_stacks.compact! wait_until_stacks.each do |name| if created_stacks.include?(name) @stacks[name].wait_until_update else @stacks[name].wait_until_create end end end end |
#post_command_execute ⇒ Object
118 119 120 121 122 123 124 |
# File 'lib/cfndk/stacks.rb', line 118 def post_command_execute @sequence.each do |stacks| stacks.each do |name| @stacks[name].post_command_execute end end end |
#pre_command_execute ⇒ Object
110 111 112 113 114 115 116 |
# File 'lib/cfndk/stacks.rb', line 110 def pre_command_execute @sequence.each do |stacks| stacks.each do |name| @stacks[name].pre_command_execute end end end |
#report ⇒ Object
102 103 104 105 106 107 108 |
# File 'lib/cfndk/stacks.rb', line 102 def report @sequence.each do |stacks| stacks.each do |name| @stacks[name].report end end end |
#report_change_set ⇒ Object
94 95 96 97 98 99 100 |
# File 'lib/cfndk/stacks.rb', line 94 def report_change_set @sequence.each do |stacks| stacks.each do |name| @stacks[name].report_change_set end end end |
#update ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/cfndk/stacks.rb', line 22 def update @sequence.each do |stacks| updating_stacks = [] stacks.each do |name| result = @stacks[name].update updating_stacks.push name if result end updating_stacks.each do |name| @stacks[name].wait_until_update end end end |
#validate ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/cfndk/stacks.rb', line 46 def validate @sequence.each do |stacks| stacks.each do |name| @stacks[name].validate end end end |