""" 思科设备VLAN配置模板 支持创建VLAN、配置VLAN名称、将接口添加到VLAN等操作 """ def create_vlan(vlan_id: str, vlan_name: str = None) -> str: """ 创建VLAN Args: vlan_id: VLAN ID vlan_name: VLAN名称(可选) Returns: 配置命令字符串 """ commands = [ "configure terminal", f"vlan {vlan_id}" ] if vlan_name: commands.append(f"name {vlan_name}") commands.append("exit") commands.append("end") return "\n".join(commands) def add_interface_to_vlan(interface: str, vlan_id: str, mode: str = "access") -> str: """ 将接口添加到VLAN Args: interface: 接口名称,如 GigabitEthernet0/1 vlan_id: VLAN ID mode: 接口模式,access或trunk Returns: 配置命令字符串 """ commands = [ "configure terminal", f"interface {interface}", "switchport" ] if mode.lower() == "access": commands.append("switchport mode access") commands.append(f"switchport access vlan {vlan_id}") elif mode.lower() == "trunk": commands.append("switchport mode trunk") commands.append(f"switchport trunk allowed vlan add {vlan_id}") commands.append("exit") commands.append("end") return "\n".join(commands) def delete_vlan(vlan_id: str) -> str: """ 删除VLAN Args: vlan_id: VLAN ID Returns: 配置命令字符串 """ commands = [ "configure terminal", f"no vlan {vlan_id}", "end" ] return "\n".join(commands) def show_vlan() -> str: """ 显示VLAN信息 Returns: 显示命令字符串 """ return "show vlan brief" def show_vlan_detail(vlan_id: str) -> str: """ 显示特定VLAN的详细信息 Args: vlan_id: VLAN ID Returns: 显示命令字符串 """ return f"show vlan id {vlan_id}"