Class: Nvoi::Cli::Delete::Steps::TeardownServer

Inherits:
Object
  • Object
show all
Defined in:
lib/nvoi/cli/delete/steps/teardown_server.rb

Overview

TeardownServer handles server deletion

Instance Method Summary collapse

Constructor Details

#initialize(config, provider, log) ⇒ TeardownServer

Returns a new instance of TeardownServer.



9
10
11
12
13
14
# File 'lib/nvoi/cli/delete/steps/teardown_server.rb', line 9

def initialize(config, provider, log)
  @config = config
  @provider = provider
  @log = log
  @namer = config.namer
end

Instance Method Details

#runObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/nvoi/cli/delete/steps/teardown_server.rb', line 16

def run
  servers = @config.deploy.application.servers
  return if servers.empty?

  servers.each do |group_name, group_config|
    next unless group_config

    count = group_config.count.positive? ? group_config.count : 1
    @log.info "Deleting %d server(s) from group '%s'", count, group_name

    (1..count).each do |i|
      server_name = @namer.server_name(group_name, i)
      delete_server(server_name)
    end
  end
end