class ForemanAP::BuildSpec

A build specification

Attributes

cpus[RW]

Number of CPUs

disk_capacity[RW]

Amount of disk space. Multiple disks can be separated with a comma.

disk_format[RW]

The disk format; either raw or qcow2

domain[RW]

DNS domain name

memory[RW]

Amount of memory

name[RW]

Short hostname

network_interface[RW]

Network interface

storage_pool[RW]

The libvirt storage pool

Public Instance Methods

to_foreman_api() click to toggle source

Generate output suitable for feeding into the Foreman API

# File lib/foreman_vm/buildspec.rb, line 23
def to_foreman_api
  rec = {}
  rec['compute_attributes'] = {}
  rec['compute_attributes']['volumes_attributes'] = disk_capacity_to_api
  rec
end

Private Instance Methods

disk_capacity_to_api() click to toggle source

Get the Foreman API equivalent for disk capacity

# File lib/foreman_vm/buildspec.rb, line 33
def disk_capacity_to_api
  res = {}
  disks = @disk_capacity
  volume_id = 0
  disks.split(',').each do |disk_size|
    res[volume_id.to_s] = {
      'capacity' => disk_size,
      'pool_name' => @storage_pool,
      'format_type' => @disk_format,
    }
    volume_id += 1
  end
  res
end