Infoblox(インフォブロックス)使ってみようAPI その1

はじめに

Infobloxは基本的にGUIで操作しますが、PerlAPIやWebAPIによる操作も可能です。APIを利用することで他システムと連携させたり、定型作業を自動化したりできます。今回はWebAPIの基本をご紹介したいと思います。

Web APIとは?

WebAPIはその名の通り、HTTPやHTTPSを使って実行され、4つのHTTPメソッドを使って設定を取得したり、変更したりします。それぞれ主に以下の用途で使用します。

POST 設定追加
GET 設定情報の取得
PUT 設定変更
DELETE 設定削除

WebAPIはGrid MasterにHTTPSで接続することで利用できます。認証方式や接続先(Grid Master)をURL形式で指定することでアクセスします。実際の使い方を次の項で紹介します。

cURLとは?

スクリプトを組む際はPythonなどの言語を使うと便利ですが、ちょっとテストしたい時や、どんなデータが取得できるのか確認したい時にはcURLというツールを使うと便利です。cURLはコマンドラインでデータを送信できるツールでHTTPを含む様々なプロトコルに対応しています。早速使い方を見てみましょう。

まずは、GETコマンドで情報を取得してみます。

上記実行するとこんな感じで結果が返ってきます。

[
    {
        "_ref": "network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default",
        "network": "192.168.1.0/24",
        "network_view": "default"
    },
    {
        "_ref": "network/ZG5zLm5ldHdvcmskMTkyLjE2OC4yLjAvMjQvMA:192.168.2.0/24/default",
        "network": "192.168.2.0/24",
        "network_view": "default"
    }
]

networkオブジェクトを指定したので、設定されているネットワーク情報が返ってきました。「192.168.1.0/24」と「192.168.2.0/24」のネットワークが登録されています。

GUIで見てみると同じく2つのネットワークが登録されていました。

返ってきた結果を簡単に解説します。

_ref:xxxxxx オブジェクト固有の値です。このオブジェクトに対して変更や削除を行いたい場合に指定するフィールドとなります。全てのオブジェクトが持っています。
network ネットワーク名です。networkオブジェクト固有のフィールドとなります。
network_view ネットワークVIEW名です。こちらも固有のフィールドとなります。

次に新しいネットワークを登録してみましょう。

実行後、再度GETコマンドで情報を取得すると、以下のように「192.168.3.0/24」のネットワークが追加されています。

[
    {
        "_ref": "network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default",
        "network": "192.168.1.0/24",
        "network_view": "default"
    },
    {
        "_ref": "network/ZG5zLm5ldHdvcmskMTkyLjE2OC4yLjAvMjQvMA:192.168.2.0/24/default",
        "network": "192.168.2.0/24",
        "network_view": "default"
    },
    {
        "_ref": "network/ZG5zLm5ldHdvcmskMTkyLjE2OC4zLjAvMjQvMA:192.168.3.0/24/default",
        "network": "192.168.3.0/24",
        "network_view": "default"
    }
]

GUIで見ると「192.168.3.0/24」が追加されていました。

まとめ

簡単にですが、WebAPIの実行例を紹介しました。次回以降Pythonでの書き方など紹介できればと思います。

お問い合わせ・資料請求

株式会社マクニカ Infoblox 担当

月~金 8:45~17:30