我正在努力寻找一种使用 vSphere SDK JAVA API 删除 VirtualMachine 的方法,但似乎没有任何效果。据我所知,我需要获取 VirtualMachine ManagedObject 的实例并调用 Destroy_Task() ,但到目前为止,我只能通过使用 PropertyCollector 来获取虚拟机的 ManagedObjectReference,这对这个特定任务没有帮助。
我在互联网上找不到任何可以展示如何做到这一点的例子,希望这里有人可以帮助我。
提前致谢
好的,我设法解决它..SO ManagedObject 是服务器端对象,在客户端我们只能访问 ManageObjectReference,
要执行 ManagedObject 的方法,我们需要通过 VimPortType vimPort 调用它们。SO删除虚拟机槽API的步骤是
就这样。
使用 java api 在 VMware 实例上执行操作非常容易。
Folder rootFolder = serviceInstance.getRootFolder();
InventoryNavigator inventoryNavigator = new InventoryNavigator(rootFolder);
vm = (VirtualMachine) inventoryNavigator.searchManagedEntity(VirtualMachine.class.getSimpleName(), vmName);
Task task = vm.powerOffVM_Task();
task.waitForTask();
Task task1 = vm.destroy_Task();
到目前为止,我已经在几乎所有云的 java api 上工作过。但是 VMware 的 api 是最好的。你只需要深入研究它。