Skip to content

8‐2 Add Commands_jp

Yusuke Ogawa edited this page Dec 8, 2025 · 44 revisions

Masterファイルを直接編集するため、実行前に必ずMasterファイルをバックアップしてください。

本手順でできること

CLIから以下のaddコマンドを実行できます

基本構文

python [file path]/network_sketcher.py [command] --master [master file path]
  • 以下のように[command] 、--master [master file path] の場所は変更可能
    python [file path]/network_sketcher.py -master [master file path] [command]

add area_location

エリア全体のレイアウト(配置マップ)を更新します。2次元配列でエリアの配置を指定することで、エリアの位置関係を一括で変更できます。新しいエリアも同時に追加可能です。

python [file path]/network_sketcher.py add area_location "[['area_name1','area_name2'],['area_name3','area_name4']]" --master [master file path]
  • ex.

+BEFORE+
#python .\network_sketcher.py show area_location --master "C:\work[MASTER]test.xlsx"
[['DC1', 'DC2']]

+area_location updated+
#python .\network_sketcher.py add area_location "[['DC1','DC2'],['DC3','DC4']]" --master "C:\work[MASTER]test.xlsx"
--- Area layout updated ---
New areas added: ['DC3', 'DC4']
Device added for DC3: DC3_device_
Device added for DC4: DC4_device_
New area layout:
['DC1', 'DC2']
['DC3', 'DC4']

+AFTER+
#python .\network_sketcher.py show area_location --master "C:\work[MASTER]test.xlsx"
[['DC1', 'DC2'], ['DC3', 'DC4']]

[Tips]

  • すべての既存エリアは新しいレイアウトに含める必要があります
  • 新しいエリアには自動的にデフォルトデバイスが追加されます(通常エリア: [area_name]_device_、waypointエリア: [area_name]から_wp_を除いた名前)
  • Waypoint専用エリア(_wp_で終わるエリア名)を横に連続して配置することはできません

add device

既存のデバイスを基準として、新しいデバイスを指定した方向に追加します。デバイスは通常のエリア(非waypointエリア)に追加されます。

python [file path]/network_sketcher.py add device [new_device_name] [reference_device] [direction] --master [master file path]

[direction]の指定:

UP : 基準デバイスの上に追加
DOWN : 基準デバイスの下に追加
LEFT : 基準デバイスの左に追加
RIGHT : 基準デバイスの右に追加
UP_WITH_GRID : 基準デバイスの上に行を追加して配置
DOWN_WITH_GRID : 基準デバイスの下に行を追加して配置
LEFT_WITH_GRID : 基準デバイスの左に列を追加して配置
RIGHT_WITH_GRID : 基準デバイスの右に列を追加して配置

  • ex.

+BEFORE+
#python .\network_sketcher.py show device_locatoin --master "C:\work[MASTER]test.xlsx"
['tmp', [['sw1', 'sw2']]]

+device added+
#python .\network_sketcher.py add device 'sw4' 'sw1' RIGHT --master "C:\work[MASTER]test.xlsx"
--- Device added --- sw4 relative to sw1 with direction RIGHT

+AFTER+
#python .\network_sketcher.py show device --master "C:\work[MASTER]test.xlsx"
['tmp', [['sw1', 'sw4', 'sw2']]]

[Tips]

  • 追加するデバイス名は既存のデバイス名と重複できません
  • waypointエリアに配置されているデバイスを基準にすることはできません

add device_location

特定のエリア内のデバイス配置を更新します。2次元配列でデバイスのグリッドレイアウトを指定することで、エリア内のデバイス位置を一括で変更できます。既存のデバイスはすべて置き換えられます。

python [file path]/network_sketcher.py add device_location "['area_name',[['device_name1','device2_name'],['device_name3','device_name4']]]" --master [master file path]

ex.

+BEFORE+
#python .\network_sketcher.py show device_location --master "C:\work[MASTER]test.xlsx"
['DC1', [['SW-1', 'SW-2']]]

+device_location updated+
#python .\network_sketcher.py add device_location "['DC1',[['SW-1','SW-2'],['SW-3','AIR']]]" --master "C:\work[MASTER]test.xlsx"
--- Device location updated for area "DC1" ---
Added devices: ['SW-3']
New device layout (normalized):
['SW-1', 'SW-2']
['SW-3', 'AIR']

