VMwareの運用・監視ツールである
vRealize Operations Manager(vROps)
のAPI経由からPythonスクリプトで使ってデータを取得してみました。ここでは、基礎的な部分について説明します。
環境
項目 | バージョン |
---|---|
vROps | 6.4.0.4635874 |
Python | 3.4 |
vROps APIドキュメント
vROpsをインストールしていれば、以下のURLでドキュメントが確認できます。
URL |
---|
https://vROps IP or FQDN/suite-api/docs/rest/index.html |
テストスクリプト
早速、APIを実行してみようと思います。
vROps APIの基本仕様は以下の通りです。
項目 | 内容 |
---|---|
認証 | Basic認証 |
レスポンスデータ | XML(デフォルト), JSON |
ここでは、JSONでGETしてみようと思います。
また、pythonでWebデータをやりとりするモジュールはいくつかありますが、例として urllib
と requests
を使います。
取得するデータは getAllActions(/api/actiondefinitions)
を取得します。
レスポンス結果は、システムで定義されている使用可能なアクションが取得できます。
Look up all Action Definitions in the system.
Performing a GET /api/actiondefinitions call will query for all available Actions defined in the system. This includes the data needed to populate an Action in the system.
urllibでやってみる
urllib
は標準で入っているモジュールです。
requestsでやってみる
requests
は別途モジュールのインストールが必要です。
pipなどでインストールしてください。
実行結果
以下のように出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "actionDefinitions": [ { "contextAdapterKindKey": "VMWARE", "canRecommend": true, "displayName": "Delete Idle VM", "type": "UPDATE", "contextIds": [ "DeleteIdleVM" (snip) "pageInfo": { "pageSize": 1000, "totalCount": 55, "page": 0 } } |