Sha256: dba0b1084c5a5f0029b6caf5dfb3f310a49f0e2bbefc566c487bd491889438c0

Contents?: true

Size: 1.33 KB

Versions: 6

Compression:

Stored size: 1.33 KB

Contents

class InstanceStatus
  def self.all_instances(os_compute, instances)
    istats = {}

    id = 1
    instances.each do |instance|
      istats[id] = single_instance(os_compute, instance)
      id += 1
    end

    fields = %w[name state image vcpus ram disk keypair]
    format = PrintFormats.printf_numhash_values(istats, fields)
    _header(format)
    
    istats.each do |id, i|
      printf("#{format}\n", "#{id}.",
             i['name'],
             i['state'],
             i['image'],
             i['vcpus'],
             i['ram'],
             i['disk'],
             i['keypair'],
            )
    end
  end

  def self.single_instance(os_compute, instance)
    comp_inst = os_compute.compute_instances
    comp_imgs = os_compute.compute_images
    comp_flvs = os_compute.compute_flavors

    image  = comp_imgs.get_image_by_id(instance.image['id'])
    flavor = comp_flvs.get_flavor_by_id(instance.flavor['id'])

    istats = { 'name'  => instance.name,
               'state' => instance.state,
               'image' => image.name,
               'vcpus' => flavor.vcpus,
               'ram'   => flavor.ram,
               'disk'  => flavor.disk,
               'keypair' => instance.key_name,
             }
  end

  def self._header(format)
    printf("#{format}\n", 'Id', 'Name', 'State', 'Image', 'VCPUS', 'RAM', 'Disk', 'KeyPair')
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
danarchy_sys-0.2.16 lib/danarchy_sys/cli/instance_manager/instance_status.rb
danarchy_sys-0.2.15 lib/danarchy_sys/cli/instance_manager/instance_status.rb
danarchy_sys-0.2.14 lib/danarchy_sys/cli/instance_manager/instance_status.rb
danarchy_sys-0.2.12 lib/danarchy_sys/cli/instance_manager/instance_status.rb
danarchy_sys-0.2.11 lib/danarchy_sys/cli/instance_manager/instance_status.rb
danarchy_sys-0.2.10 lib/danarchy_sys/cli/instance_manager/instance_status.rb