コンフィグレット(API)
APIの完全なドキュメントについては、WebインターフェイスからのプラットフォームAPIリファレンスを参照してください。これは UI と同様に Configlet API を示す目的のセクションです。Web UIとREST APIの主な違いは、Apstra APIがブループリントで作業する際にAPI/設計/コンフィグレットの下に保存されたコンフィグレットを使用しない点です。設計コンフィグレットは UI で使用するためのものです。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 - コンフィグレットの作成
コンフィグレットを作成するには、POSTを 使用 してコンフィグレットを表す有効なJSON構造で https://aos-server/api/design/configlets します。Apstra 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": [ { "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": []}