6.3.1 テンプレートの概要
- 〈この項の構成〉
 
(1) テンプレートの概要
テンプレート機能の特徴は次のとおりです。
- 
                  
繰り返し実行する一連のコンフィグレーションコマンドを登録して,テンプレートとして作成できます。作成後もコンフィグレーションコマンドを削除,挿入,および修正して,テンプレートを再編集できます。また,作成したテンプレートを繰り返し装置に反映できます。
 - 
                  
テンプレートに登録するコンフィグレーションコマンドの任意入力のパラメータを,置換できる文字列(以降,テンプレートパラメータと呼びます)として設定できます。テンプレートを装置に反映するときに,テンプレートパラメータを置換する文字列を指定できます。
 - 
                  
テンプレートに登録したコンフィグレーションコマンドは,入力した順で装置に設定できます。例えば,インタフェース情報を変更するときに,一時的にインタフェースを停止して設定を変更したあとインタフェースを再開する,という一連の手順をテンプレート内で再現できます。
 
テンプレート機能では,まず,コンフィグレーションコマンドを登録したテンプレートを作成します。次に,テンプレートに登録した内容を編集中のコンフィグレーションに反映します。これらの処理は,スクリプトを作成して,それを実行することに似ています。
テンプレートの作成例を次の図に示します。
(config)# template EtherDEF $PORT
(config-TPL)# interface gigabitethernet $PORT
(config-if-TPL)# shutdown
(config-if-TPL)# speed 1000
(config-if-TPL)# no shutdown
(config-if-TPL)# exit
(config-TPL)# show
template EtherDEF $PORT
  interface gigabitethernet $PORT
    shutdown
    speed 1000
    no shutdown
  end-template
!
(config-TPL)# end-template
(config)# | 
               
ここではテンプレート名を「EtherDEF」としています。templateモードで入力したコンフィグレーションコマンドが,テンプレート「EtherDEF」に登録されます。なお,テンプレートを作成した時点では,登録したコンフィグレーションコマンドは編集中のコンフィグレーションに反映されません。テンプレートの内容を編集中のコンフィグレーションに反映するには,apply-templateコマンドを使用します。テンプレートの反映例を次の図に示します。
(config)# show interface gigabitethernet 1/1 <-1 interface gigabitethernet 1/1 ! (config)# apply-template EtherDEF 1/1 <-2 (config)# show interface gigabitethernet 1/1 <-3 interface gigabitethernet 1/1 speed 1000 ! (config)#  | 
               
- 
                  
ギガビットイーサネットのインタフェース1/1のコンフィグレーションを確認します。
 - 
                  
テンプレート「EtherDEF」をギガビットイーサネットのインタフェース1/1に反映します。
 - 
                  
ギガビットイーサネットのインタフェース1/1のコンフィグレーションを確認すると,テンプレート「EtherDEF」の内容が反映されています。
 
(2) テンプレートの位置づけ
テンプレートは,コンフィグレーションの一部として位置づけられ,コンフィグレーションの中に設定されます。コンフィグレーションの構造を次の図に示します。
(config)# show
    :
    :
    :
template EtherDEF $PORT                 ┐
  interface gigabitethernet $PORT       │
    shutdown                            │
    speed 1000                          │<-1
    no shutdown                         │
  end-template                          │
!                                       ┘
(config)# | 
               
- 
                  
この部分がテンプレートです。