このページの目次
構成テンプレート(フリーフォームのブループリント)
構成テンプレートを操作する前に、Jinja テンプレート デザイナー について理解しておくことをお勧めします。
Apstra製品には、いくつかの定義済み構成テンプレートが含まれています。構文と、構成テンプレートでの構成 Jinja の使用方法を理解するため。以下のセクションをご覧ください。
シンプルな設定テンプレート
Apstraソフトウェアに同梱されている構成テンプレート junos_protocols.jinja
を見てみましょう。
protocols { lldp { port-id-subtype interface-name; port-description-type interface-description; neighbour-port-info-display port-id; interface all; } }
この単純なテンプレートには、変数やその他の条件は含まれていません。これは、他の定義済み構成テンプレートの 1 つである構成テンプレート junos_configuration.jinja
内にネストされています。独自の構成テンプレートを作成し、この基本的なテンプレートを入れ子にすることもできます。
変数を持つ構成テンプレート
別の定義済み構成テンプレートを見てみましょう junos_system.jinja
。
{% if hostname %} system { host-name {{hostname}}; } {% endif %}
このテンプレートには、if-then ステートメントと変数 hostname
.構成がレンダリングされるときに、システム デバイス コンテキストに の値 hostname
が含まれている場合、レンダリングされた構成にはその値が含まれます。
構成テンプレートとプロパティ セット
プロパティ セットの使用例としては、NTP サーバーがあります。NTP の設定は、地域ごとのタイム ソースや階層を除き、企業内のすべてのデバイスで一貫している場合があります。実際の IP アドレスの代わりに、たとえば という名前の ntp
変数を使用して構成テンプレートを作成できます。構成は、プロパティ セット内のプロパティの値 ntp
を使用して生成されます。同じ構成テンプレートをすべてのブループリントにインポートしますが、東部リージョンで実行されているブループリントの場合は "EAST" プロパティ セットをインポートし、西部リージョンで実行されているブループリントの場合は "WEST" プロパティ セットをインポートします。プロパティ セットはグローバル、つまりブループリント全体です。
構成テンプレートは次のようになります。
{% if property_sets.get('ntp') %} system { ntp { server {{property_sets['ntp']['ntp_server']}}; } } {% endif %}
次の例は、IP アドレスを含むプロパティ セット ntp
の構文を示しています。
ntp_server = '1.2.3.4'