我试图找到一个代码支持在python
数据中心的文件夹之间移动机器但没有成功,我看到pysphere
你可以在克隆阶段定义文件夹,而不是在机器已经克隆之后。
这似乎是我的问题的解决方案,但它在 powershell 中,有人知道在 python 中对它的包装支持吗
我试图找到一个代码支持在python
数据中心的文件夹之间移动机器但没有成功,我看到pysphere
你可以在克隆阶段定义文件夹,而不是在机器已经克隆之后。
这似乎是我的问题的解决方案,但它在 powershell 中,有人知道在 python 中对它的包装支持吗
你可以用 pyVmomi 做到这一点。我会避免使用 pysphere,因为 pyVmomi 由 VMWare 维护,并且 pysphere 在 4 年或更长时间内没有更新。
这就是说这里是一些使用 pyVmomi 的示例代码
service_instance = connect.SmartConnect(host=args.host,
user=args.user,
pwd=args.password,
port=int(args.port))
search_index = service_instance.content.searchIndex
folder = search_index.FindByInventoryPath("LivingRoom/vm/new_folder")
vm_to_move = search_index.FindByInventoryPath("LivingRoom/vm/test-vm")
move_task = folder.MoveInto([vm_to_move])
在此示例中,我ServiceInstance
通过连接到 vCenter 创建一个,接下来我获取一个SearchIndex
. 有SearchIndex
几种方法可用于定位您的托管对象。在此示例中,我决定使用该FindByInventoryPath
方法,但您可以使用任何适合您的方法。首先,我找到我想要移入的Folder
命名实例。接下来我找到我要移动的。最后,我执行将为我移动虚拟机的操作。该任务采用要移动到文件夹中的对象列表的参数,在这种情况下,它是一个项目列表,仅包含我要移动的一个 vm。如果需要,您可以从这里监控任务。new_folder
VirtualMachine
VirtualMachine
Task
请记住,如果您使用FindByInventoryPath
GUI 中不可见的许多隐藏文件夹。我发现使用ManagedObjectBrowser有时非常有帮助。
有用的文档链接: