1

尝试并尝试使用 vsphere 提供程序在雾 1.9 中做一些非常简单的事情。那里的小文档中的示例对我不起作用。

我想列出一个文件夹中的所有虚拟机。简单吧?

试过...

credentials = {
    :provider => "vsphere",
    :vsphere_username => user,
    :vsphere_password=> pass,
    :vsphere_server => "vc_name",
    :vsphere_ssl    => true,
    :vsphere_expected_pubkey_hash => "1466f20c1b3f990a2a018dc2ca22a79fc2d0284ab4aac534c47blah"
}

compute = Fog::Compute.new(credentials)
vms = compute.servers.all('folder' => '/Datacenters/Ewl/Self-Service')

pp vms

这将连接并搅动并返回数据中心中的所有虚拟机,而不仅仅是文件夹。Grr。

我在文件夹变量上尝试了很多变体,例如

vms = compute.servers.all('folder' => '/Hosts & Clusters/Ewl1_vm/Self-Service')
vms = compute.servers.all('folder' => 'Self-Service')
vms = compute.servers.all('folder' => 'Self-Service','datacenter' => 'Ewl')

但所有人都做同样的事情。

我已经完成了代码,但它并没有真正帮助我。

帮助!

4

1 回答 1

1

如果我了解您的数据中心和文件夹名称是什么,那么简单的方法是:

vms = compute.list_virtual_machines(datacenter: 'Ewl', folder: 'Self-Service')

.servers.all 过滤器中的“文件夹”假设应该可以工作,但是您一定会发现隐藏路径、超过 1 个数据中心等的惊喜。

于 2013-02-05T21:24:54.820 回答