netx/netx_api/biz_state/parsers/huawei/__init__.py
oliver 285c19e5a3 Decouple cutover HF from portrait and tighten ops UI.
Portrait stays on biz-monitor; cutover create/ensure owns purpose=cutover_hf slots with project collect override, multi-interval bindings, window pause, and industrial detail UX. Also expand ZTE collect/config parsers and TextFSM for route/BGP/L2VPN/VRRP coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 21:11:31 +08:00

26 lines
892 B
Python

"""Huawei VRP parsers.
LLDP already works via ``common.lldp_neighbors`` (``display lldp neighbor``).
Shared ``metric_id`` / FieldDef schemas (cross-vendor compare) are defined in
``profiles.py`` for ZTE first. Stub modules below keep the same normalize
signatures for future Huawei implementations — do **not** register in
``PARSERS`` until TextFSM + prefer_fsm paths exist (avoids NotImplementedError
at collect time)::
interface_brief.py arp.py isis_adjacency.py nd6_cache.py bgp_peer.py
When ready, import and add to ``PARSERS``. Prefer same field names as ZTE
(``bgp_peer``, ``ospf_neighbor``, ``vrrp``, ``ip_route``, …).
"""
from __future__ import annotations
from typing import Any, Callable
NormalizeFn = Callable[..., list[dict[str, Any]]]
# Do not register stubs yet — they raise NotImplementedError.
PARSERS: dict[str, NormalizeFn] = {}
__all__ = ["PARSERS"]