(9) VRRP
6.3 テンプレートの操作
6.3.5 テンプレートパラメータの使用方法
(1) テンプレートパラメータの概要
テンプレートに登録するコンフィグレーションコマンドの任意入力のパラメータを,テンプレートパラメー タとしてテンプレートに設定できます。テンプレートパラメータは置換できる文字列です。テンプレート にコンフィグレーションコマンドを登録するときにパラメータの一部をテンプレートパラメータとして設 定しておくと,apply-template コマンドでテンプレートを編集中のコンフィグレーションに反映するとき に,テンプレートパラメータへ数値や文字列を指定できます。
テンプレートパラメータの書式は,ドル($)と 31 文字以内の文字列です。例えば,「$PORT」と設定し ます。
テンプレートパラメータは,コンフィグレーションコマンドの任意入力のパラメータ(<>で囲まれたパラ メータ)に対して使用できます。テンプレートで使用するすべてのテンプレートパラメータは,テンプレー トの新規作成時に設定してください。また,使用するテンプレートパラメータを変更する場合は,template コマンドの change-parameter パラメータを使用してください。
テンプレートに登録するコンフィグレーションコマンドに使用できるのは,template コマンドで設定した テンプレートパラメータだけです。テンプレート作成時のテンプレートパラメータの使用例を次の図に示 します。
図 6‒45 テンプレート作成時のテンプレートパラメータの使用例 (config)# template EtherDEF $PORT $MTU <-1 (config-TPL)# interface gigabitethernet $PORT <-2 (config-if-TPL)# shutdown
(config-if-TPL)# mtu $MTU <-2 (config-if-TPL)# no shutdown
(config-if-TPL)# exit (config-TPL)# show
template EtherDEF $PORT $MTU
interface gigabitethernet $PORT shutdown
mtu $MTU no shutdown end-template
!
(config-TPL)#
1. テンプレートの新規作成時にテンプレートパラメータを設定します。
2. 1 で設定したテンプレートパラメータを,コマンドのパラメータとして使用できます(1 で設定してい ないテンプレートパラメータは使用できません)。
テンプレートに設定したテンプレートパラメータには,apply-template コマンド実行時に入力した値が指 定されます。テンプレートパラメータの指定例を次の図に示します。
図 6‒46 テンプレートパラメータの指定例
この図では,テンプレートで「$PORT」と「$MTU」の順に二つのテンプレートパラメータを使用してい ます。apply-template コマンド実行時に 1/1,8192 の順で入力すると,「$PORT」に 1/1,「$MTU」に 8192 が指定された状態で編集中のコンフィグレーションへ反映されます。
任意入力のパラメータをテンプレートパラメータとして扱うと,次のことができるようになります。
• 一つのテンプレートを繰り返し使用できます。例えば,インタフェースに設定するテンプレートを作成 する場合,「<nif no.>/<port no.>」をテンプレートパラメータとして設定すると,任意のイーサネッ トインタフェースに適用できるテンプレートになります。
• 設定するテンプレートパラメータの形式を「$<parameter>#<index>」にすると,同じコンフィグ レーションコマンドを複数の個所に登録できます。
• 複数指定を設定できないパラメータをテンプレートパラメータにすると,外部のスクリプト機能などを 使用してテンプレートパラメータに連続した値(例えば,192.0.2.1,192.0.2.2,…)を指定できるよ うになります。
(2) 同一コンフィグレーションコマンドの登録
テンプレートに同じコンフィグレーションコマンドを登録する場合は,テンプレートパラメータを
「$<parameter>#<index>」の形式で指定します。こうすると同じコマンドでも<index>が異なるため,
別のコマンドとして登録できます。なお,apply-template コマンド実行時には
「$<parameter>#<index>」の「$<parameter>」部分だけが編集中のコンフィグレーションに反映され ます。「$<parameter>#<index>」を使用したテンプレート例を次の図に示します。
図 6‒47 「$<parameter>#<index>」を使用したテンプレート例 (config)# show template
template LacpSet $PORT $LA_ID
interface range gigabitethernet $PORT#1 <-1 shutdown
channel-group $LA_ID mode active lacp system-priority 100
interface port-channel $LA_ID
channel-group lacp system-priority 50
interface range gigabitethernet $PORT#2 <-1 no shutdown
end-template
!
(config)#
1.「$PORT#1」「$PORT#2」は,apply-template コマンドでコンフィグレーションに反映するときは入 力した値が「$PORT」に指定されるため,同じコマンドです。しかし,テンプレート上は表記が異な るため,複数の個所に登録できます。
このテンプレートを使用した編集中のコンフィグレーションへの反映例を次の図に示します。
図 6‒48 「$<parameter>#<index>」を使用したテンプレートの反映例 (config)# apply-template LacpSet 1/1 10
(config)# show :
: :
lacp system-priority 100
!interface port-channel 10
channel-group lacp system-priority 50
!
interface gigabitethernet 1/1 channel-group 10 mode active
!(config)#
この図では,次の順番でコンフィグレーションに反映されます。
1.interface gigabitethernet 1/1 2.shutdown
3.channel-group 10 mode active 4.exit
5.lacp system-priority 100 6.interface port-channel 10
7.channel-group lacp system-priority 50 8.interface gigabitethernet 1/1
9.no shutdown 10.!
(3) テンプレートパラメータの変更
テンプレートで使用できるテンプレートパラメータを追加,変更,および削除する場合,template コマン ドの change-parameter パラメータを使用します。change-parameter パラメータを使用すると,
template コマンドで設定されたテンプレートパラメータが上書きされます。テンプレートパラメータの変 更例を次の図に示します。
図 6‒49 テンプレートパラメータの変更例 (config)# show EtherDEF
template EtherDEF $PORT :
: :
(config)# template EtherDEF change-parameter $PORT $MTU <-1 (config-TPL)# show
template EtherDEF $PORT $MTU <-2 :
: :
(config-TPL)#
1. template コマンドの change-parameter パラメータを使用して,「$PORT $MTU」と変更します。
2. 使用できるテンプレートパラメータに「$MTU」が追加されました。