テンプレート (Templates)
UI ナビゲーション
-
を選択します。
Cisco Nexusダッシュボード ファブリック コントローラ Web クライアントを使用して、異なる Cisco Nexus、IOS-XE、IOS-XR、および Cisco MDS プラットフォームで設定されているテンプレートを追加、編集、または削除できます。Cisco Nexusダッシュボード ファブリック コントローラ Web クライアントで設定されているテンプレートごとに、次のパラメータが表示されます。テンプレートは JavaScript をサポートします。テンプレートの JavaScript 関数を使用して、テンプレートの構文で算術演算と文字列操作を実行できます。
フィールド | 説明 |
---|---|
名前 |
テンプレート名を指定します。 |
サポートされるプラットフォーム |
テンプレートがサポートするプラットフォームを指定します。 |
タイプ |
テンプレート タイプを指定します。 |
サブタイプ |
テンプレート サブ タイプを指定します。 |
変更日 |
テンプレート変更の日時を指定します。 |
タグ(Tags) |
テンプレートがファブリックまたはデバイスにタグ付けされているかどうかを指定します。 |
説明 |
テンプレートの説明を指定します。 |
参照カウント |
テンプレートが使用される回数を指定します。 |
テーブル ヘッダーをクリックすると、そのパラメータのアルファベット順にエントリがソートされます。
Note |
エラーのあるテンプレートは、[テンプレート(Templates)] ウィンドウに表示されません。エラーがあるテンプレートはインポートできません。このようなテンプレートをインポートするには、エラーを修正してインポートします。 |
次の表では、[テンプレート(Templates)] ウィンドウに表示される [アクション(Actions)] ドロップダウン リストのアクション項目について説明します。
Actions | 説明 | ||
---|---|---|---|
新しいテンプレートの作成 |
新しいテンプレートを作成できるようにします。詳細については、新規テンプレートの作成を参照してください。 |
||
テンプレートのプロパティの編集 |
テンプレートのプロパティを編集できるようにします。一度に編集できるテンプレートは 1 つだけです。詳細については、テンプレートの編集 を参照してください。 |
||
テンプレートの内容の編集 |
テンプレートの内容を編集できるようにします。一度に編集できるテンプレートは 1 つだけです。詳細については、テンプレートの編集 を参照してください。 |
||
テンプレートの複数 |
選択したテンプレートを別の名前で複製できるようにします。必要に応じて、テンプレートを編集できます。一度に複製できるテンプレートは 1 つだけです。 テンプレートを複製するには、複製するテンプレートの横にあるチェックボックスをオンにし、[テンプレートの複製(Duplicate template)] を選択します。[テンプレートの複製(Duplicate template)] ウィンドウが表示されます。複製されるテンプレートの名前を指定します。複製されたテンプレートの詳細については、テンプレートの編集 を参照してください。 |
||
テンプレートの削除 |
テンプレートを削除できるようにします。1 つのインスタンスで複数のテンプレートを削除できます。 ユーザ定義テンプレートを削除できます。ただし、事前定義されたテンプレートは削除できません。 テンプレートを削除するには、削除するテンプレートの横にあるチェックボックスをオンにし、[テンプレートの削除(Delete template)] を選択します。警告メッセージが表示されます。テンプレートを削除する場合は、[確認(Confirm)] をクリックします。削除しない場合は、[キャンセル(Cancel)] をクリックします。テンプレートが使用中であるか、出荷テンプレートである場合は、削除できず、エラー メッセージが表示されます。
テンプレートを完全に削除するには、ローカル ディレクトリ Cisco Systems\dcn\ndfc\data\templates\ にあるテンプレートを削除します。 |
||
インポート |
ローカル ディレクトリからテンプレートを 1 つずつインポートできます。詳細については、テンプレートのインポートを参照してください。 |
||
Zip としてインポート |
.zip 形式でバンドルされた複数のテンプレートを含む .zip ファイルをインポートできます ZIP ファイル内のすべてのテンプレートが抽出され、個々のテンプレートとしてテーブルにリストされます。 詳細については、「テンプレートのインポート」を参照してください。。 |
||
エクスポート |
ローカル ディレクトリの場所にテンプレート設定をエクスポートできます。一度にエクスポートできるテンプレートは 1 つだけです。 テンプレートをエクスポートするには、テンプレートの横にあるチェックボックスを使用して選択し、[エクスポート(Export)] を選択します。テンプレート ファイルを保存するローカル システム ディレクトリの場所を選択します。[Save(保存)] をクリックします。テンプレート ファイルがローカル ディレクトリにエクスポートされます。 |
network-operator ロールを持つテンプレートのみを表示できます。このロールでテンプレートを作成、編集、または保存することはできません。ただし、network-stager ロールを使用してテンプレートを作成または編集できます。
この項の内容は、次のとおりです。
新規テンプレートの作成
Nexusダッシュボード ファブリック コントローラUI ナビゲーション
-
を選択します。
Cisco Nexusダッシュボード ファブリック コントローラ Web UI からユーザ定義のテンプレートを作成し、ジョブをスケジュールするには、次の手順を実行します。
Procedure
Step 1 |
[テンプレート(Templates)] ウィンドウで、[アクション(Actions)]ドロップダウン リストから [新規テンプレートの作成(Create new template)] を選択します。 [テンプレートの作成(Create Template)] ウィンドウが表示されます。 |
||
Step 2 |
ウィンドウの [テンプレート プロパティ(Template Properties)] ページで、テンプレート名、説明、タグを指定し、新しいテンプレートのサポート対象プラットフォームを選択します。次に、ドロップダウン リストからテンプレート タイプとサブテンプレート タイプを選択します。ドロップダウン リストからテンプレートのコンテンツ タイプを選択します。
|
||
Step 3 |
[次へ(Next)] をクリックしてテンプレートの編集を続行するか、[キャンセル(Cancel)] をクリックして変更を破棄します。 編集したテンプレートのプロパティは、[テンプレートの編集(Edit Template)] ウィンドウの [テンプレート コンテンツ(Template Content)] ページに表示されます。構成テンプレートの構造については、「テンプレートの構造」の項を参照してください。 |
||
Step 4 |
[検証(Validate)] をクリックして、テンプレートの構文を検証します。
|
||
Step 5 |
[ヘルプ(Help)] をクリックして、右側の [エディタ(Help)] ペインを開きます。 このウィンドウには、テンプレートの作成に使用された形式、変数、コンテンツ、およびデータ型に関する詳細情報が表示されます。[エディタのヘルプ(Editor Help)] ペインを閉じます。 |
||
Step 6 |
リンクが表示されたら、エラーおよび警告をクリックします。エラーまたは警告がない場合、リンクは使用できません。エラーまたは警告が表示されている場合にリンクをクリックすると、右側に[エラーおよび警告(Errors&Warnings)] ペインが表示され、エラーと警告が表示されます。[エラーおよび警告(Errors&Warnings)] ペインを閉じます。 |
||
Step 7 |
テンプレート コンテンツを作成するには、必要なテーマ、キー バインディング、およびフォント サイズをドロップダウン リストから選択します。 |
||
Step 8 |
[完了(Finish)] をクリックしてテンプレートの編集を完了し、[キャンセル(Cancel)] をクリックして変更を破棄し、[前へ(Previous)] をクリックして [テンプレート プロパティ(Template Properties)] ページに移動します。 テンプレートが作成されたことを示すメッセージのページが表示されます。このページには、テンプレート名、タイプ、サブタイプ、およびプラットフォームも表示されます。[別のテンプレートの作成(Create another template)] をクリックしてもう 1 つのテンプレートを作成するか、[Edit <template name> template] をクリックして編集したばかりのテンプレートを編集します。 |
||
Step 9 |
[テンプレートの編集(Edit Template)] ウィンドウを閉じるか、[テンプレート ライブラリに戻る(Back to template library)] をクリックして[テンプレート(Templates)] ウィンドウに戻ります。 |
テンプレートの編集
Nexusダッシュボード ファブリック コントローラUI ナビゲーション
-
を選択します。
ユーザ定義のテンプレートを編集できます。ただし、定義済みのテンプレートおよびすでに公開されているテンプレートは編集できません。
[テンプレートの編集(Edit Template)] ウィンドウを使用して、最初にテンプレートのプロパティを編集し、次にテンプレートの内容を編集します。さらに、[テンプレート プロパティの編集(Edit Template Properties)] アクションを使用してテンプレート プロパティのみを編集するか、[テンプレート コンテンツの編集(Edit template content)] アクションを使用してテンプレート コンテンツのみを編集できます。つまり、あるインスタンスでテンプレートのプロパティを編集してから、別のインスタンスでテンプレートの内容を編集できます。このウィンドウを使用して、テンプレートのプロパティとコンテンツを表示することもできます。
テンプレートのプロパティを編集し、テンプレートの内容を編集するには、次の手順を実行します。
Procedure
Step 1 |
[テンプレート(Templates)] ウィンドウで、テンプレートを選択します。[アクション(Actions)] ドロップダウン リストから、[テンプレート プロパティの編集(Edit Template Properties)] を選択します。 [テンプレートの編集(Edit Template)] ウィンドウが表示されます。 |
||
Step 2 |
ウィンドウの [テンプレート プロパティ(Template Properties)] ページに、テンプレートの名前、その説明、サポートされるプラットフォーム、タグ、およびコンテンツ タイプが表示されます。テンプレートの説明とタグを編集できます。サポートされているプラットフォームを編集するには、選択したチェックボックスをオフにして他のスイッチを選択します。次に、ドロップダウン リストからテンプレート タイプとサブテンプレート タイプを選択します。 |
||
Step 3 |
[次へ(Next)] をクリックしてテンプレートの編集を続行するか、[キャンセル(Cancel)] をクリックして変更を破棄します。 編集したテンプレートのプロパティは、[テンプレートの編集(Edit Template)] ウィンドウの [テンプレート コンテンツ(Template Content)] ページに表示されます。 |
||
Step 4 |
[検証(Validate)] をクリックして、テンプレートの構文を検証します。
|
||
Step 5 |
[ヘルプ(Help)] をクリックして、右側の [エディタ(Help)] ペインを開きます。 このウィンドウには、テンプレートの作成に使用された形式、変数、コンテンツ、およびデータ型に関する詳細情報が表示されます。[エディタのヘルプ(Editor Help)] ペインを閉じます。 |
||
Step 6 |
リンクが表示されたら、エラーおよび警告をクリックします。エラーまたは警告がない場合、リンクは使用できません。エラーまたは警告が表示されている場合にリンクをクリックすると、右側に[エラーおよび警告(Errors&Warnings)] ペインが表示され、エラーと警告が表示されます。[エラーおよび警告(Errors&Warnings)] ペインを閉じます。 |
||
Step 7 |
テンプレート コンテンツを作成するには、必要なテーマ、キー バインディング、およびフォント サイズをドロップダウン リストから選択します。 |
||
Step 8 |
[完了(Finish)] をクリックしてテンプレートの編集を完了し、[キャンセル(Cancel)] をクリックして変更を破棄し、[前へ(Previous)] をクリックして [テンプレート プロパティ(Template Properties)] ページに移動します。 テンプレートが保存されたことを示すメッセージが表示されたページが表示されます。このページには、テンプレート名、タイプ、サブタイプ、およびプラットフォームも表示されます。[別のテンプレートの作成(Create another template)] をクリックしてもう 1 つのテンプレートを作成するか、[Edit <template name> template] をクリックして編集したばかりのテンプレートを編集します。 |
||
Step 9 |
[テンプレートの編集(Edit Template)] ウィンドウを閉じるか、[テンプレート ライブラリに戻る(Back to template library)] をクリックして[テンプレート(Templates)] ウィンドウに戻ります。 |
テンプレートのインポート
Nexusダッシュボード ファブリック コントローラUI ナビゲーション
-
を選択します。
zip 形式のテンプレートをインポートする場合も、同じ手順に従います。
Note |
テンプレート内の「\n」は、インポートおよび編集されると改行文字と見なされますが、ZIP ファイルとしてインポートされると正常に機能します。 |
Cisco Nexusダッシュボード ファブリック コントローラ Web UI からテンプレートをインポートするには、次の手順を実行します。
Procedure
Step 1 |
[テンプレート(Templates)] ウィンドウで、[アクション(Actions)] ドロップダウンリストから [テンプレートのインポート(Import template)] を選択します。 [テンプレートのインポート(Import Template)] ウィンドウが表示されます。 |
||
Step 2 |
コンピュータに保存されているテンプレートを参照して選択します。 |
||
Step 3 |
[OK] をクリックしてテンプレートをインポートするか、[キャンセル(Cancel)] をクリックしてテンプレートを破棄します。
|
||
Step 4 |
必要に応じて、テンプレート パラメータとコンテンツを編集できます。詳細については、テンプレートの編集 を参照してください。
|
||
Step 5 |
テンプレートのプロパティまたはコンテンツを編集しない場合は、[次へ(Next)]、[完了(Finish)]、[テンプレート ライブラリに戻る(Back to template library)]の順にクリックして、[テンプレート(Templates)] ウィンドウに戻ります。 |
テンプレート構造
構成テンプレートの内容は、主に 4 つの部分で構成されます。テンプレートのコンテンツの編集については、[テンプレート コンテンツ(Template Content)] の横にある [ヘルプ(Help)] アイコンをクリックします。
この項の内容は、次のとおりです。
テンプレートの形式
ここでは、テンプレートの基本情報について説明します。次の表に、使用可能なフィールドの詳細を示します。
プロパティ名 |
説明 |
有効な値 |
任意かどうか |
||
---|---|---|---|---|---|
名前(name) |
テンプレートの名前 |
テキスト |
いいえ |
||
説明 |
テンプレートに関する簡単な説明 |
テキスト(Text) |
はい |
||
userDefined |
ユーザがテンプレートを作成したかどうかを示します。ユーザが作成した場合、値は「true」です。 |
「true」または「false」 |
はい |
||
supportedPlatforms |
この設定テンプレートをサポートするデバイス プラットフォームのリスト。すべてのプラットフォームをサポートするには、[All] を指定します。 |
N1K、N3K、N3500、N4K、N5K、N5500、N5600、N6K、N7K、N9K、MDS、VDC、N9K-9000v、IOS-XE、IOS-XR、その他、すべての Nexus スイッチのリストがカンマで区切られています。 |
いいえ |
||
templateType |
使用するテンプレートのタイプを指定します。 |
|
はい |
||
templateSubType |
テンプレートに関連付けられたサブタイプを指定します。 |
|
|||
contentType |
|
はい |
|||
実装(Implement) |
抽象テンプレートを実装するために使用されます。 |
テキスト(Text) |
はい |
||
依存関係 |
スイッチの特定の機能を選択するために使用されます。 |
テキスト(Text) |
はい |
||
公開 |
テンプレートを読み取り専用としてマークし、変更を回避するために使用されます。 |
「true」または「false」 |
はい |
テンプレート変数
このセクションには、テンプレートに使用されるパラメータの宣言された変数、データ型、デフォルト値、および有効な値の条件が含まれます。これらの宣言された変数は、動的コマンド生成プロセス中にテンプレート コンテンツ セクションの値の置換に使用されます。また、これらの変数は、意思決定およびテンプレート コンテンツ セクションの反復ブロックで使用されます。変数には事前定義されたデータ型があります。変数に関する説明を追加することもできます。次の表に、使用可能なデータ型の構文と使用方法を示します。
変数の型 |
有効値 |
反復可能? |
||
---|---|---|---|---|
boolean |
true|false |
いいえ |
||
enum |
|
いいえ |
||
浮動 |
浮動小数点形式 |
いいえ |
||
floatRange |
|
はい |
||
整数型(Integer) |
任意の数値 |
いいえ |
||
integerRange |
「-」で区切られた連続する番号 「,」で区切られた個別の番号
|
はい |
||
インターフェイス |
形式:<if type><slot>[/<sub slot>]/<port>
|
いいえ |
||
interfaceRange |
|
はい |
||
IPアドレス |
IPv4 または IPv6 アドレス |
いいえ |
||
ipAddressList |
IPv4、IPv6、または両方のタイプのアドレスの組み合わせのリストを作成できます。
|
はい |
||
ipAddressWithoutPrefix |
または
|
いいえ |
||
ipV4Address |
IPv4 アドレス |
いいえ |
||
ipV4AddressWithSubnet |
|
いいえ |
||
ipV6Address |
[IPv6 アドレス(IPv6 address)] |
いいえ |
||
ipV6AddressWithPrefix |
|
いいえ |
||
ipV6AddressWithSubnet |
IPv6アドレスとサブネット |
いいえ |
||
ISISNetAddress |
|
いいえ |
||
long |
|
いいえ |
||
MAC アドレス |
14 または 17 文字長の MAC アドレス形式 |
いいえ |
||
string |
変数の説明などに使用される自由テキスト
|
いいえ |
||
string[] |
|
はい |
||
構造体 |
単一の変数にバンドルされているパラメータのセット。
|
いいえ
|
||
wwn (Cisco Nexusダッシュボード ファブリック コントローラ Web クライアントでのみ使用可能) |
|
いいえ |
可変メタ プロパティ
テンプレート変数セクションで定義されている各変数には、一連のメタ プロパティがあります。メタ プロパティは、主に変数に定義されている検証ルールです。
次の表に、使用可能な変数タイプに適用されるさまざまなメタ プロパティを示します。
変数の型 |
説明 |
可変メタ プロパティ |
|||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
デフォルト値 |
有効な値 |
10 進数の長さ |
最低 |
最大 |
最小スロット |
最大スロット |
最小ポート |
最大ポート |
最小長 |
最大長 |
正規表現 |
||||
boolean |
ブール値。
|
はい |
|||||||||||||
enum |
はい |
||||||||||||||
浮動 |
符号付き実数。
|
はい |
はい |
はい |
はい |
はい |
|||||||||
floatRange |
符号付き実数の範囲
|
はい |
はい |
はい |
はい |
はい |
|||||||||
integer |
符号付き実数
|
はい |
はい |
はい |
はい |
||||||||||
integerRange |
符号付き実数の範囲
|
はい |
はい |
はい |
はい |
||||||||||
インターフェイス |
インターフェイス/ポートを指定します
|
はい |
はい |
はい |
はい |
はい |
はい |
||||||||
interfaceRange |
はい |
はい |
はい |
はい |
はい |
はい |
|||||||||
IPアドレス |
IPv4 または IPv6 形式の IP アドレス |
はい |
|||||||||||||
ipAddressList |
IPv4、IPv6、または両方のタイプのアドレスの組み合わせのリストを作成できます。
|
はい |
|||||||||||||
ipAddressWithoutPrefix |
IPv4 または IPv6 アドレス(プレフィックス/サブネットは不要)。 |
||||||||||||||
ipV4Address |
IPv4 アドレス |
はい |
|||||||||||||
ipV4AddressWithSubnet |
IPv4アドレスとサブネット |
はい |
|||||||||||||
ipV6Address |
[IPv6 アドレス(IPv6 address)] |
はい |
|||||||||||||
ipV6AddressWithPrefix |
プレフィックス付きIPv6アドレス |
はい |
|||||||||||||
ipV6AddressWithSubnet |
IPv6アドレスとサブネット |
はい |
|||||||||||||
ISISNetAddress |
|
||||||||||||||
long |
|
はい |
はい |
はい |
|||||||||||
MAC アドレス |
MAC アドレス |
||||||||||||||
string |
リテラル文字列
|
はい |
はい |
はい |
はい |
||||||||||
string[] |
カンマ(、)で区切られた文字列リテラル
|
はい |
|||||||||||||
構造体 |
単一の変数にバンドルされているパラメータのセット。
|
||||||||||||||
wwn |
WWN アドレス |
例:メタ プロパティの使用
##template variables
integer VLAN_ID {
min = 100;
max= 200;
};
string USER_NAME {
defaultValue = admin123;
minLength = 5;
};
struct interface_a{
string inf_name;
string inf_description;
ipAddress inf_host;
enum duplex {
validValues = auto, full, half;
};
}myInterface;
##
可変注釈
注釈を使用して変数をマーキングする変数プロパティを設定できます。
Note |
可変注釈は、POAP でのみ使用できます。ただし、注釈はテンプレートタイプ「CLI」には影響しません。 |
テンプレート変数セクションでは、次の注釈を使用できます。
注釈キー |
有効な値 |
説明 |
||
---|---|---|---|---|
AutoPopulate |
テキスト(Text) |
あるフィールドから別のフィールドに値をコピーします。 |
||
DataDepend |
テキスト |
|||
説明 |
[テキスト(Text)] |
ウィンドウに表示されるフィールドの説明 |
||
DisplayName |
テキスト(Text)
|
ウィンドウに表示されるフィールドの表示名 |
||
列挙体 |
Text1、Text2、Text3 など |
選択するテキストまたは数値をリストします |
||
IsAlphaNumeric |
「true」または「false」 |
文字列には、英数字を使用します。 |
||
IsAsn |
「true」または「false」 |
|||
IsDestinationDevice |
「true」または「false」 |
|||
IsDestinationFabric |
「true」または「false」 |
|||
IsDestinationInterface |
「true」または「false」 |
|||
IsDestinationSwitchName |
「true」または「false」 |
|||
IsDeviceID |
「true」または「false」 |
|||
IsDot1qId |
「true」または「false」 |
|||
IsFEXID |
「true」または「false」 |
|||
IsGateway |
「true」または「false」 |
IP アドレスがゲートウェイかどうかを検証します。 |
||
IsInternal |
「true」または「false」 |
フィールドを内部にし、ウィンドウに表示しません。
|
||
IsManagementIP |
「true」または「false」
|
|||
is_mandatory |
「true」または「false」 |
値をフィールドに強制的に渡す必要があるかどうかを検証します |
||
IsMTU |
「true」または「false」 |
|||
IsMultiCastGroupAddress |
「true」または「false」 |
|||
IsMultiLineString |
「true」または「false」 |
文字列フィールドを複数行の文字列テキスト領域に変換します |
||
IsMultiplicity |
「true」または「false」 |
|||
IsPassword |
「true」または「false」 |
|||
IsPositive |
「true」または「false」 |
値が正であるかどうかを確認します。 |
||
IsReplicationMode |
「true」または「false」 |
|||
IsShow |
「true」または「false」 |
ウィンドウのフィールドを表示または非表示にします |
||
IsSiteId |
「true」または「false」 |
|||
IsSourceDevice |
「true」または「false」 |
|||
IsSourceFabric |
「true」または「false」 |
|||
IsSourceInterface |
「true」または「false」 |
|||
IsSourceSwitchName |
「true」または「false」 |
|||
IsSwitchName |
「true」または「false」 |
|||
IsRMID |
「true」または「false」 |
|||
IsVPCDomainID |
「true」または「false」 |
|||
IsVPCID |
「true」または「false」 |
|||
IsVPCPeerLinkPort |
「true」または「false」 |
|||
IsVPCPeerLinkPortChannel |
「true」または「false」 |
|||
IsVPCPortChannel |
「true」または「false」 |
|||
[パスワード(Password)] |
テキスト(Text) |
パスワードフィールドを検証します |
||
PeerOneFEXID |
「true」または「false」 |
|||
PeerTwoFEXID |
「true」または「false」 |
|||
PeerOnePCID |
「true」または「false」 |
|||
PeerTwoPCID |
「true」または「false」 |
|||
PrimaryAssociation |
||||
ReadOnly |
「true」または「false」 |
フィールドを読み取り専用にします |
||
ReadOnlyOnEdit |
「true」または「false」 |
|||
SecondaryAssociation |
テキスト(Text) |
|||
セクション |
||||
UsePool |
「true」または「false」 |
|||
UseDNSReverseLookup |
||||
ユーザ名 |
テキスト(Text) |
ウィンドウにユーザ名フィールドを表示します。 |
||
警告 |
テキスト(Text) |
Description 注釈をオーバーライドするテキストを提供します。 |
例:AutoPopulate 注釈
##template variables
string BGP_AS;
@(AutoPopulate="BGP_AS")
string SITE_ID;
##
例:DisplayName注釈
##template variables
@(DisplayName="Host Name", Description = "Description of the host")
String hostname;
@(DisplayName="Host Address", Description = " test description" IsManagementIP=true)
ipAddress hostAddress;
##
例:IsMandatory注釈
##template variables
@(IsMandatory="ipv6!=null")
ipV4Address ipv4;
@(IsMandatory="ipv4!=null")
ipV6Address ipv6;
##
例:IsMultiLineString注釈
##template variables
@(IsMultiLineString=true)
string EXTRA_CONF_SPINE;
##
IsShow注釈
##template variables
boolean isVlan;
@(IsShow="isVlan==true")
integer vlanNo;
##
##template variables
boolean enableScheduledBackup;
@(IsShow="enableScheduledBackup==true",Description="Server time")
string scheduledTime;
##
The condition "enableScheduledBackup==true" evaluates to true/false
##template variables
@(Enum="Manual,Back2BackOnly,ToExternalOnly,Both")
string VRF_LITE_AUTOCONFIG;
@(IsShow="VRF_LITE_AUTOCONFIG!=Manual", Description="Target Mask")
integer DCI_SUBNET_TARGET_MASK
##
The condition "VRF_LITE_AUTOCONFIG!=Manual" matches string comparison to evaluate to true or false
例:警告の注釈
##template variables
@(Warning="This is a warning msg")
string SITE_ID;
##
テンプレートの内容
この項には、テンプレートで使用する構成コマンドと、すべてのパラメータが含まれています。これらのコマンドには、テンプレート変数セクションで宣言された変数を含めることができます。コマンド生成プロセス中に、変数の値がテンプレートの内容に適切に置き換えられます。
Note |
使用するコマンドは、任意のデバイスのグローバル構成コマンド モードで入力するのと同じように指定する必要があります。コマンドを指定するときは、コマンド モードを考慮する必要があります。 |
テンプレートの内容は、変数の使用によって決まります。
-
スカラ変数:反復に使用できない値の範囲または配列を取得しません(変数タイプテーブルでは、 iterate-able が「No」としてマークされています)。スカラ変数はテンプレートの内容内で定義する必要があります。
Syntax: $$<variable name>$$ Example: $$USER_NAME$$
-
反復変数:ブロックの反復に使用されます。これらのループ変数は、次に示すように、繰り返しブロック内でアクセスする必要があります。
Syntax:@<loop variable> Example: foreach val in $$INTEGER_RANGE_VALUE$$ { @val }
-
スカラー構造体変数:構造体メンバー変数は、テンプレートの内容からアクセスできます。
Syntax: $$<structure instance name>.<member variable name>$$ Example: $$myInterface.inf_name$$
-
配列構造変数:構造体のメンバー変数は、テンプレートの内容からアクセスできます。
Syntax: $$<structure instance name>.<member variable name>$$ Example: $$myInterface.inf_name$$
テンプレート変数に加えて、次のステートメントを使用して、条件付きコマンドと反復コマンドの生成を使用できます。
-
if-else if-else ステートメント:その中の変数に割り当てられた値に基づいて、設定コマンドのセットの包含/除外を論理的に決定します。
Syntax: if(<operand 1> <logical operator> <operand 2>){ command1 .. command2.. .. } else if (<operand 3> <logical operator> <operand 4> ) { Command3 .. Command4.. .. } else { Command5 .. Command6.. .. } Example: if-else if-else statement if($$USER_NAME$$ == 'admin'){ Interface2/10 no shut } else { Interface2/10 shut }
-
foreach ステートメント:コマンドのブロックを反復するために使用されます。反復は、割り当てられたループ変数値に基づいて実行されます。
Syntax: foreach <loop index variable> in $$<loop variable>$$ { @<loop index variable> .. } Example: foreach Statement foreach ports in $$MY_INF_RANGE$${ interface @ports no shut }
-
オプション パラメータ:デフォルトでは、すべてのパラメータが必須です。パラメータをオプションにするには、パラメータに注釈を付ける必要があります。
変数セクションには、次のコマンドを含めることができます。
-
@(IsMandatory=false)
-
Integer frequency;
テンプレートの内容の項では、「if」条件チェックを使用せずに、パラメータに値を割り当てることで、コマンドを除外または含めることができます。オプションのコマンドは、次のように構成できます。
-
probe icmp [frequency frequency-value] [timeout seconds] [retry-count retry-count-value]
高度な機能
次に、テンプレートの構成に使用できる高度な機能を示します。
-
割り当て操作
構成テンプレートは、テンプレート コンテンツ セクション内の変数値の割り当てをサポートします。変数の宣言されたデータ型の値が検証されます。不一致がある場合、値は割り当てられません。
割り当て操作は、次のガイドラインに従って使用できます。
-
左側の演算子は、テンプレート パラメータまたは for ループ パラメータのいずれかである必要があります。
-
正しい値の演算子は、テンプレート パラメータ、ループ パラメータ、引用符で囲まれたリテラル文字列値、または単純な文字列値のいずれかの値です。
ステートメントがこれらのガイドラインに従っていない場合、またはこの形式に適合しない場合は、割り当て操作とは見なされません。これは、他の通常の行と同様に、コマンド生成時に置き換えられます。 Example: Template with assignment operation ##template properties name =vlan creation; userDefined= true; supportedPlatforms = All; templateType = CLI; published = false; ## ##template variables integerRange vlan_range; @(internal=true) integer vlanName; ## ##template content foreach vlanID in $$vlan_range$${ vlan @vlanID $$vlanName$$=@vlanID name myvlan$$vlanName$$ } ##
-
-
Evaluate メソッド
設定テンプレートは、Java ランタイムが提供する Java スクリプト環境を使用して、算術演算(ADD、SUBTRACT など)、文字列操作などを実行します。
テンプレート リポジトリ パスで JavaScript ファイルを見つけます。このファイルには、算術文字列関数の主要なセットが含まれています。カスタム JavaScript メソッドを追加することもできます。
これらのメソッドは、次の形式の設定テンプレート コンテンツ セクションから呼び出すことができます。 Example1: $$somevar$$ = evalscript(add, "100", $$anothervar$$)
また、次のようなif条件の内部で evalscript を呼び出すことができます。 if($$range$$ > evalscript(sum, $$vlan_id$$, -10)){ do something... }
Java スクリプト ファイルのバックエンドにあるメソッドを呼び出すことができます。
-
動的な決定
構成テンプレートは、特殊な内部変数 LAST_CMD_RESPONSE を提供します。この変数には、コマンド実行中のデバイスからの最後のコマンド応答が格納されます。これは、デバイスの状態に基づいてコマンドを提供するための動的な決定を行うために、構成テンプレートのコンテンツで使用できます。
Note
if ブロックの後には、空の場合もある新しい行で else ブロックを続ける必要があります。
VLAN がデバイス上に存在しない場合の VLAN の作成例。 Example: Create VLAN ##template content show vlan id $$vlan_id$$ if($$LAST_CMD_RESPONSE$$ contains "not found"){ vlan $$vlan_id$$ } else{ } ##
この特別な暗黙的変数は、「IF」ブロックでのみ使用できます。
-
テンプレート参照
すべての変数を定義した基本テンプレートを作成できます。この基本テンプレートは、複数のテンプレートにインポートできます。基本テンプレートの内容は、拡張テンプレートの適切な場所に置き換えられます。インポートしたテンプレート パラメータと内容は、拡張テンプレート内でアクセスできます。
Example: Template Referencing Base template: ##template properties name =a vlan base; userDefined= true; supportedPlatforms = All; templateType = CLI; published = false; timestamp = 2015-07-14 16:07:52; imports = ; ## ##template variables integer vlan_id; ## ##template content vlan $$vlan_id$$ ## Derived Template: ##template properties name =a vlan extended; userDefined= true; supportedPlatforms = All; templateType = CLI; published = false; timestamp = 2015-07-14 16:07:52; imports = a vlan base,template2; ## ##template variables interface vlanInterface; ## ##template content <substitute a vlan base> interface $$vlanInterface$$ <substitute a vlan base> ##
拡張テンプレートを起動すると、基本テンプレートのパラメータ入力も取得されます。また、置換された内容は、完全な CLI コマンドの生成に使用されます。
レポート テンプレート
REPORT テンプレートのテンプレート タイプは python で、2 つのサブタイプ(UPGRADE と GENERIC)があります。
アップグレード
UPGRADE テンプレートは、ISSU 前後のシナリオに使用されます。これらのテンプレートは、ISSU ウィザードに表示されます。
ISSU 前後の処理の詳細については、Nexusダッシュボード ファブリック コントローラ にパッケージ化されているデフォルトのアップグレード テンプレートを参照してください。デフォルトのアップグレード テンプレートは issu_vpc_check です。
GENERIC
GENERIC テンプレートは、リソース、スイッチ インベントリ、SFP、NVE VNI カウンタに関する情報の収集など、一般的なレポート シナリオに使用されます。このテンプレートを使用して、トラブルシューティング レポートを生成することもできます。
リソース レポート
このレポートには、特定のファブリックのリソース使用状況に関する情報が表示されます。
[サマリ(Summary)]セクションには、すべてのリソース プールと現在の使用率が表示されます。より多くの列を表示するには、ウィンドウの下部にある水平スクロール バーを使用します。
POOL NAME:プールの名前を指定します。
POOL RANGE:プールの IP アドレス範囲を指定します。
SUBNET MASK:サブネット マスクを指定します。
MAX ENTRIES:プールから割り当て可能な最大エントリ数を示します。
USAGE INSIDE RANGE:プール範囲内に割り当てられている現在のエントリ数を指定します。
USAGE OUTSIDE RANGE:プール範囲外に設定されている現在のエントリ数を指定します。
USAGE PERCENTAGE:これは、(範囲内での使用数/最大エントリ数) *100 という式を使用して計算されます。
[詳細の表示(View Details)]をクリックして、各リソースプールに割り当てられた、または設定されたリソースのビューを表示します。たとえば、SUBNET の詳細セクションには、サブネット内で割り当てられたリソースに関する情報が含まれます。
スイッチ インベントリ レポート
このレポートは、スイッチ インベントリに関する概要を提供します。
[詳細の表示(View Details)] をクリックして、モジュールとライセンスに関する詳細情報を表示します。
SFPレポート
このレポートは、ファブリックおよびデバイス レベルでの SFP の使用率に関する情報を提供します。
(注) |
スイッチインベントリおよび SFP レポートは、Cisco Nexus デバイスでのみサポートされます。 |
トラブルシューティング レポート
これらのレポートは、トラブルシューティングのシナリオに役立つように生成されます。現在、定義済みのトラブルシューティング レポートは NVE VNI カウンタ レポートのみです。NVE VNI カウンタ レポートの生成では、ネットワーク トラフィックに基づいて上位ヒットの VNI を特定するための定期的なチェックが実行されます。大規模なセットアップでは、レポートの生成頻度を 60 分以上に制限することをお勧めします。
NVE VNI カウンタ レポート
このレポートは、ファブリック内の各 VNI の show nve vni counters コマンド出力を収集します。
最も古いレポートと最新のレポートを比較すると、[サマリ(Summary)] セクションには上位 10 件のヒット VNI が表示されます。上位ヒット VNI は、次のカテゴリに表示されます。
-
ユニキャスト トラフィック用の L2 または L3 VNI
-
マルチキャスト トラフィック用の L2 または L3 VNI
-
ユニキャスト トラフィック用の L2 のみの VNI
-
マルチキャスト トラフィック用の L2 のみの VNI
-
ユニキャスト トラフィック用の L3 のみの VNI
-
マルチキャスト トラフィック用の L3 のみの VNI
最も古いレポートは、現在のレポート タスクで保存された最初のレポートを参照します。現在のレポートと比較する必要がある最初のレポートとして特定のレポートを選択する場合は、選択したレポートが最初で最も古いレポートになるように、選択したレポートよりも古いすべてのレポートを削除します。
たとえば、昨日の午前 8 時、午後 4 時、および午後 11 時に 3 つのレポートが実行されたとします。今日のレポートの最初の最も古いレポートとして午後 11 時にレポートを使用する場合は、昨日の午前 8 時と午後 4 時に実行されました。
定期レポートの場合、最も古いレポートは、期間の開始時刻に実行される最初のレポートです。日次および週次レポートの場合、現在のレポートが以前に生成されたレポートと比較されます。
[サマリ(Summary)] セクションには、送信された合計バイト数と VNI に関する情報を含むカラムごとのレポートが表示されます。より多くの列を表示するには、ウィンドウの下部にある水平スクロール バーを使用します。
(注) |
NVE VNI カウンタ レポートの [サマリ(Summary)] セクションでは、スイッチのリロード後またはスイッチのカウンタのクリア後にレポートが生成された場合、[合計送信バイト数(TOTAL TX BYTES)] 列に負の数が表示されます。番号は、後続のレポートで正しく表示されます。回避策として、スイッチをリロードするか、カウンタをクリアする前に、古いレポートをすべて削除するか、新しいジョブを作成することを推奨します。 |
詳細については、[詳細の表示(View Details)] をクリックしてください。このセクションでは、スイッチごとに NVE VNI とカウンタを示します。
レポートの表示方法の詳細については、「プログラム可能なレポート」の章を参照してください。