mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 10:08:40 -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
ada79e81f4
commit
2ffada72b6
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