class Chef::Knife::SakuraArchiveList

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/sakura_archive_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],
  )

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