1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| #! /usr/bin/perl -w
use strict;
use warnings;
# 导入 vSphere SDK for Perl 的运行支持模块
# 此模块用来完成服务器端 - 客户端数据映射、载入客户端和服务器端之间的交互函数等
use VMware::VIRuntime;
# hash 结构 %opts 存放自定义命令行参数
my %opts =(
entity => {
type => "=s",
variable => "VI_ENTITY",
help => "ManagedEntity type: HostSystem, etc",
required => 1,
},
);
# vSphere SDK for Perl 为所有脚本提供了一些基本的命令行参数,如 --server,--url 等
# Opts::add_options 方法用以添加用户自定义参数
Opts::add_options(%opts);
# 解析命令行参数
Opts::parse();
# 验证命令行参数
Opts::validate();
# 连接远程服务器,vCenter 或 ESX server
Util::connect();
# 提取命令行参数 entity 的值
my $entity_type = Opts::get_option('entity');
# 根据 entity 值查询服务器端对象,
# Vim::find_entity_views 返回服务器端对象对应的 Perl 视图
my $entity_views = Vim::find_entity_views(view_type=>$entity_type);
# 输出服务器端对象 Perl 视图的信息,如类型和名称等
foreach my $entity_view (@$entity_views) {
my $entity_name = $entity_view->name;
Util::trace(0, "Found $entity_type: $entity_name\n");
}
# 断开与远程服务器的连接
Util::disconnect();
|