ZabbixAPI.pmのこと(晒されたり更新したり)

FISL12というブラジルのオープンソースカンファレンスで@さんが講演され、
その中で以前作成したZabbixAPI.pmが紹介されました!
(ほんとに軽くですがw)

@さんありがとうございました!

加えてZABBIX-JPのツール紹介ページにもざびたんと並んで、
ZabbixAPI.pmとzabtopが紹介されています。(@さんありがとうございます><)



ただZabbixAPI.pmは数十行程度の簡単なものでちょっと気後れしてしまったので、
事前に機能を追加して行数を100行にしましたw
サンプルも更新しましたが、API呼び出し時に引数を追加すると指定したキーの配列、ハッシュを返すようになってます。

#!/usr/bin/perl
use strict;
use warnings;

use Data::Dumper;
use ZabbixAPI;

my $za = ZabbixAPI->new("http://127.0.0.1/zabbix/");
$za->auth("USER", "PASSWORD");

print Dumper $za->apiinfo_version();
#@response
#$VAR1 = '1.3';

print Dumper $za->hostgroup_get({output => "extend"});
#@response
#$VAR1 = [
# {
# 'name' => 'Templates',
# 'groupid' => '1',
# 'internal' => '0'
# },
# ...

print Dumper $za->hostgroup_get({output => "extend"}, 'name');
#@response
#$VAR1 = [
# 'Templates',
# 'Linux servers',
# ...

print Dumper $za->hostgroup_get({output => "extend"}, 'groupid', 'name');
#@response
#$VAR1 = {
# '3' => 'Windows servers',
# '2' => 'Linux servers',
# '1' => 'Templates',
# ...


Perlは配列やハッシュの操作が非常に簡単な言語なので必要ないと思ってたのですがついw