Add capability to create folders

This commit adds the capability to create folders within an existing target folder. Without this change folders to support platforms targets need to be created manually.
This commit is contained in:
kirby@puppetlabs.com 2017-10-13 18:00:16 -07:00
parent 04cb1da15a
commit 4d7e9c7910

View file

@ -188,9 +188,27 @@ module Vmpooler
template: false template: false
) )
begin
vm_target_folder = find_folder(target_folder_path, connection, target_datacenter_name)
rescue => _err
if _err =~ /Unexpected object type encountered/
vm_target_folder = nil
else
raise(_err)
end
end
if vm_target_folder.nil?
if $config[:config]['create_folders'] == true
dc = connection.serviceInstance.find_datacenter(target_datacenter_name)
vm_target_folder = dc.vmFolder.traverse(target_folder_path, type=RbVmomi::VIM::Folder, create=true)
else
raise("Unexpected object type encountered while finding folder")
end
end
# Create the new VM # Create the new VM
new_vm_object = template_vm_object.CloneVM_Task( new_vm_object = template_vm_object.CloneVM_Task(
folder: find_folder(target_folder_path, connection, target_datacenter_name), folder: vm_target_folder,
name: new_vmname, name: new_vmname,
spec: clone_spec spec: clone_spec
).wait_for_completion ).wait_for_completion