Class: Fog::Kubevirt::Compute::Vminstance

Inherits:
Model
  • Object
show all
Extended by:
VmParser
Defined in:
lib/fog/kubevirt/compute/models/vminstance.rb

Class Method Summary collapse

Methods included from VmParser

parse_disks, parse_interfaces, parse_networks, parse_volumes

Class Method Details

.parse(object) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/fog/kubevirt/compute/models/vminstance.rb', line 26

def self.parse(object)
   = object[:metadata]
  status = object[:status]
  spec = object[:spec]
  domain = spec[:domain]
  disks = parse_disks(domain[:devices][:disks])
  networks = parse_networks(spec[:networks])
  {
    :namespace        => [:namespace],
    :name             => [:name],
    :resource_version => [:resourceVersion],
    :uid              => [:uid],
    :owner_name       => .dig(:ownerReferences, 0, :name),
    :owner_uid        => .dig(:ownerReferences, 0, :uid),
    :cpu_cores        => domain.dig(:cpu, :cores),
    :memory           => domain[:resources][:requests][:memory],
    :disks            => disks,
    :volumes          => parse_volumes(spec[:volumes], disks),
    :interfaces       => parse_interfaces(domain[:devices][:interfaces], status[:interfaces], networks),
    :networks         => networks,
    :ip_address       => status.dig(:interfaces, 0, :ipAddress),
    :node_name        => status[:nodeName],
    :status           => status[:phase]
  }
end