Class: InstanceStatus

Inherits:
Object
  • Object
show all
Defined in:
lib/danarchy_sys/cli/instance_manager/instance_status.rb

Instance Method Summary collapse

Constructor Details

#initialize(os_compute) ⇒ InstanceStatus

Returns a new instance of InstanceStatus.



3
4
5
6
# File 'lib/danarchy_sys/cli/instance_manager/instance_status.rb', line 3

def initialize(os_compute)
  @images = os_compute.images
  @flavors = os_compute.flavors
end

Instance Method Details

#_header(format) ⇒ Object



50
51
52
# File 'lib/danarchy_sys/cli/instance_manager/instance_status.rb', line 50

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

#all_instances(instances) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/danarchy_sys/cli/instance_manager/instance_status.rb', line 8

def all_instances(instances)
  istats = {}

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

  fields = %w[name status 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['status'],
           i['image'],
           i['vcpus'],
           i['ram'],
           i['disk'],
           i['keypair'],
          )
  end

  istats
end

#single_instance(instance) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/danarchy_sys/cli/instance_manager/instance_status.rb', line 34

def single_instance(instance)
  image = Helpers.object_to_hash(@images.get_image_by_id(instance[:image]['id']))
  flavor = Helpers.object_to_hash(@flavors.get_flavor_by_id(instance[:flavor]['id']))
  
  image = {:name => 'Not Found'} if image == nil

  istats = { 'name'  => instance[:name],
             'status' => instance[:state],
             'image' => image[:name],
             'vcpus' => flavor[:vcpus],
             'ram'   => flavor[:ram],
             'disk'  => flavor[:disk],
             'keypair' => instance[:key_name],
           }
end