Class: Chef::Knife::OneandoneServerStop

Inherits:
Chef::Knife show all
Includes:
OneandoneBase
Defined in:
lib/chef/knife/oneandone_server_stop.rb

Instance Method Summary collapse

Methods included from OneandoneBase

#formated_output, included, #init_client

Instance Method Details

#runObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/chef/knife/oneandone_server_stop.rb', line 19

def run
  $stdout.sync = true

  init_client

  method = config[:force] ? 'HARDWARE' : 'SOFTWARE'

  name_args.each do |server_id|
    server = OneAndOne::Server.new
    response = server.change_status(server_id: server_id, action: 'POWER_OFF', method: method)

    if config[:wait]
      puts ui.color('Stopping, wait for the operation to complete...', :cyan).to_s
      server.wait_for
      puts "Server '#{server.specs['name']}' is #{ui.color('stopped', :bold)}"
    else
      puts "Server '#{response['name']}' is #{ui.color('stopping', :bold)}"
    end
  end
end