+AFTER+
#python .\network_sketcher.py show device_location --master "C:\work[MASTER]test.xlsx"
['DC1', [['SW-1', 'SW-2'], ['SW-3', 'AIR']]]

[Tips]

  • デバイスグリッドは自動的に中央揃え・正規化されます
  • _AIR_を使用して空のセルを明示的に指定できます
  • 新しいデバイスが他のエリアに既に存在する場合はエラーになります
  • デバイス配置の変更のみ(追加・削除なし)も可能です

add ip_address

レイヤ3インタフェースにIPアドレスを作成します。1回に1つのIPアドレスが作成できます。繰り返すことで複数のIPアドレスの追加が可能です。

python [file path]/network_sketcher.py add ip_address [device name] [layer3_portname] [ip_address/subnetmask] --master [master file path] 
  • ex.

+BEFORE+
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'Vlan 100', '', '']

+IP Address added+
#python .\network_sketcher.py add ip_address 'L3SW2' 'Vlan 100' '192.168.100.100/24' --master "C:\work\[MASTER]test.xlsx"
--- IP Address added --- L3SW2,Vlan 100,192.168.100.100/24

+AFTER+
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'Vlan 100', '', '192.168.100.100/24']

add l1_link

デバイス間にレイヤ1物理接続を作成します。1回に1つの物理リンクが作成できます。繰り返すことで複数のリンクの追加が可能です。

python [file path]/network_sketcher.py add l1_link [from_device] [to_device] [from_portname] [to_portname] --master [master file path]
  • ex.

+BEFORE+
#python .\network_sketcher.py show l1_link --master "C:\work[MASTER]test.xlsx"
[['SW-1', 'GigabitEthernet 0/0'], ['SW-3', 'GigabitEthernet 0/1']]

+l1_link added+
#python .\network_sketcher.py add l1_link 'SW-1' 'SW-2' 'GigabitEthernet 0/1' 'GigabitEthernet 0/0' --master "C:\work[MASTER]test.xlsx"
--- Added Layer 1 link --- SW-1 SW-2 GigabitEthernet 0/1 GigabitEthernet 0/0

+AFTER+
#python .\network_sketcher.py show l1_link --master "C:\work[MASTER]test.xlsx"
[['SW-1', 'GigabitEthernet 0/0'], ['SW-3', 'GigabitEthernet 0/1']]
[['SW-1', 'GigabitEthernet 0/1'], ['SW-2', 'GigabitEthernet 0/0']]

[Tips]

  • ポート名にスペースが含まれるため、シングルクォート('port 0')で囲む必要があります

add l1_link_bulk

複数のレイヤ1物理接続を一括で作成します。配列形式で複数のリンク定義を指定することで、効率的に複数のリンクを追加できます。

python [file path]/network_sketcher.py add l1_link_bulk "[['from_device1','to_device1','from_port1','to_port1'],['from_device2','to_device2','from_port2','to_port2']]" --master [master file path]
  • ex.

+BEFORE+
#python .\network_sketcher.py show l1_link --master "C:\work[MASTER]test.xlsx"
[['SW-1', 'GigabitEthernet 0/0'], ['SW-3', 'GigabitEthernet 0/1']]

+l1_link_bulk added+
#python .\network_sketcher.py add l1_link_bulk "[['SW-1','SW-2','GigabitEthernet 0/1','GigabitEthernet 0/0'],['SW-2','SW-3','GigabitEthernet 0/1','GigabitEthernet 0/2']]" --master "C:\work[MASTER]test.xlsx"
--- Added 2 Layer 1 link(s) in bulk ---
SW-1(GigabitEthernet 0/1) ↔ SW-2(GigabitEthernet 0/0)
SW-2(GigabitEthernet 0/1) ↔ SW-3(GigabitEthernet 0/2)
Affected devices: ['SW-1', 'SW-2', 'SW-3']

+AFTER+
#python .\network_sketcher.py show l1_link --master "C:\work[MASTER]test.xlsx"
[['SW-1', 'GigabitEthernet 0/0'], ['SW-3', 'GigabitEthernet 0/1']]
[['SW-1', 'GigabitEthernet 0/1'], ['SW-2', 'GigabitEthernet 0/0']]
[['SW-2', 'GigabitEthernet 0/1'], ['SW-3', 'GigabitEthernet 0/2']]

