1. はじめに
本稿では REST API を用いて Management Object (MO) を作成する方法について解説します。
MO についての解説は下記の記事を参照してください。
ACI Policy Model (パートナー トレーニング資料)
また、REST API を利用するためには APIC へのログインが必要ですが、その方法については下記の記事を参照してください。
後述の部分で Postman を用いていますが、その使い方などについても下記を確認してください。
Cisco ACI : ACI における REST API 利用のためのログイン認証
本稿は下記の Document に基づいています。
万が一、下記 Document と内容に相違があった場合には下記の Document の内容が優先されます。
Cisco APIC REST API Configuration Guide
2. 読取方法
MO は下記の Format で HTTP GET Request を実行することで読み取れます。
下記 URL 内の { } は User が適切な文字列を入力する必要がある必須の部分を意味しています。
[ ] は User が必要に応じて入力する任意の部分を意味しています (つまり、無くてもよい)。
{ A | B } は「 A 又は B のいずれかを指定」の意味で用いています。
( ) は 実行したい操作に応じた何か具体的な文字列を入れる必要があることを意味しています。
http(s)://{(apic-ip-addr)}/api/{mo|class}/{(dn)|(classname)}.{xml|json}[?{(options)]
上記の Format の URL で GET Request を行うことで MO を読み取れます。
- (apic-ip-addr): 操作を行いたい APIC の IP Address を指定してください。
- mo/(dn): Distinguished Name (DN) で取得する MO を指定する場合はこれを指定してください。
(例) https://192.168.1.1/api/mo/uni/tn-takasano.json <<< DN が uni/tn-takasano の MO を取得
- class/(classname): 同じ Class のものを一括で取得する場合にはこれを指定してください。
(例) https://192.168.1.1/api/class/fvTenant.json <<< Class が fvTenant の MO を全て取得
- xml|json: MO の詳細情報の出力形式を指定してください。
- (option): Query Fileter などの Option を使う必要がある場合にはここで指定してください。
3. 実行例
APIC の IP Address が 192.168.1.1 の時、demo-tenant という名前の Tenant を作成する操作を例示します。
URL は下記のようになります。
https://192.168.1.1/api/mo/uni/tn-demo-tenant.json
これに成功すると、下記のような HTTP 200 OK の Response を受け取ります (読みやすいように整形済み)。
{
"totalCount": "1",
"imdata": [
{
"fvTenant": {
"attributes": {
"annotation": "",
"childAction": "",
"descr": "",
"dn": "uni/tn-demo-tenant",
"extMngdBy": "",
"lcOwn": "local",
"modTs": "2022-09-24T14:06:53.516+09:00",
"monPolDn": "uni/tn-common/monepg-default",
"name": "demo-tenant",
"nameAlias": "",
"ownerKey": "",
"ownerTag": "",
"status": "",
"uid": "15374",
"userdom": ":all:common:"
}
}
}
]
}
下記が実際にこの操作を実行した際の Postman の Screenshot です。

以上で本稿は終了です。
参考情報
Cisco APIC REST API Configuration Guide
ACI Policy Model (パートナー トレーニング資料)
Cisco ACI : ACI における REST API 利用のためのログイン認証