class Chef::Knife::ScalewayImageList

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/scaleway_image_list.rb, line 27
def run
  $stdout.sync = true

  validate!

  image_list = [
    ui.color('ID',           :bold),
    ui.color('Distribution', :bold),
    ui.color('Name',         :bold),
    ui.color('Slug',         :bold)
  ]

  images = Scaleway::Image.all

  if config[:public_images]
    found_images = images.find_all { |i| i.public == true }
  else
    found_images = images.find_all { |i| i.public == false }
  end

  found_images.each do |image|
    image_list << image.id.to_s
    image_list << image.arch.to_s
    image_list << image.name.to_s
    image_list << image.public.to_s
  end

  puts ui.list(image_list, :uneven_columns_across, 4)
end