Class: Chef::Knife::ProxmoxServerModify

Inherits:
Chef::Knife show all
Includes:
ProxmoxBase
Defined in:
lib/chef/knife/proxmox_server_modify.rb

Instance Method Summary collapse

Methods included from ProxmoxBase

#action_response, #check_config_parameter, #check_global_parameter, #connection, #destroy_item, included, #locate_config_value, #new_vmid, #server_create, #server_destroy, #server_get_data, #server_modify, #server_name_to_vmid, #server_start, #server_stop, #server_umount, #template_number_to_name, #vmid_to_node, #waitfor

Instance Method Details

#runObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/chef/knife/proxmox_server_modify.rb', line 42

def run
  # Needed
  connection
  
  vm_config = Hash.new

  vm_config[:id]       = config[:vm_vmid]     || nil
  vm_config[:hostname] = config[:vm_hostname] || nil
  vm_config[:cpus]     = config[:vm_cpus]     || nil #server_get_data(vm_id,"cpus")
  vm_config[:memory]   = config[:vm_memory]   || nil #server_get_data(vm_id,"memory")
  vm_config[:disk]     = config[:vm_disk]     || nil #server_get_data(vm_id,"disk")
  vm_config[:swap]     = config[:vm_swap]     || nil #server_get_data(vm_id,"swap")
  
  vm_mod_op = vm_config.keys.select { |v| vm_config[v] }
  vm_definition = []
  vm_mod_op.each do |k|
    # volver a usar el inject
    vm_definition << "#{k.to_s}=#{vm_config[k].to_i}" unless k == :id
  end
  vm_modification = vm_definition.join('&').to_s
  
  
  Chef::Log.debug(vm_modification)
  server_modify(vm_config[:id],vm_modification)

end