mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-27 02:18:41 -05:00
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:
parent
04cb1da15a
commit
4d7e9c7910
1 changed files with 19 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue