REST API について
The Application Policy Infrastructure Controller (APIC) REST API is a programmatic interface that uses REST architecture. API は JavaScript オブジェクトの表記(JSON)または拡張マークアップ言語(XML)のドキュメントを含む HTTP(デフォルトでは無効)または HTTPS のメッセージを受け入れ、返します。You can use any programming language to generate the messages and the JSON or XML documents that contain the API methods or Managed Object (MO) descriptions.
The REST API is the interface into the management information tree (MIT) and allows manipulation of the object model state. The same REST interface is used by the APIC CLI, GUI, and SDK, so that whenever information is displayed, it is read through the REST API, and when configuration changes are made, they are written through the REST API. REST API は、使用する他の情報が取得できる、障害の統計情報を含む、および監査イベントのインターフェイスも提供します。Web ソケットでイベントを送信できます、MIT に変更が発生するようにもプッシュ ベースのイベント通知を購読するための手段を提供します。
API では、HTTP を通じた POST 操作、GET 操作、DELETE 操作など、標準的な REST メソッドがサポートされています。POST メソッドと DELETE メソッドは、同じ入力パラメータで複数回呼び出されても、それ以上の効果を持たないべき等です。GET メソッドはべきゼロで、何らの変更も行うことなく(つまり、読み取り専用操作)ゼロ回または複数回呼び出すことができます。
REST インターフェイスに出入りするペイロードは、XML エンコーディングまたは JSON エンコーディングによりカプセル化できます。XML の場合、エンコーディング操作は簡単です。要素タグはパッケージとクラスの名前で、そのオブジェクトのプロパティはその要素の属性として指定します。含有は、子要素を作成して定義します。
JSON の場合、エンコーディングにはツリーベースの階層を反映する特定のエントリの定義が必要です。ただし、その定義はツリーのすべてのレベルで繰り返されるため、最初に理解していれば実装はかなり簡単です。
-
すべてのオブジェクトは、キーが、パッケージとクラスの名前は、JSON 辞書としてについて説明します。値は 2 つのキーをもう 1 つのネストされた辞書: 属性と子。
-
属性キーには、オブジェクト上の属性を定義するキー値ペアを記述する、さらにネストされたディクショナリが含まれています。
-
子キーには、すべての子オブジェクトを定義するリストが含まれています。このリストの子オブジェクトは、ここで説明したように定義された、ネストされたオブジェクトを含むディクショナリです。
認証
REST API username- and password-based authentication uses a special subset of request Universal Resource Identifiers (URIs), including aaaLogin, aaaLogout, and aaaRefresh as the DN targets of a POST operation. Their payloads contain a simple XML or JSON payload containing the MO representation of an aaaUser object with the attribute name and pwd defining the username and password: for example, <aaaUser name='admin' pwd='password'/>. POST 操作の応答には、Set-Cookie ヘッダーと、応答の名前付きトークンの aaaLogin オブジェクトの属性の両方として認証トークンが含まれます。この場合の XPath は エンコーディングが XML の場合は /imdata/aaaLogin/@token です。Subsequent operations on the REST API can use this token value as a cookie named APIC-cookie to authenticate future requests.
サブスクリプション
The REST API supports the subscription to one or more MOs during your active API session. ユーザまたはシステムにより開始されたアクションによって、MO が作成、変更、または削除されると、イベントが生成されます。サブスクライブされたアクティブなクエリ上のデータがイベントにより変更されると、APIC はそのサブスクリプションを作成した API クライアントに通知を送信します。