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 committed by mattkirby
parent ada79e81f4
commit 2ffada72b6

View file

@ -188,9 +188,27 @@ module Vmpooler
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
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,
spec: clone_spec
).wait_for_completion