2013-01-09 57 views
1

有没有人知道我在家里使用的VMware ESXi 5.1服务器上运行Perl脚本的具体情况?我已经下载了以下内容并将其安装在Ubuntu 12.04 LTS机器上,但我不知道如何开始。如何使用ESXi 5.1运行/测试VMware Perl SDK?

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列表?

回答

4

检查下面的代码来获取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对象explantion

示例代码: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

+0

谢谢非常。我参加比赛。只需要一种通过PHP绑定命令的方式,那就是锦上添花。 – farhany

+0

我认为vCloud SDK for PHP可能是门票。但是现在,Perl应该很好地用于验证概念目的。 – farhany

+1

vCloud PHP SDK仅适用于vCloud Director,不适用于vSphere(vCenter和ESXi) – slayedbylucifer