Class: Chef::Knife::OneandoneServerHddResize

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

Instance Method Summary collapse

Methods included from OneandoneBase

#formated_output, included, #init_client

Instance Method Details

#runObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/chef/knife/oneandone_server_hdd_resize.rb', line 29

def run
  $stdout.sync = true

  init_client

  server = OneAndOne::Server.new

  begin
    server.get(server_id: config[:server_id])
  rescue StandardError => e
    if e.message.include? 'NOT_FOUND'
      ui.error("Server ID #{config[:server_id]} not found")
    else
      ui.error(e.message)
    end
    exit 1
  end

  server.modify_hdd(server_id: config[:server_id], hdd_id: config[:disk_id], size: config[:disk_size])

  if config[:wait]
    puts ui.color('Resizing, wait for the operation to complete...', :cyan).to_s
    server.wait_for
    puts "HDD #{config[:disk_id]} is #{ui.color('resized', :bold)}"
  else
    puts "HDD #{config[:disk_id]} is #{ui.color('resizing', :bold)}"
  end
end