2016-08-16 8 views
0

私はCisco Prime Infrastructureを使用しており、一部のスイッチへの一括導入用のCLIテンプレートを作成する必要があります。 PrimeはCLIのコンテンツにApache Velocityを使用してスクリプトを作成します。私は、スイッチ上でVLANをループし、VLANごとのアクションを実行するコードを実行しているところで問題に遭遇しました。スイッチに複数のVLANがある場合は正常に機能しますが、1つのVLANしかない場合は失敗します。例:この[VLAN1]Apache Velocity:アレイ数の確認

スイッチ2がVLAN 1、VLAN 2、VLAN 3から成るように配列が見えるよう

スイッチ1は、VLAN 1で構成され、配列は[VLAN1、VLAN2、VLAN3]のように見える

コード:

#foreach($vlan in $VlanName) 
interface $vlan 
no ip helper-address 
#end 

$ VlanNameはプライムデータベースで定義され、各スイッチ上のVLANの配列を返します。上記はSwitch2で動作しますが、Switch1では失敗します。 Apache Velocityに、配列に複数の値が格納されているかどうかを調べる方法はありますか?私はこのようなコードを変更するIFステートメントを実行したいと思います:

#if ($VlanName.count = 1) 
interface $VlanName 
no ip helper-address 
#else 
#foreach($vlan in $VlanName) 
interface $vlan 
no ip helper-address 
#end 

これはVelocityでも可能ですか?

答えて

0

オブジェクトに対しては、size()メソッドを呼び出すことで、いつでもサイズを取得できます。

#set($size = $VlanName.size()) 
#if($size == 1) 
    Only one 
#end 
関連する問題