0

我正在努力寻找一种使用 vSphere SDK JAVA API 删除 VirtualMachine 的方法,但似乎没有任何效果。据我所知,我需要获取 VirtualMachine ManagedObject 的实例并调用 Destroy_Task() ,但到目前为止,我只能通过使用 PropertyCollector 来获取虚拟机的 ManagedObjectReference,这对这个特定任务没有帮助。

我在互联网上找不到任何可以展示如何做到这一点的例子,希望这里有人可以帮助我。

提前致谢

4

2 回答 2

0

好的,我设法解决它..SO ManagedObject 是服务器端对象,在客户端我们只能访问 ManageObjectReference,

要执行 ManagedObject 的方法,我们需要通过 VimPortType vimPort 调用它们。SO删除虚拟机槽API的步骤是

  1. 我们得到特定虚拟机的 ManagedObjectReference
  2. 从步骤 1 调用 vimPort(mor) where ManagedObjectReference 中的 mor。

就这样。

于 2013-11-13T13:56:15.050 回答
0

使用 java api 在 VMware 实例上执行操作非常容易。

  1. 获取服务实例
  2. 从服务实例获取根文件夹
  3. 在根文件夹中使用 vmname 搜索虚拟机
  4. 执行操作

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 是最好的。你只需要深入研究它。

于 2017-05-11T17:32:03.270 回答