Как запустить/протестировать VMware Perl SDK с ESXi 5.1?

Кто-нибудь знает особенности запуска Perl-скриптов на сервере VMware ESXi 5.1, который есть у меня дома? Я скачал следующие пакеты и установил их на 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. молния

Когда пакеты были установлены, я убедился, что все зависимости модуля Perl соблюдены. Что мне делать дальше? Например. Как мне просто запросить список виртуальных машин, работающих на сервере ESXi, в Perl?


person farhany    schedule 09.01.2013    source источник


Ответы (1)


Проверьте приведенный ниже код, чтобы получить имена виртуальных машин:

#!/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=/com.vmware.wssdk.apiref.doc_50/right-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.

person slayedbylucifer    schedule 09.01.2013
comment
Большое спасибо. Я еду на гонки. Просто нужен способ связать команды через PHP, и это будет вишенкой на торте. - person farhany; 09.01.2013
comment
Я думаю, что vCloud SDK для PHP может быть билетом. Но пока с Perl можно поэкспериментировать для проверки концепции. - person farhany; 09.01.2013
comment
vCloud PHP SDK работает только с vCloud Director, но не с vSphere (vCenter и ESXi). - person slayedbylucifer; 09.01.2013