VIX API 克隆调用 - 指定参数不支持该操作

VIX API clone call - the operation is not supported for the specified parameters

我有 2 个 ESXi 主机和 vCenter 实例。我在 Ubuntu 16.04 上安装了 VIX API 软件包并尝试克隆一个 VM。为此,我使用了 documentation 中的示例。 不幸的是,我的程序在执行以下代码后崩溃并显示此消息(连接到主机并打开 vm 进程正常工作): "The operation is not supported for the specified parameters"

代码:

jobHandle = VixVM_Clone(vmHandle,
                    VIX_INVALID_HANDLE,
                    VIX_CLONETYPE_FULL,
                    "[datastore1] mytemp-21_linked/mytemp-21_linked.vmx",
                    0,
                    VIX_INVALID_HANDLE,
                    NULL, 
                    NULL);

值得注意的是,在文档示例中使用了 VIX_SERVICEPROVIDER_VMWARE_WORKSTATION 主机类型,我没有找到任何关于 ESXi 和 vCenter(VIX_SERVICEPROVIDER_VMWARE_VI_SERVER 类型)限制的信息,它也应该被支持. 我的通话有什么问题?

另外,我看到了类似的东西there,但是问题描述的很糟糕。

从 VIXAPI 操作克隆在 VMware Server 下受支持。我遇到了同样的问题,在连接到主机时,应设置主机类型并通过 VIX_SERVICEPROVIDER_VMWARE_WORKSTATION 进行连接。

您可以在 here 或支持文档中的 Requirements 下找到完整的兼容性矩阵,如上文所述,其中提到:"VMware Workstation 6.5 (not supported on VMware Server)"

正如 YSK 在上面的评论中提到的,这是 vSphere 支持的最后一个 VIX SDK 版本。 vSphere WebServices SDK 中集成了一组 VIX Guest Operation API。这是 VMware 关于如何迁移到 vSphere SDK 的文章:https://www.vmware.com/support/developer/vix-api/guestOps50_technote.pdf