2013-01-09 64 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