Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

設定テンプレートでのJinja2サポート

設定テンプレートでの Jinja2 の使用

設定テンプレートは、Jinjaテンプレート構文の使用をサポートしています。Jinja構文と使用の事実上のリファレンスは、Jinja テンプレートデザイナードキュメントです。現在サポートされているバージョンは2.10.xです。

Jinja2テンプレート言語は、オプションでデバイスのコンテキストとプロパティセットとやり取りすることができます。これにより、エンド デバイス設定の高度な自動テンプレート評価およびレンダリングが可能になります。基本的に、Jinja構文でデバイスコンテキストプロパティを使用すると、Apstraの信頼できる単一ソース(SSOT)データベースに基づいて、構成テンプレートの値を動的に構築することができます。

これは、パラメータ化された値を持つ多くのスイッチやインターフェイスに設定テンプレートを適用する場合や、ブループリントから動的データ(スイッチのホスト名など)を含める場合に便利です。

Apstraデバイスコンテキストの値へのアクセス

Apstraは、各デバイスのすべてのキー値を保存します。いくつかの異なる方法で表示できます。

[Staged](ステージング)または[アクティブ](Staged)トポロジー ビューで、内部ノードとデバイスの詳細に移動し、[デバイス コンテキスト]を選択できます。

または、設定テンプレートの作成時にデバイスコンテキストをインタラクティブに表示することもできます。

API によるデバイス コンテキスト

最後に、APIを介してデバイスコンテキストにアクセスすることもできます。

<apstra-ip>/api/blueprints/<bp-id>/node/<system-node-id>/config-context

API呼び出しに必要なデータを取得する方法の1つは、ブループリントUIでデバイスを選択し、ブループリントIDとURLのノードIDをメモすることです。

設定テンプレートでの Jinja2 の使用例

ホスト

以下に、Junos構成テンプレートの比較的シンプルな静的セクションの例を示します。1つのJinjaテンプレートが、Apstraグラフデータベースに格納されている値に置き換えられたデバイスのホスト名変数を参照しています。テンプレートがレンダリングされると値が渡されます。このジンジャと変数の使用は、Apstraから動的データを作成するのに役立ちます。

Jinja2を使用した設定テンプレートの構築とテスト

フリーフォームの導入により、製品の新しい機能拡張が行われたもう1つは、マルチペインの構成テンプレートエディタです。この機能は、設定テンプレートを構築するための統合型開発環境(IDE)のような動作をします。

マルチペイン構成テンプレートエディター

テンプレートテキストペイン

設定テンプレートの作成と編集には、複数のウィンドウを使用できます。1つ目は 設定テンプレートを作成するテンプレートテキスト領域ですこの[テンプレートテキスト]領域では、構文ハイライト、自動補完、エラー通知をサポートしています。

プレビューペイン

2つ目は、含まれているジンジャ構文を処理し、最終的なコンフィグテンプレートのコンパイルをレンダリングするプレビューペインです。これにより、最終的に処理される設定をリアルタイムで表示できます。完全な構成を表示するか、インクリメンタルを表示するかの選択が可能です。

デバイスコンテキストペイン

3つ目は[デバイスコンテキスト]ペインで、選択したデバイスに対してApstraが使用可能で保存されているすべてのグラフプロパティを提供します。これにより、構成テンプレートで動的変数置換に使用できる値をすばやく見て検索できます。