コンフィグレット(API)
完全なAPIドキュメントについては、WebインターフェイスからPlatform APIリファレンスを参照してください。これは、GUIと同様にコンフィグレットAPIを示すためのセクションです。Web UI と REST API の主な違いは、ブループリントを操作するときに API は api/design/configlets の下に格納されているコンフィグレットを使用しないことです。設計コンフィグレットは、GUIで使用するためのものです。APIでコンフィグレットを操作する場合は、ブループリントを直接操作します。
コンフィグレットは http://aos-server/api/design/configlets に居住しており、IDによって参照されています。
{
"ref_archs": [
"two_stage_l3clos"
],
"created_at": "string",
"last_modified_at": "string",
"id": "string",
"generators": [
{
"config_style": "string",
"template_text": "string",
"negation_template_text": "string"
}
],
"display_name": "string",
"section": "string"
}
API - コンフィグレットの作成
コンフィグレットを作成するには、コンフィグレットを表す有効なJSON構造体を使用して https://aos-server/api/design/configlets にPOSTします。このコンフィグレットは、GUIから割り当てることができます。この方法は、REST APIをブループリントに割り当てるために必要ありません。詳細については、「コンフィグレットの割り当て」セクションを参照してください。
POST によって新しいコンフィグレットが作成されます。PUT は既存のコンフィグレットを上書きします。PUTにはコンフィグレットのURLが必要です。 https://aos-server/api/design/configlets/{id}
curl -H "AuthToken: EXAMPLE" -d '{"display_name":"DNS","ref_archs":["two_stage_l3clos"],"section":"system","generators":[{"config_style":"eos","template_text":"ip name-server 192.168.1.1","negation_template_text":"no ip name-server 192.168.1.1"}]}' -X POST "http://aos-server/api/design/configlets"
応答には、新しく作成されたコンフィグレットのIDが含まれます {"id": "995446c7-de7d-46bb-a88a-786839556064"}
API - コンフィグレットの削除
コンフィグレットを削除するには、URL http://aos-server/api/design/configlets/{id}によるコンフィグレットへのHTTP DELETEが必要です。
curl -H "AuthToken: EXAMPLE" -X DELETE "http://aos-server/api/design/configlets/995446c7-de7d-46bb-a88a-786839556064"
DELETEが成功した場合、応答は空です {}
API - コンフィグレットの割り当て
コンフィグレットをブループリントに割り当てるには、デバイス条件の割り当てと、コンフィグレットの詳細の埋め込みが必要です。設計図にコンフィグレットを割り当てる場合、設計リソースとして利用可能なコンフィグレットは不要です。これらはUI目的でのみ使用されます。
割り当てられたコンフィグレットは https://aos-server/api/blueprints/blueprint_id/configlets 内に存在します
コンフィグレットをブループリントに配置するための JSON 構文。基本的に、これはコンフィグレットスキーマのリストを含む単なる「items」辞書要素です。
{
"items": [
{
"template_params": [
"string"
],
"configlet": {
"generators": [
{
"config_style": "string",
"template_text": "string",
"negation_template_text": "string"
}
],
"section": "string",
"display_name": "string"
},
"condition": "string"
}
]
}
CURLの例 - HTTP PUT
curl "http://aos-server/api/blueprints/e4068e99-813c-4290-b7cc-e145d85a98a8/configlets" -X PUT -H "AuthToken: EXAMPLE" -H "Content-Type: application/json; charset=utf-8" --data "[{""configlet"":{""generators"":[{""config_style"":""eos"",""template_text"":""ip name-server 192.168.1.1"",""negation_template_text"":""no ip name-server 192.168.1.1""}],""section"":""system"",""display_name"":""DNS""},""condition"":""role==spine""},{""configlet"":{""generators"":[{""config_style"":""eos"",""template_text"":""ip name-server 192.168.1.1"",""negation_template_text"":""no ip name-server 192.168.1.1""}],""section"":""system"",""display_name"":""DNS""},""condition"":""role==leaf""}]"
応答
{"items": [{"configlet": {"generators": [{"config_style": "eos", "template_text": "ip name-server 192.168.1.1", "negation_template_text": "no ip name-server 192.168.1.1"}], "section": "system", "display_name": "DNS"}, "condition": "role==spine"}, {"configlet": {"generators": [{"config_style": "eos", "template_text": "ip name-server 192.168.1.1", "negation_template_text": "no ip name-server 192.168.1.1"}], "section": "system", "display_name": "DNS"}, "condition": "role==leaf"}]}
API - コンフィグレットの割り当て解除
コンフィグレットの割り当てを解除するには、空のjson投稿でPUTによってアイテムリストから削除します。
curl "http://aos-server/api/blueprints/e4068e99-813c-4290-b7cc-e145d85a98a8/configlets" -X PUT -H "AuthToken: EXAMPLE" -H "Content-Type: application/json; charset=utf-8" --data ""
コンフィグレットが削除されると、応答は空のjsonセットです: {"items": []}