linux - 如何使用 ESXi 5.1 运行/测试 VMware Perl SDK?

标签 linux perl vmware esxi vsphere

有人知道针对我家里的 VMware ESXi 5.1 服务器运行 Perl 脚本的细节吗?我已经下载了以下内容并在 Ubuntu 12.04 LTS 机器上安装了这些包,但我不知道如何开始。

VMware-vSphere-CLI-5.1.0-780721.x86_64.gz
VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.gz
VMware-vSphere-SDK-5.1.0-774886.zip

安装包时,我确保满足所有 Perl 模块依赖性。接下来我该做什么?例如。我如何仅使用 Perl 查询在 ESXi 服务器上运行的虚拟机列表?

最佳答案

检查下面的代码以获取 VM 名称:

#!/usr/bin/perl -w
use strict;
use VMware::VIRuntime;

my %opts = (
               datacenter => {
                        type        => "=s",
                        help        => "Enter the Dacenter Name",
                        required    => 1,
                    },
            );

Opts::add_options(%opts);
Opts::parse();
Opts::validate();
Util::connect();

my $dc = Opts::get_option("datacenter");
my $datacenter = Vim::find_entity_view ( view_type      => "Datacenter",
                                         properties     => [ "name" ],
                                         filter         => { name => $dc },
                                    );

my $vms = Vim::find_entity_views ( view_type       => "VirtualMachine",
                                   properties      => [ "name" ],
                                   begin_entity    => $datacenter,
                                );

foreach my $vm ( @$vms )
{
    print $vm->name."\n";
}
Util::disconnect();

运行上面的脚本如下:

perl vm_list.pl  --server <vCenter_server_name> --datacenter <Datacenter_name>

当然,除非您阅读 vSphere perl SDK 文档,否则上面的代码对您没有任何意义。请引用以下链接以帮助您入门:

带有 vpshere 对象解释的示例代码:http://www.vmware.com/support/developer/viperltoolkit/doc/perl_toolkit_guide_idx.html

API 引用指南:http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc_50%2Fright-pane.html

客户端对象:http://pubs.vmware.com/vi301/admin/wwhelp/wwhimpl/common/html/wwhelp.htm?context=admin&file=BSA_Inventory.9.2.html

通用 API 文档:http://www.vmware.com/support/developer/viperltoolkit/

www.google.com

关于linux - 如何使用 ESXi 5.1 运行/测试 VMware Perl SDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14227143/

相关文章:

perl - 初始化后应该如何定义 Moose 对象子例程?

windows - PAR 打包程序可执行文件大小

PERLLIB 成功注入(inject)@INC 数组,但不适用于非交互式 shell

hadoop - 如何将 Cloudera Hadoop "vbox"VMDK 转换为 VirtualBox VDI

python - Django VMware 设备

c++ - Libpcap 示例不起作用,但项目在 Eclipse 中构建?

linux - "Bad File Descriptor"异常因为使用nohup

linux - 递归路径变量?

linux - 在 shell 中自定义制表符补全

mercurial - HG克隆在Redmine VMWare计算机上返回 "abort: HTTP Error 406: Not Acceptable"