[Tips]

  • すべての要素(デバイス名、ポート名)はシングルクォートまたはダブルクォートで囲む必要があります
  • バッチ内で同じポートを複数回使用するとエラーになります
  • 既存のリンクで使用されているポートは使用できません

add l2_segment

インタフェースにVLAN等のレイヤ2セグメントを作成します。1回に1つのレイヤ2セグメントが作成できます。複数のレイヤ2セグメントの作成が可能です。

python [file path]/network_sketcher.py add l2_segment [device name] [layer2_portname] [l2segment_name] --master [master file path] 
  • ex.

+BEFORE+
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'GigabitEthernet 0/0', '', 'Vlan100,Vlan200,Vlan300', '']

+l2_segment added+
#python .\network_sketcher.py add l2_segment 'L3SW2' 'GigabitEthernet 0/0' 'addvlan999' --master "C:\work\[MASTER]test.xlsx"
--- l2 Segment added --- L3SW2,GigabitEthernet 0/0,addvlan999

+AFTER+
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'GigabitEthernet 0/0', '', 'Vlan100,Vlan200,Vlan300,addvlan999', '']

add portchannel

レイヤ1インタフェースにポートチャネル(LAG)を作成します。

python [file path]/network_sketcher.py add portchannel [device name] [layer1_portname] [portchannel_name] --master [master file path] 
  • ex.

+BEFORE+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW1', 'GigabitEthernet 0/0', '', '', '']
['L3SW1', 'GigabitEthernet 0/1', '', '', '']

#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW1', 'GigabitEthernet 0/0', '', '']
['L3SW1', 'GigabitEthernet 0/1', '', '']

+portchannel added+
#python .\network_sketcher.py add portchannel 'L3SW1' 'GigabitEthernet 0/0' 'PortChannel 1' --master "C:\work\[MASTER]test.xlsx"
--- portchannel added --- L3SW1,GigabitEthernet 0/0,PortChannel 1
#python .\network_sketcher.py add portchannel 'L3SW1' 'GigabitEthernet 0/1' 'PortChannel 1' --master "C:\work\[MASTER]test.xlsx"
--- portchannel added --- L3SW1,GigabitEthernet 0/1,PortChannel 1

+AFTER+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW1', 'GigabitEthernet 0/0', 'PortChannel 1', '', '']
['L3SW1', 'GigabitEthernet 0/1', 'PortChannel 1', '', '']

#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW1', 'PortChannel 1', '', '']

add virtual_port

VLAN インターフェイス (SVI) などのレイヤー 3 インターフェイスを作成します。virtual port作成後は、ループバックアドレスの状態となるため、VLANなどのレイヤ2セグメントと接続する場合は、追加でadd l2_segmentコマンドを実施し、作成したvirtual portとl2_segmentを接続してください。

python [file path]/network_sketcher.py add virtual_port [device name] [virtual_portname] --master [master file path] 
  • ex.

+BEFORE+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', '', 'Vlan 300', 'Vlan300', '']

#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'Vlan 300', '', '']

+virtual_port added+
#python .\network_sketcher.py add virtual_port 'L3SW2' 'addvlan 999' --master "C:\work\[MASTER]test.xlsx"
--- Virtual Port added --- L3SW2,addvlan 999

+AFTER+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', '', 'addvlan 999', '', '']
['L3SW2', '', 'Vlan 100', 'Vlan100', '']

#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'Vlan 300', '', '']
['L3SW2', 'addvlan 999', '', '']

add vport_l1if_direct_binding

レイヤ1インタフェースと直接接続するVirutal portを追加します。例えば、ルータでサブインタフェースを作成し、サブインタフェース毎にdot1qタギングを構成する場合に使用します。1つのレイヤ1インタフェースで複数のVirtual portを接続させる構成も可能です。この設定のみではサブインタフェースを作成した状態であるため、レイヤ2を送受信するには、この設定にadd vport_l2_direct_bindingを追加して作成したVirutal portにVLAN等のレイヤ2要素を追加する必要があります。

