class Chef::Knife::SakuraDiskList

Public Instance Methods

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

  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],
  )

  disk_list = [
    ui.color('ID', :bold),
    ui.color('Name', :bold),
    ui.color('Plan', :bold),
    ui.color('Size', :bold),
  ]
  volume.disks.sort_by(&:id).each do |disk|
    disk_list << disk.id.to_s
    disk_list << disk.name
    disk_list << disk.plan['Name']
    disk_list << disk.size_mb.to_s
  end
  puts ui.list(disk_list, :columns_across, 4)
end