""" 华为设备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 = [ "system-view", f"vlan {vlan_id}" ] if vlan_name: commands.append(f"description {vlan_name}") commands.append("quit") return "\n".join(commands) def add_interface_to_vlan(interface: str, vlan_id: str, mode: str = "access") -> str: """ 将接口添加到VLAN Args: interface: 接口名称,如 GigabitEthernet0/0/1 vlan_id: VLAN ID mode: 接口模式,access或trunk Returns: 配置命令字符串 """ commands = [ "system-view", f"interface {interface}" ] if mode.lower() == "access": commands.append("port link-type access") commands.append(f"port default vlan {vlan_id}") elif mode.lower() == "trunk": commands.append("port link-type trunk") commands.append(f"port trunk allow-pass vlan {vlan_id}") commands.append("quit") return "\n".join(commands) def delete_vlan(vlan_id: str) -> str: """ 删除VLAN Args: vlan_id: VLAN ID Returns: 配置命令字符串 """ commands = [ "system-view", f"undo vlan {vlan_id}", "quit" ] return "\n".join(commands) def show_vlan() -> str: """ 显示VLAN信息 Returns: 显示命令字符串 """ return "display vlan" def show_vlan_detail(vlan_id: str) -> str: """ 显示特定VLAN的详细信息 Args: vlan_id: VLAN ID Returns: 显示命令字符串 """ return f"display vlan {vlan_id}"