vSphere SDK如何在JAVA中删除虚拟机

时间:2013-11-13 13:25:14

标签: java vmware vsphere

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

我在互联网上找不到任何可以说明如何做的例子,希望有人可以帮助我。

提前谢谢

2 个答案:

答案 0 :(得分:0)

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

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

  1. 我们获得特定虚拟机的ManagedObjectReference
  2. 从第1步调用ManagedObjectReference中的mor的vimPort(mor)。
  3. 多数人。

答案 1 :(得分:0)

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

  1. 获取服务实例
  2. 从服务实例获取根文件夹
  3. 使用根文件夹中的vmname搜索虚拟机
  4. 执行操作
  5. 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是最好的工作方式。你只需要深入了解它。