python [file path]/network_sketcher.py add vport_l1if_direct_binding [device name] [Layer1 port] [vport_name_direct_binding] --master [master file path] 
  • ex.

+BEFORE+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['Catalyst 3560', 'GigabitEthernet 0/0', '', '', '']

+vport_l1if_direct_binding added+
#python .\network_sketcher.py add vport_l1if_direct_binding "Catalyst 3560" "GigabitEthernet 0/0" "GigabitEthernet 0/0.100" --master "C:\work\[MASTER]test.xlsx"
--- vport_l1if_direct_binding added --- Catalyst 3560,GigabitEthernet 0/0,GigabitEthernet 0/0.100

+AFTER+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['Catalyst 3560', 'GigabitEthernet 0/0', 'GigabitEthernet 0/0.100', '', '']

add vport_l2_direct_binding

Virtualポートで直接VLANのようなレイヤ2を送受信させます。通常は、Virtualポートはl2_segmentと接続して、そのl2_segmentとレイヤ1インタフェースと接続することで、レイヤ1インタフェースとVirtualポートを接続しますが、このコマンドは、直接Virtualポートとレイヤ1インタフェースとを接続し、VLAN(l2_segment)のようなレイヤ2の要素を送受信させます。例えば、ルータでサブインタフェースを作成し、サブインタフェース毎にdot1qタギングを構成する場合に使用します。1つのVirtualポートで複数のVLANのようなレイヤ2を送受信させる構成も可能です。なお、同じVirtual portでl2_segmentとvport_l2_direct_bindingを同時に登録することはできません。また、事前にVirutal portの設定が必要となりますが、add vport_l1if_direct_bindingコマンドで追加してください。add virtual_portコマンドで作成したVirtual portはadd vport_l2_direct_bindingコマンドで使用しません。

python [file path]/network_sketcher.py add vport_l2_direct_binding [device name] [virtual port] [l2_name_direct_binding] --master [master file path] 
  • ex.

+BEFORE+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['Catalyst 3560', 'GigabitEthernet 0/0', 'GigabitEthernet 0/0.100', '', '']

+vport_l2_direct_bindingadded+
#python .\network_sketcher.py add vport_l2_direct_binding "Catalyst 3560" "GigabitEthernet 0/0.100" vlan100 --master "C:\work\[MASTER]test.xlsx"
--- vport_l2_direct_binding added --- Catalyst 3560,GigabitEthernet 0/0.100,vlan100

+AFTER+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['Catalyst 3560', 'GigabitEthernet 0/0', 'GigabitEthernet 0/0.100', '', 'vlan100']

add waypoint

既存のwaypointを基準として、新しいwaypointを指定した方向に追加します。Waypointはwaypoint専用エリア(_wp_で終わるエリア名)に追加されます。

python [file path]/network_sketcher.py add waypoint [new_waypoint_name] [reference_waypoint] [direction] --master [master file path]

[direction]の指定:

UP : 基準waypointの上に追加
DOWN : 基準waypointの下に追加
LEFT : 基準waypointの左に追加
RIGHT : 基準waypointの右に追加

  • ex.

+BEFORE+
#python .\network_sketcher.py show waypoint_locatoin --master "C:\work[MASTER]test.xlsx"
['WAN-1_wp_', [['WAN-1']]]

+waypoint added+
#python .\network_sketcher.py add waypoint 'WAN-2' 'WAN-1' 'RIGHT' --master "C:\work[MASTER]test.xlsx"
--- Waypoint added --- WAN-2 relative to WAN-1 with direction RIGHT

+AFTER+
#python .\network_sketcher.py show waypoint_locatoin --master "C:\work[MASTER]test.xlsx"
['WAN-1_wp_', [['WAN-1', 'WAN-2']]]

[Tips]

  • Waypointは必ずwaypoint専用エリア(_wp_で終わるエリア名)内に配置されます
  • 基準デバイスがwaypoint専用エリアに存在しない場合はエラーになります
  • X軸に隣接するエリアに通常エリアが存在する場合、UP/DOWNのみ使用可能です
  • X軸に隣接するエリアがすべてwaypointエリアまたは空の場合、LEFT/RIGHTのみ使用可能です

Clone this wiki locally