class Chef::Knife::SakuraDiskDelete

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/sakura_disk_delete.rb, line 34
def run
  validate!

  delete_disk_id = locate_config_value( :id )

  if delete_disk_id == nil
    puts 'Error. Missing disk id (-i) option.'
  else

    volume = Fog::Volume.new(
      :provider => 'SakuraCloud',
      :sakuracloud_api_token => Chef::Config[:knife][:sakuracloud_api_token],
      :sakuracloud_api_token_secret => Chef::Config[:knife][:sakuracloud_api_token_secret],
    )

    begin
      response = volume.disks.delete( delete_disk_id )
      if response
        puts "succeeded."
      else
        puts "failed."
      end
    rescue Exception
      body = Fog::JSON.decode( $!.response.body )
      puts "#{body['status']}: #{body['error_msg']}"
    end
  end
end