Cisco Japan Blog
Share

Tetration OpenAPIで何ができる?? ~準備編~


2020年4月9日


API経由で利用できる機能 準備編

あまり知られていないですがTetrationはAPI経由でも操作可能で、WebGUIでできることはほぼ全てAPI経由でもできるようになっています。数が多いですので今後数回に分けてAPI経由で利用できる機能をご紹介していきたいと思います。

今回はOpenAPIを利用する上で必要となる準備をご紹介します。OpenAPIを利用するにはまずAPIコールに必要となるkeyとsecretの生成が必要です。これはWebGUI上で簡単に生成することができます。次にRESTのリクエストをjsonフォーマットで簡単に送ることができるPython sdk「Tetration API sdk」をインストールします。

pip install tetpyclient

このようにpipで簡単にインストールできます。以上で準備は終了です。とても簡単ですよね!

では実際にAPIコールを試してみましょう。Tetration OpenAPIは機能毎にAPIコールするエンドポイントが分かれています。今回はまず「application」の一覧を得られるAPIコールを試してみます。

-------------------------------------------------------------------------------
from tetpyclient import RestClient
import json

API_ENDPOINT="https://{cluster's IP address or FQDN}"
rc = RestClient(API_ENDPOINT,credentials_file='credentials.json', verify=False)
resp = rc.get('/applications')
app = resp.json()
-------------------------------------------------------------------------------

API_ENDPOINTでAPIコールの宛先を指定します。WebGUIと同じ宛先です。
予め生成したAPI keyとAPI secretはcredentialファイルとして任意のパスに置き、credentials_fileとして指定します。

applicationの一覧を得られるAPIコールのパスは’/applications’ですのでこれをgetしてレスポンスを得ます。得られたデータ’app’をデコードして一覧表示すると以下のような出力になります。


これは自身の権限で参照可能な範囲のapplicationの一覧データです。このAPIコールで得られるデータで重要なことはapplicationの名前の他にid、adm_versionといった付随データを得られる点です。

今後のAPI関連のブログでも触れますが、API経由での操作はapplication, scope, filter, clusterなど多くの要素において全てid番号を元に指定する必要があり、APIコールの結果得たデータから’id’といった任意のkeyをparseしvalueを抽出することは今後どのようなオペレーションを行う上でも必須の要件となります。難しく聞こえるかもしれませんが、データ構造さえ分かってしまえばあとは簡単なPythonの知識で実行可能な操作です。ぜひ皆さんも一度API経由での操作に挑戦してみてください!

Tags:
コメントを書く