Module: ProxmoxVMEfidiskHelper

Included in:
ProxmoxVMHelper
Defined in:
app/helpers/proxmox_vm_efidisk_helper.rb

Overview

Convert a foreman form server hash into a fog-proxmox server attributes hash

Instance Method Summary collapse

Instance Method Details

#parse_typed_efidisk(args, _vmid, _type) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
# File 'app/helpers/proxmox_vm_efidisk_helper.rb', line 43

def parse_typed_efidisk(args, _vmid, _type)
  logger.debug(format(_('parse_efidisk(): args=%<args>s'), args: args))
  efidisk = {}
  efidisk[:id] = args['id'] if args.key?('id')
  efidisk[:volid] = args['volid']
  efidisk[:size] = args['size'].to_i if args.key?('size') && !args['size'].empty?
  efidisk[:format] = args['format']
  efidisk[:efitype] = args['efitype'] if args.key?('efitype') && !args['efitype'].empty?
  efidisk[:pre_enrolled_keys] = args['pre_enrolled_keys'] if args.key?('pre_enrolled_keys')
  Fog::Proxmox::EfidiskHelper.flatten(efidisk)
end

#parsed_typed_efidisk(args, type, parsed_vm) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'app/helpers/proxmox_vm_efidisk_helper.rb', line 26

def parsed_typed_efidisk(args, type, parsed_vm)
  attrs = args['efidisk_attributes']

  # we need the vmid to create the volid if not present
  vmid = args['vmid'] if args.key?('vmid')
  # fallback to a dummy vmid for new vms
  vmid ||= 'no_vmid_yet'

  logger.debug("parsed_typed_efidisk(#{type}): attrs=#{attrs} with #{vmid}")
  unless ForemanFogProxmox::Value.empty?(args['efidisk_attributes'])
    efidisk = parse_typed_efidisk(attrs, vmid, type)
    logger.debug("parsed_typed_efidisk(#{type}): efidisk=#{efidisk}")
    parsed_vm = parsed_vm.merge(efidisk)
  end
  parsed_vm
end