コマンド マクロ設定時の注意事項
スイッチでマクロを設定するには、次の注意事項に従ってください。
• マクロを作成する際に、 exit や end コマンド、または interface interface-id コマンドを使用してコマンド モードを変更しないでください。これらのコマンドを使用すると、 exit 、 end 、または interface interface-id に続くコマンドが異なるコマンド モードで実行されることがあります。
• マクロを作成する場合、すべての CLI コマンドは同じコンフィギュレーション モードになる必要があります。
• 一意の値の割り当てを必要とするマクロを作成する場合、 parameter value キーワードを使用して、そのインターフェイスに固有の値を指定します。キーワードの照合では、大文字と小文字が区別されます。キーワードで一致が見られると、すべて対応する値に置き換えられます。キーワードが完全に一致すると、それが長い文字列の一部であったとしても一致と見なされて、対応する値に置き換えられます。
• マクロ名では、大文字と小文字が区別されます。たとえば、コマンド macro name Sample-Macro と macro name sample-macro は、2 つの別個のマクロとなります。
• 一部のマクロには、パラメータ値が必要なキーワードが含まれます。マクロで必要な値のリストを表示するには、 macro global apply macro-name ? グローバル コンフィギュレーション コマンド、または macro apply macro-name ? インターフェイス コンフィギュレーション コマンドを使用すると、マクロで必要な値を一覧表示できます。キーワード値を入力せずにマクロを適用した場合、コマンドは無効となり、マクロは適用されません。
• マクロがスイッチまたはスイッチ インターフェイスにグローバルに適用されると、インターフェイス上の既存の設定はすべて保持されます。これは、差分設定を適用する場合に便利です。
• コマンドを追加または削除してマクロ定義を変更する場合、この変更は元のマクロが適用されているインターフェイスに反映されません。新しいコマンドまたは変更したコマンドを適用するには、更新したマクロをインターフェイスに再適用する必要があります。
• macro global trace macro-name グローバル コンフィギュレーション コマンドまたは macro trace macro-name インターフェイス コンフィギュレーション コマンドを使用して、構文または設定エラーを検索するためのマクロを適用してデバッグできます。構文エラーまたは設定エラーによりコマンドが失敗した場合、マクロは続けて残りのコマンドを適用します。
• CLI コマンドには、あるインターフェイス タイプに特有のものもあります。マクロが設定を受け入れないインターフェイスに適用された場合、マクロは構文チェックや設定チェックに失敗して、スイッチがエラー メッセージを返します。
• インターフェイス範囲にマクロを適用することは、単一のインターフェイスにマクロを適用するのと同じです。インターフェイスの範囲を使用する場合、マクロはその範囲内の各インターフェイスに順番に適用されます。あるインターフェイスでマクロ コマンドが失敗した場合、残りのインターフェイスに適用されていきます。
• マクロをスイッチまたはスイッチ インターフェイスに適用する場合、マクロ名が自動的にスイッチまたはインターフェイスに追加されます。 show running-config ユーザ EXEC コマンドを使用して、適用されたコマンドとマクロ名を表示できます。
• マクロを User Network Interface(UNI; ユーザ ネットワーク インターフェイス)または Enhanced Network Interface(ENI; 拡張ネットワーク インターフェイス)に適用する場合、先にポートをイネーブルに設定する必要があります。UNI と ENI は、デフォルトでディセーブルに設定されています。
コマンド マクロの適用
コマンド マクロを適用するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro global { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }] |
マクロで定義された各コマンドをスイッチに適用するには、 macro global apply macro-name を入力します。構文または設定エラーを検索するためのマクロを適用しデバッグするには、 macro global trace macro-name を指定します。 (任意)スイッチに固有の一意のパラメータ値を指定します。最高 3 つのキーワードと値の組み合わせを入力できます。パラメータ キーワードの照合では、大文字と小文字が区別されます。キーワードで一致が見られると、すべて対応する値に置き換えられます。 一部のマクロには、パラメータ値が必要なキーワードが含まれます。 macro global apply macro-name ? コマンドを使用すると、マクロで必要な値を一覧表示できます。キーワード値を入力せずにマクロを適用した場合、コマンドは無効となり、マクロは適用されません。 |
ステップ 3 |
macro global description text |
(任意)スイッチに適用されるマクロについての説明を入力します。 |
ステップ 4 |
interface interface-id |
(任意)インターフェイス コンフィギュレーション モードを開始して、マクロを適用するインターフェイスを指定します。 |
ステップ 5 |
no shutdown |
必要に応じて、ポートをイネーブルにします。デフォルトでは、UNI および Enhanced Network Interface(ENI; 拡張ネットワーク インターフェイス)はディセーブルに、Network Node Interface(NNI; ネットワーク ノード インターフェイス)はイネーブルに設定されています。 |
ステップ 6 |
default interface interface-id |
(任意)指定したインターフェイスからすべての設定を消去します。 |
ステップ 7 |
macro { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }] |
マクロで定義された各コマンドをインターフェイスに適用するには、 macro apply macro-name を入力します。構文または設定エラーを検索するためのマクロを適用しデバッグするには、 macro trace macro-name を指定します。 (任意)インターフェイスに固有の一意のパラメータ値を指定します。最高 3 つのキーワードと値の組み合わせを入力できます。パラメータ キーワードの照合では、大文字と小文字が区別されます。キーワードで一致が見られると、すべて対応する値に置き換えられます。 一部のマクロには、パラメータ値が必要なキーワードが含まれます。 macro apply macro-name ? コマンドを使用すると、マクロで必要な値を一覧表示できます。キーワード値を入力せずにマクロを適用した場合、コマンドは無効となり、マクロは適用されません。 |
ステップ 8 |
macro description text |
(任意)インターフェイスに適用されるマクロについての説明を入力します。 |
ステップ 9 |
end |
特権 EXEC モードに戻ります。 |
ステップ 10 |
show parser macro description [ interface interface-id ] |
マクロがインターフェイスに適用されたことを確認します。 |
ステップ 11 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
マクロ内の各コマンドの no バージョンを入力する場合だけ、グローバル マクロ適用コンフィギュレーションを削除できます。 default interface interface-id インターフェイス コンフィギュレーション コマンドを使用すれば、インターフェイスで適用されたマクロの設定を削除できます。
次に、ユーザが作成した snmp というマクロを適用してホスト名アドレスを test-server に設定し、IP precedence 値を 7 に設定する例を示します。
Switch(config)# macro global apply snmp ADDRESS test-server VALUE 7
次に、スイッチにマクロが適用された際にマクロ内の構文または設定エラーを検索するために、 macro global trace グローバル コンフィギュレーション コマンドを使用して snmp というユーザ作成マクロをデバッグする例を示します。
Switch(config)# macro global trace snmp VALUE 7
Applying command...‘snmp-server enable traps port-security’
Applying command...‘snmp-server enable traps linkup’
Applying command...‘snmp-server enable traps linkdown’
Applying command...‘snmp-server host’
Applying command...‘snmp-server ip precedence 7’
次に、ユーザ作成の desktop-config と いうマクロを適用して設定を確認する例を示します。
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# macro apply desktop-config
Switch# show parser macro description
Interface Macro Description
--------------------------------------------------------------
--------------------------------------------------------------
次に、 desktop-config というユーザ作成マクロを適用して、VLAN 1 となっているところをすべて VLAN 25 に置き換える例を示します。
Switch(config-if)# macro apply desktop-config vlan 25