netx/netx_api/biz_state/parsers/cisco/__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

24 lines
813 B
Python

"""Cisco IOS / NX-OS / XR parsers.
LLDP already works via ``common.lldp_neighbors`` (profile ``parser_id=lldp_neighbors``).
Shared ``metric_id`` schemas live in ``profiles.py`` (ZTE is the reference
implementation). Stub modules keep normalize signatures aligned — do **not**
register in ``PARSERS`` until implemented::
interface_brief.py arp.py isis_adjacency.py nd6_cache.py bgp_peer.py
When ready, import and add to ``PARSERS``. If ``parser_id`` already exists for
another vendor, prefer a vendor-dispatch in ``common/`` or a prefixed parser_id.
"""
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"]