From 78ccacaf631b859df5348e88d3cec9cc666c0bee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=816?= <88365100+nglszhaosi@users.noreply.github.com> Date: Sat, 28 Sep 2024 15:59:31 +0800 Subject: [PATCH] Update clone_vm.py In clone.py, there is a problem with finding the data center. If datacenter_name is not passed, an error will be reported. I added the judgment logic when searching, and now the data center can be found correctly --- samples/clone_vm.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/samples/clone_vm.py b/samples/clone_vm.py index 3ef3dc74..790da2ce 100755 --- a/samples/clone_vm.py +++ b/samples/clone_vm.py @@ -33,8 +33,20 @@ def clone_vm( cluster_name, resource_pool, and power_on are all optional. """ - # if none git the first one - datacenter = pchelper.get_obj(content, [vim.Datacenter], datacenter_name) + # If no data center name is provided, get the default first data center + if datacenter_name: + datacenter = pchelper.get_obj(content, [vim.Datacenter], datacenter_name) + else: + datacenters = content.rootFolder.childEntity + for dc in datacenters: + if isinstance(dc, vim.Datacenter): + datacenter = dc + print(f"Automatically selected data center: {datacenter.name}") + break + else: + raise RuntimeError("No data centers found") + + if vm_folder: destfolder = pchelper.search_for_obj(content, [vim.Folder], vm_folder)