From 7677ca39c2d829b013e25bb936180a6a99f3f123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=BA=D0=BB=D1=8F=D1=80=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=9F=D0=B0=D0=B2=D0=B5=D0=BB?= Date: Wed, 10 Jan 2024 16:11:28 +0000 Subject: [PATCH] Support unknown protocol in arista_eos_show_interfaces_description (#1540) --- .github/workflows/ci.yml | 6 +- Dockerfile | 9 +- docs/dev/data_model.md | 44 + docs/dev/dev_parser.md | 8 +- docs/requirements.txt | 11 +- ntc_templates/parse.py | 4 +- ...ta_eos_show_interfaces_description.textfsm | 4 +- .../aruba_aoscx_show_interface.textfsm | 95 +- ...cx_show_lldp_neighbors-info_detail.textfsm | 5 + .../templates/aruba_aoscx_show_vlan.textfsm | 34 + .../templates/cisco_asa_ping.textfsm | 13 +- .../cisco_asa_show_interface_detail.textfsm | 12 +- .../templates/cisco_ios_ping.textfsm | 2 +- ...co_ios_show_interfaces_description.textfsm | 4 +- .../cisco_ios_show_interfaces_status.textfsm | 2 +- .../cisco_ios_show_rep_topology.textfsm | 17 + ...e_internal_bigsur_all-ports_detail.textfsm | 457 ++++ ...o_nxos_show_interface_snmp-ifindex.textfsm | 12 + ...cisco_nxos_show_ip_mroutes_vrf_all.textfsm | 29 + .../cisco_nxos_show_lldp_neighbors.textfsm | 7 +- .../cisco_nxos_show_switching-mode.textfsm | 10 + .../cisco_s300_show_ip_interface.textfsm | 8 +- ntc_templates/templates/cisco_xr_ping.textfsm | 24 + ...w_bgp_vrf_all_ipv4_unicast_summary.textfsm | 6 +- .../huawei_vrp_display_arp_all.textfsm | 4 +- .../huawei_vrp_display_interface.textfsm | 21 +- ...p_display_ip_routing-table_verbose.textfsm | 2 +- ...huawei_vrp_display_ip_vpn-instance.textfsm | 14 + ..._display_ip_vpn-instance_interface.textfsm | 15 + .../huawei_vrp_display_lldp_neighbor.textfsm | 5 +- .../huawei_vrp_display_mac-address.textfsm | 12 + .../huawei_vrp_display_port_vlan.textfsm | 261 +-- .../templates/huawei_vrp_display_vlan.textfsm | 42 + ntc_templates/templates/index | 17 +- .../templates/linux_ip_address_show.textfsm | 4 +- .../templates/linux_ip_link_show.textfsm | 18 +- poetry.lock | 1906 +++++++++-------- pyproject.toml | 15 +- tasks.py | 30 +- ...arista_eos_show_interfaces_description.yml | 100 +- .../show_interface/show_interface.yml | 68 + .../show_interface/show_interface1.raw | 91 + .../show_interface/show_interface1.yml | 84 + .../show_interface/show_interface2.raw | 174 ++ .../show_interface/show_interface2.yml | 239 +++ tests/aruba_aoscx/show_vlan/show_vlan.raw | 6 + tests/aruba_aoscx/show_vlan/show_vlan.yml | 19 + tests/cisco_asa/ping/cisco_asa_ping_mix.raw | 4 + tests/cisco_asa/ping/cisco_asa_ping_mix.yml | 12 + .../cisco_asa/ping/cisco_asa_ping_quench.raw | 4 + .../cisco_asa/ping/cisco_asa_ping_quench.yml | 12 + .../ping/cisco_asa_ping_unreachable.raw | 4 + .../ping/cisco_asa_ping_unreachable.yml | 12 + .../cisco_asa_show_interface_detail.yml | 48 +- ...sco_asa_show_interface_detail_loopback.raw | 17 + ...sco_asa_show_interface_detail_loopback.yml | 70 + tests/cisco_ios/ping/cisco_ios_ping_mix.raw | 4 + tests/cisco_ios/ping/cisco_ios_ping_mix.yml | 14 + .../cisco_ios/ping/cisco_ios_ping_quench.raw | 4 + .../cisco_ios/ping/cisco_ios_ping_quench.yml | 14 + .../ping/cisco_ios_ping_unreachable.raw | 4 + .../ping/cisco_ios_ping_unreachable.yml | 14 + .../cisco_ios_show_interfaces_description.yml | 78 +- .../cisco_ios_show_interfaces_status.raw | 1 + .../cisco_ios_show_interfaces_status.yml | 8 + .../cisco_ios_show_rep_topology.raw | 5 + .../cisco_ios_show_rep_topology.yml | 10 + ...are_internal_bigsur_all-ports_detail_1.raw | 730 +++++++ ...are_internal_bigsur_all-ports_detail_1.yml | 826 +++++++ ...sco_nxos_show_interface_snmp-ifindex_1.raw | 27 + ...sco_nxos_show_interface_snmp-ifindex_1.yml | 71 + .../show_ip_mroutes_vrf_all.raw | 17 + .../show_ip_mroutes_vrf_all.yml | 25 + .../cisco_nxos_show_lldp_neighbors.yml | 9 +- ...sco_nxos_show_lldp_neighbors_multiline.raw | 28 + ...sco_nxos_show_lldp_neighbors_multiline.yml | 62 + .../cisco_nxos_show_switching-mode_1.raw | 4 + .../cisco_nxos_show_switching-mode_1.yml | 5 + .../cisco_nxos_show_switching-mode_2.raw | 4 + .../cisco_nxos_show_switching-mode_2.yml | 5 + .../cisco_nxos_show_switching-mode_3.raw | 5 + .../cisco_nxos_show_switching-mode_3.yml | 8 + .../cisco_s300_show_ip_interface_1.yml | 4 +- .../cisco_s300_show_ip_interface_2.yml | 4 +- tests/cisco_xr/ping/cisco_xr_ping.raw | 5 + tests/cisco_xr/ping/cisco_xr_ping.yml | 14 + tests/cisco_xr/ping/cisco_xr_ping_fail.raw | 5 + tests/cisco_xr/ping/cisco_xr_ping_fail.yml | 14 + tests/cisco_xr/ping/cisco_xr_ping_mix.raw | 4 + tests/cisco_xr/ping/cisco_xr_ping_mix.yml | 14 + tests/cisco_xr/ping/cisco_xr_ping_quench.raw | 4 + tests/cisco_xr/ping/cisco_xr_ping_quench.yml | 14 + .../ping/cisco_xr_ping_unreachable.raw | 4 + .../ping/cisco_xr_ping_unreachable.yml | 14 + ..._show_bgp_vrf_all_ipv4_unicast_summary.raw | 20 + ..._show_bgp_vrf_all_ipv4_unicast_summary.yml | 9 + .../huawei_vrp_display_arp_all.raw | 12 + .../huawei_vrp_display_arp_all.yml | 32 + .../huawei_vrp_display_interface.yml | 40 + .../huawei_vrp_display_interface1.raw | 1356 ++++++++++++ .../huawei_vrp_display_interface1.yml | 726 +++++++ .../huawei_vrp_display_interface_dialer_1.yml | 4 + ..._vrp_display_interface_gigabitethernet.yml | 12 + ...display_ip_routing-table_verbose_ipv41.raw | 93 + ...display_ip_routing-table_verbose_ipv41.yml | 178 ++ .../huawei_vrp_display_ip_vpn-instance.raw | 7 + .../huawei_vrp_display_ip_vpn-instance.yml | 8 + ..._vrp_display_ip_vpn-instance_interface.raw | 22 + ..._vrp_display_ip_vpn-instance_interface.yml | 23 + .../huawei_vrp_display_lldp_neighbor1.raw | 39 + .../huawei_vrp_display_lldp_neighbor1.yml | 18 + .../huawei_vrp_display_mac-address.raw | 8 + .../huawei_vrp_display_mac-address.yml | 10 + .../huawei_vrp_display_port_vlan_example4.raw | 50 + .../huawei_vrp_display_port_vlan_example4.yml | 324 +++ .../display_vlan/huawei_vrp_display_vlan.raw | 28 + .../display_vlan/huawei_vrp_display_vlan.yml | 242 +++ .../busybox_ip_address_show.raw | 13 + .../busybox_ip_address_show.yml | 42 + .../ip_link_show/busybox_ip_link_show.raw | 14 + .../ip_link_show/busybox_ip_link_show.yml | 72 + .../linux/ip_link_show/linux_ip_link_show.yml | 8 + .../mikrotik_routeros_ip_address_print.raw | 8 + .../mikrotik_routeros_ip_address_print.yml | 30 + ...uteros_log_print_detail_without-paging.yml | 2 +- tests/test_tasks.py | 33 + 126 files changed, 8492 insertions(+), 1226 deletions(-) create mode 100644 docs/dev/data_model.md create mode 100644 ntc_templates/templates/aruba_aoscx_show_vlan.textfsm create mode 100644 ntc_templates/templates/cisco_ios_show_rep_topology.textfsm create mode 100644 ntc_templates/templates/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail.textfsm create mode 100644 ntc_templates/templates/cisco_nxos_show_interface_snmp-ifindex.textfsm create mode 100644 ntc_templates/templates/cisco_nxos_show_ip_mroutes_vrf_all.textfsm create mode 100644 ntc_templates/templates/cisco_nxos_show_switching-mode.textfsm create mode 100644 ntc_templates/templates/cisco_xr_ping.textfsm create mode 100644 ntc_templates/templates/huawei_vrp_display_ip_vpn-instance.textfsm create mode 100644 ntc_templates/templates/huawei_vrp_display_ip_vpn-instance_interface.textfsm create mode 100644 ntc_templates/templates/huawei_vrp_display_mac-address.textfsm create mode 100644 ntc_templates/templates/huawei_vrp_display_vlan.textfsm create mode 100644 tests/aruba_aoscx/show_interface/show_interface1.raw create mode 100644 tests/aruba_aoscx/show_interface/show_interface1.yml create mode 100644 tests/aruba_aoscx/show_interface/show_interface2.raw create mode 100644 tests/aruba_aoscx/show_interface/show_interface2.yml create mode 100644 tests/aruba_aoscx/show_vlan/show_vlan.raw create mode 100644 tests/aruba_aoscx/show_vlan/show_vlan.yml create mode 100644 tests/cisco_asa/ping/cisco_asa_ping_mix.raw create mode 100644 tests/cisco_asa/ping/cisco_asa_ping_mix.yml create mode 100644 tests/cisco_asa/ping/cisco_asa_ping_quench.raw create mode 100644 tests/cisco_asa/ping/cisco_asa_ping_quench.yml create mode 100644 tests/cisco_asa/ping/cisco_asa_ping_unreachable.raw create mode 100644 tests/cisco_asa/ping/cisco_asa_ping_unreachable.yml create mode 100644 tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail_loopback.raw create mode 100644 tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail_loopback.yml create mode 100644 tests/cisco_ios/ping/cisco_ios_ping_mix.raw create mode 100644 tests/cisco_ios/ping/cisco_ios_ping_mix.yml create mode 100644 tests/cisco_ios/ping/cisco_ios_ping_quench.raw create mode 100644 tests/cisco_ios/ping/cisco_ios_ping_quench.yml create mode 100644 tests/cisco_ios/ping/cisco_ios_ping_unreachable.raw create mode 100644 tests/cisco_ios/ping/cisco_ios_ping_unreachable.yml create mode 100644 tests/cisco_ios/show_rep_topology/cisco_ios_show_rep_topology.raw create mode 100644 tests/cisco_ios/show_rep_topology/cisco_ios_show_rep_topology.yml create mode 100644 tests/cisco_nxos/show_hardware_internal_bigsur_all-ports_detail/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail_1.raw create mode 100644 tests/cisco_nxos/show_hardware_internal_bigsur_all-ports_detail/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail_1.yml create mode 100644 tests/cisco_nxos/show_interface_snmp-ifindex/cisco_nxos_show_interface_snmp-ifindex_1.raw create mode 100644 tests/cisco_nxos/show_interface_snmp-ifindex/cisco_nxos_show_interface_snmp-ifindex_1.yml create mode 100644 tests/cisco_nxos/show_ip_mroutes_vrf_all/show_ip_mroutes_vrf_all.raw create mode 100644 tests/cisco_nxos/show_ip_mroutes_vrf_all/show_ip_mroutes_vrf_all.yml create mode 100644 tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors_multiline.raw create mode 100644 tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors_multiline.yml create mode 100644 tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_1.raw create mode 100644 tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_1.yml create mode 100644 tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_2.raw create mode 100644 tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_2.yml create mode 100644 tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_3.raw create mode 100644 tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_3.yml create mode 100644 tests/cisco_xr/ping/cisco_xr_ping.raw create mode 100644 tests/cisco_xr/ping/cisco_xr_ping.yml create mode 100644 tests/cisco_xr/ping/cisco_xr_ping_fail.raw create mode 100644 tests/cisco_xr/ping/cisco_xr_ping_fail.yml create mode 100644 tests/cisco_xr/ping/cisco_xr_ping_mix.raw create mode 100644 tests/cisco_xr/ping/cisco_xr_ping_mix.yml create mode 100644 tests/cisco_xr/ping/cisco_xr_ping_quench.raw create mode 100644 tests/cisco_xr/ping/cisco_xr_ping_quench.yml create mode 100644 tests/cisco_xr/ping/cisco_xr_ping_unreachable.raw create mode 100644 tests/cisco_xr/ping/cisco_xr_ping_unreachable.yml create mode 100644 tests/huawei_vrp/display_arp_all/huawei_vrp_display_arp_all.raw create mode 100644 tests/huawei_vrp/display_arp_all/huawei_vrp_display_arp_all.yml create mode 100644 tests/huawei_vrp/display_interface/huawei_vrp_display_interface1.raw create mode 100644 tests/huawei_vrp/display_interface/huawei_vrp_display_interface1.yml create mode 100644 tests/huawei_vrp/display_ip_routing-table_verbose/huawei_vrp_display_ip_routing-table_verbose_ipv41.raw create mode 100644 tests/huawei_vrp/display_ip_routing-table_verbose/huawei_vrp_display_ip_routing-table_verbose_ipv41.yml create mode 100644 tests/huawei_vrp/display_ip_vpn-instance/huawei_vrp_display_ip_vpn-instance.raw create mode 100644 tests/huawei_vrp/display_ip_vpn-instance/huawei_vrp_display_ip_vpn-instance.yml create mode 100644 tests/huawei_vrp/display_ip_vpn-instance_interface/huawei_vrp_display_ip_vpn-instance_interface.raw create mode 100644 tests/huawei_vrp/display_ip_vpn-instance_interface/huawei_vrp_display_ip_vpn-instance_interface.yml create mode 100644 tests/huawei_vrp/display_lldp_neighbor/huawei_vrp_display_lldp_neighbor1.raw create mode 100644 tests/huawei_vrp/display_lldp_neighbor/huawei_vrp_display_lldp_neighbor1.yml create mode 100644 tests/huawei_vrp/display_mac-address/huawei_vrp_display_mac-address.raw create mode 100644 tests/huawei_vrp/display_mac-address/huawei_vrp_display_mac-address.yml create mode 100644 tests/huawei_vrp/display_port_vlan/huawei_vrp_display_port_vlan_example4.raw create mode 100644 tests/huawei_vrp/display_port_vlan/huawei_vrp_display_port_vlan_example4.yml create mode 100644 tests/huawei_vrp/display_vlan/huawei_vrp_display_vlan.raw create mode 100644 tests/huawei_vrp/display_vlan/huawei_vrp_display_vlan.yml create mode 100644 tests/linux/ip_address_show/busybox_ip_address_show.raw create mode 100644 tests/linux/ip_address_show/busybox_ip_address_show.yml create mode 100644 tests/linux/ip_link_show/busybox_ip_link_show.raw create mode 100644 tests/linux/ip_link_show/busybox_ip_link_show.yml create mode 100644 tests/mikrotik_routeros/ip_address_print/mikrotik_routeros_ip_address_print.raw create mode 100644 tests/mikrotik_routeros/ip_address_print/mikrotik_routeros_ip_address_print.yml create mode 100644 tests/test_tasks.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 16661ee963..5f12c43da5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,7 +82,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.7", "3.8", "3.9", "3.10"] + python-version: ["3.8", "3.9", "3.10"] runs-on: "ubuntu-20.04" env: PYTHON_VER: "${{ matrix.python-version }}" @@ -118,7 +118,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.7"] + python-version: ["3.10"] env: PYTHON_VER: "${{ matrix.python-version }}" steps: @@ -154,7 +154,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.7", "3.8", "3.9", "3.10"] + python-version: ["3.8", "3.9", "3.10"] runs-on: "ubuntu-20.04" env: PYTHON_VER: "${{ matrix.python-version }}" diff --git a/Dockerfile b/Dockerfile index 873bee7a4e..5474db0ef0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,9 +14,12 @@ RUN apt-get update && \ RUN pip install --upgrade pip -RUN curl -sSL https://install.python-poetry.org -o /tmp/install-poetry.py && \ - python /tmp/install-poetry.py --version 1.2.0 && \ - rm -f /tmp/install-poetry.py +# Install Poetry manually via its installer script; +# We might be using an older version of ntc-templates that includes an older version of Poetry +# and CI and local development may have a newer version of Poetry +# Since this is only used for development and we don't ship this container, pinning Poetry back is not expressly necessary +# We also don't need virtual environments in container +RUN which poetry || curl -sSL https://install.python-poetry.org | python3 - # Add poetry install location to the $PATH ENV PATH="${PATH}:/root/.local/bin" diff --git a/docs/dev/data_model.md b/docs/dev/data_model.md new file mode 100644 index 0000000000..e25af3fd37 --- /dev/null +++ b/docs/dev/data_model.md @@ -0,0 +1,44 @@ +# Goals + +- The table below becomes an evolving reference of common capture group names +- Normalize common capture groups across templates (including cross-vendor) + +# Reasoning + +Normalized capture group names enable more predictable structured data across templates where similar data exists. + +Example: Imagine the extra programming logic needed to consume structured data when capture groups could have two or more names across several templates or several vendors! Yikes! This is why we seek to normalize. + +# Considerations + +- Some capture groups are a single value and others are lists of values despite containing similar data as one another + - Example: single IP address vs list of IP addresses +- Normalizing and using standard capture group names will take time, persistence, and patience from the community +- Other than new templates, these normalization changes modify the expected template output and are considered "breaking changes" to be included in version releases + +# Common Capture Groups + +| Capture Group | Usage Description | +|--------------------|:------------------| +| `BIA` | use this if the template already has MAC_ADDRESS in use for the active MAC address | +| `DESCRIPTION` | often used for port or interface descriptions | +| `GATEWAY` | gateway address for a subnet | +| `INTERFACE` | full word instead of IFACE, INTF, INTFC, etc | +| `IP_ADDRESS` | for a single IP address, often IPv4 | +| `IP_ADDRESSES` | for lists of IPv4 addresses, but in the case of some templates there may be a mix of IP protocol versions | +| `IP_HELPER` | for lists DHCP IP helper addresses | +| `IP_VERSION` | Internet Protocol (IP) version in the case of multiple versions appearing in output (use where necessary) | +| `IPV6_ADDRESS` | for a single IPv6 address | +| `IPV6_ADDRESSES` | for lists of IPv6 addresses | +| `IPV6_GATEWAY` | for IPv6 gateway address | +| `LOCAL_IP_ADDRESS` | local IP address in the case of First Hop Redundancy Protocols (FHRP) +| `MAC_ADDRESS` | instead of MAC or MACADDR | +| `MGMT_IP_ADDRESS` | instead of MGMT_IP or MGMT_ADDRESS or MANAGEMENT_IP or REMOTE_MANAGEMENT_ADDRESS | +| `NEIGHBOR_ID` | for router IDs remote to the system being parsed | +| `NETMASK` | for IPv4 dotted quad masks | +| `NETWORK` | for network numbers or subnet address (without the mask or prefix/slash notation); in place of ROUTE | +| `PREFIX_LENGTH` | instead of PREFIX or CIDR for the numbers of a slash notation or CIDR mask | +| `PROTOCOL` | instead of PROTO | +| `ROUTER_ID` | for local router IDs (local to the device being parsed) | +| `VLAN_ID` | instead of VLAN or TAG | +| `VLAN_NAME` | VLAN name or description | diff --git a/docs/dev/dev_parser.md b/docs/dev/dev_parser.md index bf6cb9c67d..fcf03fe079 100644 --- a/docs/dev/dev_parser.md +++ b/docs/dev/dev_parser.md @@ -42,6 +42,12 @@ Start ^${TIME}\s+${TIMEZONE}\s+${DAYWEEK}\s+${DAY}/${MONTH}/${YEAR} -> Record ^. -> Error ``` + +!!! tip + Use [standard capture group names](https://github.com/networktocode/ntc-templates/blob/master/docs/dev/data_model.md) where possible to achieve a level of normalization. + + If templates you are creating or editing have capture groups that might be in common with others, please check other templates for similar capture groups as there might already be one in use. If you have a suggestion for a standard capture group name, suggest the change(s) to Network to Code for discussion and consideration. + ### States If the raw output has a heading, the `Start` state should match on the column headings and then transition to another state that will match the device's output table with the capture groups. This helps ensure the regex patterns for the capture groups are attempting to match the correct information, and allows templates to easily add additional States for tables that have different headings. @@ -276,4 +282,4 @@ Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00) LOCAL - Running command yamllint . [... skipping remaining output for brevity ...] -``` \ No newline at end of file +``` diff --git a/docs/requirements.txt b/docs/requirements.txt index f403e1aa20..d168c88f07 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,8 +1,5 @@ -mkdocs==1.3.1 -# Material for MkDocs theme -mkdocs-material==8.3.9 -# Render custom markdown for version added/changed/remove notes +mkdocs==1.5.2 +mkdocs-material==9.1.15 mkdocs-version-annotations==1.0.0 -# Automatic documentation from sources, for MkDocs -mkdocstrings==0.19 -mkdocstrings-python==0.7.1 \ No newline at end of file +mkdocstrings-python==1.5.2 +mkdocstrings==0.22.0 diff --git a/ntc_templates/parse.py b/ntc_templates/parse.py index daee11e7eb..07a249d410 100644 --- a/ntc_templates/parse.py +++ b/ntc_templates/parse.py @@ -56,7 +56,9 @@ def parse_output(platform=None, command=None, data=None): cli_table.ParseCmd(data, attrs) structured_data = _clitable_to_dict(cli_table) except clitable.CliTableError as err: - raise Exception(f'Unable to parse command "{command}" on platform {platform} - {str(err)}') from err + raise Exception( # pylint: disable=broad-exception-raised + f'Unable to parse command "{command}" on platform {platform} - {str(err)}' + ) from err # Invalid or Missing template # module.fail_json(msg='parsing error', error=str(e)) # rather than fail, fallback to return raw text diff --git a/ntc_templates/templates/arista_eos_show_interfaces_description.textfsm b/ntc_templates/templates/arista_eos_show_interfaces_description.textfsm index 5bc12d0377..12070bfc80 100644 --- a/ntc_templates/templates/arista_eos_show_interfaces_description.textfsm +++ b/ntc_templates/templates/arista_eos_show_interfaces_description.textfsm @@ -1,7 +1,7 @@ Value PORT (\S+) Value STATUS (up|down|admin\s+down) Value PROTOCOL (up|down|lowerlayerdown|notpresent|unknown) -Value DESCRIP (\S.*?) +Value DESCRIPTION (\S.*?) Start ^Interface\s+Status\s+Protocol\s+Description\s*$$ -> Begin @@ -12,6 +12,6 @@ Start ^. -> Error Begin - ^${PORT}\s+${STATUS}\s+${PROTOCOL}(?:\s+${DESCRIP})?\s*$$ -> Record + ^${PORT}\s+${STATUS}\s+${PROTOCOL}(?:\s+${DESCRIPTION})?\s*$$ -> Record ^\s*$$ ^. -> Error diff --git a/ntc_templates/templates/aruba_aoscx_show_interface.textfsm b/ntc_templates/templates/aruba_aoscx_show_interface.textfsm index a2ff1d62f1..c7cd7fae81 100644 --- a/ntc_templates/templates/aruba_aoscx_show_interface.textfsm +++ b/ntc_templates/templates/aruba_aoscx_show_interface.textfsm @@ -1,4 +1,4 @@ -Value INTERFACE (\S+) +Value Required INTERFACE (\S+) Value LINK_STATUS (\w+) Value LINK_ADMIN (\w+) Value LINK_STATE_INFO (\.*) @@ -8,6 +8,7 @@ Value HW_TYPE (\w+) Value MAC_ADDRESS (\S+) Value MTU (\d+) Value IF_TYPE (\S+) +Value IP_ADDRESS (\S+) Value DUPLEX (\w+) Value QOS_TRUST (\S+) Value SPEED (\S+\s\S+) @@ -16,6 +17,9 @@ Value FLOW_CONTROL (\S+) Value ERROR_CONTROL (\S+) Value VLAN_MODE (\S+) Value VLAN_ACCESS (\S+) +Value VLAN_NATIVE (\S+) +Value List VLAN_TRUNK ([^,]+) +Value List AGGREGATED_INTERFACES (\S+) Value RX_TOTAL_PACKETS (\d+) Value RX_TOTAL_BYTES (\d+) Value RX_UNICAST_PACKETS (\d+) @@ -31,28 +35,58 @@ Value TX_MCAST_PACKETS (\d+) Value TX_BROADCAST_PACKETS (\d+) Value TX_ERRORS (\d+) Value TX_DROPPED (\d+) -Value TX_CRC_FCS (\d+) +Value TX_CRC_FCS (\S+) Value TX_COLLISION (\d+) Start - ^\s*Interface\s*${INTERFACE}\s*is\s*${LINK_STATUS} + ^\s*(Interface|Aggregate)\s+\S+\s+is -> Continue.Record + ^\s*(Interface|Aggregate)\s+${INTERFACE}\s+is\s+${LINK_STATUS} ^\s*Admin\s*state\s*is\s*${LINK_ADMIN} - ^\s*Link\s*transitions:\s*${LINK_TRANSITIONS} - ^\s*Description:\s${INTERFACE_DESC} - ^\s*State\s*information:\s*${LINK_STATE_INFO} - ^\s*Hardware:\s*${HW_TYPE},?\s*MAC\s*Address:\s+${MAC_ADDRESS} + ^\s*Link\s*transitions\s*:\s*${LINK_TRANSITIONS} + ^\s*Description\s*:\s*${INTERFACE_DESC} + ^\s*State\s*information\s*:\s*${LINK_STATE_INFO} + ^\s*Hardware\s*:\s*${HW_TYPE},?\s*MAC\s*Address:\s+${MAC_ADDRESS} + ^\s*MAC\s+Address\s*:\s*${MAC_ADDRESS} + ^\s*IPv4\s+address\s+${IP_ADDRESS} ^\s*MTU\s*${MTU} ^\s*Type\s*${IF_TYPE} ^\s*${DUPLEX}-duplex ^\s*qos\s*trust\s*${QOS_TRUST} - ^\s*Speed\s*${SPEED} + ^\s*Speed\s*:*\s*${SPEED} ^\s*Auto-negotiation\s*is\s*${AUTO_NEG} - ^\s*Flow-control: ${FLOW_CONTROL} - ^\s*Error-control: ${ERROR_CONTROL} - ^\s*VLAN Mode: ${VLAN_MODE} - ^\s*Access VLAN: ${VLAN_ACCESS} + ^\s*Flow-control\s*:\s*${FLOW_CONTROL} + ^\s*Error-control\s*:\s*${ERROR_CONTROL} + ^\s*VLAN Mode\s*:\s*${VLAN_MODE} + ^\s*Access VLAN\s*:\s*${VLAN_ACCESS} + ^\s*Native VLAN\s*:\s*${VLAN_NATIVE} + ^\s*Allowed VLAN List\s*:\s+${VLAN_TRUNK},* -> Continue + ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){1}${VLAN_TRUNK},* -> Continue + ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){2}${VLAN_TRUNK},* -> Continue + ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){3}${VLAN_TRUNK},* -> Continue + ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){4}${VLAN_TRUNK},* -> Continue + ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){5}${VLAN_TRUNK},* -> Continue + ^\s*Allowed VLAN List\s*: + ^\s*Link state + ^\s*Aggregated-interfaces\s*:\s+${AGGREGATED_INTERFACES}\s* -> Continue + ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){1}${AGGREGATED_INTERFACES}\s* -> Continue + ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){2}${AGGREGATED_INTERFACES}\s* -> Continue + ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){3}${AGGREGATED_INTERFACES}\s* -> Continue + ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){4}${AGGREGATED_INTERFACES}\s* -> Continue + ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){5}${AGGREGATED_INTERFACES}\s* -> Continue + ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){6}${AGGREGATED_INTERFACES}\s* -> Continue + ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){7}${AGGREGATED_INTERFACES}\s* -> Continue + ^\s*Aggregated-interfaces\s*: + ^\s*Aggregation-key + ^\s*Aggregate\s+mode + ^\s*Persona + ^\s*rate-limit\s+broadcast + ^\s*L3\s+Counters + ^\s*MDI mode + ^\s*Rate collection interval + ^\s*Energy-Efficient ^\s*Rx -> Rx - ^\s*Description: + ^\s*Rate\s+RX\s+TX\s+Total -> Rate + ^\s*Statistic\s+RX\s+TX\s+Total -> Statistic ^. -> Error Rx @@ -73,5 +107,36 @@ Tx ^\s*${TX_ERRORS} errors\s*${TX_DROPPED} dropped ^\s*${TX_CRC_FCS} CRC/FCS ^\s*${TX_COLLISION}\s*collision - ^\s*$$ -> Record Start - ^. -> Error \ No newline at end of file + ^\s*$$ -> Start + ^. -> Error + +Rate + ^\s*---- + ^\s*Mbits\s+/\s+sec + ^\s*KPkts\s+/\s+sec + ^\s+Unicast + ^\s+Multicast + ^\s+Broadcast + ^\s+Utilization + ^\s*$$ -> Statistic + ^. -> Error + +Statistic + ^\s*Statistic\s+RX\s+TX\s+Total + ^\s*---- + ^\s*Packets\s+${RX_TOTAL_PACKETS}\s+${TX_TOTAL_PACKETS}\s+\d+ + ^\s+Unicast\s+${RX_UNICAST_PACKETS}\s+${TX_UNICAST_PACKETS}\s+\d+ + ^\s+Multicast\s+${RX_MCAST_PACKETS}\s+${TX_MCAST_PACKETS}\s+\d+ + ^\s+Broadcast\s+${RX_BROADCAST_PACKETS}\s+${TX_BROADCAST_PACKETS}\s+\d+ + ^\s*Bytes\s+${RX_TOTAL_BYTES}\s+${TX_TOTAL_BYTES}\s+\d+ + ^\s*Jumbos + ^\s*Pause\s+Frames + ^\s*Dropped\s+${RX_DROPPED}\s+${TX_DROPPED}\s+\d+ + ^\s*Errors\s+${RX_ERRORS}\s+${TX_ERRORS}\s+\d+ + ^\s+CRC/FCS\s+${RX_CRC_FCS}\s+${TX_CRC_FCS}\s+\d+ + ^\s+Collision\s+\S+\s+${TX_COLLISION}\s+\d+ + ^\s*Runts + ^\s*Giants + ^\s*L3\s+Packets + ^\s*$$ -> Start + ^. -> Error diff --git a/ntc_templates/templates/aruba_aoscx_show_lldp_neighbors-info_detail.textfsm b/ntc_templates/templates/aruba_aoscx_show_lldp_neighbors-info_detail.textfsm index b0e1558ede..3c67334b12 100644 --- a/ntc_templates/templates/aruba_aoscx_show_lldp_neighbors-info_detail.textfsm +++ b/ntc_templates/templates/aruba_aoscx_show_lldp_neighbors-info_detail.textfsm @@ -12,7 +12,9 @@ Value PORT_DESC (\S+) Start ^Port\s*:\s*${LOCAL_PORT} ^Neighbor\s*Chassis-Name\s*:\s*${CHASSIS_NAME} + ^Neighbor\s+System-Name\s*:\s*${CHASSIS_NAME} ^Neighbor\s*Chassis-Description\s*:\s*${CHASSIS_DESC} + ^Neighbor\s+System-Description\s*:\s*${CHASSIS_DESC} ^Neighbor\s*Chassis-ID\s*:\s*${CHASSIS_ID} ^Neighbor\s*Management-Address\s*:\s*${MGMT_ADDR} ^Chassis\s*Capabilities\s*Available\s*:\s*${CAPABILITIES} @@ -24,9 +26,12 @@ Start ^TTL\.* ^P[D|SE]\.* ^Power\.* + ^MED\s+capabilities ^\s+ -> Next ^\S+#\.* -> Next ^LLDP\.* + ^Link\s+aggregation + ^Aggregation\s+port ^Total\.* ^=+ ^. -> Error diff --git a/ntc_templates/templates/aruba_aoscx_show_vlan.textfsm b/ntc_templates/templates/aruba_aoscx_show_vlan.textfsm new file mode 100644 index 0000000000..6c34abe74b --- /dev/null +++ b/ntc_templates/templates/aruba_aoscx_show_vlan.textfsm @@ -0,0 +1,34 @@ +Value Required VLAN_ID (\d+) +Value VLAN_NAME (\S+) +Value STATUS (\S+) +Value REASON (\S+) +Value TYPE (\S+) +Value List INTERFACES ([^,]+) + +Start + ^--- + ^VLAN\s+Name\s+Status -> VLANS + ^. -> Error + +VLANS + ^--- + ^\d+ -> Continue.Record + # Lines starting with VLAN ID + ^${VLAN_ID}\s+${VLAN_NAME}\s+${STATUS}\s+${REASON}\s+${TYPE}\s*$$ + ^${VLAN_ID}\s+${VLAN_NAME}\s+${STATUS}\s+${REASON}\s+${TYPE}\s+${INTERFACES},* -> Continue + ^\d+\s+(?:\S+\s+){4}(?:[^,]+,){1}${INTERFACES},* -> Continue + ^\d+\s+(?:\S+\s+){4}(?:[^,]+,){2}${INTERFACES},* -> Continue + ^\d+\s+(?:\S+\s+){4}(?:[^,]+,){3}${INTERFACES},* -> Continue + ^\d+\s+(?:\S+\s+){4}(?:[^,]+,){4}${INTERFACES},* -> Continue + ^\d+\s+(?:\S+\s+){4}(?:[^,]+,){5}${INTERFACES},* -> Continue + # Lines starting with multiple spaces + ^\s{6,}${INTERFACES},* -> Continue + ^\s{6,}(?:[^,]+,){1}${INTERFACES},* -> Continue + ^\s{6,}(?:[^,]+,){2}${INTERFACES},* -> Continue + ^\s{6,}(?:[^,]+,){3}${INTERFACES},* -> Continue + ^\s{6,}(?:[^,]+,){4}${INTERFACES},* -> Continue + ^\s{6,}(?:[^,]+,){5}${INTERFACES},* -> Continue + # Dropping lines + ^\d+\s+\S+\s+\S+\s+\S+\s+\S+\s* + ^\s{6,} + ^.+ -> Error diff --git a/ntc_templates/templates/cisco_asa_ping.textfsm b/ntc_templates/templates/cisco_asa_ping.textfsm index 5830166e2f..bd443864bc 100644 --- a/ntc_templates/templates/cisco_asa_ping.textfsm +++ b/ntc_templates/templates/cisco_asa_ping.textfsm @@ -2,18 +2,19 @@ Value Required SENT_QTY (\d+) Value Required SENT_TYPE (.*) Value Required DESTINATION (\S+) Value Required TIMEOUT (\d+) -Value Required RESPONSE_STREAM ([\.\!]+) +Value Required RESPONSE_STREAM ([\.\!/Q/U]+) Value Required SUCCESS_PCT (\d+) Value Required SUCCESS_QTY (\d+) -Value Required RTT_MIN (\d+) -Value Required RTT_AVG (\d+) -Value Required RTT_MAX (\d+) +Value RTT_MIN (\d+) +Value RTT_AVG (\d+) +Value RTT_MAX (\d+) Start ^Type\s+escape\s+sequence\s+to\s+abort. ^Sending\s+${SENT_QTY},\s+${SENT_TYPE}\s+to\s+${DESTINATION},\s+timeout\s+is\s+${TIMEOUT}\s+seconds: ^${RESPONSE_STREAM} - ^Success\s+rate\s+is\s+${SUCCESS_PCT}\s+percent\s+\(${SUCCESS_QTY}/\d+\),\s+round-trip\s+min/avg/max\s+=\s+${RTT_MIN}/${RTT_AVG}/${RTT_MAX}\s+ms + ^Success\s+rate\s+is\s+${SUCCESS_PCT}\s+percent\s+\(${SUCCESS_QTY}\/\d+\)(?:,\s+round-trip\s+min/avg/max\s+\=\s+)?(?:${RTT_MIN}/${RTT_AVG}/${RTT_MAX})?(?:\sms)? ^\s*$$ - ^. -> Error + # Error out if raw data does not match any above rules. + ^.* -> Error "Could not parse line:" diff --git a/ntc_templates/templates/cisco_asa_show_interface_detail.textfsm b/ntc_templates/templates/cisco_asa_show_interface_detail.textfsm index 89c5218262..e1bce4a601 100644 --- a/ntc_templates/templates/cisco_asa_show_interface_detail.textfsm +++ b/ntc_templates/templates/cisco_asa_show_interface_detail.textfsm @@ -12,7 +12,7 @@ Value FLOWCONTROL_OUT (\w+) Value BONDED_PORT (.+?) Value DESCRIPTION (.*) Value MAC_ADDRESS ([a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+) -Value MTU (.+?) +Value MTU (.+) Value IP_ADDRESS (.+?) Value NETMASK (.+?) Value IN_PACKETS (\d+) @@ -42,7 +42,7 @@ Value OUT_ERRORS (\d+) Value COLLISIONS (\d+) Value INTERFACE_RESETS (\d+) Value LATE_COLLISIONS (\d+) -Value DEFFERED (\d+) +Value DEFERRED (\d+) Value OUT_DECODE_DROPS (\d+) Value RATE_LIMIT_DROPS (\d+) Value SWITCH_EGRESS_POLICY_DROPS (\d+) @@ -81,6 +81,7 @@ Start ^Interface -> Continue.Record ^Interface\s+${INTERFACE}\s+"${INTERFACE_NAME}",\s+is\s+${LINK_STATUS},\s+line\s+protocol\s+is\s+${PROTOCOL_STATUS} ^\s+Hardware\s+is\s+${HARDWARE_TYPE}.*BW\s+${BANDWIDTH}.*DLY\s+${DELAY} + ^\s+Hardware\s+is\s+${HARDWARE_TYPE}.*MAC\s+address\s+${MAC_ADDRESS},\s+MTU\s+${MTU} ^\s+\S*${DUPLEX}\S*,\s+\S*?${SPEED}(?:\)|\S+)\s*$$ ^\s+Input\s+flow\s+control\s+is\s+${FLOWCONTROL_IN},\s+output\s+flow\s+control\s+is\s+${FLOWCONTROL_OUT} ^\s+Active\s+member\s+of\s+${BONDED_PORT}\s*$$ @@ -88,6 +89,7 @@ Start ^\s+MAC\s+address\s+${MAC_ADDRESS}.*MTU\s+${MTU}\s*$$ ^\s+IP\s+[Aa]ddress\s+${IP_ADDRESS}(?:,\s+[Ss]ubnet\s+[Mm]ask\s+${NETMASK})?\s*$$ ^\s+${IN_PACKETS}\s+packets\s+input,\s+${IN_BYTES}\s+bytes,\s+${NO_BUFFER}\s+no\s+buffer + ^\s+${IN_PACKETS}\s+packets\s+input,\s+${IN_BYTES}\s+bytes ^\s+Received\s+${BROADCASTS}\s+broadcasts,\s+${RUNTS}\s+runts,\s+${GIANTS}\s+giants ^\s+${IN_ERRORS}\s+input\s+errors,\s+${CRC}\s+CRC,\s+${FRAME}\s+frame,\s+${OVERRUN}\s+overrun,\s+${IGNORED}\s+ignored,\s+${ABORT}\s+abort ^\s+${IN_PAUSE_RESUME}\s+pause/resume\s+input @@ -95,10 +97,11 @@ Start ^\s+${L2_DECODE_DROPS}\s+L2\s+decode\s+drops ^\s+${SWITCH_INGRESS_POLICY_DROPS}\s+switch\s+ingress\s+policy\s+drops ^\s+${OUT_PACKETS}\s+packets\s+output,\s+${OUT_BYTES}\s+bytes,\s+${UNDERRUNS}\s+underruns + ^\s+${OUT_PACKETS}\s+packets\s+output,\s+${OUT_BYTES}\s+bytes ^\s+${OUT_PAUSE_RESUME}\s+pause/resume\s+output ^\s+${OUT_PAUSE}\s+pause\s+output,\s+${OUT_RESUME}\s+resume\s+output ^\s+${OUT_ERRORS}\s+output\s+errors,\s+${COLLISIONS}\s+collisions,\s+${INTERFACE_RESETS}\s+interface\s+resets - ^\s+${LATE_COLLISIONS}\s+late\s+collisions,\s+${DEFFERED}\s+deferred + ^\s+${LATE_COLLISIONS}\s+late\s+collisions,\s+${DEFERRED}\s+deferred ^\s+${OUT_DECODE_DROPS}\s+output\s+decode\s+drops ^\s+${RATE_LIMIT_DROPS}\s+rate\s+limit\s+drops ^\s+${SWITCH_EGRESS_POLICY_DROPS}\s+switch\s+egress\s+policy\s+drops @@ -106,6 +109,9 @@ Start ^\s+input\s+queue ^\s+output\s+queue ^\s+Queue\s+Stats: + ^\s+Traffic\s+Statistics + ^\s+\d+\s+packets\s+dropped + ^\s+\d+\s+minute\s+\w+\s+rate ^\s+VLAN\s+identifier\s+${VLAN_ID} ^\s+Control\s+Point\s+Interface\s+States -> ControlPoint ^\s+RX\[${RXRING_NUMBER}\]:\s+${RXRING_PACKETS}\s+packets,\s+${RXRING_BYTES}\s+bytes,\s+${RXRING_OVERRUN}\s+overrun -> RXRingBlocks diff --git a/ntc_templates/templates/cisco_ios_ping.textfsm b/ntc_templates/templates/cisco_ios_ping.textfsm index 815546879c..63b9e4a01a 100644 --- a/ntc_templates/templates/cisco_ios_ping.textfsm +++ b/ntc_templates/templates/cisco_ios_ping.textfsm @@ -3,7 +3,7 @@ Value Required SENT_TYPE (.*) Value Required DESTINATION (\S+) Value Required TIMEOUT (\d+) Value SOURCE (\S+) -Value List RESPONSE_STREAM ([\.\!]+) +Value List RESPONSE_STREAM ([\.\!/U/Q]+) Value Required SUCCESS_PCT (\d+) Value Required SUCCESS_QTY (\d+) Value RTT_MIN (\d+) diff --git a/ntc_templates/templates/cisco_ios_show_interfaces_description.textfsm b/ntc_templates/templates/cisco_ios_show_interfaces_description.textfsm index 451946bd74..9ba1e197f9 100644 --- a/ntc_templates/templates/cisco_ios_show_interfaces_description.textfsm +++ b/ntc_templates/templates/cisco_ios_show_interfaces_description.textfsm @@ -1,7 +1,7 @@ Value PORT (\S+) Value STATUS (up|down|deleted|admin\s+down|reset) Value PROTOCOL (up|down) -Value DESCRIP (\S.*?) +Value DESCRIPTION (\S.*?) Start ^Interface\s+Status\s+Protocol\s+Description\s*$$ -> Begin @@ -12,6 +12,6 @@ Start ^. -> Error Begin - ^${PORT}\s+${STATUS}\s+${PROTOCOL}(?:\s+${DESCRIP})?\s*$$ -> Record + ^${PORT}\s+${STATUS}\s+${PROTOCOL}(?:\s+${DESCRIPTION})?\s*$$ -> Record ^\s*$$ ^. -> Error diff --git a/ntc_templates/templates/cisco_ios_show_interfaces_status.textfsm b/ntc_templates/templates/cisco_ios_show_interfaces_status.textfsm index 710f31a161..7093bb1d12 100644 --- a/ntc_templates/templates/cisco_ios_show_interfaces_status.textfsm +++ b/ntc_templates/templates/cisco_ios_show_interfaces_status.textfsm @@ -1,7 +1,7 @@ Value PORT (\S+) Value NAME (.+?) Value STATUS (err-disabled|disabled|connected|notconnect|inactive|up|down|monitoring|suspended) -Value VLAN_ID (\d+|trunk|routed) +Value VLAN_ID (\d+|trunk|routed|unassigned) Value DUPLEX (\S+) Value SPEED (\S+) Value TYPE (.*) diff --git a/ntc_templates/templates/cisco_ios_show_rep_topology.textfsm b/ntc_templates/templates/cisco_ios_show_rep_topology.textfsm new file mode 100644 index 0000000000..7aa6982ee9 --- /dev/null +++ b/ntc_templates/templates/cisco_ios_show_rep_topology.textfsm @@ -0,0 +1,17 @@ +Value SWITCH (\S+) +Value INTERFACE (\S+) +Value EDGE (Pri|Sec) +Value ROLE (Alt|Open) + +Start + # HEADER CHECK + ^REP\s+Segment\s+\d+$$ + ^BridgeName\s+PortName\s+Edge\s+Role$$ + ^(-+(\s+)?)+$$ -> Data + ^. -> Error + +Data + # OUTPUT + ^${SWITCH}\s+${INTERFACE}\s+${EDGE}\s+${ROLE}$$ -> Record + ^\s*$$ + ^. -> Error \ No newline at end of file diff --git a/ntc_templates/templates/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail.textfsm b/ntc_templates/templates/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail.textfsm new file mode 100644 index 0000000000..9243d99ab0 --- /dev/null +++ b/ntc_templates/templates/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail.textfsm @@ -0,0 +1,457 @@ +Value Required PORT_NAME (\S+) +Value Required INTERFACE_INDEX (\S+) +Value INSTANCE_INDEX (\S+) +Value INSTANCE_SLOT (\S+) +Value INSTANCE_ASIC (\S+) +Value ASIC_EPORT (\S+) +Value LOGICAL_PORT (\S+) +Value FRONT_PORT (\S+) +Value STATE ([\S\s]+?) +Value BIGSUR_EPORT (\S+) +Value PORT (\S+) +Value PORT_DEC (\S+) +Value TYPE (\S+) +Value FIREWALL_INSTANCE (\S+) +Value SPEED (\S+) +Value ADMIN_STATE (\S+) +Value ADMIN_STATE_DEC (\S+) +Value MTU (\S+) +Value DUPLEXITY (\S+) +Value DUPLEXITY_DEC (\S+) +Value AUTO_NEG_STATE (\S+) +Value AUTO_NEG_STATE_DEC (\S+) +Value FAST_1G_AN_TIMER (\S+) +Value PORT_SPEED (\S+) +Value DEBOUNCE_TIME (\S+) +Value LINKUP_DEBOUNCE_TIME (\S+) +Value SAT_FABRIC_MODE (\S+) +Value SAT_FABRIC_MODE_HEX (\S+) +Value PORT_FLOW_CTRL (\S+) +Value CLASS_FLOW_CTRL7_0 ([\S\s]+) +Value CLASS_FLOW_CTRL_MSK_RX (\S+) +Value CLASS_FLOW_CTRL_MSK_TX (\S+) +Value LINK_STATE (\S+) +Value LINK_STATE_DEC (\S+) +Value OPER_SPEED (\S+) +Value OPER_DUPLEXITY (\S+) +Value OPER_DUPLEXITY_DEC (\S+) +Value OPER_PORT_FLOW_CTRL (\S+) +Value UP_COUNT (\S+) +Value DOWN_COUNT (\S+) +Value SLOT (\S+) +Value MM_INST (\S+) +Value MM_MODE (\S+) +Value DIAG_STS (\S+) +Value MAC_STATUS_POLLING (\S+) +Value AN_STATE (\S+) +Value AN_STATE_DEC (\S+) +Value AN_TIMER (\S+) +Value LINK_FAIL_INHIBIT_TIMER (\S+) +Value AN_DISABLED (\S+) +Value MM_PORT_STATE (\S+) +Value MM_PORT_STATE_DEC (\S+) +Value MM_PORT_TIMER (\S+) +Value REMOTE_FAULT_DISABLE (\S+) +Value ADAPTIVE_TUNING_DISABLE (\S+) +Value LINK_RECOVERY_DISABLE (\S+) +Value LINK_BRING_DOWN_DISABLE (\S+) +Value DFE_TUNING_DISABLE (\S+) +Value FORCE_QSFP_REMOVAL (\S+) +Value FORCE_QSFP_INSERTION (\S+) +Value FORCE_QSFP_FIBER_TYPE (\S+) +Value FORCE_QSFP_COPPER_TYPE (\S+) +Value SERDES_LANES ([\S\s]+?) +Value DFE_TUNE_LANE_0_DFE_A ([\S\s]+) +Value DFE_TUNE_LANE_0_DFE_B ([\S\s]+) +Value DFE_TUNE_LANE_0_DFE_TUNE ([\S\s]+) +Value DFE_TUNE_LANE_1_DFE_A ([\S\s]+) +Value DFE_TUNE_LANE_1_DFE_B ([\S\s]+) +Value DFE_TUNE_LANE_1_DFE_TUNE ([\S\s]+) +Value DFE_TUNE_LANE_2_DFE_A ([\S\s]+) +Value DFE_TUNE_LANE_2_DFE_B ([\S\s]+) +Value DFE_TUNE_LANE_2_DFE_TUNE ([\S\s]+) +Value DFE_TUNE_LANE_3_DFE_A ([\S\s]+) +Value DFE_TUNE_LANE_3_DFE_B ([\S\s]+) +Value DFE_TUNE_LANE_3_DFE_TUNE ([\S\s]+) +Value FI_BLOCK_LOCK_0H (\S+) +Value FI_BLOCK_LOCK_1H (\S+) +Value FI_BLOCK_LOCK_2H (\S+) +Value FI_BLOCK_LOCK_3H (\S+) +Value TX_PKT_SIZE_LT_64 (\S+) +Value TX_PKT_SIZE_IS_64 (\S+) +Value TX_PKT_SIZE_IS_65_TO_127 (\S+) +Value TX_PKT_SIZE_IS_128_TO_255 (\S+) +Value TX_PKT_SIZE_IS_256_TO_511 (\S+) +Value TX_PKT_SIZE_IS_512_TO_1023 (\S+) +Value TX_PKT_SIZE_IS_1024_TO_1518 (\S+) +Value TX_PKT_SIZE_IS_1519_TO_2047 (\S+) +Value TX_PKT_SIZE_IS_2048_TO_4095 (\S+) +Value TX_PKT_SIZE_IS_4095_TO_8191 (\S+) +Value TX_PKT_SIZE_IS_8192_TO_9216 (\S+) +Value TX_PKT_SIZE_GT_9216 (\S+) +Value TX_PKT_TOTAL (\S+) +Value TX_PKT_OCTETS (\S+) +Value TX_PKT_GOOD (\S+) +Value TX_PKT_UCAST (\S+) +Value TX_PKT_MCAST (\S+) +Value TX_PKT_BCAST (\S+) +Value TX_PKT_VLAN (\S+) +Value TX_PKT_802_3X_PAUSE (\S+) +Value TX_PKT_PER_PRIORITY_PAUSE (\S+) +Value TX_PKT_FRAME_ERROR (\S+) +Value RX_PKT_SIZE_LT_64 (\S+) +Value RX_PKT_SIZE_IS_64 (\S+) +Value RX_PKT_SIZE_IS_65_TO_127 (\S+) +Value RX_PKT_SIZE_IS_128_TO_255 (\S+) +Value RX_PKT_SIZE_IS_256_TO_511 (\S+) +Value RX_PKT_SIZE_IS_512_TO_1023 (\S+) +Value RX_PKT_SIZE_IS_1024_TO_1518 (\S+) +Value RX_PKT_SIZE_IS_1519_TO_2047 (\S+) +Value RX_PKT_SIZE_IS_2048_TO_4095 (\S+) +Value RX_PKT_SIZE_IS_4095_TO_8191 (\S+) +Value RX_PKT_SIZE_IS_8192_TO_9216 (\S+) +Value RX_PKT_SIZE_GT_9216 (\S+) +Value RX_PKT_TOTAL (\S+) +Value RX_PKT_OCTETS (\S+) +Value RX_PKT_GOOD (\S+) +Value RX_PKT_UCAST (\S+) +Value RX_PKT_MCAST (\S+) +Value RX_PKT_BCAST (\S+) +Value RX_PKT_VLAN (\S+) +Value RX_PKT_OVERSIZE (\S+) +Value RX_PKT_TOOLONG (\S+) +Value RX_PKT_DISCARD (\S+) +Value RX_PKT_UNDERSIZE (\S+) +Value RX_PKT_FRAGMENT (\S+) +Value RX_PKT_CRC_NOT_STOMPED (\S+) +Value RX_PKT_CRC_STOMPED (\S+) +Value RX_PKT_IN_RANGE_ERR (\S+) +Value RX_PKT_JABBER (\S+) +Value RX_PKT_802_3X_PAUSE (\S+) +Value RX_PKT_PER_PRIORITY_PAUSE (\S+) +Value TX_PKT_GOOD_OCTETS (\S+) +Value RX_PKT_GOOD_OCTETS (\S+) +Value SFP_CTRL_BIGSUR (\S+) +Value SFP_CTRL_PORT (\S+) +Value PHY_BIGSUR (\S+) +Value PHY_MDIO_ADDR (\S+) +Value PHY_MDIO_MASTER (\S+) +Value PHY_RESET_BIGSUR (\S+) +Value PHY_RESET_SPIO (\S+) +Value PHY_PROM_SHARED (\S+) +Value SERDES_TXDATA_0 (\S+) +Value SERDES_TXDATA_1 (\S+) +Value SERDES_TXDATA_2 (\S+) +Value SERDES_TXDATA_3 (\S+) +Value PHY_PMD_TX_0 (\S+) +Value PHY_PMD_TX_1 (\S+) +Value PHY_PMD_TX_2 (\S+) +Value PMA_PMD_DEVADDR (\S+) +Value PCS_DEVADDR (\S+) +Value PHYXS_DEVADDR (\S+) +Value XCVR_DEVADDR (\S+) +Value PHY_PRESENT (\S+) +Value PHY_TYPE (\S+) +Value SFP_ACC_TYPE (\S+) +Value DFE_TIMER (\S+) +Value DFE_TIMER_RUNNING (\S+) +Value INIT_WAIT_COUNT (\S+) +Value DO_TX_DISABLE_CLR (\S+) +Value TX_DISABLE_CLR_CNT (\S+) +Value QSA_STATUS (\S+) +Value CONNECTOR_TYPE (\S+) +Value USB_BUS_NUM (\S+) +Value USB_DEV_NUM (\S+) +Value USB_PRIV (\S+) +Value RESET_DONE (\S+) +Value XCVR_FLAG_PRESENT (\S+) +Value XCVR_FLAG_XCVR_NOT_SFP (\S+) +Value XCVR_FLAG_10G_CAPABLE (\S+) +Value XCVR_FLAG_CKSUM_OK (\S+) +Value XCVR_FLAG_SECURITY_CRC_OK (\S+) +Value XCVR_FLAG_CISCO_CHK_OK (\S+) +Value XCVR_FLAG_DDM_CAPABLE (\S+) +Value XCVR_FLAG_PMA_PMD_PRESENT (\S+) +Value XCVR_FLAG_PCS_PRESENT (\S+) +Value XCVR_FLAG_PHYXS_PRESENT (\S+) +Value XCVR_FLAG_XCVR_OPERATIONAL (\S+) +Value XCVR_FLAG_PMA_PMD_LOW_PWR_MODE (\S+) +Value XCVR_FLAG_PCS_LOW_PWR_MODE (\S+) +Value XCVR_FLAG_PHYXS_LOW_PWR_MODE (\S+) +Value XCVR_FLAG_LINK_UP (\S+) +Value XCVR_FLAG_TYPE_FIBER (\S+) +Value XCVR_FLAG_SPROM_READ_OK (\S+) +Value PORT_STATE (\S+) +Value XCVR_INSERT_DEBOUNCE_TIMER ([\S\s]+) +Value XCVR_LINK_DEBOUNCE_TIMER ([\S\s]+) +Value XCVR_LINKUP_DEBOUNCE_TIMER ([\S\s]+) +Value XCVR_PRESENCE_DETECT_TIMER ([\S\s]+) +Value TX_ENABLE_SIGNAL (\S+) +Value DEBOUNCE_TIMEOUT ([\S\s]+) +Value LINKUP_DEBOUNCE_TIMEOUT ([\S\s]+) +Value LINK_UP ([\S\s]+) +Value LINK_DN_DEBOUNCE_START ([\S\s]+) +Value LINK_DEBOUNCE_END ([\S\s]+) +Value BIT_ERROR_RATE (\S+) +Value BIT_ERROR_RATE_SINCE_LINKUP (\S+) +Value ERROR_BLOCKS (\S+) +Value ERROR_BLOCKS_SINCE_LINKUP (\S+) +Value LINK_UP_HEX (\S+) +Value LINK_UP_DEC (\S+) +Value LINK_DOWN_HEX (\S+) +Value LINK_DOWN_DEC (\S+) +Value LINK_DEBOUNCED_WITH_LINK_UP_HEX (\S+) +Value LINK_DEBOUNCED_WITH_LINK_UP_DEC (\S+) +Value LINK_DEBOUNCED_WITH_LINK_UP_SINCE_LAST_EN_HEX (\S+) +Value LINK_DEBOUNCED_WITH_LINK_UP_SINCE_LAST_EN_DEC (\S+) + + +Start + ^\s*Bigsur\s*port\s*${PORT_NAME}\s*card-config\s*info:\s*$$ + ^\s*if_index\s*:\s*${INTERFACE_INDEX}\s*$$ + ^\s*instance\s*index\s*:\s*${INSTANCE_INDEX}\s*$$ + ^\s*instance\s*slot\s*:\s*${INSTANCE_SLOT}\s*$$ + ^\s*instance\s*asic\s*:\s*${INSTANCE_ASIC}\s*$$ + ^\s*asic_eport\s*:\s*${ASIC_EPORT}\s*$$ + ^\s*logical_port\s*:\s*${LOGICAL_PORT}\s*$$ + ^\s*front_port\s*:\s*${FRONT_PORT}\s*$$ + ^\s*state\s*:\s*${STATE}\s*$$ + ^\s*bigsur\s*eport\s*:\s*${BIGSUR_EPORT}\s*$$ + ^\s*port_type\s*:\s*${PORT}\(${PORT_DEC}\)\s*$$ + ^\s*type\s*:\s*${TYPE}\s*$$ + ^\s*fw_instance\s*:\s*${FIREWALL_INSTANCE}\s*$$ + ^\s*speed\s*:\s*${SPEED}\s*$$ + ^\s*Bigsur\s*port\s*\S+\s*port-client-config\s*info:\s*$$ -> PortClientConfig + ^\s*link_state\s*:\s*${LINK_STATE}\(${LINK_STATE_DEC}\)\s*$$ + ^\s*oper\s*speed\s*:\s*${OPER_SPEED}\s*$$ + ^\s*oper\s*duplexity\s*:\s*${OPER_DUPLEXITY}\(${OPER_DUPLEXITY_DEC}\)\s*$$ + ^\s*oper\s*port_flow_ctrl\s*:\s*${OPER_PORT_FLOW_CTRL}\s*$$ + ^\s*up\s*count\s*:\s*${UP_COUNT}\s*$$ + ^\s*down\s*count\s*:\s*${DOWN_COUNT}\s*$$ + ^\s*Bigsur\s*port\s*\S+\s*miscellaneous\s*info:\s*$$ + ^\s*slot\s*:\s*${SLOT}\s*$$ + ^\s*mm_inst\s*:\s*${MM_INST}\s*$$ + ^\s*mm_mode\s*:\s*${MM_MODE}\s*$$ + ^\s*diag\s*sts\s*:\s*${DIAG_STS}\s*$$ + ^\s*mac\s*status\s*polling\s*:\s*${MAC_STATUS_POLLING}\s*$$ + ^\s*Clause\s*\d+\s*AN:\s*$$ + ^\s*AN\s*state\s*:\s*${AN_STATE_DEC}\s*\(${AN_STATE}\)\s*$$ + ^\s*AN\s*timer\s*:\s*${AN_TIMER}\s*$$ + ^\s*Link\s*Fail\s*Inhibit\s*timer\s*:\s*${LINK_FAIL_INHIBIT_TIMER}\s*$$ + ^\s*AN\s*disabled\s*:\s*${AN_DISABLED}\s*$$ + ^\s*MM\s*Port\s*Bring\s*Up\s*state-machine:\s*$$ + ^\s*MM\s*port\s*state\s*:\s*${MM_PORT_STATE_DEC}\s*\(${MM_PORT_STATE}\)\s*$$ + ^\s*MM\s*port\s*timer\s*:\s*${MM_PORT_TIMER}\s*$$ + ^\s*Remote\s*fault\s*disable\s*:\s*${REMOTE_FAULT_DISABLE}\s*$$ + ^\s*Adaptive\s*tuning\s*disable\s*:\s*${ADAPTIVE_TUNING_DISABLE}\s*$$ + ^\s*Link\s*recovery\s*disable\s*:\s*${LINK_RECOVERY_DISABLE}\s*$$ + ^\s*Link\s*bring\s*down\s*disable\s*:\s*${LINK_BRING_DOWN_DISABLE}\s*$$ + ^\s*DFE\s*tuning\s*disable\s*:\s*${DFE_TUNING_DISABLE}\s*$$ + ^\s*Force\s*QSFP\s*removal\s*:\s*${FORCE_QSFP_REMOVAL}\s*$$ + ^\s*Force\s*QSFP\s*insertion\s*:\s*${FORCE_QSFP_INSERTION}\s*$$ + ^\s*Force\s*QSFP\s*fiber\s*type\s*:\s*${FORCE_QSFP_FIBER_TYPE}\s*$$ + ^\s*Force\s*QSFP\s*copper\s*type\s*:\s*${FORCE_QSFP_COPPER_TYPE}\s*$$ + ^\s*SBus\s*addresses:\s*$$ + ^\s*Serdes\s*:\s*${SERDES_LANES}\s*$$ + ^\s*Serdes\s*lanes\s*\d+-\d+\s*:\s*${SERDES_LANES}\s*$$ + ^\s*DFE\s*Tune\s*result\s*:\s*$$ -> Lane0 + ^\s*FI\s*block\s*lock\s*0h:\s*${FI_BLOCK_LOCK_0H}\s*$$ + ^\s*FI\s*block\s*lock\s*1h:\s*${FI_BLOCK_LOCK_1H}\s*$$ + ^\s*FI\s*block\s*lock\s*2h:\s*${FI_BLOCK_LOCK_2H}\s*$$ + ^\s*FI\s*block\s*lock\s*3h:\s*${FI_BLOCK_LOCK_3H}\s*$$ + ^\s*MAC\s*statistics:\s*$$ + ^\s*MAC\s*Statistic\s*\|\s*Value\s*$$ + ^\s*[-+]+\s*$$ + ^\s*TX_PKT_SIZE_LT_64\s*\|\s*${TX_PKT_SIZE_LT_64}\s*$$ + ^\s*TX_PKT_SIZE_IS_64\s*\|\s*${TX_PKT_SIZE_IS_64}\s*$$ + ^\s*TX_PKT_SIZE_IS_65_TO_127\s*\|\s*${TX_PKT_SIZE_IS_65_TO_127}\s*$$ + ^\s*TX_PKT_SIZE_IS_128_TO_255\s*\|\s*${TX_PKT_SIZE_IS_128_TO_255}\s*$$ + ^\s*TX_PKT_SIZE_IS_256_TO_511\s*\|\s*${TX_PKT_SIZE_IS_256_TO_511}\s*$$ + ^\s*TX_PKT_SIZE_IS_512_TO_1023\s*\|\s*${TX_PKT_SIZE_IS_512_TO_1023}\s*$$ + ^\s*TX_PKT_SIZE_IS_1024_TO_1518\s*\|\s*${TX_PKT_SIZE_IS_1024_TO_1518}\s*$$ + ^\s*TX_PKT_SIZE_IS_1519_TO_2047\s*\|\s*${TX_PKT_SIZE_IS_1519_TO_2047}\s*$$ + ^\s*TX_PKT_SIZE_IS_2048_TO_4095\s*\|\s*${TX_PKT_SIZE_IS_2048_TO_4095}\s*$$ + ^\s*TX_PKT_SIZE_IS_4095_TO_8191\s*\|\s*${TX_PKT_SIZE_IS_4095_TO_8191}\s*$$ + ^\s*TX_PKT_SIZE_IS_8192_TO_9216\s*\|\s*${TX_PKT_SIZE_IS_8192_TO_9216}\s*$$ + ^\s*TX_PKT_SIZE_GT_9216\s*\|\s*${TX_PKT_SIZE_GT_9216}\s*$$ + ^\s*TX_PKT_TOTAL\s*\|\s*${TX_PKT_TOTAL}\s*$$ + ^\s*TX_PKT_OCTETS\s*\|\s*${TX_PKT_OCTETS}\s*$$ + ^\s*TX_PKT_GOOD\s*\|\s*${TX_PKT_GOOD}\s*$$ + ^\s*TX_PKT_UCAST\s*\|\s*${TX_PKT_UCAST}\s*$$ + ^\s*TX_PKT_MCAST\s*\|\s*${TX_PKT_MCAST}\s*$$ + ^\s*TX_PKT_BCAST\s*\|\s*${TX_PKT_BCAST}\s*$$ + ^\s*TX_PKT_VLAN\s*\|\s*${TX_PKT_VLAN}\s*$$ + ^\s*TX_PKT_802.3x_PAUSE\s*\|\s*${TX_PKT_802_3X_PAUSE}\s*$$ + ^\s*TX_PKT_PER_PRIORITY_PAUSE\s*\|\s*${TX_PKT_PER_PRIORITY_PAUSE}\s*$$ + ^\s*TX_PKT_FRAME_ERROR\s*\|\s*${TX_PKT_FRAME_ERROR}\s*$$ + ^\s*RX_PKT_SIZE_LT_64\s*\|\s*${RX_PKT_SIZE_LT_64}\s*$$ + ^\s*RX_PKT_SIZE_IS_64\s*\|\s*${RX_PKT_SIZE_IS_64}\s*$$ + ^\s*RX_PKT_SIZE_IS_65_TO_127\s*\|\s*${RX_PKT_SIZE_IS_65_TO_127}\s*$$ + ^\s*RX_PKT_SIZE_IS_128_TO_255\s*\|\s*${RX_PKT_SIZE_IS_128_TO_255}\s*$$ + ^\s*RX_PKT_SIZE_IS_256_TO_511\s*\|\s*${RX_PKT_SIZE_IS_256_TO_511}\s*$$ + ^\s*RX_PKT_SIZE_IS_512_TO_1023\s*\|\s*${RX_PKT_SIZE_IS_512_TO_1023}\s*$$ + ^\s*RX_PKT_SIZE_IS_1024_TO_1518\s*\|\s*${RX_PKT_SIZE_IS_1024_TO_1518}\s*$$ + ^\s*RX_PKT_SIZE_IS_1519_TO_2047\s*\|\s*${RX_PKT_SIZE_IS_1519_TO_2047}\s*$$ + ^\s*RX_PKT_SIZE_IS_2048_TO_4095\s*\|\s*${RX_PKT_SIZE_IS_2048_TO_4095}\s*$$ + ^\s*RX_PKT_SIZE_IS_4095_TO_8191\s*\|\s*${RX_PKT_SIZE_IS_4095_TO_8191}\s*$$ + ^\s*RX_PKT_SIZE_IS_8192_TO_9216\s*\|\s*${RX_PKT_SIZE_IS_8192_TO_9216}\s*$$ + ^\s*RX_PKT_SIZE_GT_9216\s*\|\s*${RX_PKT_SIZE_GT_9216}\s*$$ + ^\s*RX_PKT_TOTAL\s*\|\s*${RX_PKT_TOTAL}\s*$$ + ^\s*RX_PKT_OCTETS\s*\|\s*${RX_PKT_OCTETS}\s*$$ + ^\s*RX_PKT_GOOD\s*\|\s*${RX_PKT_GOOD}\s*$$ + ^\s*RX_PKT_UCAST\s*\|\s*${RX_PKT_UCAST}\s*$$ + ^\s*RX_PKT_MCAST\s*\|\s*${RX_PKT_MCAST}\s*$$ + ^\s*RX_PKT_BCAST\s*\|\s*${RX_PKT_BCAST}\s*$$ + ^\s*RX_PKT_VLAN\s*\|\s*${RX_PKT_VLAN}\s*$$ + ^\s*RX_PKT_OVERSIZE\s*\|\s*${RX_PKT_OVERSIZE}\s*$$ + ^\s*RX_PKT_TOOLONG\s*\|\s*${RX_PKT_TOOLONG}\s*$$ + ^\s*RX_PKT_DISCARD\s*\|\s*${RX_PKT_DISCARD}\s*$$ + ^\s*RX_PKT_UNDERSIZE\s*\|\s*${RX_PKT_UNDERSIZE}\s*$$ + ^\s*RX_PKT_FRAGMENT\s*\|\s*${RX_PKT_FRAGMENT}\s*$$ + ^\s*RX_PKT_CRC_NOT_STOMPED\s*\|\s*${RX_PKT_CRC_NOT_STOMPED}\s*$$ + ^\s*RX_PKT_CRC_STOMPED\s*\|\s*${RX_PKT_CRC_STOMPED}\s*$$ + ^\s*RX_PKT_IN_RANGE_ERR\s*\|\s*${RX_PKT_IN_RANGE_ERR}\s*$$ + ^\s*RX_PKT_JABBER\s*\|\s*${RX_PKT_JABBER}\s*$$ + ^\s*RX_PKT_802.3x_PAUSE\s*\|\s*${RX_PKT_802_3X_PAUSE}\s*$$ + ^\s*RX_PKT_PER_PRIORITY_PAUSE\s*\|\s*${RX_PKT_PER_PRIORITY_PAUSE}\s*$$ + ^\s*TX_PKT_GOOD_OCTETS\s*\|\s*${TX_PKT_GOOD_OCTETS}\s*$$ + ^\s*RX_PKT_GOOD_OCTETS\s*\|\s*${RX_PKT_GOOD_OCTETS}\s*$$ + ^\s*XCVR\s*port\s*info:\s*$$ + ^\s*Card\s*Config\s*info\s*$$ + ^\s*sfp_ctrl_bigsur\s*:\s*${SFP_CTRL_BIGSUR}\s*$$ + ^\s*sfp_ctrl_port\s*:\s*${SFP_CTRL_PORT}\s*$$ + ^\s*phy_bigsur\s*:\s*${PHY_BIGSUR}\s*$$ + ^\s*phy_mdio_addr\s*:\s*${PHY_MDIO_ADDR}\s*$$ + ^\s*phy_mdio_master\s*:\s*${PHY_MDIO_MASTER}\s*$$ + ^\s*phy_reset_bigsur\s*:\s*${PHY_RESET_BIGSUR}\s*$$ + ^\s*phy_reset_spio\s*:\s*${PHY_RESET_SPIO}\s*$$ + ^\s*phy_prom_shared\s*:\s*${PHY_PROM_SHARED}\s*$$ + ^\s*Serdes\s*txdata\[0\]\s*:\s*${SERDES_TXDATA_0}\s*$$ + ^\s*Serdes\s*txdata\[1\]\s*:\s*${SERDES_TXDATA_1}\s*$$ + ^\s*Serdes\s*txdata\[2\]\s*:\s*${SERDES_TXDATA_2}\s*$$ + ^\s*Serdes\s*txdata\[3\]\s*:\s*${SERDES_TXDATA_3}\s*$$ + ^\s*phy_pmd_tx\[0\]\s*:\s*${PHY_PMD_TX_0}\s*$$ + ^\s*phy_pmd_tx\[1\]\s*:\s*${PHY_PMD_TX_1}\s*$$ + ^\s*phy_pmd_tx\[2\]\s*:\s*${PHY_PMD_TX_2}\s*$$ + ^\s*Dev\s*address\s*info\s*$$ + ^\s*pma_pmd_devaddr\s*:\s*${PMA_PMD_DEVADDR}\s*$$ + ^\s*pcs_devaddr\s*:\s*${PCS_DEVADDR}\s*$$ + ^\s*phyxs_devaddr\s*:\s*${PHYXS_DEVADDR}\s*$$ + ^\s*xcvr_devaddr\s*:\s*${XCVR_DEVADDR}\s*$$ + ^\s*Misc\s*info\s*$$ + ^\s*phy_present\s*:\s*${PHY_PRESENT}\s*$$ + ^\s*phy_type\s*:\s*${PHY_TYPE}\s*$$ + ^\s*sfp_acc_type\s*:\s*${SFP_ACC_TYPE}\s*$$ + ^\s*dfe_timer\s*:\s*${DFE_TIMER}\s*$$ + ^\s*dfe_timer_running\s*:\s*${DFE_TIMER_RUNNING}\s*$$ + ^\s*init_wait_count\s*:\s*${INIT_WAIT_COUNT}\s*$$ + ^\s*do_tx_disable_clr\s*:\s*${DO_TX_DISABLE_CLR}\s*$$ + ^\s*tx_disable_clr_cnt\s*:\s*${TX_DISABLE_CLR_CNT}\s*$$ + ^\s*qsa_status\s*:\s*${QSA_STATUS}\s*$$ + ^\s*Connector\s*type\s*:\s*${CONNECTOR_TYPE}\s*$$ + ^\s*usb_bus_num\s*:\s*${USB_BUS_NUM}\s*$$ + ^\s*usb_dev_num\s*:\s*${USB_DEV_NUM}\s*$$ + ^\s*usb_priv\s*:\s*${USB_PRIV}\s*$$ + ^\s*Reset\s*done\s*:\s*${RESET_DONE}\s*$$ + ^\s*Xcvr\s*flags\s*$$ + ^\s*XCVR_FLAG_PRESENT\s*:\s*${XCVR_FLAG_PRESENT}\s*$$ + ^\s*XCVR_FLAG_XCVR_NOT_SFP\s*:\s*${XCVR_FLAG_XCVR_NOT_SFP}\s*$$ + ^\s*XCVR_FLAG_10G_CAPABLE\s*:\s*${XCVR_FLAG_10G_CAPABLE}\s*$$ + ^\s*XCVR_FLAG_CKSUM_OK\s*:\s*${XCVR_FLAG_CKSUM_OK}\s*$$ + ^\s*XCVR_FLAG_SECURITY_CRC_OK\s*:\s*${XCVR_FLAG_SECURITY_CRC_OK}\s*$$ + ^\s*XCVR_FLAG_CISCO_CHK_OK\s*:\s*${XCVR_FLAG_CISCO_CHK_OK}\s*$$ + ^\s*XCVR_FLAG_DDM_CAPABLE\s*:\s*${XCVR_FLAG_DDM_CAPABLE}\s*$$ + ^\s*XCVR_FLAG_PMA_PMD_PRESENT\s*:\s*${XCVR_FLAG_PMA_PMD_PRESENT}\s*$$ + ^\s*XCVR_FLAG_PCS_PRESENT\s*:\s*${XCVR_FLAG_PCS_PRESENT}\s*$$ + ^\s*XCVR_FLAG_PHYXS_PRESENT\s*:\s*${XCVR_FLAG_PHYXS_PRESENT}\s*$$ + ^\s*XCVR_FLAG_XCVR_OPERATIONAL\s*:\s*${XCVR_FLAG_XCVR_OPERATIONAL}\s*$$ + ^\s*XCVR_FLAG_PMA_PMD_LOW_PWR_MODE\s*:\s*${XCVR_FLAG_PMA_PMD_LOW_PWR_MODE}\s*$$ + ^\s*XCVR_FLAG_PCS_LOW_PWR_MODE\s*:\s*${XCVR_FLAG_PCS_LOW_PWR_MODE}\s*$$ + ^\s*XCVR_FLAG_PHYXS_LOW_PWR_MODE\s*:\s*${XCVR_FLAG_PHYXS_LOW_PWR_MODE}\s*$$ + ^\s*XCVR_FLAG_LINK_UP\s*:\s*${XCVR_FLAG_LINK_UP}\s*$$ + ^\s*XCVR_FLAG_TYPE_FIBER\s*:\s*${XCVR_FLAG_TYPE_FIBER}\s*$$ + ^\s*XCVR_FLAG_SPROM_READ_OK\s*:\s*${XCVR_FLAG_SPROM_READ_OK}\s*$$ + ^\s*Link\s*states:[\S\s]*\s*$$ + ^\s*Port\s\S+:\s*$$ + ^\s*State\s*:\s*${PORT_STATE}\s*$$ + ^\s*XCVR\s*insert\s*debounce\s*timer\s*${XCVR_INSERT_DEBOUNCE_TIMER}\s*$$ + ^\s*XCVR\s*link\s*debounce\s*timer\s*${XCVR_LINK_DEBOUNCE_TIMER}\s*$$ + ^\s*XCVR\s*linkup\s*debounce\s*timer\s*${XCVR_LINKUP_DEBOUNCE_TIMER}\s*$$ + ^\s*XCVR\s*presence\s*detect\s*timer\s*${XCVR_PRESENCE_DETECT_TIMER}\s*$$ + ^\s*TX\s*enable\s*signal\s*is\s*${TX_ENABLE_SIGNAL}\s*$$ + ^\s*Debounce\s*timeout\s*:\s*${DEBOUNCE_TIMEOUT}\s*$$ + ^\s*Linkup\s*Debounce\s*timeout\s*:\s*${LINKUP_DEBOUNCE_TIMEOUT}\s*$$ + ^\s*Link\s*up\s*:\s*${LINK_UP}\s*$$ + ^\s*Link\s*dn\s*debounce\s*start\s*:\s*${LINK_DN_DEBOUNCE_START}\s*$$ + ^\s*Link\s*debounce\s*end\s*:\s*${LINK_DEBOUNCE_END}\s*$$ + ^\s*Counters:\s*$$ + ^\s*Interrupt\s*cntrs:\s*$$ + ^\s*Bit\s*error\s*cntrs:\s*$$ + ^\s*Bit\s*Error\s*Rate:\s*${BIT_ERROR_RATE}\s*Bit\s*Error\s*Rate\(since\s*linkup\):\s*${BIT_ERROR_RATE_SINCE_LINKUP}\s*$$ + ^\s*Error\s*blocks\s*:\s*${ERROR_BLOCKS}\s*Error\s*blocks\(since\s*linkup\)\s*:\s*${ERROR_BLOCKS_SINCE_LINKUP}\s*$$ + ^\s*Link\s*cntrs:\s*$$ -> LinkCntrs + ^\s*Done.\s*$$ -> Record + ^\s*$$ + ^. -> Error + +LinkCntrs + ^\s*Link\s*up:\s*${LINK_UP_HEX}\s*\(${LINK_UP_DEC}\)\s*$$ + ^\s*Link\s*dn:\s*${LINK_DOWN_HEX}\s*\(${LINK_DOWN_DEC}\)\s*$$ + ^\s*Link\s*debounced\s*with\s*link\s*up:\s*${LINK_DEBOUNCED_WITH_LINK_UP_HEX}\s*\(${LINK_DEBOUNCED_WITH_LINK_UP_DEC}\)\s*$$ + ^\s*Link\s*debounced\s*with\s*link\s*up\s*since\s*last\s*enable\s*:\s*${LINK_DEBOUNCED_WITH_LINK_UP_SINCE_LAST_EN_HEX}\s*\(${LINK_DEBOUNCED_WITH_LINK_UP_SINCE_LAST_EN_DEC}\)\s*$$ -> Start + +PortClientConfig + ^\s*admin_state\s*:\s*${ADMIN_STATE}\(${ADMIN_STATE_DEC}\)\s*$$ + ^\s*mtu\s*:\s*${MTU}\s*$$ + ^\s*duplexity\s*:\s*${DUPLEXITY}\(${DUPLEXITY_DEC}\)\s*$$ + ^\s*auto_neg_state\s*:\s*\(${AUTO_NEG_STATE}\)${AUTO_NEG_STATE_DEC}\s*$$ + ^\s*Fast\s*1G\s*AN\s*timer\s*is\s*:\s*${FAST_1G_AN_TIMER}\s*$$ + ^\s*speed\s*:\s*${PORT_SPEED}\s*$$ + ^\s*debounce\s*time\s*:\s*${DEBOUNCE_TIME}\s*$$ + ^\s*linkup_debounce\s*time\s*:\s*${LINKUP_DEBOUNCE_TIME}\s*$$ + ^\s*sat_fabric_mode\s*:\s*${SAT_FABRIC_MODE}\(${SAT_FABRIC_MODE_HEX}\)\s*$$ + ^\s*port_flow_ctrl\s*:\s*${PORT_FLOW_CTRL}\s*$$ + ^\s*class_flow_ctrl7-0\s*:\s*${CLASS_FLOW_CTRL7_0}\s*$$ + ^\s*class_flow_ctrl\s*msk\s*:\s*rx\s*${CLASS_FLOW_CTRL_MSK_RX},\s*tx\s*${CLASS_FLOW_CTRL_MSK_TX}\s*$$ + ^\s*Bigsur\s*port\s*\S+\s*port-oper\s*info:\s*$$ -> Start + ^\s*$$ + ^. -> Error + + +Lane0 + ^\s*Lane\s*\d+:\s*$$ + ^\s*<\d+\s*\S+>:DFE\s*A:\s*${DFE_TUNE_LANE_0_DFE_A}\s*$$ + ^\s*<\d+\s*\S+>:DFE\s*B:\s*${DFE_TUNE_LANE_0_DFE_B}\s*$$ + ^\s*<\d+\s*\S+>\s*DFE\s*Tune\s*\[\S+\]:\s*${DFE_TUNE_LANE_0_DFE_TUNE}\s*$$ -> Lane1 + ^\s*$$ -> Start + ^. -> Error + + +Lane1 + ^\s*Lane\s*\d+:\s*$$ + ^\s*<\d+\s*\S+>:DFE\s*A:\s*${DFE_TUNE_LANE_1_DFE_A}\s*$$ + ^\s*<\d+\s*\S+>:DFE\s*B:\s*${DFE_TUNE_LANE_1_DFE_B}\s*$$ + ^\s*<\d+\s*\S+>\s*DFE\s*Tune\s*\[\S+\]:\s*${DFE_TUNE_LANE_1_DFE_TUNE}\s*$$ -> Lane2 + ^\s*$$ -> Start + ^. -> Error + + +Lane2 + ^\s*Lane\s*\d+:\s*$$ + ^\s*<\d+\s*\S+>:DFE\s*A:\s*${DFE_TUNE_LANE_2_DFE_A}\s*$$ + ^\s*<\d+\s*\S+>:DFE\s*B:\s*${DFE_TUNE_LANE_2_DFE_B}\s*$$ + ^\s*<\d+\s*\S+>\s*DFE\s*Tune\s*\[\S+\]:\s*${DFE_TUNE_LANE_2_DFE_TUNE}\s*$$ -> Lane3 + ^\s*$$ -> Start + ^. -> Error + + +Lane3 + ^\s*Lane\s*\d+:\s*$$ + ^\s*<\d+\s*\S+>:DFE\s*A:\s*${DFE_TUNE_LANE_3_DFE_A}\s*$$ + ^\s*<\d+\s*\S+>:DFE\s*B:\s*${DFE_TUNE_LANE_3_DFE_B}\s*$$ + ^\s*<\d+\s*\S+>\s*DFE\s*Tune\s*\[\S+\]:\s*${DFE_TUNE_LANE_3_DFE_TUNE}\s*$$ -> Start + ^\s*$$ -> Start + ^. -> Error + + +EOF \ No newline at end of file diff --git a/ntc_templates/templates/cisco_nxos_show_interface_snmp-ifindex.textfsm b/ntc_templates/templates/cisco_nxos_show_interface_snmp-ifindex.textfsm new file mode 100644 index 0000000000..87cea7f179 --- /dev/null +++ b/ntc_templates/templates/cisco_nxos_show_interface_snmp-ifindex.textfsm @@ -0,0 +1,12 @@ +Value PORT (\S+) +Value IFMIB (\S+) +Value IFINDEX_HEX (\S+) + +Start + ^Port\s+IFMIB\s+Ifindex\s+\(hex\)\s*$$ + ^${PORT}\s+${IFMIB}\s+\(${IFINDEX_HEX}\s*\)\s*$$ -> Record + ^-*$$ + ^\s*$$ + ^. -> Error + +EOF \ No newline at end of file diff --git a/ntc_templates/templates/cisco_nxos_show_ip_mroutes_vrf_all.textfsm b/ntc_templates/templates/cisco_nxos_show_ip_mroutes_vrf_all.textfsm new file mode 100644 index 0000000000..29e57f7419 --- /dev/null +++ b/ntc_templates/templates/cisco_nxos_show_ip_mroutes_vrf_all.textfsm @@ -0,0 +1,29 @@ +Value Required GROUP (\S+) +Value SOURCE (\*|\S+) +Value Filldown VRF (\S+) +Value List OIF_LIST (\S+) +Value INCOMING_INTERFACE (\S+) +Value RPF_NEIGHBOR (\S+) +Value LAST_UPTIME (\S+) + +Start + ^\s*$$ + ^IP\s+Multicast\s+Routing\s+Table\s+for\s+VRF\s+"${VRF}" + ^\( -> Continue.Record + ^\(${SOURCE},\s+${GROUP}\),\s+uptime:\s+${LAST_UPTIME},.* + ^\s+Incoming\s+interface:\s+${INCOMING_INTERFACE},\s+RPF\s+nbr:\s+${RPF_NEIGHBOR} + ^\s+Outgoing\s+interface\s+list:\s+\(count:\s+\d+\) + ^\s+${OIF_LIST},\s+uptime:\s+${LAST_UPTIME},\s+\w+ + ^. -> Error + +# nxos-2# show ip mroute vrf all +# IP Multicast Routing Table for VRF "default" +# +# (10.0.13.10/32, 225.0.0.1/32), uptime: 00:11:35, pim mrib ip +# Incoming interface: Ethernet1/2, RPF nbr: 10.0.2.2, internal +# Outgoing interface list: (count: 0) +# +# +# (*, 232.0.0.0/8), uptime: 23:48:01, pim ip +# Incoming interface: Null, RPF nbr: 0.0.0.0 +# Outgoing interface list: (count: 0) diff --git a/ntc_templates/templates/cisco_nxos_show_lldp_neighbors.textfsm b/ntc_templates/templates/cisco_nxos_show_lldp_neighbors.textfsm index 1b0be9a80f..679175d93b 100644 --- a/ntc_templates/templates/cisco_nxos_show_lldp_neighbors.textfsm +++ b/ntc_templates/templates/cisco_nxos_show_lldp_neighbors.textfsm @@ -1,11 +1,12 @@ Value NEIGHBOR (\S+) Value LOCAL_INTERFACE (\S+) Value NEIGHBOR_INTERFACE (\S+) +Value CAPABILITIES (\w+) Start ^Device.*ID -> LLDP LLDP - ^${NEIGHBOR}$$ - ^${NEIGHBOR}\s+${LOCAL_INTERFACE}\s+\d+\s+(\w+?\s)+\s+${NEIGHBOR_INTERFACE} -> Record - ^\s+${LOCAL_INTERFACE}\s+\d+\s+(\w+?\s)+\s+${NEIGHBOR_INTERFACE} -> Record + ^${NEIGHBOR}\s+${LOCAL_INTERFACE}\s+\d+\s+(${CAPABILITIES}?\s+)?${NEIGHBOR_INTERFACE} -> Record + ^${NEIGHBOR}\s*$$ + ^\s+${LOCAL_INTERFACE}\s+\d+\s+(${CAPABILITIES}?\s+)?${NEIGHBOR_INTERFACE} -> Record diff --git a/ntc_templates/templates/cisco_nxos_show_switching-mode.textfsm b/ntc_templates/templates/cisco_nxos_show_switching-mode.textfsm new file mode 100644 index 0000000000..85eaa4ff39 --- /dev/null +++ b/ntc_templates/templates/cisco_nxos_show_switching-mode.textfsm @@ -0,0 +1,10 @@ +Value Filldown CONFIGURED_SWITCHING_MODE ([\S\s]+?) +Value Required MODULE_NUMBER (\S+) +Value Required OPERATIONAL_MODE ([\S\s]+?) + +Start + ^\s*Configured\s*switching\s*mode:\s*${CONFIGURED_SWITCHING_MODE}\s*$$ + ^\s*Module\s*Number\s*Operational\s*Mode\s*$$ + ^\s*${MODULE_NUMBER}\s*${OPERATIONAL_MODE}\s*$$ -> Record + ^\s*$$ + ^. -> Error \ No newline at end of file diff --git a/ntc_templates/templates/cisco_s300_show_ip_interface.textfsm b/ntc_templates/templates/cisco_s300_show_ip_interface.textfsm index 9a249f91e9..234dbb17dd 100644 --- a/ntc_templates/templates/cisco_s300_show_ip_interface.textfsm +++ b/ntc_templates/templates/cisco_s300_show_ip_interface.textfsm @@ -1,6 +1,6 @@ Value IP (\S+) -Value I_F (\S+(?:\s\d+)?) -Value I_F_STATUS_ADMIN_OPER (\S+/\S+) +Value INTERFACE (\S+(?:\s\d+)?) +Value INTERFACE_STATUS_ADMIN_OPER (\S+/\S+) Value TYPE (Static|DHCP) Value STATUS (\S+) @@ -20,7 +20,7 @@ Gateway IpAddress4Column ^(\s*-*)*\s*$$ - ^\s*${IP}\s+${I_F}\s+${TYPE}\s+${STATUS}\s*$$ -> Record + ^\s*${IP}\s+${INTERFACE}\s+${TYPE}\s+${STATUS}\s*$$ -> Record ^\s*$$ ^. -> Error @@ -28,6 +28,6 @@ IpAddress5Column ^\s*admin/oper\s*$$ ^(\s*-*)*\s*$$ ^\s*Gateway\s+IP\s+Address\s+Activity\s+status\s+Type\s*$$ -> Gateway - ^\s*${IP}\s+${I_F}\s+${I_F_STATUS_ADMIN_OPER}\s+${TYPE}\s+${STATUS}\s*$$ -> Record + ^\s*${IP}\s+${INTERFACE}\s+${INTERFACE_STATUS_ADMIN_OPER}\s+${TYPE}\s+${STATUS}\s*$$ -> Record ^\s*$$ ^. -> Error diff --git a/ntc_templates/templates/cisco_xr_ping.textfsm b/ntc_templates/templates/cisco_xr_ping.textfsm new file mode 100644 index 0000000000..fbcae6e6e0 --- /dev/null +++ b/ntc_templates/templates/cisco_xr_ping.textfsm @@ -0,0 +1,24 @@ +Value Required SENT_QTY (\d+) +Value Required SENT_TYPE (.*) +Value Required DESTINATION (\S+) +Value Required TIMEOUT (\d+) +Value SOURCE (\S+) +Value List RESPONSE_STREAM ([\.\!/Q/U]+) +Value Required SUCCESS_PCT (\d+) +Value Required SUCCESS_QTY (\d+) +Value RTT_MIN (\d+) +Value RTT_AVG (\d+) +Value RTT_MAX (\d+) + + +Start + ^(Mon?)|(Tue?)|(Wed?)|(Thu?)|(Fri?)|(Sat?)|(Sun?)\s.*$$ + ^Type\s+escape\s+sequence\s+to\s+abort. + ^Sending\s+${SENT_QTY},\s+${SENT_TYPE}\s+to\s+${DESTINATION},\s+timeout\s+is\s+${TIMEOUT}\s+seconds: + ^Packet\s+sent\s+with\s+a\s+source\s+address\s+of\s+${SOURCE} + ^Packet\s+sent\s+with\s+the\s+DF\s+bit\s+set + ^${RESPONSE_STREAM} + ^Success\s+rate\s+is\s+${SUCCESS_PCT}\s+percent\s+\(${SUCCESS_QTY}\/\d+\)(?:,\s+round-trip\s+min/avg/max\s+\=\s+)?(?:${RTT_MIN}/${RTT_AVG}/${RTT_MAX})?(?:\sms)? + ^\s*$$ + # Error out if raw data does not match any above rules. + ^.* -> Error "Could not parse line:" diff --git a/ntc_templates/templates/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.textfsm b/ntc_templates/templates/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.textfsm index 98b40d6e39..0bd98659a8 100644 --- a/ntc_templates/templates/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.textfsm +++ b/ntc_templates/templates/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.textfsm @@ -1,9 +1,9 @@ Value Required VRF (\S+) Value RD (\S+) Value STATE (\w+) +Value LOCAL_AS_NUMBER (\S+) Start ^BGP\s+VRF\s+${VRF},\s+state:\s+${STATE} - ^BGP Route Distinguisher:\s+${RD} -> Record - - + ^BGP Route Distinguisher:\s+${RD} + ^.*,\slocal\sAS\snumber\s${LOCAL_AS_NUMBER} -> Record diff --git a/ntc_templates/templates/huawei_vrp_display_arp_all.textfsm b/ntc_templates/templates/huawei_vrp_display_arp_all.textfsm index 42a6f90cd8..0aeb0d5b5f 100644 --- a/ntc_templates/templates/huawei_vrp_display_arp_all.textfsm +++ b/ntc_templates/templates/huawei_vrp_display_arp_all.textfsm @@ -7,11 +7,11 @@ Value VPN_INSTANCE (\S+) Start ^IP\s+ADDRESS\s+MAC\s+ADDRESS\s+EXPIRE\S+\s+TYPE\s+INTERFACE\s+VPN-INSTANCE - ^\s+VLAN\/CEVLAN\s+PVC + ^\s+VLAN\/CEVLAN ^-+ ^${IP_ADDRESS}\s+${MAC_ADDRESS}\s+${EXPIRE}?\s+${TYPE}\s+${INTERFACE}(\s+)?${VPN_INSTANCE}?$$ -> Record ^\s+(\d+)\/(\S+) - ^Total:(\d+)\s+Dynamic:(\d+)\s+Static:(\d+)\s+Interface:(\d+)\s+Remote:(\d+) + ^Total:(\d+)\s+Dynamic:(\d+)\s+Static:(\d+)\s+Interface:(\d+) ^Redirect:(\d+) ^\s*$$ ^. -> Error diff --git a/ntc_templates/templates/huawei_vrp_display_interface.textfsm b/ntc_templates/templates/huawei_vrp_display_interface.textfsm index 203db10f93..3ac8a1614f 100644 --- a/ntc_templates/templates/huawei_vrp_display_interface.textfsm +++ b/ntc_templates/templates/huawei_vrp_display_interface.textfsm @@ -4,6 +4,7 @@ Value PROTOCOL_STATUS (\S*|\S*\s+\(\w+\)) Value INTERFACE_DESCRIPTION (.*) Value PORT_TYPE (\S*) Value PVID (\d+) +Value MTU (\d+) Value INTERNET_ADDRESS (\S*) Value INTERNET_PROTOCOL (disabled|enabled) Value HARDWARE_ADDRESS (\S{4}-\S{4}-\S{4}) @@ -15,6 +16,7 @@ Value SPEED (\d*) Value LOOPBACK (\S*) Value DUPLEX (HALF|FULL) Value NEGOTIATION (DISABLE|ENABLE) +Value List AGGREGATED_INTERFACES (\S+) Start ^\S*\s+current\s+state\s+:.*$$ -> Continue.Record @@ -22,7 +24,10 @@ Start ^Line\s+protocol\s+current\s+state\s+:\s+${PROTOCOL_STATUS}\s*$$ ^Last\sline\sprotocol\sup\stime\s*:\s+(\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}|-)\s*$$ ^Description:${INTERFACE_DESCRIPTION}\s*$$ - ^${PORT_TYPE}\s+Port(,\s+PVID\s+:\s*${PVID},)?.*$$ + ^${PORT_TYPE}\s+Port,\s*The\s+MTU\s+is\s+${MTU} + ^${PORT_TYPE}\s+Port,\s*The\s+Maximum\s+Transmit\s+Unit\s+is\s+${MTU} + ^${PORT_TYPE}\s+Port,(\s+PVID\s+:\s*${PVID},)?(\s*[^,]+,){1,}(\s+The\s+Maximum\s+(Frame\s+Length|Transmit\s+Unit)\s+is\s+${MTU})? + ^PVID\s*:\s+${PVID},(\s*[^,]+,){0,}\s+The\s+Maximum\s+Frame\s+Length\s+is\s+${MTU} ^Internet\s+Address\s+is\s+negotiated,\s+${INTERNET_ADDRESS}\s*$$ ^Internet\s+Address\s+is\s+${INTERNET_ADDRESS}\s*$$ ^.*,\s+Hardware\s+address\s+is\s+${HARDWARE_ADDRESS}\s*$$ @@ -74,5 +79,19 @@ Start ^\s+OAM\sCells:\s+(\d|-)+,\s+ASM\sCells:\s+(\d|-)+\s*$$ ^\s+Packet\sErrors:\s+(\d|-)+,\s+Packet\sDiscards:\s+(\d|-)+\s*$$ ^\s+Cell\sErrors:\s+(\d|-)+\s*$$ + ^\s*Last\s+\d+\s+seconds + ^\s*Input:\s+\d+\s+Packets,\s+\d+\s+Bytes + ^\s*Output:\s+\d+\s+Packets,\s+\d+\s+Bytes + ^\s*Mdi\s+:\s+ + ^-{6} + ^PortName -> Trunk ^\s+ ^. -> Error + +Trunk + ^-{6} + ^${AGGREGATED_INTERFACES}\s+\S+\s+\d+\s*$$ + ^The\s+Number\s+of\s+Ports\s+in\s+Trunk\s*:\s*\d+\s*$$ + ^The\s+Number\s+of\s+UP\s+Ports\s+in\s+Trunk\s*:\s*\d+\s*$$ + ^\s*$$ -> Start + ^. -> Error diff --git a/ntc_templates/templates/huawei_vrp_display_ip_routing-table_verbose.textfsm b/ntc_templates/templates/huawei_vrp_display_ip_routing-table_verbose.textfsm index d89f069ae6..b2b081758d 100644 --- a/ntc_templates/templates/huawei_vrp_display_ip_routing-table_verbose.textfsm +++ b/ntc_templates/templates/huawei_vrp_display_ip_routing-table_verbose.textfsm @@ -1,6 +1,6 @@ Value DESTINATION (\S+) Value PREFIX_LENGTH (\d+) -Value PROTOCOL (Direct|Static|EBGP|IBGP||ISIS|OSPF|RIP|UNR) +Value PROTOCOL (Direct|Static|EBGP|IBGP||ISIS|OSPF|RIP|UNR|O_ASE) Value PROCESS_ID (\d+) Value LABEL (\S+) Value QOS_INFO (\S+) diff --git a/ntc_templates/templates/huawei_vrp_display_ip_vpn-instance.textfsm b/ntc_templates/templates/huawei_vrp_display_ip_vpn-instance.textfsm new file mode 100644 index 0000000000..d107ba0de3 --- /dev/null +++ b/ntc_templates/templates/huawei_vrp_display_ip_vpn-instance.textfsm @@ -0,0 +1,14 @@ +Value Required NAME (\S+) +Value RD (\d+:\d+) +Value ADDRESS_FAMILY (\S+) + +Start + ^\s*VPN-Instance Name -> VPNInstances + ^\s*Total + ^\s*$$ + ^. -> Error + +VPNInstances + ^\s*${NAME}\s+${RD}\s+${ADDRESS_FAMILY}\s* -> Record + ^\s*$$ + ^. -> Error diff --git a/ntc_templates/templates/huawei_vrp_display_ip_vpn-instance_interface.textfsm b/ntc_templates/templates/huawei_vrp_display_ip_vpn-instance_interface.textfsm new file mode 100644 index 0000000000..fee2fbe8f5 --- /dev/null +++ b/ntc_templates/templates/huawei_vrp_display_ip_vpn-instance_interface.textfsm @@ -0,0 +1,15 @@ +Value Required NAME (\S+) +Value Required ID (\d+) +Value List INTERFACE_LIST ([^,]+) + +Start + ^\s*Total + ^\s*$$ + ^\s*VPN-Instance -> Continue.Record + ^\s*VPN-Instance\s+Name\s+and\s+ID\s*:\s+${NAME}, ${ID} + ^\s+Interface\s+Number + ^\s+Interface\s+list\s*:\s+${INTERFACE_LIST},* + ^\s{6,}${INTERFACE_LIST},* + ^\s*Total + ^\s*$$ + ^. -> Error diff --git a/ntc_templates/templates/huawei_vrp_display_lldp_neighbor.textfsm b/ntc_templates/templates/huawei_vrp_display_lldp_neighbor.textfsm index 4e6b92fc73..ee91906e92 100644 --- a/ntc_templates/templates/huawei_vrp_display_lldp_neighbor.textfsm +++ b/ntc_templates/templates/huawei_vrp_display_lldp_neighbor.textfsm @@ -12,7 +12,7 @@ Value VLAN_ID (\d+) Value SERIAL (\S+) Start - ^${LOCAL_INTERFACE}\s+has\s+\d+\s+neighbors:$$ + ^${LOCAL_INTERFACE}\s+has\s+\d+\s+neighbor(s|\(s\)):$$ ^\S+\s+has\s+\d+\s+neighbors ^Neighbor\s+index ^Chassis\s+type @@ -25,7 +25,7 @@ Start ^System\s+capabilities\s+supported ^System\s+capabilities\s+enabled\s+:${CAPABILITIES}\s*$$ ^Management\s+address\s+type - ^Management\s+address\s*:\s*${MANAGEMENT_IP} + ^Management\s+address\s*(value\s*)?:\s*${MANAGEMENT_IP} ^Expired\s+time ^Port\s+VLAN\s+ID\(PVID\)\s+:${VLAN_ID} ^VLAN\s+name\s+of\s+VLAN @@ -33,6 +33,7 @@ Start ^Auto-negotiation ^OperMau ^Power + ^OID ^PSE ^Port\s+power ^Link\s+aggregation diff --git a/ntc_templates/templates/huawei_vrp_display_mac-address.textfsm b/ntc_templates/templates/huawei_vrp_display_mac-address.textfsm new file mode 100644 index 0000000000..7f0cded4d0 --- /dev/null +++ b/ntc_templates/templates/huawei_vrp_display_mac-address.textfsm @@ -0,0 +1,12 @@ +Value DESTINATION_ADDRESS ([0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}) +Value DESTINATION_PORT ([^,\s]+) +Value TYPE (\S+) +Value VLAN_ID (\d+) + +Start + ^-+$$ + ^\s+$$ + ^MAC\s+Address + ^${DESTINATION_ADDRESS}\s+${VLAN_ID}/([^/]+)/([^/]+)\s+${DESTINATION_PORT}\s+${TYPE} -> Record + ^Total\s+items + ^. -> Error diff --git a/ntc_templates/templates/huawei_vrp_display_port_vlan.textfsm b/ntc_templates/templates/huawei_vrp_display_port_vlan.textfsm index ba9ca6e3b6..3677c612e5 100644 --- a/ntc_templates/templates/huawei_vrp_display_port_vlan.textfsm +++ b/ntc_templates/templates/huawei_vrp_display_port_vlan.textfsm @@ -1,137 +1,142 @@ -Value Required INTERFACE ([\w\.\/]+) -Value LINK_TYPE (trunk|access|auto|hybrid) +Value Required INTERFACE ([\w\.\/\-]+) +Value LINK_TYPE (trunk|access|auto|hybrid|desirable) Value PVID (\d+) -Value List TRUNK_VLAN_LIST (\d+-\d+|\d+) +Value List TRUNK_VLAN_LIST (\d+\-\d+|\d+) Start ^\s*$$ ^[pPoOrRtT]{4}.*$$ -> VLANS + ^. -> Error VLANS - ^[\w\.\/]+ -> Continue.Record + ^[\w\.\/\-]+ -> Continue.Record ^${INTERFACE}\s+${LINK_TYPE}\s+${PVID}\s+${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){3}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){4}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){5}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){6}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){7}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){8}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){9}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){10}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){11}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){12}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){13}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){14}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){15}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){16}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){17}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){18}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){19}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){20}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){21}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){22}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){23}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){24}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){25}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){26}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){27}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){28}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){29}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){30}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){31}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){32}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){33}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){34}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){35}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){36}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){37}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){38}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){39}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){40}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){41}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){42}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){43}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){44}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){45}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){46}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){47}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){48}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){49}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){50}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){51}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){52}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){53}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){54}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){55}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){56}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){57}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){58}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){59}${TRUNK_VLAN_LIST}\s* -> Continue - ^[\w\.\/]+\s+(?:\S+\s+){60}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+\S+\s+${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){2}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){3}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){4}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){5}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){6}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){7}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){8}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){9}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){10}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){11}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){12}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){13}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){14}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){15}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){16}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){17}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){18}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){19}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){20}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){21}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){22}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){23}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){24}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){25}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){26}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){27}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){28}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){29}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){30}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){31}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){32}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){33}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){34}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){35}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){36}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){37}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){38}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){39}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){40}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){41}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){42}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){43}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){44}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){45}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){46}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){47}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){48}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){49}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){50}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){51}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){52}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){53}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){54}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){55}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){56}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){57}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){58}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){59}${TRUNK_VLAN_LIST}\s* -> Continue - ^\s+(?:\S+\s+){60}${TRUNK_VLAN_LIST}\s* -> Continue - ^${INTERFACE}\s+${LINK_TYPE}\s+${PVID}\s+-$$ -> Record - ^[\w\.\/]+ - ^\s+ - ^-+ - ^.+ -> Error + ^[\w\.\/\-]+\s+(?:\S+\s+){3}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){4}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){5}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){6}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){7}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){8}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){9}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){10}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){11}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){12}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){13}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){14}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){15}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){16}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){17}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){18}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){19}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){20}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){21}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){22}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){23}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){24}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){25}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){26}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){27}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){28}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){29}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){30}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){31}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){32}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){33}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){34}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){35}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){36}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){37}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){38}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){39}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){40}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){41}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){42}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){43}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){44}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){45}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){46}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){47}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){48}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){49}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){50}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){51}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){52}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){53}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){54}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){55}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){56}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){57}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){58}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){59}${TRUNK_VLAN_LIST}\s* -> Continue + ^[\w\.\/\-]+\s+(?:\S+\s+){60}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}\S+\s+${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){2}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){3}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){4}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){5}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){6}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){7}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){8}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){9}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){10}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){11}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){12}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){13}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){14}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){15}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){16}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){17}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){18}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){19}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){20}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){21}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){22}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){23}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){24}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){25}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){26}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){27}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){28}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){29}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){30}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){31}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){32}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){33}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){34}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){35}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){36}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){37}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){38}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){39}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){40}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){41}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){42}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){43}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){44}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){45}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){46}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){47}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){48}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){49}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){50}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){51}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){52}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){53}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){54}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){55}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){56}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){57}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){58}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){59}${TRUNK_VLAN_LIST}\s* -> Continue + ^\s{6,}(?:\S+\s+){60}${TRUNK_VLAN_LIST}\s* -> Continue + # Bundled interface (PVID is 0) + ^${INTERFACE}\s+-\s+0\s+-\s*$$ -> Record + # Access port (PVID is empty) + ^${INTERFACE}\s+${LINK_TYPE}\s+${PVID}\s+-\s*$$ -> Record + # Interface lists + ^[\w\.\/\-]+\s+\S+\s+\d+\s+[0-9\- ]+$$ + ^\s{6,} + ^-+$$ + ^. -> Error diff --git a/ntc_templates/templates/huawei_vrp_display_vlan.textfsm b/ntc_templates/templates/huawei_vrp_display_vlan.textfsm new file mode 100644 index 0000000000..983c8b9b83 --- /dev/null +++ b/ntc_templates/templates/huawei_vrp_display_vlan.textfsm @@ -0,0 +1,42 @@ +Value Filldown VLAN_ID (\d+) +Value Filldown VLAN_TYPE (\w+) +Value Filldown MODE ((TG|UT)) +Value INTERFACE ([A-Z0-9/]+) +Value VLAN_NAME (.+) +Value VLAN_STATUS (\S+) + +Start + ^The\s+total\s+number\s+of\s+VLANs + ^-+$$ + ^U:\s+Up;\s+D:\s+Down;\s+TG:\s+Tagged;\s+UT:\s+Untagged; + ^MP:\s+Vlan-mapping;\s+ST:\s+Vlan-stacking; + ^#:\s+ProtocolTransparent-vlan;\s+\*:\s+Management-vlan; + ^VID\s+Type\s+Ports -> VLANS + ^VID\s+Status\s+Property -> STATUS + ^. -> Error + +VLANS + ^-+$$ + ^${VLAN_ID}\s+${VLAN_TYPE}\s*$$ -> Record + ^${VLAN_ID}\s+${VLAN_TYPE}\s+${MODE}:${INTERFACE}\(\w+\)\s* -> Continue.Record + ^${VLAN_ID}\s+${VLAN_TYPE}\s+${MODE}:(?:\S+\s+){1}\s+${INTERFACE}\(\w+\)\s* -> Continue.Record + ^${VLAN_ID}\s+${VLAN_TYPE}\s+${MODE}:(?:\S+\s+){2}\s+${INTERFACE}\(\w+\)\s* -> Continue.Record + ^${VLAN_ID}\s+${VLAN_TYPE}\s+${MODE}:(?:\S+\s+){3}\s+${INTERFACE}\(\w+\)\s* -> Continue.Record + ^${VLAN_ID}\s+${VLAN_TYPE}\s+${MODE}:(?:\S+\s+){4}\s+${INTERFACE}\(\w+\)\s* -> Continue.Record + ^\d+ + ^\s{6,}${MODE}:${INTERFACE}\(\w+\)\s* -> Continue.Record + ^\s{6,}${INTERFACE}\(\w+\)\s* -> Continue.Record + ^\s{6,}(?:\S+\s+){1}${INTERFACE}\(\w+\)\s* -> Continue.Record + ^\s{6,}(?:\S+\s+){2}${INTERFACE}\(\w+\)\s* -> Continue.Record + ^\s{6,}(?:\S+\s+){3}${INTERFACE}\(\w+\)\s* -> Continue.Record + ^\s{6,}(?:\S+\s+){4}${INTERFACE}\(\w+\)\s* -> Continue.Record + ^\s{6,} + ^\s*$$ -> Start + ^. -> Error + + +STATUS + ^-+$$ -> Clearall + ^${VLAN_ID}\s+${VLAN_STATUS}\s+\S+\s+\S+\s+\S+\s+${VLAN_NAME} -> Continue.Record + ^\d+ -> Clearall + ^. -> Error diff --git a/ntc_templates/templates/index b/ntc_templates/templates/index index 0aa8603e69..c89d41f327 100644 --- a/ntc_templates/templates/index +++ b/ntc_templates/templates/index @@ -87,9 +87,10 @@ aruba_aoscx_show_mac-address-table.textfsm, .*, aruba_aoscx, sh[[ow]] ma[[c-addr aruba_aoscx_show_ntp_associations.textfsm, .*, aruba_aoscx, sh[[ow]] ntp as[[sociations]] aruba_aoscx_show_arp_all-vrfs.textfsm, .*, aruba_aoscx, sh[[ow]] ar[[p]] a[[ll-vrfs]] aruba_aoscx_show_bfd_all-vrfs.textfsm, .*, aruba_aoscx, sh[[ow]] bf[[d]] a[[ll-vrfs]] -aruba_aoscx_show_vsf_detail.textfsm , .*, aruba_aoscx, sh[[ow]] vsf d[[etail]] -aruba_aoscx_show_interface.textfsm , .*, aruba_aoscx, sh[[ow]] int[[erface]] -aruba_aoscx_show_system.textfsm , .*, aruba_aoscx, sh[[ow]] sys[[tem]] +aruba_aoscx_show_vsf_detail.textfsm, .*, aruba_aoscx, sh[[ow]] vsf d[[etail]] +aruba_aoscx_show_interface.textfsm, .*, aruba_aoscx, sh[[ow]] int[[erface]] +aruba_aoscx_show_system.textfsm, .*, aruba_aoscx, sh[[ow]] sys[[tem]] +aruba_aoscx_show_vlan.textfsm, .*, aruba_aoscx, sh[[ow]] vl[[an]] aruba_os_show_ap_bss-table_details.textfsm, .*, aruba_os, show ap bss-table details aruba_os_show_ipv6_interface_brief.textfsm, .*, aruba_os, sh[[ow]] ipv6 in[[terface]] b[[rief]] @@ -277,6 +278,7 @@ cisco_ios_show_file_systems.textfsm, .*, cisco_ios, sh[[ow]] fi[[le]] s[[ystems] cisco_ios_show_ip_interface.textfsm, .*, cisco_ios, sh[[ow]] ip int[[erface]] cisco_ios_show_object-group.textfsm, .*, cisco_ios, sh[[ow]] ob[[ject-group]] cisco_ios_show_power_status.textfsm, .*, cisco_ios, sh[[ow]] pow[[er]] st[[atus]] +cisco_ios_show_rep_topology.textfsm, .*, cisco_ios, sh[[ow]] rep topology cisco_ios_show_access-list.textfsm, .*, cisco_ios, sh[[ow]] acc[[ess-list]] cisco_ios_show_isdn_status.textfsm, .*, cisco_ios, sh[[ow]] isd[[n]] st[[atus]] cisco_ios_show_ap_summary.textfsm, .*, cisco_ios, sh[[ow]] ap sum[[mary]] @@ -321,6 +323,7 @@ cisco_ios_ping.textfsm, .*, cisco_ios, ping cisco_ios_dir.textfsm, .*, cisco_ios, dir cisco_nxos_show_bgp_vrf_all_ipv4_unicast_neighbors_routes.textfsm, .*, cisco_nxos, sh[[ow]] bg[[p]] v[[rf]] (\S+) ipv4 uni[[cast]] neigh[[bors]] (ro[[utes]]|re[[ceived-routes]]|a[[dvertised-routes]]) +cisco_nxos_show_hardware_internal_bigsur_all-ports_detail.textfsm, .*, cisco_nxos, sh[[ow]] ha[[rdware]] i[[nternal]] bi[[gsur]] al[[l-ports]] d[[etail]] cisco_nxos_show_l2rib_internal_permanently-frozen-list.textfsm, .*, cisco_nxos, sh[[ow]] l2ri[[b]] i[[nternal]] pe[[rmanently-frozen-list]] cisco_nxos_show_ip_pim_interface_brief_vrf_all.textfsm, .*, cisco_nxos, sh[[ow]] ip pim int[[erface]] br[[ief]] vrf all cisco_nxos_show_configuration_session_summary.textfsm, .*, cisco_nxos, sh[[ow]] configu[[ration]] s[[ession]] su[[mmary]] @@ -331,6 +334,7 @@ cisco_nxos_show_environment_temperature.textfsm, .*, cisco_nxos, sh[[ow]] env[[i cisco_nxos_show_ip_msdp_summary_vrf_all.textfsm, .*, cisco_nxos, sh[[ow]] ip msdp summary vrf all cisco_nxos_show_ip_ospf_interface_brief.textfsm, .*, cisco_nxos, sh[[ow]] ip ospf int[[erface]] b[[rief]](?: vrf \S+)?\s*$ cisco_nxos_show_ip_pim_neighbor_vrf_all.textfsm, .*, cisco_nxos, sh[[ow]] ip pim nei[[ghbor]] vrf all +cisco_nxos_show_interface_snmp-ifindex.textfsm, .*, cisco_nxos, sh[[ow]] int[[erface]] sn[[mp-ifindex]] cisco_nxos_show_forwarding_ipv4_route.textfsm, .*, cisco_nxos, sh[[ow]] fo[[rwarding]] ipv4 ro[[ute]] cisco_nxos_show_interface_description.textfsm, .*, cisco_nxos, sh[[ow]] int[[erface]] desc[[ription]] cisco_nxos_show_interface_transceiver.textfsm, .*, cisco_nxos, sh[[ow]] int[[erface]] tra[[nsceiver]] @@ -345,6 +349,7 @@ cisco_nxos_show_port-channel_summary.textfsm, .*, cisco_nxos, sh[[ow]] po[[rt-ch cisco_nxos_show_cts_interface_brief.textfsm, .*, cisco_nxos, sh[[ow]] cts inte[[rface]] br[[ief]] cisco_nxos_show_ip_bgp_summary_vrf.textfsm, .*, cisco_nxos, sh[[ow]] ip b[[gp]] s[[ummary]] v[[rf]] cisco_nxos_show_ip_interface_brief.textfsm, .*, cisco_nxos, sh[[ow]] ip int[[erface]] b[[rief]](?: vrf \S+)?\s*$ +cisco_nxos_show_ip_mroutes_vrf_all.textfsm, .*, cisco_nxos, sh[[ow]] ip mr[[outes]] vrf al[[l]] cisco_nxos_show_spanning-tree_root.textfsm, .*, cisco_nxos, sh[[ow]] sp[[an]]ning-tree root cisco_nxos_show_cts_interface_all.textfsm, .*, cisco_nxos, sh[[ow]] ct[[s]] inter[[face]] al[[l]] cisco_nxos_show_ip_community-list.textfsm, .*, cisco_nxos, sh[[ow]] ip comm[[unity-list]] @@ -358,6 +363,7 @@ cisco_nxos_show_interface_brief.textfsm, .*, cisco_nxos, sh[[ow]] int[[erface]] cisco_nxos_show_flogi_database.textfsm, .*, cisco_nxos, sh[[ow]] fl[[ogi]] d[[atabase]] cisco_nxos_show_ip_bgp_summary.textfsm, .*, cisco_nxos, sh[[ow]] ip b[[gp]] s[[ummary]] cisco_nxos_show_lldp_neighbors.textfsm, .*, cisco_nxos, sh[[ow]] ll[[dp]] nei[[ghbors]] +cisco_nxos_show_switching-mode.textfsm, .*, cisco_nxos, sh[[ow]] switchi[[ng-mode]] cisco_nxos_show_cdp_neighbors.textfsm, .*, cisco_nxos, sh[[ow]] cd[[p]] neig[[hbors]] cisco_nxos_show_ip_arp_detail.textfsm, .*, cisco_nxos, sh[[ow]] i[[p]] a[[rp]] det[[ail]] cisco_nxos_show_license_usage.textfsm, .*, cisco_nxos, sh[[ow]] lic[[ense]] us[[age]] @@ -482,6 +488,7 @@ cisco_xr_show_version.textfsm, .*, cisco_xr, sh[[ow]] ver[[sion]] cisco_xr_show_hsrp.textfsm, .*, cisco_xr, sh[[ow]] hs[[rp]] cisco_xr_show_arp.textfsm, .*, cisco_xr, sh[[ow]] arp cisco_xr_show_bgp.textfsm, .*, cisco_xr, sh[[ow]] bg[[p]] +cisco_xr_ping.textfsm, .*, cisco_xr, ping dell_force10_show_ip_interface_brief.textfsm, .*, dell_force10, sh[[ow]] ip int[[erface]] br[[ief]] dell_force10_show_vlan_brief.textfsm, .*, dell_force10, sh[[ow]] vl[[an]] br[[ief]] @@ -584,14 +591,17 @@ huawei_android_lte_e3372h_hilink_atc_'at+csq'.textfsm, .*, huawei_android_lte_e3 huawei_android_lte_e3372h_hilink_atc_'ati'.textfsm, .*, huawei_android_lte_e3372h_hilink, atc 'ati' huawei_vrp_display_traffic-filter_applied-record.textfsm, .*, huawei_vrp, dis[[play]] traffic-filter applied-record +huawei_vrp_display_ip_vpn-instance_interface.textfsm, .*, huawei_vrp, di[[splay]] ip vpn[[-instance]] interface huawei_vrp_display_snmp-agent_community_read.textfsm, .*, huawei_vrp, dis[[play]] snm[[p-agent]] c[[ommunity]] (r[[ead]]|w[[rite]]) huawei_vrp_display_ip_routing-table_verbose.textfsm, .*, huawei_vrp, dis[[play]] ip(v6)? routi[[ng-table]] ve[[rbose]] huawei_vrp_display_interface_description.textfsm, .*, huawei_vrp, dis[[play]] inter[[face]] des[[cription]] huawei_vrp_display_service-set_id_id.textfsm, .*, huawei_vrp, dis[[play]] service-set (id|name) \S+ huawei_vrp_display_interface_brief.textfsm, .*, huawei_vrp, dis[[play]] inter[[face]] br[[ief]] +huawei_vrp_display_ip_vpn-instance.textfsm, .*, huawei_vrp, di[[splay]] ip vpn[[-instance]] huawei_vrp_display_service-set_all.textfsm, .*, huawei_vrp, dis[[play]] service-set all huawei_vrp_display_ipv6_neighbors.textfsm, .*, huawei_vrp, dis[[play]] ipv6 n[[eighbors]] huawei_vrp_display_lldp_neighbor.textfsm, .*, huawei_vrp, dis[[play]] lldp nei[[ghbor]] +huawei_vrp_display_mac-address.textfsm, .*, huawei_vrp, disp[[lay]] mac[[-address]] huawei_vrp_display_temperature.textfsm, .*, huawei_vrp, dis[[play]] tem[[perature]] huawei_vrp_display_nat_server.textfsm, .*, huawei_vrp, dis[[play]] na[[t]] ser[[ver]] huawei_vrp_display_sn_license.textfsm, .*, huawei_vrp, dis[[play]] sn l[[icence]] @@ -603,6 +613,7 @@ huawei_vrp_display_acl_all.textfsm, .*, huawei_vrp, dis[[play]] acl(\si[[pv6]])? huawei_vrp_display_arp_all.textfsm, .*, huawei_vrp, disp[[lay]] ar[[p]] all huawei_vrp_display_startup.textfsm, .*, huawei_vrp, dis[[play]] star[[tup]] huawei_vrp_display_version.textfsm, .*, huawei_vrp, dis[[play]] ver[[sion]] +huawei_vrp_display_vlan.textfsm, .*, huawei_vrp, di[[splay]] v[[lan]] ipinfusion_ocnos_show_lldp_table.textfsm, .*, ipinfusion_ocnos, show ll[[dp]] t[[able]] diff --git a/ntc_templates/templates/linux_ip_address_show.textfsm b/ntc_templates/templates/linux_ip_address_show.textfsm index 8f8c7af7eb..71a57237a4 100644 --- a/ntc_templates/templates/linux_ip_address_show.textfsm +++ b/ntc_templates/templates/linux_ip_address_show.textfsm @@ -4,7 +4,7 @@ Value Required FLAGS (\S+) Value Required MTU (\d+) Value Required QDISC (\S+) Value Required STATE (\S+) -Value Required GROUP (\S+) +Value GROUP (\S+) Value QLEN (\d+) Value MASTER (\S+) Value Required TYPE (\S+) @@ -17,7 +17,7 @@ Value List IPV6_MASKS (\d{1,3}) Start ^\d+: -> Continue.Record - ^${ID}:\s+${INTERFACE}:\s+<${FLAGS}>\s+mtu\s+${MTU}\s+qdisc\s+${QDISC}(?:\s+master\s+${MASTER})?\s+state\s+${STATE}\s+group\s+${GROUP}(?:\s+qlen\s+${QLEN})?\s*$$ + ^${ID}:\s+${INTERFACE}:\s+<${FLAGS}>\s+mtu\s+${MTU}\s+qdisc\s+${QDISC}(?:\s+master\s+${MASTER})?\s+state\s+${STATE}(?:\s+group\s+${GROUP})?(?:\s+qlen\s+${QLEN})?\s*$$ ^\s+link/${TYPE}(?:\s+${MAC_ADDRESS}\s+brd\s+${BROADCAST})?.*$$ ^\s+altname.*$$ ^\s+inet\s+${IP_ADDRESSES}/${IP_MASKS}\s+(:?brd|scope).*$$ diff --git a/ntc_templates/templates/linux_ip_link_show.textfsm b/ntc_templates/templates/linux_ip_link_show.textfsm index 5f5ba20387..58f580f71f 100644 --- a/ntc_templates/templates/linux_ip_link_show.textfsm +++ b/ntc_templates/templates/linux_ip_link_show.textfsm @@ -4,25 +4,23 @@ Value Required FLAGS (\S+) Value Required MTU (\d+) Value Required QDISC (\S+) Value Required STATE (\S+) -Value Required MODE (\S+) -Value Required GROUP (\S+) +Value MODE (\S+) +Value GROUP (\S+) Value QLEN (\d+) Value MASTER (\S+) Value Required TYPE (\S+) Value MAC_ADDRESS ([a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}) Value BROADCAST ([a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}) +Value ALIAS (.+) Start ^\d+ -> Continue.Record - # loopback - ^${ID}: ${INTERFACE}: <${FLAGS}> mtu ${MTU} qdisc ${QDISC} state ${STATE} mode ${MODE} group ${GROUP}$$ -> Continue - # physical, bridge - ^${ID}: ${INTERFACE}: <${FLAGS}> mtu ${MTU} qdisc ${QDISC} state ${STATE} mode ${MODE} group ${GROUP} qlen ${QLEN}$$ -> Continue - # vrf - ^${ID}: ${INTERFACE}: <${FLAGS}> mtu ${MTU} qdisc ${QDISC} master ${MASTER} state ${STATE} mode ${MODE} group ${GROUP} qlen ${QLEN}$$ -> Continue + ^${ID}: ${INTERFACE}: <${FLAGS}> mtu ${MTU} qdisc ${QDISC}(?: master ${MASTER})? state ${STATE}(?: mode ${MODE})?(?: group ${GROUP})?(?: qlen ${QLEN})?\s*$$ -> Continue # Link type and MAC address - ^\s+link/${TYPE}$$ - ^\s+link/${TYPE} ${MAC_ADDRESS} brd ${BROADCAST}$$ + ^\s+link/${TYPE}\s*$$ + ^\s+link/${TYPE} ${MAC_ADDRESS} brd ${BROADCAST}\s*$$ + ^\s+alias\s+${ALIAS}$$ ^\d+ ^\s+ ^. -> Error + diff --git a/poetry.lock b/poetry.lock index 54efaf3849..9113db4e84 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,86 +1,111 @@ +# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. + [[package]] name = "alabaster" -version = "0.7.12" +version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.6" +files = [ + {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, + {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, +] [[package]] name = "astroid" -version = "2.11.7" +version = "3.0.1" description = "An abstract syntax tree for Python with inference support." category = "dev" optional = false -python-versions = ">=3.6.2" +python-versions = ">=3.8.0" +files = [ + {file = "astroid-3.0.1-py3-none-any.whl", hash = "sha256:7d5895c9825e18079c5aeac0572bc2e4c83205c95d416e0b4fee8bc361d2d9ca"}, + {file = "astroid-3.0.1.tar.gz", hash = "sha256:86b0bb7d7da0be1a7c4aedb7974e391b32d4ed89e33de6ed6902b4b15c97577e"}, +] [package.dependencies] -lazy-object-proxy = ">=1.4.0" -setuptools = ">=20.0" -typed-ast = {version = ">=1.4.0,<2.0", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} -typing-extensions = {version = ">=3.10", markers = "python_version < \"3.10\""} -wrapt = ">=1.11,<2" - -[[package]] -name = "attrs" -version = "22.1.0" -description = "Classes Without Boilerplate" -category = "dev" -optional = false -python-versions = ">=3.5" - -[package.extras] -dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy (>=0.900,!=0.940)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "sphinx", "sphinx-notfound-page", "zope.interface"] -docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"] -tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"] -tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} [[package]] -name = "Babel" -version = "2.10.3" +name = "babel" +version = "2.13.1" description = "Internationalization utilities" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" +files = [ + {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, + {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, +] [package.dependencies] -pytz = ">=2015.7" +pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} +setuptools = {version = "*", markers = "python_version >= \"3.12\""} + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "bandit" -version = "1.7.4" +version = "1.7.5" description = "Security oriented static analyser for python code." category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, + {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, +] [package.dependencies] colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""} GitPython = ">=1.0.1" PyYAML = ">=5.3.1" +rich = "*" stevedore = ">=1.20.0" [package.extras] -test = ["beautifulsoup4 (>=4.8.0)", "coverage (>=4.5.4)", "fixtures (>=3.0.0)", "flake8 (>=4.0.0)", "pylint (==1.9.4)", "stestr (>=2.5.0)", "testscenarios (>=0.5.0)", "testtools (>=2.3.0)", "toml"] -toml = ["toml"] +test = ["beautifulsoup4 (>=4.8.0)", "coverage (>=4.5.4)", "fixtures (>=3.0.0)", "flake8 (>=4.0.0)", "pylint (==1.9.4)", "stestr (>=2.5.0)", "testscenarios (>=0.5.0)", "testtools (>=2.3.0)", "tomli (>=1.1.0)"] +toml = ["tomli (>=1.1.0)"] yaml = ["PyYAML"] [[package]] name = "black" -version = "22.10.0" +version = "23.11.0" description = "The uncompromising code formatter." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "black-23.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dbea0bb8575c6b6303cc65017b46351dc5953eea5c0a59d7b7e3a2d2f433a911"}, + {file = "black-23.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:412f56bab20ac85927f3a959230331de5614aecda1ede14b373083f62ec24e6f"}, + {file = "black-23.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d136ef5b418c81660ad847efe0e55c58c8208b77a57a28a503a5f345ccf01394"}, + {file = "black-23.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:6c1cac07e64433f646a9a838cdc00c9768b3c362805afc3fce341af0e6a9ae9f"}, + {file = "black-23.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cf57719e581cfd48c4efe28543fea3d139c6b6f1238b3f0102a9c73992cbb479"}, + {file = "black-23.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:698c1e0d5c43354ec5d6f4d914d0d553a9ada56c85415700b81dc90125aac244"}, + {file = "black-23.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:760415ccc20f9e8747084169110ef75d545f3b0932ee21368f63ac0fee86b221"}, + {file = "black-23.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:58e5f4d08a205b11800332920e285bd25e1a75c54953e05502052738fe16b3b5"}, + {file = "black-23.11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:45aa1d4675964946e53ab81aeec7a37613c1cb71647b5394779e6efb79d6d187"}, + {file = "black-23.11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c44b7211a3a0570cc097e81135faa5f261264f4dfaa22bd5ee2875a4e773bd6"}, + {file = "black-23.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a9acad1451632021ee0d146c8765782a0c3846e0e0ea46659d7c4f89d9b212b"}, + {file = "black-23.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:fc7f6a44d52747e65a02558e1d807c82df1d66ffa80a601862040a43ec2e3142"}, + {file = "black-23.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7f622b6822f02bfaf2a5cd31fdb7cd86fcf33dab6ced5185c35f5db98260b055"}, + {file = "black-23.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:250d7e60f323fcfc8ea6c800d5eba12f7967400eb6c2d21ae85ad31c204fb1f4"}, + {file = "black-23.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5133f5507007ba08d8b7b263c7aa0f931af5ba88a29beacc4b2dc23fcefe9c06"}, + {file = "black-23.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:421f3e44aa67138ab1b9bfbc22ee3780b22fa5b291e4db8ab7eee95200726b07"}, + {file = "black-23.11.0-py3-none-any.whl", hash = "sha256:54caaa703227c6e0c87b76326d0862184729a69b73d3b7305b6288e1d830067e"}, + {file = "black-23.11.0.tar.gz", hash = "sha256:4c68855825ff432d197229846f971bc4d6666ce90492e5b02013bcaca4d9ab05"}, +] [package.dependencies] click = ">=8.0.0" mypy-extensions = ">=0.4.3" +packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} -typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] @@ -88,44 +113,132 @@ d = ["aiohttp (>=3.7.4)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] -[[package]] -name = "cached-property" -version = "1.5.2" -description = "A decorator for caching properties in classes." -category = "dev" -optional = false -python-versions = "*" - [[package]] name = "certifi" -version = "2022.9.24" +version = "2023.11.17" description = "Python package for providing Mozilla's CA Bundle." category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, +] [[package]] name = "charset-normalizer" -version = "2.1.1" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "dev" optional = false -python-versions = ">=3.6.0" - -[package.extras] -unicode_backport = ["unicodedata2"] +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] [[package]] name = "click" -version = "8.1.3" +version = "8.1.7" description = "Composable command line interface toolkit" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" @@ -134,69 +247,145 @@ description = "Cross-platform colored terminal text." category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] [[package]] name = "coverage" -version = "6.5.0" +version = "7.3.2" description = "Code coverage measurement for Python" category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "coverage-7.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d872145f3a3231a5f20fd48500274d7df222e291d90baa2026cc5152b7ce86bf"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:310b3bb9c91ea66d59c53fa4989f57d2436e08f18fb2f421a1b0b6b8cc7fffda"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47d39359e2c3779c5331fc740cf4bce6d9d680a7b4b4ead97056a0ae07cb49a"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa72dbaf2c2068404b9870d93436e6d23addd8bbe9295f49cbca83f6e278179c"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beaa5c1b4777f03fc63dfd2a6bd820f73f036bfb10e925fce067b00a340d0f3f"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dbc1b46b92186cc8074fee9d9fbb97a9dd06c6cbbef391c2f59d80eabdf0faa6"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:315a989e861031334d7bee1f9113c8770472db2ac484e5b8c3173428360a9148"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d1bc430677773397f64a5c88cb522ea43175ff16f8bfcc89d467d974cb2274f9"}, + {file = "coverage-7.3.2-cp310-cp310-win32.whl", hash = "sha256:a889ae02f43aa45032afe364c8ae84ad3c54828c2faa44f3bfcafecb5c96b02f"}, + {file = "coverage-7.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0ba320de3fb8c6ec16e0be17ee1d3d69adcda99406c43c0409cb5c41788a611"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac8c802fa29843a72d32ec56d0ca792ad15a302b28ca6203389afe21f8fa062c"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:89a937174104339e3a3ffcf9f446c00e3a806c28b1841c63edb2b369310fd074"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e267e9e2b574a176ddb983399dec325a80dbe161f1a32715c780b5d14b5f583a"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2443cbda35df0d35dcfb9bf8f3c02c57c1d6111169e3c85fc1fcc05e0c9f39a3"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4175e10cc8dda0265653e8714b3174430b07c1dca8957f4966cbd6c2b1b8065a"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c913b556a116b8d5f6ef834038ba983834d887d82187c8f73dec21049abd65c"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1981f785239e4e39e6444c63a98da3a1db8e971cb9ceb50a945ba6296b43f312"}, + {file = "coverage-7.3.2-cp311-cp311-win32.whl", hash = "sha256:43668cabd5ca8258f5954f27a3aaf78757e6acf13c17604d89648ecc0cc66640"}, + {file = "coverage-7.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10c39c0452bf6e694511c901426d6b5ac005acc0f78ff265dbe36bf81f808a2"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4cbae1051ab791debecc4a5dcc4a1ff45fc27b91b9aee165c8a27514dd160836"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7bba973ebee5e56fe9251300c00f1579652587a9f4a5ed8404b15a0471f216"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e9589bd04d0461a417562649522575d8752904d35c12907d8c9dfeba588faf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d51ac2a26f71da1b57f2dc81d0e108b6ab177e7d30e774db90675467c847bbdf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99b89d9f76070237975b315b3d5f4d6956ae354a4c92ac2388a5695516e47c84"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a"}, + {file = "coverage-7.3.2-cp312-cp312-win32.whl", hash = "sha256:289fe43bf45a575e3ab10b26d7b6f2ddb9ee2dba447499f5401cfb5ecb8196bb"}, + {file = "coverage-7.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dbc3ed60e8659bc59b6b304b43ff9c3ed858da2839c78b804973f613d3e92ed"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f94b734214ea6a36fe16e96a70d941af80ff3bfd716c141300d95ebc85339738"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af3d828d2c1cbae52d34bdbb22fcd94d1ce715d95f1a012354a75e5913f1bda2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630b13e3036e13c7adc480ca42fa7afc2a5d938081d28e20903cf7fd687872e2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9eacf273e885b02a0273bb3a2170f30e2d53a6d53b72dbe02d6701b5296101c"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f17966e861ff97305e0801134e69db33b143bbfb36436efb9cfff6ec7b2fd9"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b4275802d16882cf9c8b3d057a0839acb07ee9379fa2749eca54efbce1535b82"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:72c0cfa5250f483181e677ebc97133ea1ab3eb68645e494775deb6a7f6f83901"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cb536f0dcd14149425996821a168f6e269d7dcd2c273a8bff8201e79f5104e76"}, + {file = "coverage-7.3.2-cp38-cp38-win32.whl", hash = "sha256:307adb8bd3abe389a471e649038a71b4eb13bfd6b7dd9a129fa856f5c695cf92"}, + {file = "coverage-7.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:88ed2c30a49ea81ea3b7f172e0269c182a44c236eb394718f976239892c0a27a"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b631c92dfe601adf8f5ebc7fc13ced6bb6e9609b19d9a8cd59fa47c4186ad1ce"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d9df4051c4a7d13036524b66ecf7a7537d14c18a384043f30a303b146164e9"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7363d3b6a1119ef05015959ca24a9afc0ea8a02c687fe7e2d557705375c01f"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f11cc3c967a09d3695d2a6f03fb3e6236622b93be7a4b5dc09166a861be6d25"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a4006916aa6fee7cd38db3bfc95aa9c54ebb4ffbfc47c677c8bba949ceba0a6"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9028a3871280110d6e1aa2df1afd5ef003bab5fb1ef421d6dc748ae1c8ef2ebc"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f805d62aec8eb92bab5b61c0f07329275b6f41c97d80e847b03eb894f38d083"}, + {file = "coverage-7.3.2-cp39-cp39-win32.whl", hash = "sha256:d1c88ec1a7ff4ebca0219f5b1ef863451d828cccf889c173e1253aa84b1e07ce"}, + {file = "coverage-7.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4767da59464bb593c07afceaddea61b154136300881844768037fd5e859353f"}, + {file = "coverage-7.3.2-pp38.pp39.pp310-none-any.whl", hash = "sha256:ae97af89f0fbf373400970c0a21eef5aa941ffeed90aee43650b81f7d7f47637"}, + {file = "coverage-7.3.2.tar.gz", hash = "sha256:be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"}, +] [package.extras] toml = ["tomli"] [[package]] name = "dill" -version = "0.3.6" -description = "serialize all of python" +version = "0.3.7" +description = "serialize all of Python" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, + {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, +] [package.extras] graph = ["objgraph (>=1.7.2)"] [[package]] name = "docutils" -version = "0.17.1" +version = "0.18.1" description = "Docutils -- Python Documentation Utilities" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"}, + {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"}, +] [[package]] name = "exceptiongroup" -version = "1.0.0" +version = "1.2.0" description = "Backport of PEP 654 (exception groups)" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, +] [package.extras] test = ["pytest (>=6)"] [[package]] name = "flake8" -version = "3.9.2" +version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" category = "dev" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +python-versions = ">=3.6.1" +files = [ + {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"}, + {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"}, +] [package.dependencies] -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} -mccabe = ">=0.6.0,<0.7.0" -pycodestyle = ">=2.7.0,<2.8.0" -pyflakes = ">=2.3.0,<2.4.0" +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.9.0,<2.10.0" +pyflakes = ">=2.5.0,<2.6.0" [[package]] name = "future" -version = "0.18.2" +version = "0.18.3" description = "Clean single-source support for Python 3 and 2" category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, +] [[package]] name = "ghp-import" @@ -205,6 +394,10 @@ description = "Copy your docs directly to the gh-pages branch." category = "dev" optional = false python-versions = "*" +files = [ + {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, + {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, +] [package.dependencies] python-dateutil = ">=2.8.1" @@ -214,40 +407,51 @@ dev = ["flake8", "markdown", "twine", "wheel"] [[package]] name = "gitdb" -version = "4.0.9" +version = "4.0.11" description = "Git Object Database" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, + {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, +] [package.dependencies] smmap = ">=3.0.1,<6" [[package]] -name = "GitPython" -version = "3.1.29" -description = "GitPython is a python library used to interact with Git repositories" +name = "gitpython" +version = "3.1.40" +description = "GitPython is a Python library used to interact with Git repositories" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "GitPython-3.1.40-py3-none-any.whl", hash = "sha256:cf14627d5a8049ffbf49915732e5eddbe8134c3bdb9d476e6182b676fc573f8a"}, + {file = "GitPython-3.1.40.tar.gz", hash = "sha256:22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4"}, +] [package.dependencies] gitdb = ">=4.0.1,<5" -typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\""} + +[package.extras] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-instafail", "pytest-subtests", "pytest-sugar"] [[package]] name = "griffe" -version = "0.23.0" +version = "0.38.0" description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "griffe-0.38.0-py3-none-any.whl", hash = "sha256:6a5bc457320e8e199006aa5fbb03e162f5e21abe31aa6221f7a5c37ea0724c71"}, + {file = "griffe-0.38.0.tar.gz", hash = "sha256:9b97487b583042b543d1e28196caee638ecd766c8c4c98135071806cb5333ac2"}, +] [package.dependencies] -cached-property = {version = "*", markers = "python_version < \"3.8\""} - -[package.extras] -async = ["aiofiles (>=0.7,<1.0)"] +colorama = ">=0.4" [[package]] name = "idna" @@ -256,6 +460,10 @@ description = "Internationalized Domain Names in Applications (IDNA)" category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] [[package]] name = "imagesize" @@ -264,6 +472,10 @@ description = "Getting image size from png/jpeg/jpeg2000/gif file" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] [[package]] name = "importlib-metadata" @@ -272,9 +484,12 @@ description = "Read metadata from Python packages" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, + {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, +] [package.dependencies] -typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} zipp = ">=0.5" [package.extras] @@ -284,41 +499,57 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "iniconfig" -version = "1.1.1" -description = "iniconfig: brain-dead simple config-ini parsing" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] [[package]] name = "invoke" -version = "1.7.3" +version = "2.2.0" description = "Pythonic task execution" category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.6" +files = [ + {file = "invoke-2.2.0-py3-none-any.whl", hash = "sha256:6ea924cc53d4f78e3d98bc436b08069a03077e6f85ad1ddaa8a116d7dad15820"}, + {file = "invoke-2.2.0.tar.gz", hash = "sha256:ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5"}, +] [[package]] name = "isort" -version = "5.10.1" +version = "5.12.0" description = "A Python utility / library to sort Python imports." category = "dev" optional = false -python-versions = ">=3.6.1,<4.0" +python-versions = ">=3.8.0" +files = [ + {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, + {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, +] [package.extras] -colors = ["colorama (>=0.4.3,<0.5.0)"] -pipfile_deprecated_finder = ["pipreqs", "requirementslib"] +colors = ["colorama (>=0.4.3)"] +pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] plugins = ["setuptools"] -requirements_deprecated_finder = ["pip-api", "pipreqs"] +requirements-deprecated-finder = ["pip-api", "pipreqs"] [[package]] -name = "Jinja2" +name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] [package.dependencies] MarkupSafe = ">=2.0" @@ -327,42 +558,132 @@ MarkupSafe = ">=2.0" i18n = ["Babel (>=2.7)"] [[package]] -name = "lazy-object-proxy" -version = "1.8.0" -description = "A fast and thorough lazy object proxy." -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "Markdown" -version = "3.3.7" -description = "Python implementation of Markdown." +name = "markdown" +version = "3.5.1" +description = "Python implementation of John Gruber's Markdown." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" +files = [ + {file = "Markdown-3.5.1-py3-none-any.whl", hash = "sha256:5874b47d4ee3f0b14d764324d2c94c03ea66bee56f2d929da9f2508d65e722dc"}, + {file = "Markdown-3.5.1.tar.gz", hash = "sha256:b65d7beb248dc22f2e8a31fb706d93798093c308dc1aba295aedeb9d41a813bd"}, +] [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] +docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] [[package]] -name = "MarkupSafe" -version = "2.1.1" +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +category = "dev" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "markupsafe" +version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] [[package]] name = "mccabe" -version = "0.6.1" +version = "0.7.0" description = "McCabe checker, plugin for flake8" category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] [[package]] name = "mergedeep" @@ -371,37 +692,54 @@ description = "A deep merge function for 🐍." category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, + {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, +] [[package]] name = "mkdocs" -version = "1.3.1" +version = "1.5.2" description = "Project documentation with Markdown." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" +files = [ + {file = "mkdocs-1.5.2-py3-none-any.whl", hash = "sha256:60a62538519c2e96fe8426654a67ee177350451616118a41596ae7c876bb7eac"}, + {file = "mkdocs-1.5.2.tar.gz", hash = "sha256:70d0da09c26cff288852471be03c23f0f521fc15cf16ac89c7a3bfb9ae8d24f9"}, +] [package.dependencies] -click = ">=3.3" +click = ">=7.0" +colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} ghp-import = ">=1.0" -importlib-metadata = ">=4.3" -Jinja2 = ">=2.10.2" -Markdown = ">=3.2.1,<3.4" +importlib-metadata = {version = ">=4.3", markers = "python_version < \"3.10\""} +jinja2 = ">=2.11.1" +markdown = ">=3.2.1" +markupsafe = ">=2.0.1" mergedeep = ">=1.3.4" packaging = ">=20.5" -PyYAML = ">=3.10" +pathspec = ">=0.11.1" +platformdirs = ">=2.2.0" +pyyaml = ">=5.1" pyyaml-env-tag = ">=0.1" watchdog = ">=2.0" [package.extras] i18n = ["babel (>=2.9.0)"] +min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.3)", "jinja2 (==2.11.1)", "markdown (==3.2.1)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "packaging (==20.5)", "pathspec (==0.11.1)", "platformdirs (==2.2.0)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "typing-extensions (==3.10)", "watchdog (==2.0)"] [[package]] name = "mkdocs-autorefs" -version = "0.4.1" +version = "0.5.0" description = "Automatically link across pages in MkDocs." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "mkdocs_autorefs-0.5.0-py3-none-any.whl", hash = "sha256:7930fcb8ac1249f10e683967aeaddc0af49d90702af111a5e390e8b20b3d97ff"}, + {file = "mkdocs_autorefs-0.5.0.tar.gz", hash = "sha256:9a5054a94c08d28855cfab967ada10ed5be76e2bfad642302a610b252c3274c0"}, +] [package.dependencies] Markdown = ">=3.3" @@ -409,27 +747,38 @@ mkdocs = ">=1.1" [[package]] name = "mkdocs-material" -version = "8.3.9" +version = "9.1.15" description = "Documentation that simply works" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "mkdocs_material-9.1.15-py3-none-any.whl", hash = "sha256:b49e12869ab464558e2dd3c5792da5b748a7e0c48ee83b4d05715f98125a7a39"}, + {file = "mkdocs_material-9.1.15.tar.gz", hash = "sha256:8513ab847c9a541ed3d11a3a7eed556caf72991ee786c31c5aac6691a121088a"}, +] [package.dependencies] -jinja2 = ">=3.0.2" +colorama = ">=0.4" +jinja2 = ">=3.0" markdown = ">=3.2" -mkdocs = ">=1.3.0" -mkdocs-material-extensions = ">=1.0.3" -pygments = ">=2.12" -pymdown-extensions = ">=9.4" +mkdocs = ">=1.4.2" +mkdocs-material-extensions = ">=1.1" +pygments = ">=2.14" +pymdown-extensions = ">=9.9.1" +regex = ">=2022.4.24" +requests = ">=2.26" [[package]] name = "mkdocs-material-extensions" -version = "1.1" +version = "1.3" description = "Extension pack for Python Markdown and MkDocs Material." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "mkdocs_material_extensions-1.3-py3-none-any.whl", hash = "sha256:0297cc48ba68a9fdd1ef3780a3b41b534b0d0df1d1181a44676fda5f464eeadc"}, + {file = "mkdocs_material_extensions-1.3.tar.gz", hash = "sha256:f0446091503acb110a7cab9349cbc90eeac51b58d1caa92a704a81ca1e24ddbd"}, +] [[package]] name = "mkdocs-version-annotations" @@ -438,22 +787,32 @@ description = "MkDocs plugin to add custom admonitions for documenting version d category = "dev" optional = false python-versions = ">=3.7,<4.0" +files = [ + {file = "mkdocs-version-annotations-1.0.0.tar.gz", hash = "sha256:6786024b37d27b330fda240b76ebec8e7ce48bd5a9d7a66e99804559d088dffa"}, + {file = "mkdocs_version_annotations-1.0.0-py3-none-any.whl", hash = "sha256:385004eb4a7530dd87a227e08cd907ce7a8fe21fdf297720a4149c511bcf05f5"}, +] [[package]] name = "mkdocstrings" -version = "0.19.0" +version = "0.22.0" description = "Automatic documentation from sources, for MkDocs." category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "mkdocstrings-0.22.0-py3-none-any.whl", hash = "sha256:2d4095d461554ff6a778fdabdca3c00c468c2f1459d469f7a7f622a2b23212ba"}, + {file = "mkdocstrings-0.22.0.tar.gz", hash = "sha256:82a33b94150ebb3d4b5c73bab4598c3e21468c79ec072eff6931c8f3bfc38256"}, +] [package.dependencies] +importlib-metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} Jinja2 = ">=2.11.1" Markdown = ">=3.3" MarkupSafe = ">=1.1" mkdocs = ">=1.2" mkdocs-autorefs = ">=0.3.1" pymdown-extensions = ">=6.3" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.10\""} [package.extras] crystal = ["mkdocstrings-crystal (>=0.3.4)"] @@ -462,73 +821,95 @@ python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] [[package]] name = "mkdocstrings-python" -version = "0.7.1" +version = "1.5.2" description = "A Python handler for mkdocstrings." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "mkdocstrings_python-1.5.2-py3-none-any.whl", hash = "sha256:ed37ca6d216986e2ac3530c19c3e7be381d1e3d09ea414e4ff467d6fd2cbd9c1"}, + {file = "mkdocstrings_python-1.5.2.tar.gz", hash = "sha256:81eb4a93bc454a253daf247d1a11397c435d641c64fa165324c17c06170b1dfb"}, +] [package.dependencies] -griffe = ">=0.11.1" -mkdocstrings = ">=0.19" +griffe = ">=0.35" +mkdocstrings = ">=0.20" [[package]] name = "mypy-extensions" -version = "0.4.3" -description = "Experimental type system extensions for programs checked with the mypy typechecker." +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] [[package]] name = "packaging" -version = "21.3" +version = "23.2" description = "Core utilities for Python packages" category = "dev" optional = false -python-versions = ">=3.6" - -[package.dependencies] -pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] [[package]] name = "pathspec" -version = "0.10.1" +version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, + {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, +] [[package]] name = "pbr" -version = "5.11.0" +version = "6.0.0" description = "Python Build Reasonableness" category = "dev" optional = false python-versions = ">=2.6" +files = [ + {file = "pbr-6.0.0-py2.py3-none-any.whl", hash = "sha256:4a7317d5e3b17a3dccb6a8cfe67dab65b20551404c52c8ed41279fa4f0cb4cda"}, + {file = "pbr-6.0.0.tar.gz", hash = "sha256:d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9"}, +] [[package]] name = "platformdirs" -version = "2.5.2" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +version = "4.0.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "platformdirs-4.0.0-py3-none-any.whl", hash = "sha256:118c954d7e949b35437270383a3f2531e99dd93cf7ce4dc8340d3356d30f173b"}, + {file = "platformdirs-4.0.0.tar.gz", hash = "sha256:cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731"}, +] [package.extras] -docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx (>=4)", "sphinx-autodoc-typehints (>=1.12)"] -test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] [[package]] name = "pluggy" -version = "1.0.0" +version = "1.3.0" description = "plugin and hook calling mechanisms for python" category = "dev" optional = false -python-versions = ">=3.6" - -[package.dependencies] -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, + {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, +] [package.extras] dev = ["pre-commit", "tox"] @@ -536,108 +917,134 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pycodestyle" -version = "2.7.0" +version = "2.9.1" description = "Python style guide checker" category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.6" +files = [ + {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"}, + {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"}, +] [[package]] name = "pydocstyle" -version = "6.1.1" +version = "6.3.0" description = "Python docstring style checker" category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"}, + {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"}, +] [package.dependencies] -snowballstemmer = "*" +snowballstemmer = ">=2.2.0" [package.extras] -toml = ["toml"] +toml = ["tomli (>=1.2.3)"] [[package]] name = "pyflakes" -version = "2.3.1" +version = "2.5.0" description = "passive checker of Python programs" category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.6" +files = [ + {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"}, + {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, +] [[package]] -name = "Pygments" -version = "2.13.0" +name = "pygments" +version = "2.17.1" description = "Pygments is a syntax highlighting package written in Python." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" +files = [ + {file = "pygments-2.17.1-py3-none-any.whl", hash = "sha256:1b37f1b1e1bff2af52ecaf28cc601e2ef7077000b227a0675da25aef85784bc4"}, + {file = "pygments-2.17.1.tar.gz", hash = "sha256:e45a0e74bf9c530f564ca81b8952343be986a29f6afe7f5ad95c5f06b7bdf5e8"}, +] [package.extras] plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pylint" -version = "2.13.9" +version = "3.0.2" description = "python code static checker" category = "dev" optional = false -python-versions = ">=3.6.2" +python-versions = ">=3.8.0" +files = [ + {file = "pylint-3.0.2-py3-none-any.whl", hash = "sha256:60ed5f3a9ff8b61839ff0348b3624ceeb9e6c2a92c514d81c9cc273da3b6bcda"}, + {file = "pylint-3.0.2.tar.gz", hash = "sha256:0d4c286ef6d2f66c8bfb527a7f8a629009e42c99707dec821a03e1b51a4c1496"}, +] [package.dependencies] -astroid = ">=2.11.5,<=2.12.0-dev0" -colorama = {version = "*", markers = "sys_platform == \"win32\""} -dill = ">=0.2" +astroid = ">=3.0.1,<=3.1.0-dev0" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +dill = [ + {version = ">=0.2", markers = "python_version < \"3.11\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, +] isort = ">=4.2.5,<6" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +tomlkit = ">=0.10.1" typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} [package.extras] -testutil = ["gitpython (>3)"] +spelling = ["pyenchant (>=3.2,<4.0)"] +testutils = ["gitpython (>3)"] [[package]] name = "pymdown-extensions" -version = "9.7" +version = "10.4" description = "Extension pack for Python Markdown." category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "pymdown_extensions-10.4-py3-none-any.whl", hash = "sha256:cfc28d6a09d19448bcbf8eee3ce098c7d17ff99f7bd3069db4819af181212037"}, + {file = "pymdown_extensions-10.4.tar.gz", hash = "sha256:bc46f11749ecd4d6b71cf62396104b4a200bad3498cb0f5dad1b8502fe461a35"}, +] [package.dependencies] markdown = ">=3.2" - -[[package]] -name = "pyparsing" -version = "3.0.9" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "dev" -optional = false -python-versions = ">=3.6.8" +pyyaml = "*" [package.extras] -diagrams = ["jinja2", "railroad-diagrams"] +extra = ["pygments (>=2.12)"] [[package]] name = "pytest" -version = "7.2.0" +version = "7.4.3" description = "pytest: simple powerful testing with Python" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, + {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, +] [package.dependencies] -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "python-dateutil" @@ -646,90 +1053,326 @@ description = "Extensions to the standard Python datetime module" category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] [package.dependencies] six = ">=1.5" [[package]] name = "pytz" -version = "2022.5" +version = "2023.3.post1" description = "World timezone definitions, modern and historical" category = "dev" optional = false python-versions = "*" +files = [ + {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, + {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, +] [[package]] -name = "PyYAML" -version = "6.0" +name = "pyyaml" +version = "6.0.1" description = "YAML parser and emitter for Python" category = "dev" optional = false python-versions = ">=3.6" - -[[package]] -name = "pyyaml_env_tag" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "pyyaml-env-tag" version = "0.1" description = "A custom YAML tag for referencing environment variables in YAML files. " category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, + {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, +] [package.dependencies] pyyaml = "*" +[[package]] +name = "regex" +version = "2023.10.3" +description = "Alternative regular expression module, to replace re." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "regex-2023.10.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c34d4f73ea738223a094d8e0ffd6d2c1a1b4c175da34d6b0de3d8d69bee6bcc"}, + {file = "regex-2023.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8f4e49fc3ce020f65411432183e6775f24e02dff617281094ba6ab079ef0915"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cd1bccf99d3ef1ab6ba835308ad85be040e6a11b0977ef7ea8c8005f01a3c29"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:81dce2ddc9f6e8f543d94b05d56e70d03a0774d32f6cca53e978dc01e4fc75b8"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c6b4d23c04831e3ab61717a707a5d763b300213db49ca680edf8bf13ab5d91b"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c15ad0aee158a15e17e0495e1e18741573d04eb6da06d8b84af726cfc1ed02ee"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6239d4e2e0b52c8bd38c51b760cd870069f0bdf99700a62cd509d7a031749a55"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4a8bf76e3182797c6b1afa5b822d1d5802ff30284abe4599e1247be4fd6b03be"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9c727bbcf0065cbb20f39d2b4f932f8fa1631c3e01fcedc979bd4f51fe051c5"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3ccf2716add72f80714b9a63899b67fa711b654be3fcdd34fa391d2d274ce767"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:107ac60d1bfdc3edb53be75e2a52aff7481b92817cfdddd9b4519ccf0e54a6ff"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:00ba3c9818e33f1fa974693fb55d24cdc8ebafcb2e4207680669d8f8d7cca79a"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f0a47efb1dbef13af9c9a54a94a0b814902e547b7f21acb29434504d18f36e3a"}, + {file = "regex-2023.10.3-cp310-cp310-win32.whl", hash = "sha256:36362386b813fa6c9146da6149a001b7bd063dabc4d49522a1f7aa65b725c7ec"}, + {file = "regex-2023.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:c65a3b5330b54103e7d21cac3f6bf3900d46f6d50138d73343d9e5b2900b2353"}, + {file = "regex-2023.10.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:90a79bce019c442604662d17bf69df99090e24cdc6ad95b18b6725c2988a490e"}, + {file = "regex-2023.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c7964c2183c3e6cce3f497e3a9f49d182e969f2dc3aeeadfa18945ff7bdd7051"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ef80829117a8061f974b2fda8ec799717242353bff55f8a29411794d635d964"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5addc9d0209a9afca5fc070f93b726bf7003bd63a427f65ef797a931782e7edc"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c148bec483cc4b421562b4bcedb8e28a3b84fcc8f0aa4418e10898f3c2c0eb9b"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d1f21af4c1539051049796a0f50aa342f9a27cde57318f2fc41ed50b0dbc4ac"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b9ac09853b2a3e0d0082104036579809679e7715671cfbf89d83c1cb2a30f58"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ebedc192abbc7fd13c5ee800e83a6df252bec691eb2c4bedc9f8b2e2903f5e2a"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d8a993c0a0ffd5f2d3bda23d0cd75e7086736f8f8268de8a82fbc4bd0ac6791e"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:be6b7b8d42d3090b6c80793524fa66c57ad7ee3fe9722b258aec6d0672543fd0"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4023e2efc35a30e66e938de5aef42b520c20e7eda7bb5fb12c35e5d09a4c43f6"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0d47840dc05e0ba04fe2e26f15126de7c755496d5a8aae4a08bda4dd8d646c54"}, + {file = "regex-2023.10.3-cp311-cp311-win32.whl", hash = "sha256:9145f092b5d1977ec8c0ab46e7b3381b2fd069957b9862a43bd383e5c01d18c2"}, + {file = "regex-2023.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:b6104f9a46bd8743e4f738afef69b153c4b8b592d35ae46db07fc28ae3d5fb7c"}, + {file = "regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff507ae210371d4b1fe316d03433ac099f184d570a1a611e541923f78f05037"}, + {file = "regex-2023.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be5e22bbb67924dea15039c3282fa4cc6cdfbe0cbbd1c0515f9223186fc2ec5f"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a992f702c9be9c72fa46f01ca6e18d131906a7180950958f766c2aa294d4b41"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7434a61b158be563c1362d9071358f8ab91b8d928728cd2882af060481244c9e"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2169b2dcabf4e608416f7f9468737583ce5f0a6e8677c4efbf795ce81109d7c"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9e908ef5889cda4de038892b9accc36d33d72fb3e12c747e2799a0e806ec841"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12bd4bc2c632742c7ce20db48e0d99afdc05e03f0b4c1af90542e05b809a03d9"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bc72c231f5449d86d6c7d9cc7cd819b6eb30134bb770b8cfdc0765e48ef9c420"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bce8814b076f0ce5766dc87d5a056b0e9437b8e0cd351b9a6c4e1134a7dfbda9"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:ba7cd6dc4d585ea544c1412019921570ebd8a597fabf475acc4528210d7c4a6f"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b0c7d2f698e83f15228ba41c135501cfe7d5740181d5903e250e47f617eb4292"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5a8f91c64f390ecee09ff793319f30a0f32492e99f5dc1c72bc361f23ccd0a9a"}, + {file = "regex-2023.10.3-cp312-cp312-win32.whl", hash = "sha256:ad08a69728ff3c79866d729b095872afe1e0557251da4abb2c5faff15a91d19a"}, + {file = "regex-2023.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:39cdf8d141d6d44e8d5a12a8569d5a227f645c87df4f92179bd06e2e2705e76b"}, + {file = "regex-2023.10.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4a3ee019a9befe84fa3e917a2dd378807e423d013377a884c1970a3c2792d293"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76066d7ff61ba6bf3cb5efe2428fc82aac91802844c022d849a1f0f53820502d"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe50b61bab1b1ec260fa7cd91106fa9fece57e6beba05630afe27c71259c59b"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fd88f373cb71e6b59b7fa597e47e518282455c2734fd4306a05ca219a1991b0"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ab05a182c7937fb374f7e946f04fb23a0c0699c0450e9fb02ef567412d2fa3"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dac37cf08fcf2094159922edc7a2784cfcc5c70f8354469f79ed085f0328ebdf"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e54ddd0bb8fb626aa1f9ba7b36629564544954fff9669b15da3610c22b9a0991"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3367007ad1951fde612bf65b0dffc8fd681a4ab98ac86957d16491400d661302"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:16f8740eb6dbacc7113e3097b0a36065a02e37b47c936b551805d40340fb9971"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:f4f2ca6df64cbdd27f27b34f35adb640b5d2d77264228554e68deda54456eb11"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:39807cbcbe406efca2a233884e169d056c35aa7e9f343d4e78665246a332f597"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7eece6fbd3eae4a92d7c748ae825cbc1ee41a89bb1c3db05b5578ed3cfcfd7cb"}, + {file = "regex-2023.10.3-cp37-cp37m-win32.whl", hash = "sha256:ce615c92d90df8373d9e13acddd154152645c0dc060871abf6bd43809673d20a"}, + {file = "regex-2023.10.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0f649fa32fe734c4abdfd4edbb8381c74abf5f34bc0b3271ce687b23729299ed"}, + {file = "regex-2023.10.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9b98b7681a9437262947f41c7fac567c7e1f6eddd94b0483596d320092004533"}, + {file = "regex-2023.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:91dc1d531f80c862441d7b66c4505cd6ea9d312f01fb2f4654f40c6fdf5cc37a"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82fcc1f1cc3ff1ab8a57ba619b149b907072e750815c5ba63e7aa2e1163384a4"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7979b834ec7a33aafae34a90aad9f914c41fd6eaa8474e66953f3f6f7cbd4368"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef71561f82a89af6cfcbee47f0fabfdb6e63788a9258e913955d89fdd96902ab"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd829712de97753367153ed84f2de752b86cd1f7a88b55a3a775eb52eafe8a94"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00e871d83a45eee2f8688d7e6849609c2ca2a04a6d48fba3dff4deef35d14f07"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:706e7b739fdd17cb89e1fbf712d9dc21311fc2333f6d435eac2d4ee81985098c"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cc3f1c053b73f20c7ad88b0d1d23be7e7b3901229ce89f5000a8399746a6e039"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f85739e80d13644b981a88f529d79c5bdf646b460ba190bffcaf6d57b2a9863"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:741ba2f511cc9626b7561a440f87d658aabb3d6b744a86a3c025f866b4d19e7f"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e77c90ab5997e85901da85131fd36acd0ed2221368199b65f0d11bca44549711"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:979c24cbefaf2420c4e377ecd1f165ea08cc3d1fbb44bdc51bccbbf7c66a2cb4"}, + {file = "regex-2023.10.3-cp38-cp38-win32.whl", hash = "sha256:58837f9d221744d4c92d2cf7201c6acd19623b50c643b56992cbd2b745485d3d"}, + {file = "regex-2023.10.3-cp38-cp38-win_amd64.whl", hash = "sha256:c55853684fe08d4897c37dfc5faeff70607a5f1806c8be148f1695be4a63414b"}, + {file = "regex-2023.10.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2c54e23836650bdf2c18222c87f6f840d4943944146ca479858404fedeb9f9af"}, + {file = "regex-2023.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:69c0771ca5653c7d4b65203cbfc5e66db9375f1078689459fe196fe08b7b4930"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ac965a998e1388e6ff2e9781f499ad1eaa41e962a40d11c7823c9952c77123e"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c0e8fae5b27caa34177bdfa5a960c46ff2f78ee2d45c6db15ae3f64ecadde14"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c56c3d47da04f921b73ff9415fbaa939f684d47293f071aa9cbb13c94afc17d"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ef1e014eed78ab650bef9a6a9cbe50b052c0aebe553fb2881e0453717573f52"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d29338556a59423d9ff7b6eb0cb89ead2b0875e08fe522f3e068b955c3e7b59b"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9c6d0ced3c06d0f183b73d3c5920727268d2201aa0fe6d55c60d68c792ff3588"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:994645a46c6a740ee8ce8df7911d4aee458d9b1bc5639bc968226763d07f00fa"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:66e2fe786ef28da2b28e222c89502b2af984858091675044d93cb50e6f46d7af"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:11175910f62b2b8c055f2b089e0fedd694fe2be3941b3e2633653bc51064c528"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:06e9abc0e4c9ab4779c74ad99c3fc10d3967d03114449acc2c2762ad4472b8ca"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fb02e4257376ae25c6dd95a5aec377f9b18c09be6ebdefa7ad209b9137b73d48"}, + {file = "regex-2023.10.3-cp39-cp39-win32.whl", hash = "sha256:3b2c3502603fab52d7619b882c25a6850b766ebd1b18de3df23b2f939360e1bd"}, + {file = "regex-2023.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:adbccd17dcaff65704c856bd29951c58a1bd4b2b0f8ad6b826dbd543fe740988"}, + {file = "regex-2023.10.3.tar.gz", hash = "sha256:3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f"}, +] + [[package]] name = "requests" -version = "2.28.1" +version = "2.31.0" description = "Python HTTP for Humans." category = "dev" optional = false -python-versions = ">=3.7, <4" +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] [package.dependencies] certifi = ">=2017.4.17" -charset-normalizer = ">=2,<3" +charset-normalizer = ">=2,<4" idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<1.27" +urllib3 = ">=1.21.1,<3" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rich" +version = "13.7.0" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "dev" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "rich-13.7.0-py3-none-any.whl", hash = "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"}, + {file = "rich-13.7.0.tar.gz", hash = "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] -name = "ruamel.yaml" -version = "0.17.21" +name = "ruamel-yaml" +version = "0.18.5" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" category = "dev" optional = false -python-versions = ">=3" +python-versions = ">=3.7" +files = [ + {file = "ruamel.yaml-0.18.5-py3-none-any.whl", hash = "sha256:a013ac02f99a69cdd6277d9664689eb1acba07069f912823177c5eced21a6ada"}, + {file = "ruamel.yaml-0.18.5.tar.gz", hash = "sha256:61917e3a35a569c1133a8f772e1226961bf5a1198bea7e23f06a0841dea1ab0e"}, +] [package.dependencies] -"ruamel.yaml.clib" = {version = ">=0.2.6", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""} +"ruamel.yaml.clib" = {version = ">=0.2.7", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.13\""} [package.extras] -docs = ["ryd"] +docs = ["mercurial (>5.7)", "ryd"] jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] [[package]] -name = "ruamel.yaml.clib" -version = "0.2.7" +name = "ruamel-yaml-clib" +version = "0.2.8" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" +files = [ + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:d92f81886165cb14d7b067ef37e142256f1c6a90a65cd156b063a43da1708cfd"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win32.whl", hash = "sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:b5edda50e5e9e15e54a6a8a0070302b00c518a9d32accc2346ad6c984aacd279"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win32.whl", hash = "sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:7048c338b6c86627afb27faecf418768acb6331fc24cfa56c93e8c9780f815fa"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win32.whl", hash = "sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win_amd64.whl", hash = "sha256:1758ce7d8e1a29d23de54a16ae867abd370f01b5a69e1a3ba75223eaa3ca1a1b"}, + {file = "ruamel.yaml.clib-0.2.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3fcc54cb0c8b811ff66082de1680b4b14cf8a81dce0d4fbf665c2265a81e07a1"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win32.whl", hash = "sha256:75e1ed13e1f9de23c5607fe6bd1aeaae21e523b32d83bb33918245361e9cc51b"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win_amd64.whl", hash = "sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:665f58bfd29b167039f714c6998178d27ccd83984084c286110ef26b230f259f"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win32.whl", hash = "sha256:955eae71ac26c1ab35924203fda6220f84dce57d6d7884f189743e2abe3a9fbe"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win_amd64.whl", hash = "sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:9eb5dee2772b0f704ca2e45b1713e4e5198c18f515b52743576d196348f374d3"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win32.whl", hash = "sha256:84b554931e932c46f94ab306913ad7e11bba988104c5cff26d90d03f68258cd5"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win_amd64.whl", hash = "sha256:25ac8c08322002b06fa1d49d1646181f0b2c72f5cbc15a85e80b4c30a544bb15"}, + {file = "ruamel.yaml.clib-0.2.8.tar.gz", hash = "sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512"}, +] [[package]] name = "setuptools" -version = "65.5.0" +version = "69.0.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.0.1-py3-none-any.whl", hash = "sha256:6875bbd06382d857b1b90cd07cee6a2df701a164f241095706b5192bc56c5c62"}, + {file = "setuptools-69.0.1.tar.gz", hash = "sha256:f25195d54deb649832182d6455bffba7ac3d8fe71d35185e738d2198a4310044"}, +] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -738,14 +1381,22 @@ description = "Python 2 and 3 compatibility utilities" category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] [[package]] name = "smmap" -version = "5.0.0" +version = "5.0.1" description = "A pure Python implementation of a sliding window memory map manager" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" +files = [ + {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, + {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, +] [[package]] name = "snowballstemmer" @@ -754,26 +1405,34 @@ description = "This package provides 29 stemmers for 28 languages generated from category = "dev" optional = false python-versions = "*" +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] [[package]] -name = "Sphinx" -version = "5.3.0" +name = "sphinx" +version = "7.1.2" description = "Python documentation generator" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" +files = [ + {file = "sphinx-7.1.2-py3-none-any.whl", hash = "sha256:d170a81825b2fcacb6dfd5a0d7f578a053e45d3f2b153fecc948c37344eb4cbe"}, + {file = "sphinx-7.1.2.tar.gz", hash = "sha256:780f4d32f1d7d1126576e0e5ecc19dc32ab76cd24e950228dcf7b1f6d3d9e22f"}, +] [package.dependencies] alabaster = ">=0.7,<0.8" babel = ">=2.9" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -docutils = ">=0.14,<0.20" +docutils = ">=0.18.1,<0.21" imagesize = ">=1.3" importlib-metadata = {version = ">=4.8", markers = "python_version < \"3.10\""} Jinja2 = ">=3.0" packaging = ">=21.0" -Pygments = ">=2.12" -requests = ">=2.5.0" +Pygments = ">=2.13" +requests = ">=2.25.0" snowballstemmer = ">=2.0" sphinxcontrib-applehelp = "*" sphinxcontrib-devhelp = "*" @@ -784,31 +1443,40 @@ sphinxcontrib-serializinghtml = ">=1.1.5" [package.extras] docs = ["sphinxcontrib-websupport"] -lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-bugbear", "flake8-comprehensions", "flake8-simplify", "isort", "mypy (>=0.981)", "sphinx-lint", "types-requests", "types-typed-ast"] -test = ["cython", "html5lib", "pytest (>=4.6)", "typed_ast"] +lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"] +test = ["cython", "filelock", "html5lib", "pytest (>=4.6)"] [[package]] name = "sphinx-rtd-theme" -version = "1.0.0" +version = "1.3.0" description = "Read the Docs theme for Sphinx" category = "dev" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"}, + {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"}, +] [package.dependencies] -docutils = "<0.18" -sphinx = ">=1.6" +docutils = "<0.19" +sphinx = ">=1.6,<8" +sphinxcontrib-jquery = ">=4,<5" [package.extras] -dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client"] +dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] [[package]] name = "sphinxcontrib-applehelp" -version = "1.0.2" -description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +version = "1.0.4" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" +files = [ + {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"}, + {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -821,6 +1489,10 @@ description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -828,16 +1500,35 @@ test = ["pytest"] [[package]] name = "sphinxcontrib-htmlhelp" -version = "2.0.0" +version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" +files = [ + {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, + {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] test = ["html5lib", "pytest"] +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +description = "Extension to include jQuery on newer Sphinx releases" +category = "dev" +optional = false +python-versions = ">=2.7" +files = [ + {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, + {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, +] + +[package.dependencies] +Sphinx = ">=1.8" + [[package]] name = "sphinxcontrib-jsmath" version = "1.0.1" @@ -845,6 +1536,10 @@ description = "A sphinx extension which renders display math in HTML via JavaScr category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] [package.extras] test = ["flake8", "mypy", "pytest"] @@ -856,6 +1551,10 @@ description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp d category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -868,6 +1567,10 @@ description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, + {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, +] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] @@ -875,14 +1578,17 @@ test = ["pytest"] [[package]] name = "stevedore" -version = "3.5.2" +version = "5.1.0" description = "Manage dynamic plugins for Python applications" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" +files = [ + {file = "stevedore-5.1.0-py3-none-any.whl", hash = "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d"}, + {file = "stevedore-5.1.0.tar.gz", hash = "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c"}, +] [package.dependencies] -importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""} pbr = ">=2.0.0,<2.1.0 || >2.1.0" [[package]] @@ -892,6 +1598,10 @@ description = "Python module for parsing semi-structured text into python tables category = "main" optional = false python-versions = "*" +files = [ + {file = "textfsm-1.1.3-py2.py3-none-any.whl", hash = "sha256:dcbeebc6a6137bed561c71a56344d752e6dbc04ae5ea309252cb70fb97ccc9cd"}, + {file = "textfsm-1.1.3.tar.gz", hash = "sha256:577ef278a9237f5341ae9b682947cefa4a2c1b24dbe486f94f2c95addc6504b5"}, +] [package.dependencies] future = "*" @@ -904,6 +1614,10 @@ description = "Python Library for Tom's Obvious, Minimal Language" category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] [[package]] name = "tomli" @@ -912,719 +1626,131 @@ description = "A lil' TOML parser" category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] [[package]] -name = "typed-ast" -version = "1.5.4" -description = "a fork of Python 2 and 3 ast modules with type comment support" +name = "tomlkit" +version = "0.12.3" +description = "Style preserving TOML library" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" +files = [ + {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"}, + {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"}, +] [[package]] name = "typing-extensions" -version = "4.4.0" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, +] [[package]] name = "urllib3" -version = "1.26.12" +version = "2.1.0" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4" +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, +] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] [[package]] name = "watchdog" -version = "2.1.9" +version = "3.0.0" description = "Filesystem events monitoring" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" +files = [ + {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, + {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, + {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9"}, + {file = "watchdog-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7"}, + {file = "watchdog-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc"}, + {file = "watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0"}, + {file = "watchdog-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8"}, + {file = "watchdog-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100"}, + {file = "watchdog-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346"}, + {file = "watchdog-3.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d"}, + {file = "watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"}, + {file = "watchdog-3.0.0-py3-none-win32.whl", hash = "sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f"}, + {file = "watchdog-3.0.0-py3-none-win_amd64.whl", hash = "sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c"}, + {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, + {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, +] [package.extras] watchmedo = ["PyYAML (>=3.10)"] -[[package]] -name = "wrapt" -version = "1.14.1" -description = "Module for decorators, wrappers and monkey patching." -category = "dev" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" - [[package]] name = "yamllint" -version = "1.28.0" +version = "1.33.0" description = "A linter for YAML files." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" +files = [ + {file = "yamllint-1.33.0-py3-none-any.whl", hash = "sha256:28a19f5d68d28d8fec538a1db21bb2d84c7dc2e2ea36266da8d4d1c5a683814d"}, + {file = "yamllint-1.33.0.tar.gz", hash = "sha256:2dceab9ef2d99518a2fcf4ffc964d44250ac4459be1ba3ca315118e4a1a81f7d"}, +] [package.dependencies] pathspec = ">=0.5.3" pyyaml = "*" -setuptools = "*" + +[package.extras] +dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] [[package]] name = "zipp" -version = "3.10.0" +version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, +] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] -testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [extras] test = [] [metadata] -lock-version = "1.1" -python-versions = "^3.7" -content-hash = "9948d32629f627bbeb6d66ebcb0e6ed44e654ac8529a2ca87ea3a88cd1a15b92" - -[metadata.files] -alabaster = [ - {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, - {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, -] -astroid = [ - {file = "astroid-2.11.7-py3-none-any.whl", hash = "sha256:86b0a340a512c65abf4368b80252754cda17c02cdbbd3f587dddf98112233e7b"}, - {file = "astroid-2.11.7.tar.gz", hash = "sha256:bb24615c77f4837c707669d16907331374ae8a964650a66999da3f5ca68dc946"}, -] -attrs = [ - {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"}, - {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, -] -Babel = [ - {file = "Babel-2.10.3-py3-none-any.whl", hash = "sha256:ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb"}, - {file = "Babel-2.10.3.tar.gz", hash = "sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51"}, -] -bandit = [ - {file = "bandit-1.7.4-py3-none-any.whl", hash = "sha256:412d3f259dab4077d0e7f0c11f50f650cc7d10db905d98f6520a95a18049658a"}, - {file = "bandit-1.7.4.tar.gz", hash = "sha256:2d63a8c573417bae338962d4b9b06fbc6080f74ecd955a092849e1e65c717bd2"}, -] -black = [ - {file = "black-22.10.0-1fixedarch-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5cc42ca67989e9c3cf859e84c2bf014f6633db63d1cbdf8fdb666dcd9e77e3fa"}, - {file = "black-22.10.0-1fixedarch-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:5d8f74030e67087b219b032aa33a919fae8806d49c867846bfacde57f43972ef"}, - {file = "black-22.10.0-1fixedarch-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:197df8509263b0b8614e1df1756b1dd41be6738eed2ba9e9769f3880c2b9d7b6"}, - {file = "black-22.10.0-1fixedarch-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:2644b5d63633702bc2c5f3754b1b475378fbbfb481f62319388235d0cd104c2d"}, - {file = "black-22.10.0-1fixedarch-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:e41a86c6c650bcecc6633ee3180d80a025db041a8e2398dcc059b3afa8382cd4"}, - {file = "black-22.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2039230db3c6c639bd84efe3292ec7b06e9214a2992cd9beb293d639c6402edb"}, - {file = "black-22.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14ff67aec0a47c424bc99b71005202045dc09270da44a27848d534600ac64fc7"}, - {file = "black-22.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:819dc789f4498ecc91438a7de64427c73b45035e2e3680c92e18795a839ebb66"}, - {file = "black-22.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5b9b29da4f564ba8787c119f37d174f2b69cdfdf9015b7d8c5c16121ddc054ae"}, - {file = "black-22.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b49776299fece66bffaafe357d929ca9451450f5466e997a7285ab0fe28e3b"}, - {file = "black-22.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:21199526696b8f09c3997e2b4db8d0b108d801a348414264d2eb8eb2532e540d"}, - {file = "black-22.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e464456d24e23d11fced2bc8c47ef66d471f845c7b7a42f3bd77bf3d1789650"}, - {file = "black-22.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9311e99228ae10023300ecac05be5a296f60d2fd10fff31cf5c1fa4ca4b1988d"}, - {file = "black-22.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fba8a281e570adafb79f7755ac8721b6cf1bbf691186a287e990c7929c7692ff"}, - {file = "black-22.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:915ace4ff03fdfff953962fa672d44be269deb2eaf88499a0f8805221bc68c87"}, - {file = "black-22.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:444ebfb4e441254e87bad00c661fe32df9969b2bf224373a448d8aca2132b395"}, - {file = "black-22.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:974308c58d057a651d182208a484ce80a26dac0caef2895836a92dd6ebd725e0"}, - {file = "black-22.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72ef3925f30e12a184889aac03d77d031056860ccae8a1e519f6cbb742736383"}, - {file = "black-22.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:432247333090c8c5366e69627ccb363bc58514ae3e63f7fc75c54b1ea80fa7de"}, - {file = "black-22.10.0-py3-none-any.whl", hash = "sha256:c957b2b4ea88587b46cf49d1dc17681c1e672864fd7af32fc1e9664d572b3458"}, - {file = "black-22.10.0.tar.gz", hash = "sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1"}, -] -cached-property = [ - {file = "cached-property-1.5.2.tar.gz", hash = "sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"}, - {file = "cached_property-1.5.2-py2.py3-none-any.whl", hash = "sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0"}, -] -certifi = [ - {file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"}, - {file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"}, -] -charset-normalizer = [ - {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"}, - {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, -] -click = [ - {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, - {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, -] -colorama = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] -coverage = [ - {file = "coverage-6.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53"}, - {file = "coverage-6.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:784f53ebc9f3fd0e2a3f6a78b2be1bd1f5575d7863e10c6e12504f240fd06660"}, - {file = "coverage-6.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4a5be1748d538a710f87542f22c2cad22f80545a847ad91ce45e77417293eb4"}, - {file = "coverage-6.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83516205e254a0cb77d2d7bb3632ee019d93d9f4005de31dca0a8c3667d5bc04"}, - {file = "coverage-6.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0"}, - {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:97117225cdd992a9c2a5515db1f66b59db634f59d0679ca1fa3fe8da32749cae"}, - {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a1170fa54185845505fbfa672f1c1ab175446c887cce8212c44149581cf2d466"}, - {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:11b990d520ea75e7ee8dcab5bc908072aaada194a794db9f6d7d5cfd19661e5a"}, - {file = "coverage-6.5.0-cp310-cp310-win32.whl", hash = "sha256:5dbec3b9095749390c09ab7c89d314727f18800060d8d24e87f01fb9cfb40b32"}, - {file = "coverage-6.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:59f53f1dc5b656cafb1badd0feb428c1e7bc19b867479ff72f7a9dd9b479f10e"}, - {file = "coverage-6.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4a5375e28c5191ac38cca59b38edd33ef4cc914732c916f2929029b4bfb50795"}, - {file = "coverage-6.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4ed2820d919351f4167e52425e096af41bfabacb1857186c1ea32ff9983ed75"}, - {file = "coverage-6.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33a7da4376d5977fbf0a8ed91c4dffaaa8dbf0ddbf4c8eea500a2486d8bc4d7b"}, - {file = "coverage-6.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fb6cf131ac4070c9c5a3e21de0f7dc5a0fbe8bc77c9456ced896c12fcdad91"}, - {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a6b7d95969b8845250586f269e81e5dfdd8ff828ddeb8567a4a2eaa7313460c4"}, - {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1ef221513e6f68b69ee9e159506d583d31aa3567e0ae84eaad9d6ec1107dddaa"}, - {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cca4435eebea7962a52bdb216dec27215d0df64cf27fc1dd538415f5d2b9da6b"}, - {file = "coverage-6.5.0-cp311-cp311-win32.whl", hash = "sha256:98e8a10b7a314f454d9eff4216a9a94d143a7ee65018dd12442e898ee2310578"}, - {file = "coverage-6.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:bc8ef5e043a2af066fa8cbfc6e708d58017024dc4345a1f9757b329a249f041b"}, - {file = "coverage-6.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4433b90fae13f86fafff0b326453dd42fc9a639a0d9e4eec4d366436d1a41b6d"}, - {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4f05d88d9a80ad3cac6244d36dd89a3c00abc16371769f1340101d3cb899fc3"}, - {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94e2565443291bd778421856bc975d351738963071e9b8839ca1fc08b42d4bef"}, - {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:027018943386e7b942fa832372ebc120155fd970837489896099f5cfa2890f79"}, - {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:255758a1e3b61db372ec2736c8e2a1fdfaf563977eedbdf131de003ca5779b7d"}, - {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:851cf4ff24062c6aec510a454b2584f6e998cada52d4cb58c5e233d07172e50c"}, - {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:12adf310e4aafddc58afdb04d686795f33f4d7a6fa67a7a9d4ce7d6ae24d949f"}, - {file = "coverage-6.5.0-cp37-cp37m-win32.whl", hash = "sha256:b5604380f3415ba69de87a289a2b56687faa4fe04dbee0754bfcae433489316b"}, - {file = "coverage-6.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4a8dbc1f0fbb2ae3de73eb0bdbb914180c7abfbf258e90b311dcd4f585d44bd2"}, - {file = "coverage-6.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d900bb429fdfd7f511f868cedd03a6bbb142f3f9118c09b99ef8dc9bf9643c3c"}, - {file = "coverage-6.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2198ea6fc548de52adc826f62cb18554caedfb1d26548c1b7c88d8f7faa8f6ba"}, - {file = "coverage-6.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c4459b3de97b75e3bd6b7d4b7f0db13f17f504f3d13e2a7c623786289dd670e"}, - {file = "coverage-6.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:20c8ac5386253717e5ccc827caad43ed66fea0efe255727b1053a8154d952398"}, - {file = "coverage-6.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b07130585d54fe8dff3d97b93b0e20290de974dc8177c320aeaf23459219c0b"}, - {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dbdb91cd8c048c2b09eb17713b0c12a54fbd587d79adcebad543bc0cd9a3410b"}, - {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:de3001a203182842a4630e7b8d1a2c7c07ec1b45d3084a83d5d227a3806f530f"}, - {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e07f4a4a9b41583d6eabec04f8b68076ab3cd44c20bd29332c6572dda36f372e"}, - {file = "coverage-6.5.0-cp38-cp38-win32.whl", hash = "sha256:6d4817234349a80dbf03640cec6109cd90cba068330703fa65ddf56b60223a6d"}, - {file = "coverage-6.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:7ccf362abd726b0410bf8911c31fbf97f09f8f1061f8c1cf03dfc4b6372848f6"}, - {file = "coverage-6.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:633713d70ad6bfc49b34ead4060531658dc6dfc9b3eb7d8a716d5873377ab745"}, - {file = "coverage-6.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:95203854f974e07af96358c0b261f1048d8e1083f2de9b1c565e1be4a3a48cfc"}, - {file = "coverage-6.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9023e237f4c02ff739581ef35969c3739445fb059b060ca51771e69101efffe"}, - {file = "coverage-6.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:265de0fa6778d07de30bcf4d9dc471c3dc4314a23a3c6603d356a3c9abc2dfcf"}, - {file = "coverage-6.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5"}, - {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7b6be138d61e458e18d8e6ddcddd36dd96215edfe5f1168de0b1b32635839b62"}, - {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:42eafe6778551cf006a7c43153af1211c3aaab658d4d66fa5fcc021613d02518"}, - {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:723e8130d4ecc8f56e9a611e73b31219595baa3bb252d539206f7bbbab6ffc1f"}, - {file = "coverage-6.5.0-cp39-cp39-win32.whl", hash = "sha256:d9ecf0829c6a62b9b573c7bb6d4dcd6ba8b6f80be9ba4fc7ed50bf4ac9aecd72"}, - {file = "coverage-6.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:fc2af30ed0d5ae0b1abdb4ebdce598eafd5b35397d4d75deb341a614d333d987"}, - {file = "coverage-6.5.0-pp36.pp37.pp38-none-any.whl", hash = "sha256:1431986dac3923c5945271f169f59c45b8802a114c8f548d611f2015133df77a"}, - {file = "coverage-6.5.0.tar.gz", hash = "sha256:f642e90754ee3e06b0e7e51bce3379590e76b7f76b708e1a71ff043f87025c84"}, -] -dill = [ - {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"}, - {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"}, -] -docutils = [ - {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, - {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, -] -exceptiongroup = [ - {file = "exceptiongroup-1.0.0-py3-none-any.whl", hash = "sha256:2ac84b496be68464a2da60da518af3785fff8b7ec0d090a581604bc870bdee41"}, - {file = "exceptiongroup-1.0.0.tar.gz", hash = "sha256:affbabf13fb6e98988c38d9c5650e701569fe3c1de3233cfb61c5f33774690ad"}, -] -flake8 = [ - {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, - {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, -] -future = [ - {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"}, -] -ghp-import = [ - {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, - {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, -] -gitdb = [ - {file = "gitdb-4.0.9-py3-none-any.whl", hash = "sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd"}, - {file = "gitdb-4.0.9.tar.gz", hash = "sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa"}, -] -GitPython = [ - {file = "GitPython-3.1.29-py3-none-any.whl", hash = "sha256:41eea0deec2deea139b459ac03656f0dd28fc4a3387240ec1d3c259a2c47850f"}, - {file = "GitPython-3.1.29.tar.gz", hash = "sha256:cc36bfc4a3f913e66805a28e84703e419d9c264c1077e537b54f0e1af85dbefd"}, -] -griffe = [ - {file = "griffe-0.23.0-py3-none-any.whl", hash = "sha256:cfca5f523808109da3f8cfaa46e325fa2e5bef51120d1146e908c121b56475f0"}, - {file = "griffe-0.23.0.tar.gz", hash = "sha256:a639e2968c8e27f56ebcc57f869a03cea7ac7e7f5684bd2429c665f761c4e7bd"}, -] -idna = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, -] -imagesize = [ - {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, - {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, -] -importlib-metadata = [ - {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, - {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, -] -iniconfig = [ - {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, - {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, -] -invoke = [ - {file = "invoke-1.7.3-py3-none-any.whl", hash = "sha256:d9694a865764dd3fd91f25f7e9a97fb41666e822bbb00e670091e3f43933574d"}, - {file = "invoke-1.7.3.tar.gz", hash = "sha256:41b428342d466a82135d5ab37119685a989713742be46e42a3a399d685579314"}, -] -isort = [ - {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"}, - {file = "isort-5.10.1.tar.gz", hash = "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"}, -] -Jinja2 = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, -] -lazy-object-proxy = [ - {file = "lazy-object-proxy-1.8.0.tar.gz", hash = "sha256:c219a00245af0f6fa4e95901ed28044544f50152840c5b6a3e7b2568db34d156"}, - {file = "lazy_object_proxy-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4fd031589121ad46e293629b39604031d354043bb5cdf83da4e93c2d7f3389fe"}, - {file = "lazy_object_proxy-1.8.0-cp310-cp310-win32.whl", hash = "sha256:b70d6e7a332eb0217e7872a73926ad4fdc14f846e85ad6749ad111084e76df25"}, - {file = "lazy_object_proxy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:eb329f8d8145379bf5dbe722182410fe8863d186e51bf034d2075eb8d85ee25b"}, - {file = "lazy_object_proxy-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4e2d9f764f1befd8bdc97673261b8bb888764dfdbd7a4d8f55e4fbcabb8c3fb7"}, - {file = "lazy_object_proxy-1.8.0-cp311-cp311-win32.whl", hash = "sha256:e20bfa6db17a39c706d24f82df8352488d2943a3b7ce7d4c22579cb89ca8896e"}, - {file = "lazy_object_proxy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:14010b49a2f56ec4943b6cf925f597b534ee2fe1f0738c84b3bce0c1a11ff10d"}, - {file = "lazy_object_proxy-1.8.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6850e4aeca6d0df35bb06e05c8b934ff7c533734eb51d0ceb2d63696f1e6030c"}, - {file = "lazy_object_proxy-1.8.0-cp37-cp37m-win32.whl", hash = "sha256:5b51d6f3bfeb289dfd4e95de2ecd464cd51982fe6f00e2be1d0bf94864d58acd"}, - {file = "lazy_object_proxy-1.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:6f593f26c470a379cf7f5bc6db6b5f1722353e7bf937b8d0d0b3fba911998858"}, - {file = "lazy_object_proxy-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c1c7c0433154bb7c54185714c6929acc0ba04ee1b167314a779b9025517eada"}, - {file = "lazy_object_proxy-1.8.0-cp38-cp38-win32.whl", hash = "sha256:d176f392dbbdaacccf15919c77f526edf11a34aece58b55ab58539807b85436f"}, - {file = "lazy_object_proxy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:afcaa24e48bb23b3be31e329deb3f1858f1f1df86aea3d70cb5c8578bfe5261c"}, - {file = "lazy_object_proxy-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:71d9ae8a82203511a6f60ca5a1b9f8ad201cac0fc75038b2dc5fa519589c9288"}, - {file = "lazy_object_proxy-1.8.0-cp39-cp39-win32.whl", hash = "sha256:8f6ce2118a90efa7f62dd38c7dbfffd42f468b180287b748626293bf12ed468f"}, - {file = "lazy_object_proxy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:eac3a9a5ef13b332c059772fd40b4b1c3d45a3a2b05e33a361dee48e54a4dad0"}, - {file = "lazy_object_proxy-1.8.0-pp37-pypy37_pp73-any.whl", hash = "sha256:ae032743794fba4d171b5b67310d69176287b5bf82a21f588282406a79498891"}, - {file = "lazy_object_proxy-1.8.0-pp38-pypy38_pp73-any.whl", hash = "sha256:7e1561626c49cb394268edd00501b289053a652ed762c58e1081224c8d881cec"}, - {file = "lazy_object_proxy-1.8.0-pp39-pypy39_pp73-any.whl", hash = "sha256:ce58b2b3734c73e68f0e30e4e725264d4d6be95818ec0a0be4bb6bf9a7e79aa8"}, -] -Markdown = [ - {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, - {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, -] -MarkupSafe = [ - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, - {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, -] -mccabe = [ - {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, - {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, -] -mergedeep = [ - {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, - {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, -] -mkdocs = [ - {file = "mkdocs-1.3.1-py3-none-any.whl", hash = "sha256:fda92466393127d2da830bc6edc3a625a14b436316d1caf347690648e774c4f0"}, - {file = "mkdocs-1.3.1.tar.gz", hash = "sha256:a41a2ff25ce3bbacc953f9844ba07d106233cd76c88bac1f59cb1564ac0d87ed"}, -] -mkdocs-autorefs = [ - {file = "mkdocs-autorefs-0.4.1.tar.gz", hash = "sha256:70748a7bd025f9ecd6d6feeba8ba63f8e891a1af55f48e366d6d6e78493aba84"}, - {file = "mkdocs_autorefs-0.4.1-py3-none-any.whl", hash = "sha256:a2248a9501b29dc0cc8ba4c09f4f47ff121945f6ce33d760f145d6f89d313f5b"}, -] -mkdocs-material = [ - {file = "mkdocs-material-8.3.9.tar.gz", hash = "sha256:dc82b667d2a83f0de581b46a6d0949732ab77e7638b87ea35b770b33bc02e75a"}, - {file = "mkdocs_material-8.3.9-py2.py3-none-any.whl", hash = "sha256:263f2721f3abe533b61f7c8bed435a0462620912742c919821ac2d698b4bfe67"}, -] -mkdocs-material-extensions = [ - {file = "mkdocs_material_extensions-1.1-py3-none-any.whl", hash = "sha256:bcc2e5fc70c0ec50e59703ee6e639d87c7e664c0c441c014ea84461a90f1e902"}, - {file = "mkdocs_material_extensions-1.1.tar.gz", hash = "sha256:96ca979dae66d65c2099eefe189b49d5ac62f76afb59c38e069ffc7cf3c131ec"}, -] -mkdocs-version-annotations = [ - {file = "mkdocs-version-annotations-1.0.0.tar.gz", hash = "sha256:6786024b37d27b330fda240b76ebec8e7ce48bd5a9d7a66e99804559d088dffa"}, - {file = "mkdocs_version_annotations-1.0.0-py3-none-any.whl", hash = "sha256:385004eb4a7530dd87a227e08cd907ce7a8fe21fdf297720a4149c511bcf05f5"}, -] -mkdocstrings = [ - {file = "mkdocstrings-0.19.0-py3-none-any.whl", hash = "sha256:3217d510d385c961f69385a670b2677e68e07b5fea4a504d86bf54c006c87c7d"}, - {file = "mkdocstrings-0.19.0.tar.gz", hash = "sha256:efa34a67bad11229d532d89f6836a8a215937548623b64f3698a1df62e01cc3e"}, -] -mkdocstrings-python = [ - {file = "mkdocstrings-python-0.7.1.tar.gz", hash = "sha256:c334b382dca202dfa37071c182418a6df5818356a95d54362a2b24822ca3af71"}, - {file = "mkdocstrings_python-0.7.1-py3-none-any.whl", hash = "sha256:a22060bfa374697678e9af4e62b020d990dad2711c98f7a9fac5c0345bef93c7"}, -] -mypy-extensions = [ - {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, - {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, -] -packaging = [ - {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, - {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, -] -pathspec = [ - {file = "pathspec-0.10.1-py3-none-any.whl", hash = "sha256:46846318467efc4556ccfd27816e004270a9eeeeb4d062ce5e6fc7a87c573f93"}, - {file = "pathspec-0.10.1.tar.gz", hash = "sha256:7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d"}, -] -pbr = [ - {file = "pbr-5.11.0-py2.py3-none-any.whl", hash = "sha256:db2317ff07c84c4c63648c9064a79fe9d9f5c7ce85a9099d4b6258b3db83225a"}, - {file = "pbr-5.11.0.tar.gz", hash = "sha256:b97bc6695b2aff02144133c2e7399d5885223d42b7912ffaec2ca3898e673bfe"}, -] -platformdirs = [ - {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"}, - {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"}, -] -pluggy = [ - {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, - {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, -] -pycodestyle = [ - {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, - {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, -] -pydocstyle = [ - {file = "pydocstyle-6.1.1-py3-none-any.whl", hash = "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4"}, - {file = "pydocstyle-6.1.1.tar.gz", hash = "sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc"}, -] -pyflakes = [ - {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, - {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, -] -Pygments = [ - {file = "Pygments-2.13.0-py3-none-any.whl", hash = "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42"}, - {file = "Pygments-2.13.0.tar.gz", hash = "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"}, -] -pylint = [ - {file = "pylint-2.13.9-py3-none-any.whl", hash = "sha256:705c620d388035bdd9ff8b44c5bcdd235bfb49d276d488dd2c8ff1736aa42526"}, - {file = "pylint-2.13.9.tar.gz", hash = "sha256:095567c96e19e6f57b5b907e67d265ff535e588fe26b12b5ebe1fc5645b2c731"}, -] -pymdown-extensions = [ - {file = "pymdown_extensions-9.7-py3-none-any.whl", hash = "sha256:767d07d9dead0f52f5135545c01f4ed627f9a7918ee86c646d893e24c59db87d"}, - {file = "pymdown_extensions-9.7.tar.gz", hash = "sha256:651b0107bc9ee790aedea3673cb88832c0af27d2569cf45c2de06f1d65292e96"}, -] -pyparsing = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, -] -pytest = [ - {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, - {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, -] -python-dateutil = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, -] -pytz = [ - {file = "pytz-2022.5-py2.py3-none-any.whl", hash = "sha256:335ab46900b1465e714b4fda4963d87363264eb662aab5e65da039c25f1f5b22"}, - {file = "pytz-2022.5.tar.gz", hash = "sha256:c4d88f472f54d615e9cd582a5004d1e5f624854a6a27a6211591c251f22a6914"}, -] -PyYAML = [ - {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, - {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, - {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, - {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, - {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, - {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, - {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, - {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, - {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, - {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, - {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, - {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, - {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, - {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, - {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, - {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, - {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, - {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, -] -pyyaml_env_tag = [ - {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, - {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, -] -requests = [ - {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"}, - {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"}, -] -"ruamel.yaml" = [ - {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, - {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, -] -"ruamel.yaml.clib" = [ - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:efa08d63ef03d079dcae1dfe334f6c8847ba8b645d08df286358b1f5293d24ab"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_12_0_arm64.whl", hash = "sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:370445fd795706fd291ab00c9df38a0caed0f17a6fb46b0f607668ecb16ce763"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win32.whl", hash = "sha256:ecdf1a604009bd35c674b9225a8fa609e0282d9b896c03dd441a91e5f53b534e"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win_amd64.whl", hash = "sha256:f34019dced51047d6f70cb9383b2ae2853b7fc4dce65129a5acd49f4f9256646"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aa261c29a5545adfef9296b7e33941f46aa5bbd21164228e833412af4c9c75f"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f01da5790e95815eb5a8a138508c01c758e5f5bc0ce4286c4f7028b8dd7ac3d0"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:40d030e2329ce5286d6b231b8726959ebbe0404c92f0a578c0e2482182e38282"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c3ca1fbba4ae962521e5eb66d72998b51f0f4d0f608d3c0347a48e1af262efa7"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win32.whl", hash = "sha256:7bdb4c06b063f6fd55e472e201317a3bb6cdeeee5d5a38512ea5c01e1acbdd93"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:be2a7ad8fd8f7442b24323d24ba0b56c51219513cfa45b9ada3b87b76c374d4b"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91a789b4aa0097b78c93e3dc4b40040ba55bef518f84a40d4442f713b4094acb"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:99e77daab5d13a48a4054803d052ff40780278240a902b880dd37a51ba01a307"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:3243f48ecd450eddadc2d11b5feb08aca941b5cd98c9b1db14b2fd128be8c697"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8831a2cedcd0f0927f788c5bdf6567d9dc9cc235646a434986a852af1cb54b4b"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win32.whl", hash = "sha256:3110a99e0f94a4a3470ff67fc20d3f96c25b13d24c6980ff841e82bafe827cac"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:92460ce908546ab69770b2e576e4f99fbb4ce6ab4b245345a3869a0a0410488f"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5bc0667c1eb8f83a3752b71b9c4ba55ef7c7058ae57022dd9b29065186a113d9"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4a4d8d417868d68b979076a9be6a38c676eca060785abaa6709c7b31593c35d1"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf9a6bc4a0221538b1a7de3ed7bca4c93c02346853f44e1cd764be0023cd3640"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a7b301ff08055d73223058b5c46c55638917f04d21577c95e00e0c4d79201a6b"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win32.whl", hash = "sha256:d5e51e2901ec2366b79f16c2299a03e74ba4531ddcfacc1416639c557aef0ad8"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5"}, - {file = "ruamel.yaml.clib-0.2.7.tar.gz", hash = "sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"}, -] -setuptools = [ - {file = "setuptools-65.5.0-py3-none-any.whl", hash = "sha256:f62ea9da9ed6289bfe868cd6845968a2c854d1427f8548d52cae02a42b4f0356"}, - {file = "setuptools-65.5.0.tar.gz", hash = "sha256:512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17"}, -] -six = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] -smmap = [ - {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, - {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, -] -snowballstemmer = [ - {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, - {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, -] -Sphinx = [ - {file = "Sphinx-5.3.0.tar.gz", hash = "sha256:51026de0a9ff9fc13c05d74913ad66047e104f56a129ff73e174eb5c3ee794b5"}, - {file = "sphinx-5.3.0-py3-none-any.whl", hash = "sha256:060ca5c9f7ba57a08a1219e547b269fadf125ae25b06b9fa7f66768efb652d6d"}, -] -sphinx-rtd-theme = [ - {file = "sphinx_rtd_theme-1.0.0-py2.py3-none-any.whl", hash = "sha256:4d35a56f4508cfee4c4fb604373ede6feae2a306731d533f409ef5c3496fdbd8"}, - {file = "sphinx_rtd_theme-1.0.0.tar.gz", hash = "sha256:eec6d497e4c2195fa0e8b2016b337532b8a699a68bcb22a512870e16925c6a5c"}, -] -sphinxcontrib-applehelp = [ - {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, - {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, -] -sphinxcontrib-devhelp = [ - {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, - {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, -] -sphinxcontrib-htmlhelp = [ - {file = "sphinxcontrib-htmlhelp-2.0.0.tar.gz", hash = "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2"}, - {file = "sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl", hash = "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07"}, -] -sphinxcontrib-jsmath = [ - {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, - {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, -] -sphinxcontrib-qthelp = [ - {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, - {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, -] -sphinxcontrib-serializinghtml = [ - {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, - {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, -] -stevedore = [ - {file = "stevedore-3.5.2-py3-none-any.whl", hash = "sha256:fa2630e3d0ad3e22d4914aff2501445815b9a4467a6edc49387c667a38faf5bf"}, - {file = "stevedore-3.5.2.tar.gz", hash = "sha256:cf99f41fc0d5a4f185ca4d3d42b03be9011b0a1ec1a4ea1a282be1b4b306dcc2"}, -] -textfsm = [ - {file = "textfsm-1.1.3-py2.py3-none-any.whl", hash = "sha256:dcbeebc6a6137bed561c71a56344d752e6dbc04ae5ea309252cb70fb97ccc9cd"}, - {file = "textfsm-1.1.3.tar.gz", hash = "sha256:577ef278a9237f5341ae9b682947cefa4a2c1b24dbe486f94f2c95addc6504b5"}, -] -toml = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, -] -tomli = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] -typed-ast = [ - {file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"}, - {file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"}, - {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"}, - {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe"}, - {file = "typed_ast-1.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72"}, - {file = "typed_ast-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec"}, - {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47"}, - {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6"}, - {file = "typed_ast-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1"}, - {file = "typed_ast-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6"}, - {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66"}, - {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c"}, - {file = "typed_ast-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2"}, - {file = "typed_ast-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d"}, - {file = "typed_ast-1.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f"}, - {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc"}, - {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6"}, - {file = "typed_ast-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e"}, - {file = "typed_ast-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35"}, - {file = "typed_ast-1.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97"}, - {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3"}, - {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72"}, - {file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"}, - {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, -] -typing-extensions = [ - {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, - {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, -] -urllib3 = [ - {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, - {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, -] -watchdog = [ - {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, - {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"}, - {file = "watchdog-2.1.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ee3e38a6cc050a8830089f79cbec8a3878ec2fe5160cdb2dc8ccb6def8552658"}, - {file = "watchdog-2.1.9-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64a27aed691408a6abd83394b38503e8176f69031ca25d64131d8d640a307591"}, - {file = "watchdog-2.1.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:195fc70c6e41237362ba720e9aaf394f8178bfc7fa68207f112d108edef1af33"}, - {file = "watchdog-2.1.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bfc4d351e6348d6ec51df007432e6fe80adb53fd41183716017026af03427846"}, - {file = "watchdog-2.1.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8250546a98388cbc00c3ee3cc5cf96799b5a595270dfcfa855491a64b86ef8c3"}, - {file = "watchdog-2.1.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:117ffc6ec261639a0209a3252546b12800670d4bf5f84fbd355957a0595fe654"}, - {file = "watchdog-2.1.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:97f9752208f5154e9e7b76acc8c4f5a58801b338de2af14e7e181ee3b28a5d39"}, - {file = "watchdog-2.1.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:247dcf1df956daa24828bfea5a138d0e7a7c98b1a47cf1fa5b0c3c16241fcbb7"}, - {file = "watchdog-2.1.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:226b3c6c468ce72051a4c15a4cc2ef317c32590d82ba0b330403cafd98a62cfd"}, - {file = "watchdog-2.1.9-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d9820fe47c20c13e3c9dd544d3706a2a26c02b2b43c993b62fcd8011bcc0adb3"}, - {file = "watchdog-2.1.9-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70af927aa1613ded6a68089a9262a009fbdf819f46d09c1a908d4b36e1ba2b2d"}, - {file = "watchdog-2.1.9-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ed80a1628cee19f5cfc6bb74e173f1b4189eb532e705e2a13e3250312a62e0c9"}, - {file = "watchdog-2.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9f05a5f7c12452f6a27203f76779ae3f46fa30f1dd833037ea8cbc2887c60213"}, - {file = "watchdog-2.1.9-py3-none-manylinux2014_armv7l.whl", hash = "sha256:255bb5758f7e89b1a13c05a5bceccec2219f8995a3a4c4d6968fe1de6a3b2892"}, - {file = "watchdog-2.1.9-py3-none-manylinux2014_i686.whl", hash = "sha256:d3dda00aca282b26194bdd0adec21e4c21e916956d972369359ba63ade616153"}, - {file = "watchdog-2.1.9-py3-none-manylinux2014_ppc64.whl", hash = "sha256:186f6c55abc5e03872ae14c2f294a153ec7292f807af99f57611acc8caa75306"}, - {file = "watchdog-2.1.9-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:083171652584e1b8829581f965b9b7723ca5f9a2cd7e20271edf264cfd7c1412"}, - {file = "watchdog-2.1.9-py3-none-manylinux2014_s390x.whl", hash = "sha256:b530ae007a5f5d50b7fbba96634c7ee21abec70dc3e7f0233339c81943848dc1"}, - {file = "watchdog-2.1.9-py3-none-manylinux2014_x86_64.whl", hash = "sha256:4f4e1c4aa54fb86316a62a87b3378c025e228178d55481d30d857c6c438897d6"}, - {file = "watchdog-2.1.9-py3-none-win32.whl", hash = "sha256:5952135968519e2447a01875a6f5fc8c03190b24d14ee52b0f4b1682259520b1"}, - {file = "watchdog-2.1.9-py3-none-win_amd64.whl", hash = "sha256:7a833211f49143c3d336729b0020ffd1274078e94b0ae42e22f596999f50279c"}, - {file = "watchdog-2.1.9-py3-none-win_ia64.whl", hash = "sha256:ad576a565260d8f99d97f2e64b0f97a48228317095908568a9d5c786c829d428"}, - {file = "watchdog-2.1.9.tar.gz", hash = "sha256:43ce20ebb36a51f21fa376f76d1d4692452b2527ccd601950d69ed36b9e21609"}, -] -wrapt = [ - {file = "wrapt-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3"}, - {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef"}, - {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28"}, - {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59"}, - {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87"}, - {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1"}, - {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b"}, - {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462"}, - {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1"}, - {file = "wrapt-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320"}, - {file = "wrapt-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2"}, - {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4"}, - {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069"}, - {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310"}, - {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f"}, - {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656"}, - {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c"}, - {file = "wrapt-1.14.1-cp310-cp310-win32.whl", hash = "sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8"}, - {file = "wrapt-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164"}, - {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907"}, - {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3"}, - {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3"}, - {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d"}, - {file = "wrapt-1.14.1-cp35-cp35m-win32.whl", hash = "sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7"}, - {file = "wrapt-1.14.1-cp35-cp35m-win_amd64.whl", hash = "sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00"}, - {file = "wrapt-1.14.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4"}, - {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1"}, - {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1"}, - {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff"}, - {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d"}, - {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1"}, - {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569"}, - {file = "wrapt-1.14.1-cp36-cp36m-win32.whl", hash = "sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed"}, - {file = "wrapt-1.14.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471"}, - {file = "wrapt-1.14.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248"}, - {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68"}, - {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d"}, - {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77"}, - {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7"}, - {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015"}, - {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a"}, - {file = "wrapt-1.14.1-cp37-cp37m-win32.whl", hash = "sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853"}, - {file = "wrapt-1.14.1-cp37-cp37m-win_amd64.whl", hash = "sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c"}, - {file = "wrapt-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456"}, - {file = "wrapt-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f"}, - {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc"}, - {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1"}, - {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af"}, - {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b"}, - {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0"}, - {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57"}, - {file = "wrapt-1.14.1-cp38-cp38-win32.whl", hash = "sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5"}, - {file = "wrapt-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d"}, - {file = "wrapt-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383"}, - {file = "wrapt-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7"}, - {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86"}, - {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735"}, - {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b"}, - {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3"}, - {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3"}, - {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe"}, - {file = "wrapt-1.14.1-cp39-cp39-win32.whl", hash = "sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5"}, - {file = "wrapt-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb"}, - {file = "wrapt-1.14.1.tar.gz", hash = "sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d"}, -] -yamllint = [ - {file = "yamllint-1.28.0-py2.py3-none-any.whl", hash = "sha256:89bb5b5ac33b1ade059743cf227de73daa34d5e5a474b06a5e17fc16583b0cf2"}, - {file = "yamllint-1.28.0.tar.gz", hash = "sha256:9e3d8ddd16d0583214c5fdffe806c9344086721f107435f68bad990e5a88826b"}, -] -zipp = [ - {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, - {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, -] +lock-version = "2.0" +python-versions = "^3.8" +content-hash = "9322f38b2c49d457b0c08acad7e8673608327547af4d0a9c84847d1d93769119" diff --git a/pyproject.toml b/pyproject.toml index 5aa8b6d842..b07ef23c0d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,10 +13,11 @@ classifiers = [ "Intended Audience :: Developers", "Development Status :: 4 - Beta", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] include = [ "LICENSE", @@ -26,7 +27,7 @@ include = [ ] [tool.poetry.dependencies] -python = "^3.7" +python = "^3.8" textfsm = "^1.1.0" [tool.poetry.dev-dependencies] @@ -44,10 +45,10 @@ sphinx-rtd-theme = "*" toml = "*" yamllint = "*" "ruamel.yaml" = "*" -mkdocs = "1.3.1" -mkdocs-material = "8.3.9" -mkdocstrings = "0.19" -mkdocstrings-python = "0.7.1" +mkdocs = "1.5.2" +mkdocs-material = "9.1.15" +mkdocstrings = "0.22.0" +mkdocstrings-python = "1.5.2" mkdocs-version-annotations = "1.0.0" [tool.poetry.extras] @@ -55,7 +56,7 @@ test = ["pytest"] [tool.black] line-length = 120 -target-version = ['py37'] +target-version = ['py38'] include = '\.pyi?$' exclude = ''' ( diff --git a/tasks.py b/tasks.py index 0c6fe3f979..c79b103ef2 100644 --- a/tasks.py +++ b/tasks.py @@ -1,7 +1,6 @@ """Tasks for use with Invoke.""" import os import sys -from distutils.util import strtobool from invoke import task try: @@ -10,6 +9,29 @@ sys.exit("Please make sure to `pip install toml` or enable the Poetry shell and run `poetry install`.") +def strtobool(val: str) -> bool: + """Convert a string representation of truth to true (1) or false (0). + + Args: + val (str): String representation of truth. + + Returns: + bool: True or False + """ + val = val.lower() + + # Check for valid truth values + if val in ("y", "yes", "t", "true", "on", "1"): + return True + + # Check for valid false values + if val in ("n", "no", "f", "false", "off", "0"): + return False + + # Raise error if not valid truth value + raise ValueError(f"Invalid truth value {val}") + + def is_truthy(arg): """Convert "truthy" strings into Booleans. @@ -30,7 +52,7 @@ def is_truthy(arg): TOOL_CONFIG = PYPROJECT_CONFIG["tool"]["poetry"] # Can be set to a separate Python version to be used for launching or building image -PYTHON_VER = os.getenv("PYTHON_VER", "3.7") +PYTHON_VER = os.getenv("PYTHON_VER", "3.9") # Name of the docker image/image IMAGE_NAME = os.getenv("IMAGE_NAME", TOOL_CONFIG["name"]) # Tag for the image @@ -129,8 +151,8 @@ def flake8(context, local=INVOKE_LOCAL): @task(help={"local": "Run locally or within the Docker container"}) def pylint(context, local=INVOKE_LOCAL): - """Run pylint code analysis.""" - exec_cmd = 'find . -name "*.py" | xargs pylint' + """Run pylint code analysis excluding .venv directory.""" + exec_cmd = 'find . -name "*.py" -not -path "./.venv/*" | xargs pylint' run_cmd(context, exec_cmd, local) diff --git a/tests/arista_eos/show_interfaces_description/arista_eos_show_interfaces_description.yml b/tests/arista_eos/show_interfaces_description/arista_eos_show_interfaces_description.yml index b6d4e25ded..ca5d0a4903 100644 --- a/tests/arista_eos/show_interfaces_description/arista_eos_show_interfaces_description.yml +++ b/tests/arista_eos/show_interfaces_description/arista_eos_show_interfaces_description.yml @@ -1,82 +1,82 @@ --- parsed_sample: - - port: "Et1" - status: "admin down" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et1" protocol: "down" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et2" - status: "up" + status: "admin down" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et2" protocol: "up" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et3" status: "up" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et3" protocol: "up" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et4" status: "up" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et4" protocol: "up" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et5" - status: "admin down" + status: "up" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et5" protocol: "down" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et6" status: "admin down" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et6" protocol: "down" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et7" status: "admin down" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et7" protocol: "down" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et8" status: "admin down" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et8" protocol: "down" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et9" - status: "up" + status: "admin down" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et9" protocol: "up" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et9.999" - status: "down" - protocol: "lowerlayerdown" - descrip: "" - - port: "Et10" status: "up" + - description: "" + port: "Et9.999" + protocol: "lowerlayerdown" + status: "down" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et10" protocol: "up" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et11" status: "up" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et11" protocol: "up" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et12" status: "up" + - description: "ThiS iS a TeSt DeScriPtiON" + port: "Et12" protocol: "up" - descrip: "ThiS iS a TeSt DeScriPtiON" - - port: "Et13" - status: "down" + status: "up" + - description: "This IS a TesT DeScrIption" + port: "Et13" protocol: "notpresent" - descrip: "This IS a TesT DeScrIption" - - port: "Et14" status: "down" + - description: "" + port: "Et14" protocol: "notpresent" - descrip: "" - - port: "Ma1" status: "down" + - description: "Management" + port: "Ma1" protocol: "down" - descrip: "Management" - - port: "Po1" - status: "up" + status: "down" + - description: "MLAG peer link" + port: "Po1" protocol: "up" - descrip: "MLAG peer link" - - port: "Po101" status: "up" + - description: "ServerRAD" + port: "Po101" protocol: "up" - descrip: "ServerRAD" - - port: "Tu8" - status: "down" - protocol: "unknown" - descrip: "" - - port: "Vl4094" status: "up" + - description: "" + port: "Tu8" + protocol: "unknown" + status: "down" + - description: "MLAG local int" + port: "Vl4094" protocol: "up" - descrip: "MLAG local int" + status: "up" diff --git a/tests/aruba_aoscx/show_interface/show_interface.yml b/tests/aruba_aoscx/show_interface/show_interface.yml index 799095ca99..87bc72eede 100644 --- a/tests/aruba_aoscx/show_interface/show_interface.yml +++ b/tests/aruba_aoscx/show_interface/show_interface.yml @@ -35,6 +35,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "" vlan_mode: "" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -70,6 +74,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "" vlan_mode: "" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -105,6 +113,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -140,6 +152,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -175,6 +191,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -210,6 +230,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -245,6 +269,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -280,6 +308,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -315,6 +347,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -350,6 +386,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -385,6 +425,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -420,6 +464,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -455,6 +503,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -490,6 +542,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -525,6 +581,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -560,6 +620,10 @@ parsed_sample: tx_unicast_packets: "0" vlan_access: "1" vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] - auto_neg: "on" duplex: "Full" error_control: "off" @@ -595,3 +659,7 @@ parsed_sample: tx_unicast_packets: "" vlan_access: "" vlan_mode: "" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] diff --git a/tests/aruba_aoscx/show_interface/show_interface1.raw b/tests/aruba_aoscx/show_interface/show_interface1.raw new file mode 100644 index 0000000000..fdf26b6550 --- /dev/null +++ b/tests/aruba_aoscx/show_interface/show_interface1.raw @@ -0,0 +1,91 @@ +Interface 1/1/1 is up + Admin state is up + Link state: up for 9 months (since Wed Jan 18 15:55:56 CET 2023) + Link transitions: 9 + Description: Wifi + Hardware: Ethernet, MAC Address: 88:25:10:38:11:ff + MTU 1500 + Type 1GbT + Full-duplex + qos trust cos + Speed 100 Mb/s + Auto-negotiation is on + Energy-Efficient Ethernet is disabled + Flow-control: off + Error-control: off + MDI mode: MDIX + VLAN Mode: native-untagged + Native VLAN: 2033 + Allowed VLAN List: 2033 + Rate collection interval: 300 seconds + + Rate RX TX Total (RX+TX) + ---------------- -------------------- -------------------- -------------------- + Mbits / sec 0.00 0.00 0.00 + KPkts / sec 0.00 0.00 0.00 + Unicast 0.00 0.00 0.00 + Multicast 0.00 0.00 0.00 + Broadcast 0.00 0.00 0.00 + Utilization 0.00 0.00 0.00 + + Statistic RX TX Total + ---------------- -------------------- -------------------- -------------------- + Packets 24612099 39673355 64285454 + Unicast 24608471 25244890 49853361 + Multicast 0 12741453 12741453 + Broadcast 3628 1687012 1690640 + Bytes 9074606512 10743380379 19817986891 + Jumbos 0 0 0 + Dropped 0 0 0 + Pause Frames 0 0 0 + Errors 0 0 0 + CRC/FCS 0 n/a 0 + Collision n/a 0 0 + Runts 0 n/a 0 + Giants 0 n/a 0 + +Interface 1/1/2 is up + Admin state is up + Link state: up for 6 months (since Sat Apr 15 09:56:35 CEST 2023) + Link transitions: 25 + Description: AP + Hardware: Ethernet, MAC Address: 88:25:10:38:32:fe + MTU 1500 + Type 1GbT + Full-duplex + qos trust cos + Speed 1000 Mb/s + Auto-negotiation is on + Energy-Efficient Ethernet is disabled + Flow-control: off + Error-control: off + MDI mode: MDIX + VLAN Mode: native-untagged + Native VLAN: 2016 + Allowed VLAN List: 19,23-24,2016 + Rate collection interval: 300 seconds + + Rate RX TX Total (RX+TX) + ---------------- -------------------- -------------------- -------------------- + Mbits / sec 0.00 0.01 0.01 + KPkts / sec 0.00 0.01 0.01 + Unicast 0.00 0.00 0.00 + Multicast 0.00 0.01 0.01 + Broadcast 0.00 0.00 0.00 + Utilization 0.00 0.00 0.00 + + Statistic RX TX Total + ---------------- -------------------- -------------------- -------------------- + Packets 68597611 209496767 278094378 + Unicast 59941378 58469524 118410902 + Multicast 8566811 130470677 139037488 + Broadcast 89422 20556566 20645988 + Bytes 32713606499 53876121819 86589728318 + Jumbos 9186 3488 12674 + Dropped 0 0 0 + Pause Frames 0 0 0 + Errors 0 0 0 + CRC/FCS 0 n/a 0 + Collision n/a 0 0 + Runts 0 n/a 0 + Giants 0 n/a 0 diff --git a/tests/aruba_aoscx/show_interface/show_interface1.yml b/tests/aruba_aoscx/show_interface/show_interface1.yml new file mode 100644 index 0000000000..47062265c8 --- /dev/null +++ b/tests/aruba_aoscx/show_interface/show_interface1.yml @@ -0,0 +1,84 @@ +--- +parsed_sample: + - auto_neg: "on" + duplex: "Full" + error_control: "off" + flow_control: "off" + hw_type: "Ethernet" + if_type: "1GbT" + interface: "1/1/1" + interface_desc: "Wifi" + link_admin: "up" + link_state_info: "" + link_status: "up" + link_transitions: "9" + mac_address: "88:25:10:38:11:ff" + mtu: "1500" + qos_trust: "cos" + rx_broadcast_packets: "3628" + rx_crc_fcs: "0" + rx_dropped: "0" + rx_errors: "0" + rx_mcast_packets: "0" + rx_total_bytes: "9074606512" + rx_total_packets: "24612099" + rx_unicast_packets: "24608471" + speed: "100 Mb/s" + tx_broadcast_packets: "1687012" + tx_collision: "0" + tx_crc_fcs: "n/a" + tx_dropped: "0" + tx_errors: "0" + tx_mcast_packets: "12741453" + tx_total_bytes: "10743380379" + tx_total_packets: "39673355" + tx_unicast_packets: "25244890" + vlan_access: "" + vlan_mode: "native-untagged" + ip_address: "" + vlan_trunk: + - "2033" + vlan_native: "2033" + aggregated_interfaces: [] + - auto_neg: "on" + duplex: "Full" + error_control: "off" + flow_control: "off" + hw_type: "Ethernet" + if_type: "1GbT" + interface: "1/1/2" + interface_desc: "AP" + link_admin: "up" + link_state_info: "" + link_status: "up" + link_transitions: "25" + mac_address: "88:25:10:38:32:fe" + mtu: "1500" + qos_trust: "cos" + rx_broadcast_packets: "89422" + rx_crc_fcs: "0" + rx_dropped: "0" + rx_errors: "0" + rx_mcast_packets: "8566811" + rx_total_bytes: "32713606499" + rx_total_packets: "68597611" + rx_unicast_packets: "59941378" + speed: "1000 Mb/s" + tx_broadcast_packets: "20556566" + tx_collision: "0" + tx_crc_fcs: "n/a" + tx_dropped: "0" + tx_errors: "0" + tx_mcast_packets: "130470677" + tx_total_bytes: "53876121819" + tx_total_packets: "209496767" + tx_unicast_packets: "58469524" + vlan_access: "" + vlan_mode: "native-untagged" + ip_address: "" + vlan_trunk: + - "19" + - "23-24" + - "2016" + vlan_native: "2016" + aggregated_interfaces: [] diff --git a/tests/aruba_aoscx/show_interface/show_interface2.raw b/tests/aruba_aoscx/show_interface/show_interface2.raw new file mode 100644 index 0000000000..31911478ed --- /dev/null +++ b/tests/aruba_aoscx/show_interface/show_interface2.raw @@ -0,0 +1,174 @@ + +Interface 1/1/1 is up + Admin state is up + Link state: up for 2 months (since Thu Jul 27 07:18:49 CEST 2023) + Link transitions: 73 + Description: PORT-ACCESS + Persona: + Hardware: Ethernet, MAC Address: bc:d7:a5:be:a5:3f + MTU 1500 + Type 1GbT + Full-duplex + qos trust none + rate-limit broadcast 10240 kbps (10240 actual) + Speed 1000 Mb/s + Auto-negotiation is on + Energy-Efficient Ethernet is disabled + Flow-control: off + Error-control: off + MDI mode: MDIX + VLAN Mode: access + Access VLAN: 3077 + Rate collection interval: 300 seconds + + Rate RX TX Total (RX+TX) + ---------------- -------------------- -------------------- -------------------- + Mbits / sec 0.00 0.00 0.00 + KPkts / sec 0.00 0.00 0.00 + Unicast 0.00 0.00 0.00 + Multicast 0.00 0.00 0.00 + Broadcast 0.00 0.00 0.00 + Utilization % 0.00 0.00 0.00 + + Statistic RX TX Total + ---------------- -------------------- -------------------- -------------------- + Packets 18874893 34277015 53151908 + Unicast 18644933 23561231 42206164 + Multicast 229165 10466742 10695907 + Broadcast 795 249042 249837 + Bytes 4202228838 8657633387 12859862225 + Jumbos 0 0 0 + Dropped 0 0 0 + Pause Frames 0 0 0 + Errors 0 0 0 + CRC/FCS 0 n/a 0 + Collision n/a 0 0 + Runts 0 n/a 0 + Giants 0 n/a 0 + +Interface 1/1/51 is up + Admin state is up + Link state: up for 2 months (since Thu Jul 27 06:23:42 CEST 2023) + Link transitions: 1 + Description: Uplink_xx + Persona: + Hardware: Ethernet, MAC Address: bc:d7:a5:be:a5:00 + MTU 1500 + Type 10G-SR / 8500-176a + Full-duplex + qos trust none + Speed 10000 Mb/s + Auto-negotiation is off + Flow-control: off + Error-control: off + Rate collection interval: 300 seconds + + Rate RX TX Total (RX+TX) + ---------------- -------------------- -------------------- -------------------- + Mbits / sec 0.01 0.05 0.06 + KPkts / sec 0.01 0.03 0.04 + Unicast 0.00 0.03 0.03 + Multicast 0.00 0.00 0.00 + Broadcast 0.00 0.00 0.00 + Utilization % 0.00 0.00 0.00 + + Statistic RX TX Total + ---------------- -------------------- -------------------- -------------------- + Packets 103446835 401143191 504590026 + Unicast 30270030 398587240 428857270 + Multicast 50094726 826188 50920914 + Broadcast 23082079 1729763 24811842 + Bytes 34152848118 137605609767 171758457885 + Jumbos 279596 7991529 8271125 + Dropped 0 4 4 + Pause Frames 0 0 0 + Errors 0 0 0 + CRC/FCS 0 n/a 0 + Collision n/a 0 0 + Runts 0 n/a 0 + Giants 0 n/a 0 + +Interface 1/1/52 is up + Admin state is up + Link state: up for 2 months (since Thu Jul 27 06:23:42 CEST 2023) + Link transitions: 1 + Description: Uplink_xx + Persona: + Hardware: Ethernet, MAC Address: bc:d7:a5:be:a5:00 + MTU 1500 + Type 10G-SR / 8500-176a + Full-duplex + qos trust none + Speed 10000 Mb/s + Auto-negotiation is off + Flow-control: off + Error-control: off + Rate collection interval: 300 seconds + + Rate RX TX Total (RX+TX) + ---------------- -------------------- -------------------- -------------------- + Mbits / sec 0.06 0.02 0.08 + KPkts / sec 0.06 0.01 0.07 + Unicast 0.03 0.01 0.04 + Multicast 0.01 0.00 0.01 + Broadcast 0.01 0.00 0.01 + Utilization % 0.00 0.00 0.00 + + Statistic RX TX Total + ---------------- -------------------- -------------------- -------------------- + Packets 1436539051 180190047 1616729098 + Unicast 1174876405 178162596 1353039001 + Multicast 183849339 1139712 184989051 + Broadcast 77813307 887739 78701046 + Bytes 1236265418235 53527759879 1289793178114 + Jumbos 340970660 1094788 342065448 + Dropped 0 13 13 + Pause Frames 0 0 0 + Errors 0 0 0 + CRC/FCS 0 n/a 0 + Collision n/a 0 0 + Runts 0 n/a 0 + Giants 0 n/a 0 + +Interface vlan1 is up + Admin state is up + Description: + Hardware: Ethernet, MAC Address: bc:d7:a5:be:a5:00 + L3 Counters: Rx Disabled, Tx Disabled + +Interface vlan3072 is up + Admin state is up + Description: mgmt + Hardware: Ethernet, MAC Address: bc:d7:a5:be:a5:00 + IPv4 address 10.1.2.1/24 + L3 Counters: Rx Disabled, Tx Disabled + +Aggregate lag1 is up + Admin state is up + Description : + MAC Address : bc:d7:a5:be:a5:00 + Aggregated-interfaces : 1/1/51 1/1/52 + Aggregation-key : 1 + Aggregate mode : active + Speed : 20000 Mb/s + qos trust none + VLAN Mode: native-untagged + Native VLAN: 666 + Allowed VLAN List: all + L3 Counters: Rx Disabled, Tx Disabled + + Statistic RX TX Total + ---------------- -------------------- -------------------- -------------------- + Packets 1539985886 581333238 2121319124 + Unicast 1205146435 576749836 1781896271 + Multicast 233944065 1965900 235909965 + Broadcast 100895386 2617502 103512888 + Bytes 1270418266353 191133369646 1461551635999 + Jumbos 341250256 9086317 350336573 + Dropped 0 17 17 + Pause Frames 0 0 0 + Errors 0 0 0 + CRC/FCS 0 n/a 0 + Collision n/a 0 0 + Runts 0 n/a 0 + Giants 0 n/a 0 diff --git a/tests/aruba_aoscx/show_interface/show_interface2.yml b/tests/aruba_aoscx/show_interface/show_interface2.yml new file mode 100644 index 0000000000..7da62e2c0c --- /dev/null +++ b/tests/aruba_aoscx/show_interface/show_interface2.yml @@ -0,0 +1,239 @@ +--- +parsed_sample: + - auto_neg: "on" + duplex: "Full" + error_control: "off" + flow_control: "off" + hw_type: "Ethernet" + if_type: "1GbT" + interface: "1/1/1" + interface_desc: "PORT-ACCESS" + link_admin: "up" + link_state_info: "" + link_status: "up" + link_transitions: "73" + mac_address: "bc:d7:a5:be:a5:3f" + mtu: "1500" + qos_trust: "none" + rx_broadcast_packets: "795" + rx_crc_fcs: "0" + rx_dropped: "0" + rx_errors: "0" + rx_mcast_packets: "229165" + rx_total_bytes: "4202228838" + rx_total_packets: "18874893" + rx_unicast_packets: "18644933" + speed: "1000 Mb/s" + tx_broadcast_packets: "249042" + tx_collision: "0" + tx_crc_fcs: "n/a" + tx_dropped: "0" + tx_errors: "0" + tx_mcast_packets: "10466742" + tx_total_bytes: "8657633387" + tx_total_packets: "34277015" + tx_unicast_packets: "23561231" + vlan_access: "3077" + vlan_mode: "access" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] + - auto_neg: "off" + duplex: "Full" + error_control: "off" + flow_control: "off" + hw_type: "Ethernet" + if_type: "10G-SR" + interface: "1/1/51" + interface_desc: "Uplink_xx" + link_admin: "up" + link_state_info: "" + link_status: "up" + link_transitions: "1" + mac_address: "bc:d7:a5:be:a5:00" + mtu: "1500" + qos_trust: "none" + rx_broadcast_packets: "23082079" + rx_crc_fcs: "0" + rx_dropped: "0" + rx_errors: "0" + rx_mcast_packets: "50094726" + rx_total_bytes: "34152848118" + rx_total_packets: "103446835" + rx_unicast_packets: "30270030" + speed: "10000 Mb/s" + tx_broadcast_packets: "1729763" + tx_collision: "0" + tx_crc_fcs: "n/a" + tx_dropped: "4" + tx_errors: "0" + tx_mcast_packets: "826188" + tx_total_bytes: "137605609767" + tx_total_packets: "401143191" + tx_unicast_packets: "398587240" + vlan_access: "" + vlan_mode: "" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] + - auto_neg: "off" + duplex: "Full" + error_control: "off" + flow_control: "off" + hw_type: "Ethernet" + if_type: "10G-SR" + interface: "1/1/52" + interface_desc: "Uplink_xx" + link_admin: "up" + link_state_info: "" + link_status: "up" + link_transitions: "1" + mac_address: "bc:d7:a5:be:a5:00" + mtu: "1500" + qos_trust: "none" + rx_broadcast_packets: "77813307" + rx_crc_fcs: "0" + rx_dropped: "0" + rx_errors: "0" + rx_mcast_packets: "183849339" + rx_total_bytes: "1236265418235" + rx_total_packets: "1436539051" + rx_unicast_packets: "1174876405" + speed: "10000 Mb/s" + tx_broadcast_packets: "887739" + tx_collision: "0" + tx_crc_fcs: "n/a" + tx_dropped: "13" + tx_errors: "0" + tx_mcast_packets: "1139712" + tx_total_bytes: "53527759879" + tx_total_packets: "180190047" + tx_unicast_packets: "178162596" + vlan_access: "" + vlan_mode: "" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] + - auto_neg: "" + duplex: "" + error_control: "" + flow_control: "" + hw_type: "Ethernet" + if_type: "" + interface: "vlan1" + interface_desc: "" + link_admin: "up" + link_state_info: "" + link_status: "up" + link_transitions: "" + mac_address: "bc:d7:a5:be:a5:00" + mtu: "" + qos_trust: "" + rx_broadcast_packets: "" + rx_crc_fcs: "" + rx_dropped: "" + rx_errors: "" + rx_mcast_packets: "" + rx_total_bytes: "" + rx_total_packets: "" + rx_unicast_packets: "" + speed: "" + tx_broadcast_packets: "" + tx_collision: "" + tx_crc_fcs: "" + tx_dropped: "" + tx_errors: "" + tx_mcast_packets: "" + tx_total_bytes: "" + tx_total_packets: "" + tx_unicast_packets: "" + vlan_access: "" + vlan_mode: "" + ip_address: "" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] + - auto_neg: "" + duplex: "" + error_control: "" + flow_control: "" + hw_type: "Ethernet" + if_type: "" + interface: "vlan3072" + interface_desc: "mgmt" + link_admin: "up" + link_state_info: "" + link_status: "up" + link_transitions: "" + mac_address: "bc:d7:a5:be:a5:00" + mtu: "" + qos_trust: "" + rx_broadcast_packets: "" + rx_crc_fcs: "" + rx_dropped: "" + rx_errors: "" + rx_mcast_packets: "" + rx_total_bytes: "" + rx_total_packets: "" + rx_unicast_packets: "" + speed: "" + tx_broadcast_packets: "" + tx_collision: "" + tx_crc_fcs: "" + tx_dropped: "" + tx_errors: "" + tx_mcast_packets: "" + tx_total_bytes: "" + tx_total_packets: "" + tx_unicast_packets: "" + vlan_access: "" + vlan_mode: "" + ip_address: "10.1.2.1/24" + vlan_trunk: [] + vlan_native: "" + aggregated_interfaces: [] + - auto_neg: "" + duplex: "" + error_control: "" + flow_control: "" + hw_type: "" + if_type: "" + interface: "lag1" + interface_desc: "" + link_admin: "up" + link_state_info: "" + link_status: "up" + link_transitions: "" + mac_address: "bc:d7:a5:be:a5:00" + mtu: "" + qos_trust: "none" + rx_broadcast_packets: "100895386" + rx_crc_fcs: "0" + rx_dropped: "0" + rx_errors: "0" + rx_mcast_packets: "233944065" + rx_total_bytes: "1270418266353" + rx_total_packets: "1539985886" + rx_unicast_packets: "1205146435" + speed: "20000 Mb/s" + tx_broadcast_packets: "2617502" + tx_collision: "0" + tx_crc_fcs: "n/a" + tx_dropped: "17" + tx_errors: "0" + tx_mcast_packets: "1965900" + tx_total_bytes: "191133369646" + tx_total_packets: "581333238" + tx_unicast_packets: "576749836" + vlan_access: "" + vlan_mode: "native-untagged" + ip_address: "" + vlan_trunk: + - "all" + vlan_native: "666" + aggregated_interfaces: + - "1/1/51" + - "1/1/52" diff --git a/tests/aruba_aoscx/show_vlan/show_vlan.raw b/tests/aruba_aoscx/show_vlan/show_vlan.raw new file mode 100644 index 0000000000..471ff6571a --- /dev/null +++ b/tests/aruba_aoscx/show_vlan/show_vlan.raw @@ -0,0 +1,6 @@ +------------------------------------------------------------------------------------------------------------------ +VLAN Name Status Reason Type Interfaces +------------------------------------------------------------------------------------------------------------------ +1 DEFAULT_VLAN_1 up ok default 1/1/34-1/1/52 +3072 mgmt up ok static 1/1/2-1/1/4,1/1/6-1/1/8, + 1/1/17-1/1/19,1/1/47-1/1/52 diff --git a/tests/aruba_aoscx/show_vlan/show_vlan.yml b/tests/aruba_aoscx/show_vlan/show_vlan.yml new file mode 100644 index 0000000000..ba95f29e56 --- /dev/null +++ b/tests/aruba_aoscx/show_vlan/show_vlan.yml @@ -0,0 +1,19 @@ +--- +parsed_sample: + - vlan_id: "1" + vlan_name: "DEFAULT_VLAN_1" + status: "up" + reason: "ok" + type: "default" + interfaces: + - "1/1/34-1/1/52" + - vlan_id: "3072" + vlan_name: "mgmt" + status: "up" + reason: "ok" + type: "static" + interfaces: + - "1/1/2-1/1/4" + - "1/1/6-1/1/8" + - "1/1/17-1/1/19" + - "1/1/47-1/1/52" diff --git a/tests/cisco_asa/ping/cisco_asa_ping_mix.raw b/tests/cisco_asa/ping/cisco_asa_ping_mix.raw new file mode 100644 index 0000000000..f196e4e4e2 --- /dev/null +++ b/tests/cisco_asa/ping/cisco_asa_ping_mix.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +Q..U! +Success rate is 20 percent (1/5), round-trip min/avg/max = 9/9/9 ms diff --git a/tests/cisco_asa/ping/cisco_asa_ping_mix.yml b/tests/cisco_asa/ping/cisco_asa_ping_mix.yml new file mode 100644 index 0000000000..58e4889378 --- /dev/null +++ b/tests/cisco_asa/ping/cisco_asa_ping_mix.yml @@ -0,0 +1,12 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + response_stream: "Q..U!" + success_pct: "20" + success_qty: "1" + rtt_min: "9" + rtt_avg: "9" + rtt_max: "9" diff --git a/tests/cisco_asa/ping/cisco_asa_ping_quench.raw b/tests/cisco_asa/ping/cisco_asa_ping_quench.raw new file mode 100644 index 0000000000..979125ea31 --- /dev/null +++ b/tests/cisco_asa/ping/cisco_asa_ping_quench.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +Q..Q. +Success rate is 0 percent (0/5) diff --git a/tests/cisco_asa/ping/cisco_asa_ping_quench.yml b/tests/cisco_asa/ping/cisco_asa_ping_quench.yml new file mode 100644 index 0000000000..b2b64b9896 --- /dev/null +++ b/tests/cisco_asa/ping/cisco_asa_ping_quench.yml @@ -0,0 +1,12 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + response_stream: "Q..Q." + success_pct: "0" + success_qty: "0" + rtt_min: "" + rtt_avg: "" + rtt_max: "" diff --git a/tests/cisco_asa/ping/cisco_asa_ping_unreachable.raw b/tests/cisco_asa/ping/cisco_asa_ping_unreachable.raw new file mode 100644 index 0000000000..682eb4516c --- /dev/null +++ b/tests/cisco_asa/ping/cisco_asa_ping_unreachable.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +U..U. +Success rate is 0 percent (0/5) diff --git a/tests/cisco_asa/ping/cisco_asa_ping_unreachable.yml b/tests/cisco_asa/ping/cisco_asa_ping_unreachable.yml new file mode 100644 index 0000000000..e3af5f0493 --- /dev/null +++ b/tests/cisco_asa/ping/cisco_asa_ping_unreachable.yml @@ -0,0 +1,12 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + response_stream: "U..U." + success_pct: "0" + success_qty: "0" + rtt_min: "" + rtt_avg: "" + rtt_max: "" diff --git a/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail.yml b/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail.yml index de572a7ab6..e2d47e41e6 100644 --- a/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail.yml +++ b/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail.yml @@ -9,7 +9,7 @@ parsed_sample: control_interface_number: "8" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "LAN Failover Interface" duplex: "Full" @@ -77,7 +77,7 @@ parsed_sample: control_interface_number: "9" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "STATE Failover Interface" duplex: "Full" @@ -145,7 +145,7 @@ parsed_sample: control_interface_number: "10" control_interface_state: "not active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Auto" @@ -213,7 +213,7 @@ parsed_sample: control_interface_number: "11" control_interface_state: "not active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Auto" @@ -281,7 +281,7 @@ parsed_sample: control_interface_number: "12" control_interface_state: "not active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Auto" @@ -349,7 +349,7 @@ parsed_sample: control_interface_number: "13" control_interface_state: "not active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Auto" @@ -417,7 +417,7 @@ parsed_sample: control_interface_number: "2" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -553,7 +553,7 @@ parsed_sample: control_interface_number: "3" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -690,7 +690,7 @@ parsed_sample: control_interface_number: "4" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -827,7 +827,7 @@ parsed_sample: control_interface_number: "5" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -957,7 +957,7 @@ parsed_sample: control_interface_number: "18" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -1025,7 +1025,7 @@ parsed_sample: control_interface_number: "19" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -1093,7 +1093,7 @@ parsed_sample: control_interface_number: "20" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -1161,7 +1161,7 @@ parsed_sample: control_interface_number: "21" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -1229,7 +1229,7 @@ parsed_sample: control_interface_number: "6" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -1297,7 +1297,7 @@ parsed_sample: control_interface_number: "7" control_interface_state: "not active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Auto" @@ -1365,7 +1365,7 @@ parsed_sample: control_interface_number: "14" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -1433,7 +1433,7 @@ parsed_sample: control_interface_number: "15" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "10 usec" description: "" duplex: "Full" @@ -1501,7 +1501,7 @@ parsed_sample: control_interface_number: "16" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "1000 usec" description: "" duplex: "Full" @@ -1569,7 +1569,7 @@ parsed_sample: control_interface_number: "17" control_interface_state: "active" crc: "0" - deffered: "0" + deferred: "0" delay: "1000 usec" description: "" duplex: "Full" @@ -1637,7 +1637,7 @@ parsed_sample: control_interface_number: "23" control_interface_state: "active" crc: "" - deffered: "" + deferred: "" delay: "10 usec" description: "ext" duplex: "Full" @@ -1705,7 +1705,7 @@ parsed_sample: control_interface_number: "" control_interface_state: "" crc: "" - deffered: "" + deferred: "" delay: "10 usec" description: "data-inside" duplex: "" @@ -1773,7 +1773,7 @@ parsed_sample: control_interface_number: "24" control_interface_state: "active" crc: "" - deffered: "" + deferred: "" delay: "1000 usec" description: "techlan" duplex: "Full" @@ -1841,7 +1841,7 @@ parsed_sample: control_interface_number: "" control_interface_state: "" crc: "" - deffered: "" + deferred: "" delay: "1000 usec" description: "data-outside" duplex: "" diff --git a/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail_loopback.raw b/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail_loopback.raw new file mode 100644 index 0000000000..227930b83a --- /dev/null +++ b/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail_loopback.raw @@ -0,0 +1,17 @@ +Interface Virtual0 "_internal_loopback", is up, line protocol is up + Hardware is Virtual MAC address 0000.0000.0000, MTU 1500 + IP address 127.1.0.1, subnet mask 255.255.0.0 + Traffic Statistics for "_internal_loopback": + 1 packets input, 28 bytes + 1 packets output, 28 bytes + 1 packets dropped + 1 minute input rate 0 pkts/sec, 0 bytes/sec + 1 minute output rate 0 pkts/sec, 0 bytes/sec + 1 minute drop rate, 0 pkts/sec + 5 minute input rate 0 pkts/sec, 0 bytes/sec + 5 minute output rate 0 pkts/sec, 0 bytes/sec + 5 minute drop rate, 0 pkts/sec + Control Point Interface States: + Interface number is 16 + Interface config status is active + Interface state is active diff --git a/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail_loopback.yml b/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail_loopback.yml new file mode 100644 index 0000000000..f2fc2da47e --- /dev/null +++ b/tests/cisco_asa/show_interface_detail/cisco_asa_show_interface_detail_loopback.yml @@ -0,0 +1,70 @@ +--- +parsed_sample: + - abort: "" + bandwidth: "" + bonded_port: "" + broadcasts: "" + collisions: "" + control_interface_config_status: "active" + control_interface_number: "16" + control_interface_state: "active" + crc: "" + deferred: "" + delay: "" + description: "" + duplex: "" + flowcontrol_in: "" + flowcontrol_out: "" + frame: "" + giants: "" + hardware_type: "Virtual " + ignored: "" + in_bytes: "28" + in_errors: "" + in_packets: "1" + in_pause: "" + in_pause_resume: "" + in_reset_drops: "" + in_resume: "" + interface: "Virtual0" + interface_name: "_internal_loopback" + interface_resets: "" + ip_address: "127.1.0.1" + l2_decode_drops: "" + late_collisions: "" + link_status: "up" + mac_address: "0000.0000.0000" + mtu: "1500" + netmask: "255.255.0.0" + no_buffer: "" + out_bytes: "28" + out_decode_drops: "" + out_errors: "" + out_packets: "1" + out_pause: "" + out_pause_resume: "" + out_reset_drops: "" + out_resume: "" + overrun: "" + protocol_status: "up" + rate_limit_drops: "" + runts: "" + rxring_blocks_free_curr: [] + rxring_blocks_free_low: [] + rxring_bytes: [] + rxring_interface: [] + rxring_number: [] + rxring_overrun: [] + rxring_packets: [] + speed: "" + switch_egress_policy_drops: "" + switch_ingress_policy_drops: "" + txring_blocks_free_curr: [] + txring_blocks_free_low: [] + txring_bytes: [] + txring_interface: [] + txring_number: [] + txring_packets: [] + txring_underrun: [] + underruns: "" + vlan_id: "" diff --git a/tests/cisco_ios/ping/cisco_ios_ping_mix.raw b/tests/cisco_ios/ping/cisco_ios_ping_mix.raw new file mode 100644 index 0000000000..f196e4e4e2 --- /dev/null +++ b/tests/cisco_ios/ping/cisco_ios_ping_mix.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +Q..U! +Success rate is 20 percent (1/5), round-trip min/avg/max = 9/9/9 ms diff --git a/tests/cisco_ios/ping/cisco_ios_ping_mix.yml b/tests/cisco_ios/ping/cisco_ios_ping_mix.yml new file mode 100644 index 0000000000..17cb6885b1 --- /dev/null +++ b/tests/cisco_ios/ping/cisco_ios_ping_mix.yml @@ -0,0 +1,14 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + source: "" + response_stream: + - "Q..U!" + success_pct: "20" + success_qty: "1" + rtt_min: "9" + rtt_avg: "9" + rtt_max: "9" diff --git a/tests/cisco_ios/ping/cisco_ios_ping_quench.raw b/tests/cisco_ios/ping/cisco_ios_ping_quench.raw new file mode 100644 index 0000000000..979125ea31 --- /dev/null +++ b/tests/cisco_ios/ping/cisco_ios_ping_quench.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +Q..Q. +Success rate is 0 percent (0/5) diff --git a/tests/cisco_ios/ping/cisco_ios_ping_quench.yml b/tests/cisco_ios/ping/cisco_ios_ping_quench.yml new file mode 100644 index 0000000000..ef631f8484 --- /dev/null +++ b/tests/cisco_ios/ping/cisco_ios_ping_quench.yml @@ -0,0 +1,14 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + source: "" + response_stream: + - "Q..Q." + success_pct: "0" + success_qty: "0" + rtt_min: "" + rtt_avg: "" + rtt_max: "" diff --git a/tests/cisco_ios/ping/cisco_ios_ping_unreachable.raw b/tests/cisco_ios/ping/cisco_ios_ping_unreachable.raw new file mode 100644 index 0000000000..682eb4516c --- /dev/null +++ b/tests/cisco_ios/ping/cisco_ios_ping_unreachable.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +U..U. +Success rate is 0 percent (0/5) diff --git a/tests/cisco_ios/ping/cisco_ios_ping_unreachable.yml b/tests/cisco_ios/ping/cisco_ios_ping_unreachable.yml new file mode 100644 index 0000000000..74abcc87ae --- /dev/null +++ b/tests/cisco_ios/ping/cisco_ios_ping_unreachable.yml @@ -0,0 +1,14 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + source: "" + response_stream: + - "U..U." + success_pct: "0" + success_qty: "0" + rtt_min: "" + rtt_avg: "" + rtt_max: "" diff --git a/tests/cisco_ios/show_interfaces_description/cisco_ios_show_interfaces_description.yml b/tests/cisco_ios/show_interfaces_description/cisco_ios_show_interfaces_description.yml index 1fec37a0be..d51ff274d4 100644 --- a/tests/cisco_ios/show_interfaces_description/cisco_ios_show_interfaces_description.yml +++ b/tests/cisco_ios/show_interfaces_description/cisco_ios_show_interfaces_description.yml @@ -1,62 +1,62 @@ --- parsed_sample: - - port: "Vl1" - status: "admin down" + - description: "" + port: "Vl1" protocol: "down" - descrip: "" - - port: "Vl99" - status: "up" + status: "admin down" + - description: "10.20.99.0_Switch_mgmt_VLAN" + port: "Vl99" protocol: "up" - descrip: "10.20.99.0_Switch_mgmt_VLAN" - - port: "Gi0/1" - status: "down" + status: "up" + - description: "D3 USER" + port: "Gi0/1" protocol: "down" - descrip: "D3 USER" - - port: "Gi0/2" status: "down" + - description: "D3 USER" + port: "Gi0/2" protocol: "down" - descrip: "D3 USER" - - port: "Gi0/3" status: "down" + - description: "D3 USER" + port: "Gi0/3" protocol: "down" - descrip: "D3 USER" - - port: "Gi0/4" status: "down" + - description: "D3 USER" + port: "Gi0/4" protocol: "down" - descrip: "D3 USER" - - port: "Gi0/5" status: "down" + - description: "D3 USER" + port: "Gi0/5" protocol: "down" - descrip: "D3 USER" - - port: "Gi0/6" status: "down" + - description: "D3 USER" + port: "Gi0/6" protocol: "down" - descrip: "D3 USER" - - port: "Gi0/7" status: "down" + - description: "D3 USER" + port: "Gi0/7" protocol: "down" - descrip: "D3 USER" - - port: "Gi0/8" - status: "up" + status: "down" + - description: "MERAKI TEST AP" + port: "Gi0/8" protocol: "up" - descrip: "MERAKI TEST AP" - - port: "Gi0/9" - status: "admin down" - protocol: "down" - descrip: "" - - port: "Gi0/10" status: "up" - protocol: "up" - descrip: "UPLINK TO TULCCD3S01P" - - port: "Gi0/10.10" - status: "deleted" + - description: "" + port: "Gi0/9" protocol: "down" - descrip: "" - - port: "Gi0/10.20" + status: "admin down" + - description: "UPLINK TO TULCCD3S01P" + port: "Gi0/10" + protocol: "up" status: "up" + - description: "" + port: "Gi0/10.10" + protocol: "down" + status: "deleted" + - description: "Carrier VLAN" + port: "Gi0/10.20" protocol: "up" - descrip: "Carrier VLAN" - - port: "Gi0/10.30" - status: "reset" + status: "up" + - description: "Garbage" + port: "Gi0/10.30" protocol: "down" - descrip: "Garbage" + status: "reset" diff --git a/tests/cisco_ios/show_interfaces_status/cisco_ios_show_interfaces_status.raw b/tests/cisco_ios/show_interfaces_status/cisco_ios_show_interfaces_status.raw index 4235c61622..02a2d59afc 100644 --- a/tests/cisco_ios/show_interfaces_status/cisco_ios_show_interfaces_status.raw +++ b/tests/cisco_ios/show_interfaces_status/cisco_ios_show_interfaces_status.raw @@ -19,5 +19,6 @@ Gi1/0/17 Multi Space disabled 16 a-half auto 10/100BaseTX Gi1/0/18 Monitoring Port monitoring routed a-full auto 10/100/1000BaseT Gi1/0/19 No Description notconnect: 1 a-full a-100 10/100/1000BaseTX Gi1/0/20 No Description connected: 1 a-full a-100 10/100/1000BaseTX +Gi1/0/21 Monitoring Port monitoring unassigned a-full auto 10/100/1000BaseT Fa1/6 test notconnect 1 auto auto 10/100BaseTX Po1 ethchl connected trunk a-full a-1000 diff --git a/tests/cisco_ios/show_interfaces_status/cisco_ios_show_interfaces_status.yml b/tests/cisco_ios/show_interfaces_status/cisco_ios_show_interfaces_status.yml index 98fb39eb13..e2fe22d550 100644 --- a/tests/cisco_ios/show_interfaces_status/cisco_ios_show_interfaces_status.yml +++ b/tests/cisco_ios/show_interfaces_status/cisco_ios_show_interfaces_status.yml @@ -160,6 +160,14 @@ parsed_sample: status: "connected" type: "10/100/1000BaseTX" vlan_id: "1" + - duplex: "a-full" + fc_mode: "" + name: "Monitoring Port" + port: "Gi1/0/21" + speed: "auto" + status: "monitoring" + type: "10/100/1000BaseT" + vlan_id: "unassigned" - duplex: "auto" fc_mode: "" name: "test" diff --git a/tests/cisco_ios/show_rep_topology/cisco_ios_show_rep_topology.raw b/tests/cisco_ios/show_rep_topology/cisco_ios_show_rep_topology.raw new file mode 100644 index 0000000000..8f2364bd11 --- /dev/null +++ b/tests/cisco_ios/show_rep_topology/cisco_ios_show_rep_topology.raw @@ -0,0 +1,5 @@ +REP Segment 1 +BridgeName PortName Edge Role +---------------- ---------- ---- ---- +Switch01 Fa0/2 Pri Alt +Switch02 Fa1/0/23 Sec Open \ No newline at end of file diff --git a/tests/cisco_ios/show_rep_topology/cisco_ios_show_rep_topology.yml b/tests/cisco_ios/show_rep_topology/cisco_ios_show_rep_topology.yml new file mode 100644 index 0000000000..48e8bd2eb6 --- /dev/null +++ b/tests/cisco_ios/show_rep_topology/cisco_ios_show_rep_topology.yml @@ -0,0 +1,10 @@ +--- +parsed_sample: + - edge: "Pri" + interface: "Fa0/2" + role: "Alt" + switch: "Switch01" + - edge: "Sec" + interface: "Fa1/0/23" + role: "Open" + switch: "Switch02" diff --git a/tests/cisco_nxos/show_hardware_internal_bigsur_all-ports_detail/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail_1.raw b/tests/cisco_nxos/show_hardware_internal_bigsur_all-ports_detail/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail_1.raw new file mode 100644 index 0000000000..0b89e6a052 --- /dev/null +++ b/tests/cisco_nxos/show_hardware_internal_bigsur_all-ports_detail/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail_1.raw @@ -0,0 +1,730 @@ + +Bigsur port sup1 card-config info: + if_index : 0x15010000 + instance index : 0 + instance slot : 17 + instance asic : 0 + asic_eport : 0 + logical_port : 0 + front_port : 0 + state : va swi hw1 hw2 hwf + bigsur eport : 0 + port_type : sup-hi(1) + type : 5 + fw_instance : 0 + speed : 1 + +Bigsur port sup1 port-client-config info: + admin_state : en(1) + mtu : 2280 + duplexity : full(2) + auto_neg_state : (on)1 + Fast 1G AN timer is: on + speed : 1000 + debounce time : 100ms + linkup_debounce time : 0ms + sat_fabric_mode : off(0x0) + port_flow_ctrl : 0 + class_flow_ctrl7-0 : 0000 0000 + class_flow_ctrl msk: rx 0x0, tx 0x0 +Bigsur port sup1 port-oper info: + link_state : dn(2) + oper speed : 1000 + oper duplexity : full(2) + oper port_flow_ctrl: 0 + up count : 0 + down count : 0 + +Bigsur port sup1 miscellaneous info: + slot : 17 + mm_inst : 0 + mm_mode : SUP + diag sts : pass + mac status polling : 0 + +Clause 73 AN: + AN state : 0 (AN_ST_IDLE) + AN timer : 0h + Link Fail Inhibit timer: 0h + AN disabled : 0 + +MM Port Bring Up state-machine: + MM port state : 15 (PORT_ST_ENABLED) + MM port timer : 0h + +Remote fault disable : 0 +Adaptive tuning disable : 0 +Link recovery disable : 0 +Link bring down disable : 0 +DFE tuning disable : 0 +Force QSFP removal : 0 +Force QSFP insertion : 0 +Force QSFP fiber type : 0 +Force QSFP copper type : 0 + + +SBus addresses: + Serdes : 47 (2fh) + DFE Tune result : + + FI block lock 0h: f + FI block lock 1h: f + FI block lock 2h: f + FI block lock 3h: f + +MAC statistics: +MAC Statistic | Value +-------------------------------+----------------------------------- +TX_PKT_SIZE_LT_64 | 0 +TX_PKT_SIZE_IS_64 | 0 +TX_PKT_SIZE_IS_65_TO_127 | 2823262146 +TX_PKT_SIZE_IS_128_TO_255 | 4795287371 +TX_PKT_SIZE_IS_256_TO_511 | 117237451 +TX_PKT_SIZE_IS_512_TO_1023 | 36844691 +TX_PKT_SIZE_IS_1024_TO_1518 | 1414252162 +TX_PKT_SIZE_IS_1519_TO_2047 | 79288810 +TX_PKT_SIZE_IS_2048_TO_4095 | 0 +TX_PKT_SIZE_IS_4095_TO_8191 | 0 +TX_PKT_SIZE_IS_8192_TO_9216 | 0 +TX_PKT_SIZE_GT_9216 | 0 +TX_PKT_TOTAL | 13561139927 +TX_PKT_OCTETS | 4246363557157 +TX_PKT_GOOD | 13561139369 +TX_PKT_UCAST | 211 +TX_PKT_MCAST | 13561139158 +TX_PKT_BCAST | 0 +TX_PKT_VLAN | 0 +TX_PKT_802.3x_PAUSE | 0 +TX_PKT_PER_PRIORITY_PAUSE | 0 +TX_PKT_FRAME_ERROR | 558 +RX_PKT_SIZE_LT_64 | 0 +RX_PKT_SIZE_IS_64 | 0 +RX_PKT_SIZE_IS_65_TO_127 | 779403235 +RX_PKT_SIZE_IS_128_TO_255 | 247806975 +RX_PKT_SIZE_IS_256_TO_511 | 46761364 +RX_PKT_SIZE_IS_512_TO_1023 | 650380 +RX_PKT_SIZE_IS_1024_TO_1518 | 148887 +RX_PKT_SIZE_IS_1519_TO_2047 | 0 +RX_PKT_SIZE_IS_2048_TO_4095 | 0 +RX_PKT_SIZE_IS_4095_TO_8191 | 0 +RX_PKT_SIZE_IS_8192_TO_9216 | 0 +RX_PKT_SIZE_GT_9216 | 0 +RX_PKT_TOTAL | 1074770841 +RX_PKT_OCTETS | 130446639665 +RX_PKT_GOOD | 7488 +RX_PKT_UCAST | 0 +RX_PKT_MCAST | 7488 +RX_PKT_BCAST | 0 +RX_PKT_VLAN | 0 +RX_PKT_OVERSIZE | 0 +RX_PKT_TOOLONG | 0 +RX_PKT_DISCARD | 0 +RX_PKT_UNDERSIZE | 0 +RX_PKT_FRAGMENT | 0 +RX_PKT_CRC_NOT_STOMPED | 0 +RX_PKT_CRC_STOMPED | 0 +RX_PKT_IN_RANGE_ERR | 1074763353 +RX_PKT_JABBER | 0 +RX_PKT_802.3x_PAUSE | 0 +RX_PKT_PER_PRIORITY_PAUSE | 0 +TX_PKT_GOOD_OCTETS | 4246363466864 +RX_PKT_GOOD_OCTETS | 3784988 +Done. + +Bigsur port sup0 card-config info: + if_index : 0x15020000 + instance index : 0 + instance slot : 17 + instance asic : 0 + asic_eport : 1 + logical_port : 1 + front_port : 0 + state : va swi hw1 hw2 hwf + bigsur eport : 1 + port_type : sup-lo(2) + type : 5 + fw_instance : 1 + speed : 1 + +Bigsur port sup0 port-client-config info: + admin_state : en(1) + mtu : 2280 + duplexity : full(2) + auto_neg_state : (on)1 + Fast 1G AN timer is: on + speed : 1000 + debounce time : 100ms + linkup_debounce time : 0ms + sat_fabric_mode : off(0x0) + port_flow_ctrl : 0 + class_flow_ctrl7-0 : 0000 0000 + class_flow_ctrl msk: rx 0x0, tx 0x0 +Bigsur port sup0 port-oper info: + link_state : dn(2) + oper speed : 1000 + oper duplexity : full(2) + oper port_flow_ctrl: 0 + up count : 0 + down count : 0 + +Bigsur port sup0 miscellaneous info: + slot : 17 + mm_inst : 1 + mm_mode : SUP + diag sts : pass + mac status polling : 0 + +Clause 73 AN: + AN state : 0 (AN_ST_IDLE) + AN timer : 0h + Link Fail Inhibit timer: 0h + AN disabled : 0 + +MM Port Bring Up state-machine: + MM port state : 15 (PORT_ST_ENABLED) + MM port timer : 0h + +Remote fault disable : 0 +Adaptive tuning disable : 0 +Link recovery disable : 0 +Link bring down disable : 0 +DFE tuning disable : 0 +Force QSFP removal : 0 +Force QSFP insertion : 0 +Force QSFP fiber type : 0 +Force QSFP copper type : 0 + + +SBus addresses: + Serdes : 49 (31h) + DFE Tune result : + + FI block lock 0h: f + FI block lock 1h: f + FI block lock 2h: f + FI block lock 3h: f + +MAC statistics: +MAC Statistic | Value +-------------------------------+----------------------------------- +TX_PKT_SIZE_LT_64 | 0 +TX_PKT_SIZE_IS_64 | 0 +TX_PKT_SIZE_IS_65_TO_127 | 0 +TX_PKT_SIZE_IS_128_TO_255 | 0 +TX_PKT_SIZE_IS_256_TO_511 | 0 +TX_PKT_SIZE_IS_512_TO_1023 | 0 +TX_PKT_SIZE_IS_1024_TO_1518 | 0 +TX_PKT_SIZE_IS_1519_TO_2047 | 0 +TX_PKT_SIZE_IS_2048_TO_4095 | 0 +TX_PKT_SIZE_IS_4095_TO_8191 | 0 +TX_PKT_SIZE_IS_8192_TO_9216 | 0 +TX_PKT_SIZE_GT_9216 | 0 +TX_PKT_TOTAL | 0 +TX_PKT_OCTETS | 0 +TX_PKT_GOOD | 0 +TX_PKT_UCAST | 0 +TX_PKT_MCAST | 0 +TX_PKT_BCAST | 0 +TX_PKT_VLAN | 0 +TX_PKT_802.3x_PAUSE | 0 +TX_PKT_PER_PRIORITY_PAUSE | 0 +TX_PKT_FRAME_ERROR | 0 +RX_PKT_SIZE_LT_64 | 0 +RX_PKT_SIZE_IS_64 | 0 +RX_PKT_SIZE_IS_65_TO_127 | 232035201 +RX_PKT_SIZE_IS_128_TO_255 | 78530597 +RX_PKT_SIZE_IS_256_TO_511 | 49134037 +RX_PKT_SIZE_IS_512_TO_1023 | 2680457976 +RX_PKT_SIZE_IS_1024_TO_1518 | 150725864 +RX_PKT_SIZE_IS_1519_TO_2047 | 69560111 +RX_PKT_SIZE_IS_2048_TO_4095 | 0 +RX_PKT_SIZE_IS_4095_TO_8191 | 0 +RX_PKT_SIZE_IS_8192_TO_9216 | 0 +RX_PKT_SIZE_GT_9216 | 0 +RX_PKT_TOTAL | 3260443786 +RX_PKT_OCTETS | 2176458795398 +RX_PKT_GOOD | 64 +RX_PKT_UCAST | 0 +RX_PKT_MCAST | 64 +RX_PKT_BCAST | 0 +RX_PKT_VLAN | 0 +RX_PKT_OVERSIZE | 0 +RX_PKT_TOOLONG | 0 +RX_PKT_DISCARD | 0 +RX_PKT_UNDERSIZE | 0 +RX_PKT_FRAGMENT | 0 +RX_PKT_CRC_NOT_STOMPED | 0 +RX_PKT_CRC_STOMPED | 0 +RX_PKT_IN_RANGE_ERR | 3260443722 +RX_PKT_JABBER | 0 +RX_PKT_802.3x_PAUSE | 0 +RX_PKT_PER_PRIORITY_PAUSE | 0 +TX_PKT_GOOD_OCTETS | 0 +RX_PKT_GOOD_OCTETS | 5602 +Done. + +Bigsur port 40gb1/1 card-config info: + if_index : 0x1a070000 + instance index : 1 + instance slot : 0 + instance asic : 0 + asic_eport : 0 + logical_port : 0 + front_port : 0 + state : va swi hw1 hw2 hwf + bigsur eport : 0 + port_type : 40gbe(12) + type : 6 + fw_instance : 0 + speed : 5 + +Bigsur port 40gb1/1 port-client-config info: + admin_state : en(1) + mtu : 9260 + duplexity : full(2) + auto_neg_state : (off)2 + Fast 1G AN timer is: on + speed : 40000 + debounce time : 100ms + linkup_debounce time : 0ms + sat_fabric_mode : off(0x0) + port_flow_ctrl : 0 + class_flow_ctrl7-0 : 0000 0000 + class_flow_ctrl msk: rx 0x0, tx 0x0 +Bigsur port 40gb1/1 port-oper info: + link_state : up(1) + oper speed : 40000 + oper duplexity : full(2) + oper port_flow_ctrl: 0 + up count : 1 + down count : 0 + +Bigsur port 40gb1/1 miscellaneous info: + slot : 0 + mm_inst : 0 + mm_mode : 40G + diag sts : pass + mac status polling : 1 + +Clause 73 AN: + AN state : 0 (AN_ST_IDLE) + AN timer : 0h + Link Fail Inhibit timer: 0h + AN disabled : 0 + +MM Port Bring Up state-machine: + MM port state : 15 (PORT_ST_ENABLED) + MM port timer : 0h + +Remote fault disable : 0 +Adaptive tuning disable : 0 +Link recovery disable : 0 +Link bring down disable : 0 +DFE tuning disable : 0 +Force QSFP removal : 0 +Force QSFP insertion : 0 +Force QSFP fiber type : 0 +Force QSFP copper type : 0 + + +SBus addresses: + Serdes lanes 0-3 : 47 (2fh), 49 (31h), 51 (33h), 53 (35h) + DFE Tune result : + Lane 0: + <0 0.ln0>:DFE A: 92 0x 0 0-2 1 1 41 -2 + <0 0.ln0>:DFE B: 93 0x 0 0-1 0-1 41 1 + <0 0.ln0> DFE Tune [0x67-B,D]: 98426/33/88226/21/5d005c 0 + Lane 1: + <0 0.ln1>:DFE A: 98 0x-3 0-4 1 0 30 1 + <0 0.ln1>:DFE B: 97 0x 1 0-5 0 0 30 1 + <0 0.ln1> DFE Tune [0x67-B,D]: 240b0402/1/20b8002/1/610062 0 + Lane 2: + <0 0.ln2>:DFE A: 90 0x-6 1-3 0 0 31 -1 + <0 0.ln2>:DFE B: 92 0x-6 0-2-1 0 31 0 + <0 0.ln2> DFE Tune [0x67-B,D]: 2b190002/31/2a09c402/20/5c005a 0 + Lane 3: + <0 0.ln3>:DFE A: 101 0x-9 0-3 1 0 01 -1 + <0 0.ln3>:DFE B: 95 0x-8 0-4 1 0 01 -5 + <0 0.ln3> DFE Tune [0x67-B,D]: 3a090400/31/380b0400/37/5f0065 0 + + FI block lock 0h: f + FI block lock 1h: f + FI block lock 2h: f + FI block lock 3h: f + +MAC statistics: +MAC Statistic | Value +-------------------------------+----------------------------------- +TX_PKT_SIZE_LT_64 | 0 +TX_PKT_SIZE_IS_64 | 18664463 +TX_PKT_SIZE_IS_65_TO_127 | 238330564005 +TX_PKT_SIZE_IS_128_TO_255 | 208519091965 +TX_PKT_SIZE_IS_256_TO_511 | 52508123590 +TX_PKT_SIZE_IS_512_TO_1023 | 31784748589 +TX_PKT_SIZE_IS_1024_TO_1518 | 68228288123 +TX_PKT_SIZE_IS_1519_TO_2047 | 655538327602 +TX_PKT_SIZE_IS_2048_TO_4095 | 12004245922 +TX_PKT_SIZE_IS_4095_TO_8191 | 52439440105 +TX_PKT_SIZE_IS_8192_TO_9216 | 103249777669 +TX_PKT_SIZE_GT_9216 | 0 +TX_PKT_TOTAL | 1422621272033 +TX_PKT_OCTETS | 2416042841135777 +TX_PKT_GOOD | 1422621272034 +TX_PKT_UCAST | 1422526412248 +TX_PKT_MCAST | 94859785 +TX_PKT_BCAST | 1 +TX_PKT_VLAN | 0 +TX_PKT_802.3x_PAUSE | 0 +TX_PKT_PER_PRIORITY_PAUSE | 0 +TX_PKT_FRAME_ERROR | 0 +RX_PKT_SIZE_LT_64 | 0 +RX_PKT_SIZE_IS_64 | 13493183 +RX_PKT_SIZE_IS_65_TO_127 | 242229594382 +RX_PKT_SIZE_IS_128_TO_255 | 170715085186 +RX_PKT_SIZE_IS_256_TO_511 | 52962213518 +RX_PKT_SIZE_IS_512_TO_1023 | 15954313004 +RX_PKT_SIZE_IS_1024_TO_1518 | 154045143557 +RX_PKT_SIZE_IS_1519_TO_2047 | 748698164670 +RX_PKT_SIZE_IS_2048_TO_4095 | 11890366490 +RX_PKT_SIZE_IS_4095_TO_8191 | 55672237707 +RX_PKT_SIZE_IS_8192_TO_9216 | 103016468728 +RX_PKT_SIZE_GT_9216 | 0 +RX_PKT_TOTAL | 1555197080425 +RX_PKT_OCTETS | 2684618846662334 +RX_PKT_GOOD | 1555196893875 +RX_PKT_UCAST | 1268271913848 +RX_PKT_MCAST | 271281819207 +RX_PKT_BCAST | 15643160820 +RX_PKT_VLAN | 0 +RX_PKT_OVERSIZE | 0 +RX_PKT_TOOLONG | 0 +RX_PKT_DISCARD | 0 +RX_PKT_UNDERSIZE | 0 +RX_PKT_FRAGMENT | 0 +RX_PKT_CRC_NOT_STOMPED | 315 +RX_PKT_CRC_STOMPED | 186235 +RX_PKT_IN_RANGE_ERR | 0 +RX_PKT_JABBER | 0 +RX_PKT_802.3x_PAUSE | 0 +RX_PKT_PER_PRIORITY_PAUSE | 0 +TX_PKT_GOOD_OCTETS | 2416042841147997 +RX_PKT_GOOD_OCTETS | 2684618748170285 + + +XCVR port info: +Card Config info + logical_port : 0 + sfp_ctrl_bigsur : 0 + sfp_ctrl_port : 0 + phy_bigsur : 0 + phy_mdio_addr : 0 + phy_mdio_master : 1 + phy_reset_bigsur : 0 + phy_reset_spio : 0 + phy_prom_shared : 0 + Serdes txdata[0] : 0x0 + Serdes txdata[1] : 0x0 + Serdes txdata[2] : 0x0 + Serdes txdata[3] : 0x0 + phy_pmd_tx[0] : 0x0 + phy_pmd_tx[1] : 0x0 + phy_pmd_tx[2] : 0x0 +Dev address info + pma_pmd_devaddr : 1 + pcs_devaddr : 3 + phyxs_devaddr : 4 + xcvr_devaddr : 1 +Misc info + phy_present : 0 + phy_type : 0 + sfp_acc_type : 8 + dfe_timer : 0 + dfe_timer_running : 0 + init_wait_count : 0 + do_tx_disable_clr : 0 + tx_disable_clr_cnt : 0 + qsa_status : 0 + Connector type : FIBER + usb_bus_num : 1 + usb_dev_num : 8 + usb_priv : available + Reset done : N +Xcvr flags + XCVR_FLAG_PRESENT : Y + XCVR_FLAG_XCVR_NOT_SFP : Y + XCVR_FLAG_10G_CAPABLE : Y + XCVR_FLAG_CKSUM_OK : Y + XCVR_FLAG_SECURITY_CRC_OK : Y + XCVR_FLAG_CISCO_CHK_OK : N + XCVR_FLAG_DDM_CAPABLE : N + XCVR_FLAG_PMA_PMD_PRESENT : N + XCVR_FLAG_PCS_PRESENT : N + XCVR_FLAG_PHYXS_PRESENT : N + XCVR_FLAG_XCVR_OPERATIONAL : Y + XCVR_FLAG_PMA_PMD_LOW_PWR_MODE : N + XCVR_FLAG_PCS_LOW_PWR_MODE : N + XCVR_FLAG_PHYXS_LOW_PWR_MODE : N + XCVR_FLAG_LINK_UP : Y + XCVR_FLAG_TYPE_FIBER : Y + XCVR_FLAG_SPROM_READ_OK : Y +Link states:HF-HwFailure, ED-ErrDisabled, DB-Debounced, UP and DN-Down + +Port 0/0: +State: UP +XCVR insert debounce timer not running +XCVR link debounce timer not running +XCVR linkup debounce timer not running +XCVR presence detect timer running +TX enable signal is off +Debounce timeout: 0.030 seconds + +Linkup Debounce timeout: 0.000 seconds + +Link up : 941735 usecs after Sun Oct 27 06:14:48 2019 +Link dn debounce start : 0 usecs after Thu Jan 1 00:00:00 1970 +Link debounce end : 0 usecs after Thu Jan 1 00:00:00 1970 + +Counters: + Interrupt cntrs: + Bit error cntrs: + Bit Error Rate: 0x0000000000000000 Bit Error Rate(since linkup): 0x00000000 + Error blocks : 0x0000000000000000 Error blocks(since linkup) : 0x00000000 + Link cntrs: + Link up: 0x1 (1) + Link dn: 0x0 (0) + Link debounced with link up: 0x0 (0) + Link debounced with link up since last enable: 0x0 (0) +Done. + +Bigsur port 40gb1/2 card-config info: + if_index : 0x1a071000 + instance index : 1 + instance slot : 0 + instance asic : 0 + asic_eport : 1 + logical_port : 1 + front_port : 1 + state : va swi hw1 hw2 hwf + bigsur eport : 1 + port_type : 40gbe(12) + type : 6 + fw_instance : 4 + speed : 5 + +Bigsur port 40gb1/2 port-client-config info: + admin_state : en(1) + mtu : 9260 + duplexity : full(2) + auto_neg_state : (off)2 + Fast 1G AN timer is: on + speed : 40000 + debounce time : 100ms + linkup_debounce time : 0ms + sat_fabric_mode : off(0x0) + port_flow_ctrl : 0 + class_flow_ctrl7-0 : 0000 0000 + class_flow_ctrl msk: rx 0x0, tx 0x0 +Bigsur port 40gb1/2 port-oper info: + link_state : up(1) + oper speed : 40000 + oper duplexity : full(2) + oper port_flow_ctrl: 0 + up count : 1 + down count : 0 + +Bigsur port 40gb1/2 miscellaneous info: + slot : 0 + mm_inst : 1 + mm_mode : 40G + diag sts : pass + mac status polling : 1 + +Clause 73 AN: + AN state : 0 (AN_ST_IDLE) + AN timer : 0h + Link Fail Inhibit timer: 0h + AN disabled : 0 + +MM Port Bring Up state-machine: + MM port state : 15 (PORT_ST_ENABLED) + MM port timer : 0h + +Remote fault disable : 0 +Adaptive tuning disable : 0 +Link recovery disable : 0 +Link bring down disable : 0 +DFE tuning disable : 0 +Force QSFP removal : 0 +Force QSFP insertion : 0 +Force QSFP fiber type : 0 +Force QSFP copper type : 0 + + +SBus addresses: + Serdes lanes 0-3 : 55 (37h), 57 (39h), 59 (3bh), 61 (3dh) + DFE Tune result : + Lane 0: + <0 0.ln4>:DFE A: 97 0x-3 0-1 0 0 40 -2 + <0 0.ln4>:DFE B: 100 0x-2 0-2 1 0 40 -1 + <0 0.ln4> DFE Tune [0x67-B,D]: 24088006/13/26098406/11/640061 0 + Lane 1: + <0 0.ln5>:DFE A: 98 0x-6 0-5 1 0 01 0 + <0 0.ln5>:DFE B: 100 0x-8 0-5 1 0 01 1 + <0 0.ln5> DFE Tune [0x67-B,D]: 2a0b8400/20/380b8400/21/640062 0 + Lane 2: + <0 0.ln6>:DFE A: 95 0x-4 0-2 0 0 41 1 + <0 0.ln6>:DFE B: 90 0x-1 0-3 0-1 41 1 + <0 0.ln6> DFE Tune [0x67-B,D]: 2c098006/21/22090226/21/5a005f 0 + Lane 3: + <0 0.ln7>:DFE A: 102 0x-9 0-3 2 1 01 0 + <0 0.ln7>:DFE B: 103 0x-b 0 0 0 0 01 0 + <0 0.ln7> DFE Tune [0x67-B,D]: 3a090c20/20/3c000000/20/670066 0 + + FI block lock 0h: f + FI block lock 1h: f + FI block lock 2h: f + FI block lock 3h: f + +MAC statistics: +MAC Statistic | Value +-------------------------------+----------------------------------- +TX_PKT_SIZE_LT_64 | 0 +TX_PKT_SIZE_IS_64 | 0 +TX_PKT_SIZE_IS_65_TO_127 | 221696905275 +TX_PKT_SIZE_IS_128_TO_255 | 194761555926 +TX_PKT_SIZE_IS_256_TO_511 | 52118735247 +TX_PKT_SIZE_IS_512_TO_1023 | 28101578047 +TX_PKT_SIZE_IS_1024_TO_1518 | 51755254532 +TX_PKT_SIZE_IS_1519_TO_2047 | 708624997790 +TX_PKT_SIZE_IS_2048_TO_4095 | 12210800606 +TX_PKT_SIZE_IS_4095_TO_8191 | 47301205375 +TX_PKT_SIZE_IS_8192_TO_9216 | 101005431860 +TX_PKT_SIZE_GT_9216 | 0 +TX_PKT_TOTAL | 1417576464658 +TX_PKT_OCTETS | 2423284879830834 +TX_PKT_GOOD | 1417576464659 +TX_PKT_UCAST | 1416864425571 +TX_PKT_MCAST | 388555955 +TX_PKT_BCAST | 323483133 +TX_PKT_VLAN | 0 +TX_PKT_802.3x_PAUSE | 0 +TX_PKT_PER_PRIORITY_PAUSE | 0 +TX_PKT_FRAME_ERROR | 0 +RX_PKT_SIZE_LT_64 | 0 +RX_PKT_SIZE_IS_64 | 13723786 +RX_PKT_SIZE_IS_65_TO_127 | 236486911378 +RX_PKT_SIZE_IS_128_TO_255 | 181809874494 +RX_PKT_SIZE_IS_256_TO_511 | 58190299575 +RX_PKT_SIZE_IS_512_TO_1023 | 15742772244 +RX_PKT_SIZE_IS_1024_TO_1518 | 94593384424 +RX_PKT_SIZE_IS_1519_TO_2047 | 548720562260 +RX_PKT_SIZE_IS_2048_TO_4095 | 12264718059 +RX_PKT_SIZE_IS_4095_TO_8191 | 54765198272 +RX_PKT_SIZE_IS_8192_TO_9216 | 103065149039 +RX_PKT_SIZE_GT_9216 | 0 +RX_PKT_TOTAL | 1305652593531 +RX_PKT_OCTETS | 2287031513403995 +RX_PKT_GOOD | 1305652327716 +RX_PKT_UCAST | 1035478421252 +RX_PKT_MCAST | 259688831694 +RX_PKT_BCAST | 10485074770 +RX_PKT_VLAN | 0 +RX_PKT_OVERSIZE | 0 +RX_PKT_TOOLONG | 0 +RX_PKT_DISCARD | 0 +RX_PKT_UNDERSIZE | 0 +RX_PKT_FRAGMENT | 0 +RX_PKT_CRC_NOT_STOMPED | 5 +RX_PKT_CRC_STOMPED | 265810 +RX_PKT_IN_RANGE_ERR | 0 +RX_PKT_JABBER | 0 +RX_PKT_802.3x_PAUSE | 0 +RX_PKT_PER_PRIORITY_PAUSE | 0 +TX_PKT_GOOD_OCTETS | 2423284879835690 +RX_PKT_GOOD_OCTETS | 2287031285388567 + + +XCVR port info: +Card Config info + logical_port : 1 + sfp_ctrl_bigsur : 0 + sfp_ctrl_port : 1 + phy_bigsur : 0 + phy_mdio_addr : 0 + phy_mdio_master : 1 + phy_reset_bigsur : 0 + phy_reset_spio : 0 + phy_prom_shared : 0 + Serdes txdata[0] : 0x0 + Serdes txdata[1] : 0x0 + Serdes txdata[2] : 0x0 + Serdes txdata[3] : 0x0 + phy_pmd_tx[0] : 0x0 + phy_pmd_tx[1] : 0x0 + phy_pmd_tx[2] : 0x0 +Dev address info + pma_pmd_devaddr : 1 + pcs_devaddr : 3 + phyxs_devaddr : 4 + xcvr_devaddr : 1 +Misc info + phy_present : 0 + phy_type : 0 + sfp_acc_type : 8 + dfe_timer : 0 + dfe_timer_running : 0 + init_wait_count : 0 + do_tx_disable_clr : 0 + tx_disable_clr_cnt : 0 + qsa_status : 0 + Connector type : FIBER + usb_bus_num : 1 + usb_dev_num : 8 + usb_priv : available + Reset done : N +Xcvr flags + XCVR_FLAG_PRESENT : Y + XCVR_FLAG_XCVR_NOT_SFP : Y + XCVR_FLAG_10G_CAPABLE : Y + XCVR_FLAG_CKSUM_OK : Y + XCVR_FLAG_SECURITY_CRC_OK : Y + XCVR_FLAG_CISCO_CHK_OK : N + XCVR_FLAG_DDM_CAPABLE : N + XCVR_FLAG_PMA_PMD_PRESENT : N + XCVR_FLAG_PCS_PRESENT : N + XCVR_FLAG_PHYXS_PRESENT : N + XCVR_FLAG_XCVR_OPERATIONAL : Y + XCVR_FLAG_PMA_PMD_LOW_PWR_MODE : N + XCVR_FLAG_PCS_LOW_PWR_MODE : N + XCVR_FLAG_PHYXS_LOW_PWR_MODE : N + XCVR_FLAG_LINK_UP : Y + XCVR_FLAG_TYPE_FIBER : Y + XCVR_FLAG_SPROM_READ_OK : Y +Link states:HF-HwFailure, ED-ErrDisabled, DB-Debounced, UP and DN-Down + +Port 0/1: +State: UP +XCVR insert debounce timer not running +XCVR link debounce timer not running +XCVR linkup debounce timer not running +XCVR presence detect timer running +TX enable signal is on +Debounce timeout: 0.030 seconds + +Linkup Debounce timeout: 0.000 seconds + +Link up : 294003 usecs after Sun Oct 27 06:14:53 2019 +Link dn debounce start : 0 usecs after Thu Jan 1 00:00:00 1970 +Link debounce end : 0 usecs after Thu Jan 1 00:00:00 1970 + +Counters: + Interrupt cntrs: + Bit error cntrs: + Bit Error Rate: 0x0000000000000000 Bit Error Rate(since linkup): 0x00000000 + Error blocks : 0x0000000000000000 Error blocks(since linkup) : 0x00000000 + Link cntrs: + Link up: 0x1 (1) + Link dn: 0x0 (0) + Link debounced with link up: 0x0 (0) + Link debounced with link up since last enable: 0x0 (0) +Done. diff --git a/tests/cisco_nxos/show_hardware_internal_bigsur_all-ports_detail/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail_1.yml b/tests/cisco_nxos/show_hardware_internal_bigsur_all-ports_detail/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail_1.yml new file mode 100644 index 0000000000..9572e2e993 --- /dev/null +++ b/tests/cisco_nxos/show_hardware_internal_bigsur_all-ports_detail/cisco_nxos_show_hardware_internal_bigsur_all-ports_detail_1.yml @@ -0,0 +1,826 @@ +--- +parsed_sample: + - adaptive_tuning_disable: "0" + admin_state: "en" + admin_state_dec: "1" + an_disabled: "0" + an_state: "AN_ST_IDLE" + an_state_dec: "0" + an_timer: "0h" + asic_eport: "0" + auto_neg_state: "on" + auto_neg_state_dec: "1" + bigsur_eport: "0" + bit_error_rate: "" + bit_error_rate_since_linkup: "" + class_flow_ctrl7_0: "0000 0000" + class_flow_ctrl_msk_rx: "0x0" + class_flow_ctrl_msk_tx: "0x0" + connector_type: "" + debounce_time: "100ms" + debounce_timeout: "" + dfe_timer: "" + dfe_timer_running: "" + dfe_tune_lane_0_dfe_a: "" + dfe_tune_lane_0_dfe_b: "" + dfe_tune_lane_0_dfe_tune: "" + dfe_tune_lane_1_dfe_a: "" + dfe_tune_lane_1_dfe_b: "" + dfe_tune_lane_1_dfe_tune: "" + dfe_tune_lane_2_dfe_a: "" + dfe_tune_lane_2_dfe_b: "" + dfe_tune_lane_2_dfe_tune: "" + dfe_tune_lane_3_dfe_a: "" + dfe_tune_lane_3_dfe_b: "" + dfe_tune_lane_3_dfe_tune: "" + dfe_tuning_disable: "0" + diag_sts: "pass" + do_tx_disable_clr: "" + down_count: "0" + duplexity: "full" + duplexity_dec: "2" + error_blocks: "" + error_blocks_since_linkup: "" + fast_1g_an_timer: "on" + fi_block_lock_0h: "f" + fi_block_lock_1h: "f" + fi_block_lock_2h: "f" + fi_block_lock_3h: "f" + force_qsfp_copper_type: "0" + force_qsfp_fiber_type: "0" + force_qsfp_insertion: "0" + force_qsfp_removal: "0" + front_port: "0" + firewall_instance: "0" + interface_index: "0x15010000" + init_wait_count: "" + instance_asic: "0" + instance_index: "0" + instance_slot: "17" + link_bring_down_disable: "0" + link_debounce_end: "" + link_debounced_with_link_up_dec: "" + link_debounced_with_link_up_hex: "" + link_debounced_with_link_up_since_last_en_dec: "" + link_debounced_with_link_up_since_last_en_hex: "" + link_dn_debounce_start: "" + link_down_dec: "" + link_down_hex: "" + link_fail_inhibit_timer: "0h" + link_recovery_disable: "0" + link_state: "dn" + link_state_dec: "2" + link_up: "" + link_up_dec: "" + link_up_hex: "" + linkup_debounce_time: "0ms" + linkup_debounce_timeout: "" + logical_port: "0" + mac_status_polling: "0" + mm_inst: "0" + mm_mode: "SUP" + mm_port_state: "PORT_ST_ENABLED" + mm_port_state_dec: "15" + mm_port_timer: "0h" + mtu: "2280" + oper_duplexity: "full" + oper_duplexity_dec: "2" + oper_port_flow_ctrl: "0" + oper_speed: "1000" + pcs_devaddr: "" + phy_bigsur: "" + phy_mdio_addr: "" + phy_mdio_master: "" + phy_pmd_tx_0: "" + phy_pmd_tx_1: "" + phy_pmd_tx_2: "" + phy_present: "" + phy_prom_shared: "" + phy_reset_bigsur: "" + phy_reset_spio: "" + phy_type: "" + phyxs_devaddr: "" + pma_pmd_devaddr: "" + port_flow_ctrl: "0" + port_name: "sup1" + port_speed: "1000" + port_state: "" + port: "sup-hi" + port_dec: "1" + qsa_status: "" + remote_fault_disable: "0" + reset_done: "" + rx_pkt_802_3x_pause: "0" + rx_pkt_bcast: "0" + rx_pkt_crc_not_stomped: "0" + rx_pkt_crc_stomped: "0" + rx_pkt_discard: "0" + rx_pkt_fragment: "0" + rx_pkt_good: "7488" + rx_pkt_good_octets: "3784988" + rx_pkt_in_range_err: "1074763353" + rx_pkt_jabber: "0" + rx_pkt_mcast: "7488" + rx_pkt_octets: "130446639665" + rx_pkt_oversize: "0" + rx_pkt_per_priority_pause: "0" + rx_pkt_size_gt_9216: "0" + rx_pkt_size_is_1024_to_1518: "148887" + rx_pkt_size_is_128_to_255: "247806975" + rx_pkt_size_is_1519_to_2047: "0" + rx_pkt_size_is_2048_to_4095: "0" + rx_pkt_size_is_256_to_511: "46761364" + rx_pkt_size_is_4095_to_8191: "0" + rx_pkt_size_is_512_to_1023: "650380" + rx_pkt_size_is_64: "0" + rx_pkt_size_is_65_to_127: "779403235" + rx_pkt_size_is_8192_to_9216: "0" + rx_pkt_size_lt_64: "0" + rx_pkt_toolong: "0" + rx_pkt_total: "1074770841" + rx_pkt_ucast: "0" + rx_pkt_undersize: "0" + rx_pkt_vlan: "0" + sat_fabric_mode: "off" + sat_fabric_mode_hex: "0x0" + serdes_lanes: "47 (2fh)" + serdes_txdata_0: "" + serdes_txdata_1: "" + serdes_txdata_2: "" + serdes_txdata_3: "" + sfp_acc_type: "" + sfp_ctrl_bigsur: "" + sfp_ctrl_port: "" + slot: "17" + speed: "1" + state: "va swi hw1 hw2 hwf" + tx_disable_clr_cnt: "" + tx_enable_signal: "" + tx_pkt_802_3x_pause: "0" + tx_pkt_bcast: "0" + tx_pkt_frame_error: "558" + tx_pkt_good: "13561139369" + tx_pkt_good_octets: "4246363466864" + tx_pkt_mcast: "13561139158" + tx_pkt_octets: "4246363557157" + tx_pkt_per_priority_pause: "0" + tx_pkt_size_gt_9216: "0" + tx_pkt_size_is_1024_to_1518: "1414252162" + tx_pkt_size_is_128_to_255: "4795287371" + tx_pkt_size_is_1519_to_2047: "79288810" + tx_pkt_size_is_2048_to_4095: "0" + tx_pkt_size_is_256_to_511: "117237451" + tx_pkt_size_is_4095_to_8191: "0" + tx_pkt_size_is_512_to_1023: "36844691" + tx_pkt_size_is_64: "0" + tx_pkt_size_is_65_to_127: "2823262146" + tx_pkt_size_is_8192_to_9216: "0" + tx_pkt_size_lt_64: "0" + tx_pkt_total: "13561139927" + tx_pkt_ucast: "211" + tx_pkt_vlan: "0" + type: "5" + up_count: "0" + usb_bus_num: "" + usb_dev_num: "" + usb_priv: "" + xcvr_devaddr: "" + xcvr_flag_10g_capable: "" + xcvr_flag_cisco_chk_ok: "" + xcvr_flag_cksum_ok: "" + xcvr_flag_ddm_capable: "" + xcvr_flag_link_up: "" + xcvr_flag_pcs_low_pwr_mode: "" + xcvr_flag_pcs_present: "" + xcvr_flag_phyxs_low_pwr_mode: "" + xcvr_flag_phyxs_present: "" + xcvr_flag_pma_pmd_low_pwr_mode: "" + xcvr_flag_pma_pmd_present: "" + xcvr_flag_present: "" + xcvr_flag_security_crc_ok: "" + xcvr_flag_sprom_read_ok: "" + xcvr_flag_type_fiber: "" + xcvr_flag_xcvr_not_sfp: "" + xcvr_flag_xcvr_operational: "" + xcvr_insert_debounce_timer: "" + xcvr_link_debounce_timer: "" + xcvr_linkup_debounce_timer: "" + xcvr_presence_detect_timer: "" + - adaptive_tuning_disable: "0" + admin_state: "en" + admin_state_dec: "1" + an_disabled: "0" + an_state: "AN_ST_IDLE" + an_state_dec: "0" + an_timer: "0h" + asic_eport: "1" + auto_neg_state: "on" + auto_neg_state_dec: "1" + bigsur_eport: "1" + bit_error_rate: "" + bit_error_rate_since_linkup: "" + class_flow_ctrl7_0: "0000 0000" + class_flow_ctrl_msk_rx: "0x0" + class_flow_ctrl_msk_tx: "0x0" + connector_type: "" + debounce_time: "100ms" + debounce_timeout: "" + dfe_timer: "" + dfe_timer_running: "" + dfe_tune_lane_0_dfe_a: "" + dfe_tune_lane_0_dfe_b: "" + dfe_tune_lane_0_dfe_tune: "" + dfe_tune_lane_1_dfe_a: "" + dfe_tune_lane_1_dfe_b: "" + dfe_tune_lane_1_dfe_tune: "" + dfe_tune_lane_2_dfe_a: "" + dfe_tune_lane_2_dfe_b: "" + dfe_tune_lane_2_dfe_tune: "" + dfe_tune_lane_3_dfe_a: "" + dfe_tune_lane_3_dfe_b: "" + dfe_tune_lane_3_dfe_tune: "" + dfe_tuning_disable: "0" + diag_sts: "pass" + do_tx_disable_clr: "" + down_count: "0" + duplexity: "full" + duplexity_dec: "2" + error_blocks: "" + error_blocks_since_linkup: "" + fast_1g_an_timer: "on" + fi_block_lock_0h: "f" + fi_block_lock_1h: "f" + fi_block_lock_2h: "f" + fi_block_lock_3h: "f" + force_qsfp_copper_type: "0" + force_qsfp_fiber_type: "0" + force_qsfp_insertion: "0" + force_qsfp_removal: "0" + front_port: "0" + firewall_instance: "1" + interface_index: "0x15020000" + init_wait_count: "" + instance_asic: "0" + instance_index: "0" + instance_slot: "17" + link_bring_down_disable: "0" + link_debounce_end: "" + link_debounced_with_link_up_dec: "" + link_debounced_with_link_up_hex: "" + link_debounced_with_link_up_since_last_en_dec: "" + link_debounced_with_link_up_since_last_en_hex: "" + link_dn_debounce_start: "" + link_down_dec: "" + link_down_hex: "" + link_fail_inhibit_timer: "0h" + link_recovery_disable: "0" + link_state: "dn" + link_state_dec: "2" + link_up: "" + link_up_dec: "" + link_up_hex: "" + linkup_debounce_time: "0ms" + linkup_debounce_timeout: "" + logical_port: "1" + mac_status_polling: "0" + mm_inst: "1" + mm_mode: "SUP" + mm_port_state: "PORT_ST_ENABLED" + mm_port_state_dec: "15" + mm_port_timer: "0h" + mtu: "2280" + oper_duplexity: "full" + oper_duplexity_dec: "2" + oper_port_flow_ctrl: "0" + oper_speed: "1000" + pcs_devaddr: "" + phy_bigsur: "" + phy_mdio_addr: "" + phy_mdio_master: "" + phy_pmd_tx_0: "" + phy_pmd_tx_1: "" + phy_pmd_tx_2: "" + phy_present: "" + phy_prom_shared: "" + phy_reset_bigsur: "" + phy_reset_spio: "" + phy_type: "" + phyxs_devaddr: "" + pma_pmd_devaddr: "" + port_flow_ctrl: "0" + port_name: "sup0" + port_speed: "1000" + port_state: "" + port: "sup-lo" + port_dec: "2" + qsa_status: "" + remote_fault_disable: "0" + reset_done: "" + rx_pkt_802_3x_pause: "0" + rx_pkt_bcast: "0" + rx_pkt_crc_not_stomped: "0" + rx_pkt_crc_stomped: "0" + rx_pkt_discard: "0" + rx_pkt_fragment: "0" + rx_pkt_good: "64" + rx_pkt_good_octets: "5602" + rx_pkt_in_range_err: "3260443722" + rx_pkt_jabber: "0" + rx_pkt_mcast: "64" + rx_pkt_octets: "2176458795398" + rx_pkt_oversize: "0" + rx_pkt_per_priority_pause: "0" + rx_pkt_size_gt_9216: "0" + rx_pkt_size_is_1024_to_1518: "150725864" + rx_pkt_size_is_128_to_255: "78530597" + rx_pkt_size_is_1519_to_2047: "69560111" + rx_pkt_size_is_2048_to_4095: "0" + rx_pkt_size_is_256_to_511: "49134037" + rx_pkt_size_is_4095_to_8191: "0" + rx_pkt_size_is_512_to_1023: "2680457976" + rx_pkt_size_is_64: "0" + rx_pkt_size_is_65_to_127: "232035201" + rx_pkt_size_is_8192_to_9216: "0" + rx_pkt_size_lt_64: "0" + rx_pkt_toolong: "0" + rx_pkt_total: "3260443786" + rx_pkt_ucast: "0" + rx_pkt_undersize: "0" + rx_pkt_vlan: "0" + sat_fabric_mode: "off" + sat_fabric_mode_hex: "0x0" + serdes_lanes: "49 (31h)" + serdes_txdata_0: "" + serdes_txdata_1: "" + serdes_txdata_2: "" + serdes_txdata_3: "" + sfp_acc_type: "" + sfp_ctrl_bigsur: "" + sfp_ctrl_port: "" + slot: "17" + speed: "1" + state: "va swi hw1 hw2 hwf" + tx_disable_clr_cnt: "" + tx_enable_signal: "" + tx_pkt_802_3x_pause: "0" + tx_pkt_bcast: "0" + tx_pkt_frame_error: "0" + tx_pkt_good: "0" + tx_pkt_good_octets: "0" + tx_pkt_mcast: "0" + tx_pkt_octets: "0" + tx_pkt_per_priority_pause: "0" + tx_pkt_size_gt_9216: "0" + tx_pkt_size_is_1024_to_1518: "0" + tx_pkt_size_is_128_to_255: "0" + tx_pkt_size_is_1519_to_2047: "0" + tx_pkt_size_is_2048_to_4095: "0" + tx_pkt_size_is_256_to_511: "0" + tx_pkt_size_is_4095_to_8191: "0" + tx_pkt_size_is_512_to_1023: "0" + tx_pkt_size_is_64: "0" + tx_pkt_size_is_65_to_127: "0" + tx_pkt_size_is_8192_to_9216: "0" + tx_pkt_size_lt_64: "0" + tx_pkt_total: "0" + tx_pkt_ucast: "0" + tx_pkt_vlan: "0" + type: "5" + up_count: "0" + usb_bus_num: "" + usb_dev_num: "" + usb_priv: "" + xcvr_devaddr: "" + xcvr_flag_10g_capable: "" + xcvr_flag_cisco_chk_ok: "" + xcvr_flag_cksum_ok: "" + xcvr_flag_ddm_capable: "" + xcvr_flag_link_up: "" + xcvr_flag_pcs_low_pwr_mode: "" + xcvr_flag_pcs_present: "" + xcvr_flag_phyxs_low_pwr_mode: "" + xcvr_flag_phyxs_present: "" + xcvr_flag_pma_pmd_low_pwr_mode: "" + xcvr_flag_pma_pmd_present: "" + xcvr_flag_present: "" + xcvr_flag_security_crc_ok: "" + xcvr_flag_sprom_read_ok: "" + xcvr_flag_type_fiber: "" + xcvr_flag_xcvr_not_sfp: "" + xcvr_flag_xcvr_operational: "" + xcvr_insert_debounce_timer: "" + xcvr_link_debounce_timer: "" + xcvr_linkup_debounce_timer: "" + xcvr_presence_detect_timer: "" + - adaptive_tuning_disable: "0" + admin_state: "en" + admin_state_dec: "1" + an_disabled: "0" + an_state: "AN_ST_IDLE" + an_state_dec: "0" + an_timer: "0h" + asic_eport: "0" + auto_neg_state: "off" + auto_neg_state_dec: "2" + bigsur_eport: "0" + bit_error_rate: "0x0000000000000000" + bit_error_rate_since_linkup: "0x00000000" + class_flow_ctrl7_0: "0000 0000" + class_flow_ctrl_msk_rx: "0x0" + class_flow_ctrl_msk_tx: "0x0" + connector_type: "FIBER" + debounce_time: "100ms" + debounce_timeout: "0.030 seconds" + dfe_timer: "0" + dfe_timer_running: "0" + dfe_tune_lane_0_dfe_a: "92 0x 0 0-2 1 1 41 -2" + dfe_tune_lane_0_dfe_b: "93 0x 0 0-1 0-1 41 1" + dfe_tune_lane_0_dfe_tune: "98426/33/88226/21/5d005c 0" + dfe_tune_lane_1_dfe_a: "98 0x-3 0-4 1 0 30 1" + dfe_tune_lane_1_dfe_b: "97 0x 1 0-5 0 0 30 1" + dfe_tune_lane_1_dfe_tune: "240b0402/1/20b8002/1/610062 0" + dfe_tune_lane_2_dfe_a: "90 0x-6 1-3 0 0 31 -1" + dfe_tune_lane_2_dfe_b: "92 0x-6 0-2-1 0 31 0" + dfe_tune_lane_2_dfe_tune: "2b190002/31/2a09c402/20/5c005a 0" + dfe_tune_lane_3_dfe_a: "101 0x-9 0-3 1 0 01 -1" + dfe_tune_lane_3_dfe_b: "95 0x-8 0-4 1 0 01 -5" + dfe_tune_lane_3_dfe_tune: "3a090400/31/380b0400/37/5f0065 0" + dfe_tuning_disable: "0" + diag_sts: "pass" + do_tx_disable_clr: "0" + down_count: "0" + duplexity: "full" + duplexity_dec: "2" + error_blocks: "0x0000000000000000" + error_blocks_since_linkup: "0x00000000" + fast_1g_an_timer: "on" + fi_block_lock_0h: "f" + fi_block_lock_1h: "f" + fi_block_lock_2h: "f" + fi_block_lock_3h: "f" + force_qsfp_copper_type: "0" + force_qsfp_fiber_type: "0" + force_qsfp_insertion: "0" + force_qsfp_removal: "0" + front_port: "0" + firewall_instance: "0" + interface_index: "0x1a070000" + init_wait_count: "0" + instance_asic: "0" + instance_index: "1" + instance_slot: "0" + link_bring_down_disable: "0" + link_debounce_end: "0 usecs after Thu Jan 1 00:00:00 1970" + link_debounced_with_link_up_dec: "0" + link_debounced_with_link_up_hex: "0x0" + link_debounced_with_link_up_since_last_en_dec: "0" + link_debounced_with_link_up_since_last_en_hex: "0x0" + link_dn_debounce_start: "0 usecs after Thu Jan 1 00:00:00 1970" + link_down_dec: "0" + link_down_hex: "0x0" + link_fail_inhibit_timer: "0h" + link_recovery_disable: "0" + link_state: "up" + link_state_dec: "1" + link_up: "941735 usecs after Sun Oct 27 06:14:48 2019" + link_up_dec: "1" + link_up_hex: "0x1" + linkup_debounce_time: "0ms" + linkup_debounce_timeout: "0.000 seconds" + logical_port: "0" + mac_status_polling: "1" + mm_inst: "0" + mm_mode: "40G" + mm_port_state: "PORT_ST_ENABLED" + mm_port_state_dec: "15" + mm_port_timer: "0h" + mtu: "9260" + oper_duplexity: "full" + oper_duplexity_dec: "2" + oper_port_flow_ctrl: "0" + oper_speed: "40000" + pcs_devaddr: "3" + phy_bigsur: "0" + phy_mdio_addr: "0" + phy_mdio_master: "1" + phy_pmd_tx_0: "0x0" + phy_pmd_tx_1: "0x0" + phy_pmd_tx_2: "0x0" + phy_present: "0" + phy_prom_shared: "0" + phy_reset_bigsur: "0" + phy_reset_spio: "0" + phy_type: "0" + phyxs_devaddr: "4" + pma_pmd_devaddr: "1" + port_flow_ctrl: "0" + port_name: "40gb1/1" + port_speed: "40000" + port_state: "UP" + port: "40gbe" + port_dec: "12" + qsa_status: "0" + remote_fault_disable: "0" + reset_done: "N" + rx_pkt_802_3x_pause: "0" + rx_pkt_bcast: "15643160820" + rx_pkt_crc_not_stomped: "315" + rx_pkt_crc_stomped: "186235" + rx_pkt_discard: "0" + rx_pkt_fragment: "0" + rx_pkt_good: "1555196893875" + rx_pkt_good_octets: "2684618748170285" + rx_pkt_in_range_err: "0" + rx_pkt_jabber: "0" + rx_pkt_mcast: "271281819207" + rx_pkt_octets: "2684618846662334" + rx_pkt_oversize: "0" + rx_pkt_per_priority_pause: "0" + rx_pkt_size_gt_9216: "0" + rx_pkt_size_is_1024_to_1518: "154045143557" + rx_pkt_size_is_128_to_255: "170715085186" + rx_pkt_size_is_1519_to_2047: "748698164670" + rx_pkt_size_is_2048_to_4095: "11890366490" + rx_pkt_size_is_256_to_511: "52962213518" + rx_pkt_size_is_4095_to_8191: "55672237707" + rx_pkt_size_is_512_to_1023: "15954313004" + rx_pkt_size_is_64: "13493183" + rx_pkt_size_is_65_to_127: "242229594382" + rx_pkt_size_is_8192_to_9216: "103016468728" + rx_pkt_size_lt_64: "0" + rx_pkt_toolong: "0" + rx_pkt_total: "1555197080425" + rx_pkt_ucast: "1268271913848" + rx_pkt_undersize: "0" + rx_pkt_vlan: "0" + sat_fabric_mode: "off" + sat_fabric_mode_hex: "0x0" + serdes_lanes: "47 (2fh), 49 (31h), 51 (33h), 53 (35h)" + serdes_txdata_0: "0x0" + serdes_txdata_1: "0x0" + serdes_txdata_2: "0x0" + serdes_txdata_3: "0x0" + sfp_acc_type: "8" + sfp_ctrl_bigsur: "0" + sfp_ctrl_port: "0" + slot: "0" + speed: "5" + state: "va swi hw1 hw2 hwf" + tx_disable_clr_cnt: "0" + tx_enable_signal: "off" + tx_pkt_802_3x_pause: "0" + tx_pkt_bcast: "1" + tx_pkt_frame_error: "0" + tx_pkt_good: "1422621272034" + tx_pkt_good_octets: "2416042841147997" + tx_pkt_mcast: "94859785" + tx_pkt_octets: "2416042841135777" + tx_pkt_per_priority_pause: "0" + tx_pkt_size_gt_9216: "0" + tx_pkt_size_is_1024_to_1518: "68228288123" + tx_pkt_size_is_128_to_255: "208519091965" + tx_pkt_size_is_1519_to_2047: "655538327602" + tx_pkt_size_is_2048_to_4095: "12004245922" + tx_pkt_size_is_256_to_511: "52508123590" + tx_pkt_size_is_4095_to_8191: "52439440105" + tx_pkt_size_is_512_to_1023: "31784748589" + tx_pkt_size_is_64: "18664463" + tx_pkt_size_is_65_to_127: "238330564005" + tx_pkt_size_is_8192_to_9216: "103249777669" + tx_pkt_size_lt_64: "0" + tx_pkt_total: "1422621272033" + tx_pkt_ucast: "1422526412248" + tx_pkt_vlan: "0" + type: "6" + up_count: "1" + usb_bus_num: "1" + usb_dev_num: "8" + usb_priv: "available" + xcvr_devaddr: "1" + xcvr_flag_10g_capable: "Y" + xcvr_flag_cisco_chk_ok: "N" + xcvr_flag_cksum_ok: "Y" + xcvr_flag_ddm_capable: "N" + xcvr_flag_link_up: "Y" + xcvr_flag_pcs_low_pwr_mode: "N" + xcvr_flag_pcs_present: "N" + xcvr_flag_phyxs_low_pwr_mode: "N" + xcvr_flag_phyxs_present: "N" + xcvr_flag_pma_pmd_low_pwr_mode: "N" + xcvr_flag_pma_pmd_present: "N" + xcvr_flag_present: "Y" + xcvr_flag_security_crc_ok: "Y" + xcvr_flag_sprom_read_ok: "Y" + xcvr_flag_type_fiber: "Y" + xcvr_flag_xcvr_not_sfp: "Y" + xcvr_flag_xcvr_operational: "Y" + xcvr_insert_debounce_timer: "not running" + xcvr_link_debounce_timer: "not running" + xcvr_linkup_debounce_timer: "not running" + xcvr_presence_detect_timer: "running" + - adaptive_tuning_disable: "0" + admin_state: "en" + admin_state_dec: "1" + an_disabled: "0" + an_state: "AN_ST_IDLE" + an_state_dec: "0" + an_timer: "0h" + asic_eport: "1" + auto_neg_state: "off" + auto_neg_state_dec: "2" + bigsur_eport: "1" + bit_error_rate: "0x0000000000000000" + bit_error_rate_since_linkup: "0x00000000" + class_flow_ctrl7_0: "0000 0000" + class_flow_ctrl_msk_rx: "0x0" + class_flow_ctrl_msk_tx: "0x0" + connector_type: "FIBER" + debounce_time: "100ms" + debounce_timeout: "0.030 seconds" + dfe_timer: "0" + dfe_timer_running: "0" + dfe_tune_lane_0_dfe_a: "97 0x-3 0-1 0 0 40 -2" + dfe_tune_lane_0_dfe_b: "100 0x-2 0-2 1 0 40 -1" + dfe_tune_lane_0_dfe_tune: "24088006/13/26098406/11/640061 0" + dfe_tune_lane_1_dfe_a: "98 0x-6 0-5 1 0 01 0" + dfe_tune_lane_1_dfe_b: "100 0x-8 0-5 1 0 01 1" + dfe_tune_lane_1_dfe_tune: "2a0b8400/20/380b8400/21/640062 0" + dfe_tune_lane_2_dfe_a: "95 0x-4 0-2 0 0 41 1" + dfe_tune_lane_2_dfe_b: "90 0x-1 0-3 0-1 41 1" + dfe_tune_lane_2_dfe_tune: "2c098006/21/22090226/21/5a005f 0" + dfe_tune_lane_3_dfe_a: "102 0x-9 0-3 2 1 01 0" + dfe_tune_lane_3_dfe_b: "103 0x-b 0 0 0 0 01 0" + dfe_tune_lane_3_dfe_tune: "3a090c20/20/3c000000/20/670066 0" + dfe_tuning_disable: "0" + diag_sts: "pass" + do_tx_disable_clr: "0" + down_count: "0" + duplexity: "full" + duplexity_dec: "2" + error_blocks: "0x0000000000000000" + error_blocks_since_linkup: "0x00000000" + fast_1g_an_timer: "on" + fi_block_lock_0h: "f" + fi_block_lock_1h: "f" + fi_block_lock_2h: "f" + fi_block_lock_3h: "f" + force_qsfp_copper_type: "0" + force_qsfp_fiber_type: "0" + force_qsfp_insertion: "0" + force_qsfp_removal: "0" + front_port: "1" + firewall_instance: "4" + interface_index: "0x1a071000" + init_wait_count: "0" + instance_asic: "0" + instance_index: "1" + instance_slot: "0" + link_bring_down_disable: "0" + link_debounce_end: "0 usecs after Thu Jan 1 00:00:00 1970" + link_debounced_with_link_up_dec: "0" + link_debounced_with_link_up_hex: "0x0" + link_debounced_with_link_up_since_last_en_dec: "0" + link_debounced_with_link_up_since_last_en_hex: "0x0" + link_dn_debounce_start: "0 usecs after Thu Jan 1 00:00:00 1970" + link_down_dec: "0" + link_down_hex: "0x0" + link_fail_inhibit_timer: "0h" + link_recovery_disable: "0" + link_state: "up" + link_state_dec: "1" + link_up: "294003 usecs after Sun Oct 27 06:14:53 2019" + link_up_dec: "1" + link_up_hex: "0x1" + linkup_debounce_time: "0ms" + linkup_debounce_timeout: "0.000 seconds" + logical_port: "1" + mac_status_polling: "1" + mm_inst: "1" + mm_mode: "40G" + mm_port_state: "PORT_ST_ENABLED" + mm_port_state_dec: "15" + mm_port_timer: "0h" + mtu: "9260" + oper_duplexity: "full" + oper_duplexity_dec: "2" + oper_port_flow_ctrl: "0" + oper_speed: "40000" + pcs_devaddr: "3" + phy_bigsur: "0" + phy_mdio_addr: "0" + phy_mdio_master: "1" + phy_pmd_tx_0: "0x0" + phy_pmd_tx_1: "0x0" + phy_pmd_tx_2: "0x0" + phy_present: "0" + phy_prom_shared: "0" + phy_reset_bigsur: "0" + phy_reset_spio: "0" + phy_type: "0" + phyxs_devaddr: "4" + pma_pmd_devaddr: "1" + port_flow_ctrl: "0" + port_name: "40gb1/2" + port_speed: "40000" + port_state: "UP" + port: "40gbe" + port_dec: "12" + qsa_status: "0" + remote_fault_disable: "0" + reset_done: "N" + rx_pkt_802_3x_pause: "0" + rx_pkt_bcast: "10485074770" + rx_pkt_crc_not_stomped: "5" + rx_pkt_crc_stomped: "265810" + rx_pkt_discard: "0" + rx_pkt_fragment: "0" + rx_pkt_good: "1305652327716" + rx_pkt_good_octets: "2287031285388567" + rx_pkt_in_range_err: "0" + rx_pkt_jabber: "0" + rx_pkt_mcast: "259688831694" + rx_pkt_octets: "2287031513403995" + rx_pkt_oversize: "0" + rx_pkt_per_priority_pause: "0" + rx_pkt_size_gt_9216: "0" + rx_pkt_size_is_1024_to_1518: "94593384424" + rx_pkt_size_is_128_to_255: "181809874494" + rx_pkt_size_is_1519_to_2047: "548720562260" + rx_pkt_size_is_2048_to_4095: "12264718059" + rx_pkt_size_is_256_to_511: "58190299575" + rx_pkt_size_is_4095_to_8191: "54765198272" + rx_pkt_size_is_512_to_1023: "15742772244" + rx_pkt_size_is_64: "13723786" + rx_pkt_size_is_65_to_127: "236486911378" + rx_pkt_size_is_8192_to_9216: "103065149039" + rx_pkt_size_lt_64: "0" + rx_pkt_toolong: "0" + rx_pkt_total: "1305652593531" + rx_pkt_ucast: "1035478421252" + rx_pkt_undersize: "0" + rx_pkt_vlan: "0" + sat_fabric_mode: "off" + sat_fabric_mode_hex: "0x0" + serdes_lanes: "55 (37h), 57 (39h), 59 (3bh), 61 (3dh)" + serdes_txdata_0: "0x0" + serdes_txdata_1: "0x0" + serdes_txdata_2: "0x0" + serdes_txdata_3: "0x0" + sfp_acc_type: "8" + sfp_ctrl_bigsur: "0" + sfp_ctrl_port: "1" + slot: "0" + speed: "5" + state: "va swi hw1 hw2 hwf" + tx_disable_clr_cnt: "0" + tx_enable_signal: "on" + tx_pkt_802_3x_pause: "0" + tx_pkt_bcast: "323483133" + tx_pkt_frame_error: "0" + tx_pkt_good: "1417576464659" + tx_pkt_good_octets: "2423284879835690" + tx_pkt_mcast: "388555955" + tx_pkt_octets: "2423284879830834" + tx_pkt_per_priority_pause: "0" + tx_pkt_size_gt_9216: "0" + tx_pkt_size_is_1024_to_1518: "51755254532" + tx_pkt_size_is_128_to_255: "194761555926" + tx_pkt_size_is_1519_to_2047: "708624997790" + tx_pkt_size_is_2048_to_4095: "12210800606" + tx_pkt_size_is_256_to_511: "52118735247" + tx_pkt_size_is_4095_to_8191: "47301205375" + tx_pkt_size_is_512_to_1023: "28101578047" + tx_pkt_size_is_64: "0" + tx_pkt_size_is_65_to_127: "221696905275" + tx_pkt_size_is_8192_to_9216: "101005431860" + tx_pkt_size_lt_64: "0" + tx_pkt_total: "1417576464658" + tx_pkt_ucast: "1416864425571" + tx_pkt_vlan: "0" + type: "6" + up_count: "1" + usb_bus_num: "1" + usb_dev_num: "8" + usb_priv: "available" + xcvr_devaddr: "1" + xcvr_flag_10g_capable: "Y" + xcvr_flag_cisco_chk_ok: "N" + xcvr_flag_cksum_ok: "Y" + xcvr_flag_ddm_capable: "N" + xcvr_flag_link_up: "Y" + xcvr_flag_pcs_low_pwr_mode: "N" + xcvr_flag_pcs_present: "N" + xcvr_flag_phyxs_low_pwr_mode: "N" + xcvr_flag_phyxs_present: "N" + xcvr_flag_pma_pmd_low_pwr_mode: "N" + xcvr_flag_pma_pmd_present: "N" + xcvr_flag_present: "Y" + xcvr_flag_security_crc_ok: "Y" + xcvr_flag_sprom_read_ok: "Y" + xcvr_flag_type_fiber: "Y" + xcvr_flag_xcvr_not_sfp: "Y" + xcvr_flag_xcvr_operational: "Y" + xcvr_insert_debounce_timer: "not running" + xcvr_link_debounce_timer: "not running" + xcvr_linkup_debounce_timer: "not running" + xcvr_presence_detect_timer: "running" diff --git a/tests/cisco_nxos/show_interface_snmp-ifindex/cisco_nxos_show_interface_snmp-ifindex_1.raw b/tests/cisco_nxos/show_interface_snmp-ifindex/cisco_nxos_show_interface_snmp-ifindex_1.raw new file mode 100644 index 0000000000..de65e2fe2e --- /dev/null +++ b/tests/cisco_nxos/show_interface_snmp-ifindex/cisco_nxos_show_interface_snmp-ifindex_1.raw @@ -0,0 +1,27 @@ + +-------------------------------------------------------------------------------- +Port IFMIB Ifindex (hex) +-------------------------------------------------------------------------------- +mgmt0 83886080 (0x5000000 ) +Eth9/1 440401920 (0x1a400000) +Eth9/2 440406016 (0x1a401000) +Eth9/3 440410112 (0x1a402000) +Eth9/4 440414208 (0x1a403000) +Eth9/4.10 440414218 (0x1a40300a) +Eth9/5/1 960659456 (0x39428000) +Eth9/5/2 960663552 (0x39429000) +Eth9/5/3 960667648 (0x3942a000) +Eth9/5/4 960671744 (0x3942b000) +Eth9/6/1 960700416 (0x39432000) +Eth9/6/2 960704512 (0x39433000) +Eth9/6/3 960708608 (0x39434000) +Eth9/6/4 960712704 (0x39435000) +Eth9/7 440426496 (0x1a406000) +Eth9/8 440430592 (0x1a407000) +Eth9/9 440434688 (0x1a408000) +Eth9/10 440438784 (0x1a409000) +Eth9/11 440442880 (0x1a40a000) +Eth9/12 440446976 (0x1a40b000) +Po1 369098752 (0x16000000) +Lo0 335544320 (0x14000000) +Vlan1 151126017 (0x9020001) \ No newline at end of file diff --git a/tests/cisco_nxos/show_interface_snmp-ifindex/cisco_nxos_show_interface_snmp-ifindex_1.yml b/tests/cisco_nxos/show_interface_snmp-ifindex/cisco_nxos_show_interface_snmp-ifindex_1.yml new file mode 100644 index 0000000000..b1098e4c0b --- /dev/null +++ b/tests/cisco_nxos/show_interface_snmp-ifindex/cisco_nxos_show_interface_snmp-ifindex_1.yml @@ -0,0 +1,71 @@ +--- +parsed_sample: + - port: "mgmt0" + ifmib: "83886080" + ifindex_hex: "0x5000000" + - port: "Eth9/1" + ifmib: "440401920" + ifindex_hex: "0x1a400000" + - port: "Eth9/2" + ifmib: "440406016" + ifindex_hex: "0x1a401000" + - port: "Eth9/3" + ifmib: "440410112" + ifindex_hex: "0x1a402000" + - port: "Eth9/4" + ifmib: "440414208" + ifindex_hex: "0x1a403000" + - port: "Eth9/4.10" + ifmib: "440414218" + ifindex_hex: "0x1a40300a" + - port: "Eth9/5/1" + ifmib: "960659456" + ifindex_hex: "0x39428000" + - port: "Eth9/5/2" + ifmib: "960663552" + ifindex_hex: "0x39429000" + - port: "Eth9/5/3" + ifmib: "960667648" + ifindex_hex: "0x3942a000" + - port: "Eth9/5/4" + ifmib: "960671744" + ifindex_hex: "0x3942b000" + - port: "Eth9/6/1" + ifmib: "960700416" + ifindex_hex: "0x39432000" + - port: "Eth9/6/2" + ifmib: "960704512" + ifindex_hex: "0x39433000" + - port: "Eth9/6/3" + ifmib: "960708608" + ifindex_hex: "0x39434000" + - port: "Eth9/6/4" + ifmib: "960712704" + ifindex_hex: "0x39435000" + - port: "Eth9/7" + ifmib: "440426496" + ifindex_hex: "0x1a406000" + - port: "Eth9/8" + ifmib: "440430592" + ifindex_hex: "0x1a407000" + - port: "Eth9/9" + ifmib: "440434688" + ifindex_hex: "0x1a408000" + - port: "Eth9/10" + ifmib: "440438784" + ifindex_hex: "0x1a409000" + - port: "Eth9/11" + ifmib: "440442880" + ifindex_hex: "0x1a40a000" + - port: "Eth9/12" + ifmib: "440446976" + ifindex_hex: "0x1a40b000" + - port: "Po1" + ifmib: "369098752" + ifindex_hex: "0x16000000" + - port: "Lo0" + ifmib: "335544320" + ifindex_hex: "0x14000000" + - port: "Vlan1" + ifmib: "151126017" + ifindex_hex: "0x9020001" diff --git a/tests/cisco_nxos/show_ip_mroutes_vrf_all/show_ip_mroutes_vrf_all.raw b/tests/cisco_nxos/show_ip_mroutes_vrf_all/show_ip_mroutes_vrf_all.raw new file mode 100644 index 0000000000..1b3d1f3b06 --- /dev/null +++ b/tests/cisco_nxos/show_ip_mroutes_vrf_all/show_ip_mroutes_vrf_all.raw @@ -0,0 +1,17 @@ +IP Multicast Routing Table for VRF "default" + +(*, 225.1.0.1/32), uptime: 2w3d, igmp ip pim + Incoming interface: Ethernet1/1, RPF nbr: 10.1.1.1 + Outgoing interface list: (count: 1) + Ethernet1/3, uptime: 2w3d, igmp + + +(10.1.13.10/32, 225.1.0.1/32), uptime: 06:33:34, ip mrib pim + Incoming interface: Ethernet1/1, RPF nbr: 10.1.1.1 + Outgoing interface list: (count: 1) + Ethernet1/3, uptime: 06:33:34, mrib + + +(*, 232.0.0.0/8), uptime: 2w3d, pim ip + Incoming interface: Null, RPF nbr: 0.0.0.0 + Outgoing interface list: (count: 0) diff --git a/tests/cisco_nxos/show_ip_mroutes_vrf_all/show_ip_mroutes_vrf_all.yml b/tests/cisco_nxos/show_ip_mroutes_vrf_all/show_ip_mroutes_vrf_all.yml new file mode 100644 index 0000000000..1e67d192ff --- /dev/null +++ b/tests/cisco_nxos/show_ip_mroutes_vrf_all/show_ip_mroutes_vrf_all.yml @@ -0,0 +1,25 @@ +--- +parsed_sample: + - group: "225.1.0.1/32" + incoming_interface: "Ethernet1/1" + last_uptime: "2w3d" + oif_list: + - "Ethernet1/3" + rpf_neighbor: "10.1.1.1" + source: "*" + vrf: "default" + - group: "225.1.0.1/32" + incoming_interface: "Ethernet1/1" + last_uptime: "06:33:34" + oif_list: + - "Ethernet1/3" + rpf_neighbor: "10.1.1.1" + source: "10.1.13.10/32" + vrf: "default" + - group: "232.0.0.0/8" + incoming_interface: "Null" + last_uptime: "2w3d" + oif_list: [] + rpf_neighbor: "0.0.0.0" + source: "*" + vrf: "default" diff --git a/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors.yml b/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors.yml index d947831fb5..9576b8714c 100644 --- a/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors.yml +++ b/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors.yml @@ -1,11 +1,14 @@ --- parsed_sample: - - neighbor: "nx-osv9000-3-long-name.com" + - capabilities: "BR" local_interface: "Eth1/1" + neighbor: "nx-osv9000-3-long-name.com" neighbor_interface: "Ethernet1/1" - - neighbor: "nx-osv9000-4-extremely-long-name" + - capabilities: "BR" local_interface: "Eth1/2" + neighbor: "nx-osv9000-4-extremely-long-name" neighbor_interface: "Ethernet1/1" - - neighbor: "nx-osv9000-2" + - capabilities: "BR" local_interface: "Eth1/3" + neighbor: "nx-osv9000-2" neighbor_interface: "Ethernet1/3" diff --git a/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors_multiline.raw b/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors_multiline.raw new file mode 100644 index 0000000000..b39000f0dd --- /dev/null +++ b/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors_multiline.raw @@ -0,0 +1,28 @@ +r1-services# show lldp neighbor +Capability codes: + (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device + (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other +Device ID Local Intf Hold-time Capability Port ID +dcx3.org.local + mgmt0 120 B Gi1/0/37 +r2-services Eth1/1 120 BR Eth1/1 +dx1.org.local + Eth1/3 120 B Te1/1/1 +fw1-clinical-partner + Eth1/5 120 ethernet1/9 +fw1-clinical-partner + Eth1/6 120 ethernet1/10 +fw2-clinical-partner + Eth1/7 120 ethernet1/9 +fw2-clinical-partner + Eth1/8 120 ethernet1/10 +cr-ebc.org.local Eth3/1 120 BR Fo1/0/8 +r2-services Eth3/13 120 BR Eth3/13 +fw1-services Eth3/23 120 ethernet1/21 +fw2-services Eth3/24 120 ethernet1/23 +cr-park.org.local + Eth4/1 120 BR Fo1/0/8 +r2-services Eth4/13 120 BR Eth4/13 +fw1-services Eth4/23 120 ethernet1/22 +fw2-services Eth4/24 120 ethernet1/24 +Total entries displayed: 15 diff --git a/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors_multiline.yml b/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors_multiline.yml new file mode 100644 index 0000000000..e98c3a72fc --- /dev/null +++ b/tests/cisco_nxos/show_lldp_neighbors/cisco_nxos_show_lldp_neighbors_multiline.yml @@ -0,0 +1,62 @@ +--- +parsed_sample: + - capabilities: "B" + local_interface: "mgmt0" + neighbor: "dcx3.org.local" + neighbor_interface: "Gi1/0/37" + - capabilities: "BR" + local_interface: "Eth1/1" + neighbor: "r2-services" + neighbor_interface: "Eth1/1" + - capabilities: "B" + local_interface: "Eth1/3" + neighbor: "dx1.org.local" + neighbor_interface: "Te1/1/1" + - capabilities: "" + local_interface: "Eth1/5" + neighbor: "fw1-clinical-partner" + neighbor_interface: "ethernet1/9" + - capabilities: "" + local_interface: "Eth1/6" + neighbor: "fw1-clinical-partner" + neighbor_interface: "ethernet1/10" + - capabilities: "" + local_interface: "Eth1/7" + neighbor: "fw2-clinical-partner" + neighbor_interface: "ethernet1/9" + - capabilities: "" + local_interface: "Eth1/8" + neighbor: "fw2-clinical-partner" + neighbor_interface: "ethernet1/10" + - capabilities: "BR" + local_interface: "Eth3/1" + neighbor: "cr-ebc.org.local" + neighbor_interface: "Fo1/0/8" + - capabilities: "BR" + local_interface: "Eth3/13" + neighbor: "r2-services" + neighbor_interface: "Eth3/13" + - capabilities: "" + local_interface: "Eth3/23" + neighbor: "fw1-services" + neighbor_interface: "ethernet1/21" + - capabilities: "" + local_interface: "Eth3/24" + neighbor: "fw2-services" + neighbor_interface: "ethernet1/23" + - capabilities: "BR" + local_interface: "Eth4/1" + neighbor: "cr-park.org.local" + neighbor_interface: "Fo1/0/8" + - capabilities: "BR" + local_interface: "Eth4/13" + neighbor: "r2-services" + neighbor_interface: "Eth4/13" + - capabilities: "" + local_interface: "Eth4/23" + neighbor: "fw1-services" + neighbor_interface: "ethernet1/22" + - capabilities: "" + local_interface: "Eth4/24" + neighbor: "fw2-services" + neighbor_interface: "ethernet1/24" diff --git a/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_1.raw b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_1.raw new file mode 100644 index 0000000000..e2add65543 --- /dev/null +++ b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_1.raw @@ -0,0 +1,4 @@ +Configured switching mode: Cut through + +Module Number Operational Mode + 1 Cut-Through \ No newline at end of file diff --git a/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_1.yml b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_1.yml new file mode 100644 index 0000000000..9a27ebbbe5 --- /dev/null +++ b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_1.yml @@ -0,0 +1,5 @@ +--- +parsed_sample: + - configured_switching_mode: "Cut through" + module_number: "1" + operational_mode: "Cut-Through" diff --git a/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_2.raw b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_2.raw new file mode 100644 index 0000000000..d0f2a1e202 --- /dev/null +++ b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_2.raw @@ -0,0 +1,4 @@ +Configured switching mode: Store and Forward + +Module Number Operational Mode + 1 Store and Forward \ No newline at end of file diff --git a/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_2.yml b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_2.yml new file mode 100644 index 0000000000..5f6ce665f2 --- /dev/null +++ b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_2.yml @@ -0,0 +1,5 @@ +--- +parsed_sample: + - configured_switching_mode: "Store and Forward" + module_number: "1" + operational_mode: "Store and Forward" diff --git a/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_3.raw b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_3.raw new file mode 100644 index 0000000000..5dde92d6fc --- /dev/null +++ b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_3.raw @@ -0,0 +1,5 @@ +Configured switching mode: Store and Forward + +Module Number Operational Mode + 1 Store and Forward + 2 Cut-Through \ No newline at end of file diff --git a/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_3.yml b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_3.yml new file mode 100644 index 0000000000..6a07be25cb --- /dev/null +++ b/tests/cisco_nxos/show_switching-mode/cisco_nxos_show_switching-mode_3.yml @@ -0,0 +1,8 @@ +--- +parsed_sample: + - configured_switching_mode: "Store and Forward" + module_number: "1" + operational_mode: "Store and Forward" + - configured_switching_mode: "Store and Forward" + module_number: "2" + operational_mode: "Cut-Through" diff --git a/tests/cisco_s300/show_ip_interface/cisco_s300_show_ip_interface_1.yml b/tests/cisco_s300/show_ip_interface/cisco_s300_show_ip_interface_1.yml index 202b11c58c..d27fa1eaca 100644 --- a/tests/cisco_s300/show_ip_interface/cisco_s300_show_ip_interface_1.yml +++ b/tests/cisco_s300/show_ip_interface/cisco_s300_show_ip_interface_1.yml @@ -1,7 +1,7 @@ --- parsed_sample: - - i_f: "vlan 255" - i_f_status_admin_oper: "" + - interface: "vlan 255" + interface_status_admin_oper: "" ip: "10.255.1.72/16" status: "Valid" type: "Static" diff --git a/tests/cisco_s300/show_ip_interface/cisco_s300_show_ip_interface_2.yml b/tests/cisco_s300/show_ip_interface/cisco_s300_show_ip_interface_2.yml index 2dbf0aaab6..f908e65b24 100644 --- a/tests/cisco_s300/show_ip_interface/cisco_s300_show_ip_interface_2.yml +++ b/tests/cisco_s300/show_ip_interface/cisco_s300_show_ip_interface_2.yml @@ -1,7 +1,7 @@ --- parsed_sample: - - i_f: "vlan 355" - i_f_status_admin_oper: "UP/UP" + - interface: "vlan 355" + interface_status_admin_oper: "UP/UP" ip: "10.0.55.6/24" status: "Valid" type: "Static" diff --git a/tests/cisco_xr/ping/cisco_xr_ping.raw b/tests/cisco_xr/ping/cisco_xr_ping.raw new file mode 100644 index 0000000000..95488ec5bc --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping.raw @@ -0,0 +1,5 @@ +Fri Dec 22 17:30:39.512 BRA +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.191.129.114, timeout is 2 seconds: +!!!!! +Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms diff --git a/tests/cisco_xr/ping/cisco_xr_ping.yml b/tests/cisco_xr/ping/cisco_xr_ping.yml new file mode 100644 index 0000000000..681bf3107b --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping.yml @@ -0,0 +1,14 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.191.129.114" + timeout: "2" + source: "" + response_stream: + - "!!!!!" + success_pct: "100" + success_qty: "5" + rtt_min: "1" + rtt_avg: "1" + rtt_max: "1" diff --git a/tests/cisco_xr/ping/cisco_xr_ping_fail.raw b/tests/cisco_xr/ping/cisco_xr_ping_fail.raw new file mode 100644 index 0000000000..b219165ec0 --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping_fail.raw @@ -0,0 +1,5 @@ +Fri Nov 17 16:29:18.710 BRA +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.27.18.2, timeout is 2 seconds: +..... +Success rate is 0 percent (0/5) diff --git a/tests/cisco_xr/ping/cisco_xr_ping_fail.yml b/tests/cisco_xr/ping/cisco_xr_ping_fail.yml new file mode 100644 index 0000000000..674e63ab03 --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping_fail.yml @@ -0,0 +1,14 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.27.18.2" + timeout: "2" + source: "" + response_stream: + - "....." + success_pct: "0" + success_qty: "0" + rtt_min: "" + rtt_avg: "" + rtt_max: "" diff --git a/tests/cisco_xr/ping/cisco_xr_ping_mix.raw b/tests/cisco_xr/ping/cisco_xr_ping_mix.raw new file mode 100644 index 0000000000..f196e4e4e2 --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping_mix.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +Q..U! +Success rate is 20 percent (1/5), round-trip min/avg/max = 9/9/9 ms diff --git a/tests/cisco_xr/ping/cisco_xr_ping_mix.yml b/tests/cisco_xr/ping/cisco_xr_ping_mix.yml new file mode 100644 index 0000000000..17cb6885b1 --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping_mix.yml @@ -0,0 +1,14 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + source: "" + response_stream: + - "Q..U!" + success_pct: "20" + success_qty: "1" + rtt_min: "9" + rtt_avg: "9" + rtt_max: "9" diff --git a/tests/cisco_xr/ping/cisco_xr_ping_quench.raw b/tests/cisco_xr/ping/cisco_xr_ping_quench.raw new file mode 100644 index 0000000000..d6fdea5d7e --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping_quench.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +QQQQQ +Success rate is 0 percent (0/5) diff --git a/tests/cisco_xr/ping/cisco_xr_ping_quench.yml b/tests/cisco_xr/ping/cisco_xr_ping_quench.yml new file mode 100644 index 0000000000..45c65e6b6f --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping_quench.yml @@ -0,0 +1,14 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + source: "" + response_stream: + - "QQQQQ" + success_pct: "0" + success_qty: "0" + rtt_min: "" + rtt_avg: "" + rtt_max: "" diff --git a/tests/cisco_xr/ping/cisco_xr_ping_unreachable.raw b/tests/cisco_xr/ping/cisco_xr_ping_unreachable.raw new file mode 100644 index 0000000000..c4924217b2 --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping_unreachable.raw @@ -0,0 +1,4 @@ +Type escape sequence to abort. +Sending 5, 100-byte ICMP Echos to 10.245.179.14, timeout is 2 seconds: +UUUUU +Success rate is 0 percent (0/5) diff --git a/tests/cisco_xr/ping/cisco_xr_ping_unreachable.yml b/tests/cisco_xr/ping/cisco_xr_ping_unreachable.yml new file mode 100644 index 0000000000..b6e47fa2ed --- /dev/null +++ b/tests/cisco_xr/ping/cisco_xr_ping_unreachable.yml @@ -0,0 +1,14 @@ +--- +parsed_sample: + - sent_qty: "5" + sent_type: "100-byte ICMP Echos" + destination: "10.245.179.14" + timeout: "2" + source: "" + response_stream: + - "UUUUU" + success_pct: "0" + success_qty: "0" + rtt_min: "" + rtt_avg: "" + rtt_max: "" diff --git a/tests/cisco_xr/show_bgp_vrf_all_ipv4_unicast_summary/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.raw b/tests/cisco_xr/show_bgp_vrf_all_ipv4_unicast_summary/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.raw index 4453e7fb62..c935cbb809 100644 --- a/tests/cisco_xr/show_bgp_vrf_all_ipv4_unicast_summary/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.raw +++ b/tests/cisco_xr/show_bgp_vrf_all_ipv4_unicast_summary/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.raw @@ -103,3 +103,23 @@ BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 31259922 31259922 31259922 31259922 31259922 31259922 + + +VRF: vrf-test +------------- +BGP VRF vrf-test, state: Active +BGP Route Distinguisher: 65000:42 +VRF ID: 0x60000003 +BGP router identifier 0.0.0.0, local AS number 65000 +Non-stop routing is enabled +BGP table state: Active +Table ID: 0xe0000012 RD version: 0 +BGP main routing table version 1 +BGP NSR Initial initsync version 0 (Not Reached) +BGP NSR/ISSU Sync-Group versions 0/0 + +BGP is operating in STANDALONE mode. + + +Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer +Speaker 1 1 0 0 1 0 diff --git a/tests/cisco_xr/show_bgp_vrf_all_ipv4_unicast_summary/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.yml b/tests/cisco_xr/show_bgp_vrf_all_ipv4_unicast_summary/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.yml index ca06abbefd..df2c8fd5c9 100644 --- a/tests/cisco_xr/show_bgp_vrf_all_ipv4_unicast_summary/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.yml +++ b/tests/cisco_xr/show_bgp_vrf_all_ipv4_unicast_summary/cisco_xr_show_bgp_vrf_all_ipv4_unicast_summary.yml @@ -3,15 +3,24 @@ parsed_sample: - vrf: "DR" rd: "10.1.1.1:5" state: "Active" + local_as_number: "15005" - vrf: "PROD" rd: "10.1.1.1:3" state: "Active" + local_as_number: "15005" - vrf: "REPL" rd: "10.1.1.1:1" state: "Active" + local_as_number: "15005" - vrf: "EXTRANET" rd: "10.1.1.1:7" state: "Active" + local_as_number: "15005" - vrf: "EXTRANET2" rd: "10.1.1.1:8" state: "Active" + local_as_number: "15005" + - vrf: "vrf-test" + rd: "65000:42" + state: "Active" + local_as_number: "65000" diff --git a/tests/huawei_vrp/display_arp_all/huawei_vrp_display_arp_all.raw b/tests/huawei_vrp/display_arp_all/huawei_vrp_display_arp_all.raw new file mode 100644 index 0000000000..2680022d92 --- /dev/null +++ b/tests/huawei_vrp/display_arp_all/huawei_vrp_display_arp_all.raw @@ -0,0 +1,12 @@ +IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE + VLAN/CEVLAN(SIP/DIP) +------------------------------------------------------------------------------ +192.168.1.253 b076-1b65-6a40 I - MEth0/0/1 +10.10.10.1 b076-1b65-6a4b I - Vlanif10 +10.10.10.2 b8d6-f6ff-739b 17 D-0 XGE0/0/1 + 10/- +10.10.20.1 b076-1b65-6a46 I - Vlanif20 +10.10.20.2 b8d6-f6ff-7396 17 D-0 XGE0/0/1 + 20/- +------------------------------------------------------------------------------ +Total:5 Dynamic:2 Static:0 Interface:3 diff --git a/tests/huawei_vrp/display_arp_all/huawei_vrp_display_arp_all.yml b/tests/huawei_vrp/display_arp_all/huawei_vrp_display_arp_all.yml new file mode 100644 index 0000000000..ad45a1cc9a --- /dev/null +++ b/tests/huawei_vrp/display_arp_all/huawei_vrp_display_arp_all.yml @@ -0,0 +1,32 @@ +--- +parsed_sample: + - expire: "" + interface: "MEth0/0/1" + ip_address: "192.168.1.253" + mac_address: "b076-1b65-6a40" + type: "I -" + vpn_instance: "" + - expire: "" + interface: "Vlanif10" + ip_address: "10.10.10.1" + mac_address: "b076-1b65-6a4b" + type: "I -" + vpn_instance: "" + - expire: "17" + interface: "XGE0/0/1" + ip_address: "10.10.10.2" + mac_address: "b8d6-f6ff-739b" + type: "D-0" + vpn_instance: "" + - expire: "" + interface: "Vlanif20" + ip_address: "10.10.20.1" + mac_address: "b076-1b65-6a46" + type: "I -" + vpn_instance: "" + - expire: "17" + interface: "XGE0/0/1" + ip_address: "10.10.20.2" + mac_address: "b8d6-f6ff-7396" + type: "D-0" + vpn_instance: "" diff --git a/tests/huawei_vrp/display_interface/huawei_vrp_display_interface.yml b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface.yml index 37a1658620..458d7c1df2 100644 --- a/tests/huawei_vrp/display_interface/huawei_vrp_display_interface.yml +++ b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface.yml @@ -17,6 +17,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "Dialer1" link_status: "UP" protocol_status: "UP (spoofing)" @@ -34,6 +36,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1492" + aggregated_interfaces: [] - interface: "Dialer1:0" link_status: "UP ," protocol_status: "UP" @@ -51,6 +55,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "" + aggregated_interfaces: [] - interface: "Ethernet0/0/0" link_status: "DOWN" protocol_status: "DOWN" @@ -68,6 +74,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/0" link_status: "DOWN" protocol_status: "DOWN" @@ -85,6 +93,8 @@ parsed_sample: loopback: "NONE" duplex: "HALF" negotiation: "DISABLE" + mtu: "9596" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/1" link_status: "DOWN" protocol_status: "DOWN" @@ -102,6 +112,8 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "ENABLE" + mtu: "9596" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/2" link_status: "UP" protocol_status: "UP" @@ -119,6 +131,8 @@ parsed_sample: loopback: "PHY" duplex: "FULL" negotiation: "ENABLE" + mtu: "9596" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/3" link_status: "DOWN" protocol_status: "DOWN" @@ -136,6 +150,8 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "ENABLE" + mtu: "9596" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/4" link_status: "UP" protocol_status: "DOWN" @@ -153,6 +169,8 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "ENABLE" + mtu: "1500" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/5" link_status: "UP" protocol_status: "DOWN" @@ -170,6 +188,8 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "ENABLE" + mtu: "1500" + aggregated_interfaces: [] - interface: "NULL0" link_status: "UP" protocol_status: "UP (spoofing)" @@ -187,6 +207,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "Vlanif1" link_status: "UP" protocol_status: "UP" @@ -204,6 +226,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "Vlanif2" link_status: "DOWN" protocol_status: "DOWN" @@ -221,6 +245,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "Vlanif100" link_status: "UP" protocol_status: "UP" @@ -238,6 +264,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "Wlan-Bss1" link_status: "UP" protocol_status: "UP" @@ -255,6 +283,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "9596" + aggregated_interfaces: [] - interface: "Wlan-Bss7" link_status: "UP" protocol_status: "UP" @@ -272,6 +302,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "9596" + aggregated_interfaces: [] - interface: "Wlan-Radio0/0/0" link_status: "UP" protocol_status: "UP" @@ -289,6 +321,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "Wlan-Radio0/0/1" link_status: "UP" protocol_status: "UP" @@ -306,6 +340,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "Tunnel0/0/2" link_status: "UP" protocol_status: "UP" @@ -323,6 +359,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] - interface: "Virtual-Ethernet0/0/1" link_status: "UP" protocol_status: "UP" @@ -340,3 +378,5 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1500" + aggregated_interfaces: [] diff --git a/tests/huawei_vrp/display_interface/huawei_vrp_display_interface1.raw b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface1.raw new file mode 100644 index 0000000000..13bd439c96 --- /dev/null +++ b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface1.raw @@ -0,0 +1,1356 @@ +Eth-Trunk0 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, Hash arithmetic : According to SIP-XOR-DIP,Maximal BW: 40G, Current BW: 0M, The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Current system time: 2023-11-22 16:41:56 +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + Frames: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Jabbers: 0, Fragments: 0 + Runts: 0, DropEvents: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + Collisions: 0, ExcessiveCollisions: 0 + Late Collisions: 0, Deferreds: 0 + Buffers Purged: 0 + + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% +----------------------------------------------------- +PortName Status Weight +----------------------------------------------------- +40GE0/0/1 DOWN 1 +40GE0/0/2 UP 1 +----------------------------------------------------- +The Number of Ports in Trunk : 1 +The Number of UP Ports in Trunk : 0 + +LoopBack1 current state : UP +Line protocol current state : UP (spoofing) +Description: +Route Port,The Maximum Transmit Unit is 1500 +Internet Address is 169.254.1.1/32 +Physical is Loopback +Current system time: 2023-11-22 16:41:56 + Last 300 seconds input rate 0 bits/sec, 0 packets/sec + Last 300 seconds output rate 0 bits/sec, 0 packets/sec + Realtime 44 seconds input rate 0 bits/sec, 0 packets/sec + Realtime 44 seconds output rate 0 bits/sec, 0 packets/sec + Input: 0 packets,0 bytes + 0 unicast,0 broadcast,0 multicast + 0 errors,0 unknownprotocol + Output:0 packets,0 bytes + 0 unicast,0 broadcast,0 multicast + 0 errors + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +MEth0/0/1 current state : DOWN +Line protocol current state : DOWN +Description: +Route Port,The MTU is 1500 +Internet Address is 192.168.1.253/24 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:44:55 +Current system time: 2023-11-22 16:41:56 +Speed : 10, Loopback: NONE +Duplex: HALF, Negotiation: ENABLE + +Last 300 seconds input rate: 0 bits/sec, 0 packets/sec +Last 300 seconds output rate: 0 bits/sec, 0 packets/sec + +Input: 0 Packets, 0 Bytes + Unicast: 0, Multicast: 0 + Broadcast: 0 + Oversize: 0, Undersize: 0 + FCS: 0, Pause: 0 + +Output: 0 Packets, 0 Bytes + Unicast: 0, Multicast: 0 + Broadcast: 0 + Oversize: 0, Defer: 0 + FCS: 0, Pause: 0 + Collision: 0 + + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +NULL0 current state : UP +Line protocol current state : UP (spoofing) +Description: +Route Port,The Maximum Transmit Unit is 1500 +Internet protocol processing : disabled +Physical is NULL DEV +Current system time: 2023-11-22 16:41:56 + Last 300 seconds input rate 0 bits/sec, 0 packets/sec + Last 300 seconds output rate 0 bits/sec, 0 packets/sec + Realtime 42 seconds input rate 0 bits/sec, 0 packets/sec + Realtime 42 seconds output rate 0 bits/sec, 0 packets/sec + Input: 0 packets,0 bytes + 0 unicast,0 broadcast,0 multicast + 0 errors,0 unknownprotocol + Output:0 packets,0 bytes + 0 unicast,0 broadcast,0 multicast + 0 errors + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +Vlanif1 current state : UP +Line protocol current state : DOWN +Description: +Route Port,The Maximum Transmit Unit is 1500 +Internet protocol processing : disabled +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a42 +Current system time: 2023-11-22 16:42:00 + Input bandwidth utilization : -- + Output bandwidth utilization : -- + +Vlanif10 current state : UP +Line protocol current state : UP +Last line protocol up time : 2023-11-22 16:26:05 +Description: +Route Port,The Maximum Transmit Unit is 1500 +Internet Address is 10.10.10.1/24 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a4b +Current system time: 2023-11-22 16:42:00 + Input bandwidth utilization : -- + Output bandwidth utilization : -- + +Vlanif20 current state : UP +Line protocol current state : UP +Last line protocol up time : 2023-11-22 16:26:53 +Description: +Route Port,The Maximum Transmit Unit is 1500 +Internet Address is 10.10.20.1/24 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a46 +Current system time: 2023-11-22 16:42:00 + Input bandwidth utilization : -- + Output bandwidth utilization : -- + +Vlanif30 current state : UP +Line protocol current state : UP +Last line protocol up time : 2023-11-22 16:26:54 +Description: +Route Port,The Maximum Transmit Unit is 1500 +Internet Address is 10.10.30.1/24 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a56 +Current system time: 2023-11-22 16:42:00 + Input bandwidth utilization : -- + Output bandwidth utilization : -- + +XGigabitEthernet0/0/1 current state : UP +Line protocol current state : UP +Description: +Switch Port, Link-type : trunk(configured), +PVID : 10, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : 2023-11-22 16:20:13 +Last physical down time : 2023-11-22 15:45:21 +Current system time: 2023-11-22 16:42:00 +Port Mode: COMMON FIBER, Transceiver: 1000_BASE_LX_SFP +Speed : 1000, Loopback: NONE +Duplex: FULL, Negotiation: ENABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 440 bits/sec, 0 packets/sec +Last 300 seconds output rate 1840 bits/sec, 2 packets/sec +Input peak rate 27080 bits/sec, Record time: 2023-11-22 16:20:15 +Output peak rate 20584 bits/sec, Record time: 2023-11-22 16:20:15 + +Input: 721 packets, 94635 bytes + Unicast: 18, Multicast: 410 + Broadcast: 293, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 2326 packets, 239211 bytes + Unicast: 25, Multicast: 2051 + Broadcast: 250, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/2 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : trunk(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : 2023-11-22 16:10:46 +Last physical down time : 2023-11-22 16:19:55 +Current system time: 2023-11-22 16:42:04 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 17184 bits/sec, Record time: 2023-11-22 16:10:49 +Output peak rate 15448 bits/sec, Record time: 2023-11-22 16:10:47 + +Input: 228 packets, 40797 bytes + Unicast: 0, Multicast: 81 + Broadcast: 147, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 505 packets, 69120 bytes + Unicast: 0, Multicast: 395 + Broadcast: 110, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/3 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:22 +Current system time: 2023-11-22 16:42:04 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/4 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:22 +Current system time: 2023-11-22 16:42:04 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/5 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:23 +Current system time: 2023-11-22 16:42:08 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/6 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:23 +Current system time: 2023-11-22 16:42:08 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/7 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:24 +Current system time: 2023-11-22 16:42:12 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/8 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:24 +Current system time: 2023-11-22 16:42:12 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/9 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:25 +Current system time: 2023-11-22 16:42:16 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/10 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:25 +Current system time: 2023-11-22 16:42:16 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/11 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:26 +Current system time: 2023-11-22 16:42:20 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/12 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:26 +Current system time: 2023-11-22 16:42:20 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/13 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:27 +Current system time: 2023-11-22 16:42:24 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/14 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:27 +Current system time: 2023-11-22 16:42:24 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/15 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:28 +Current system time: 2023-11-22 16:42:28 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/16 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:28 +Current system time: 2023-11-22 16:42:28 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/17 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:29 +Current system time: 2023-11-22 16:42:32 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/18 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:29 +Current system time: 2023-11-22 16:42:32 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/19 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:30 +Current system time: 2023-11-22 16:42:32 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/20 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:30 +Current system time: 2023-11-22 16:42:36 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/21 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:31 +Current system time: 2023-11-22 16:42:36 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/22 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:31 +Current system time: 2023-11-22 16:42:40 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/23 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:32 +Current system time: 2023-11-22 16:42:40 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +XGigabitEthernet0/0/24 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:32 +Current system time: 2023-11-22 16:42:44 +Port Mode: COMMON FIBER +Speed : 10000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +40GE0/0/1 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:32 +Current system time: 2023-11-22 16:42:44 +Port Mode: COMMON FIBER +Speed : 40000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +40GE0/0/2 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:33 +Current system time: 2023-11-22 16:42:48 +Port Mode: COMMON FIBER +Speed : 40000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +40GE0/0/3 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:34 +Current system time: 2023-11-22 16:42:48 +Port Mode: COMMON FIBER +Speed : 40000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +40GE0/0/4 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:34 +Current system time: 2023-11-22 16:42:52 +Port Mode: COMMON FIBER +Speed : 40000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +40GE0/0/5 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:35 +Current system time: 2023-11-22 16:42:52 +Port Mode: COMMON FIBER +Speed : 40000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% + +40GE0/0/6 current state : DOWN +Line protocol current state : DOWN +Description: +Switch Port, Link-type : access(negotiated), +PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216 +IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is b076-1b65-6a40 +Last physical up time : - +Last physical down time : 2023-11-22 15:45:36 +Current system time: 2023-11-22 16:42:56 +Port Mode: COMMON FIBER +Speed : 40000, Loopback: NONE +Duplex: FULL, Negotiation: DISABLE +Mdi : -, Flow-control: DISABLE +Last 300 seconds input rate 0 bits/sec, 0 packets/sec +Last 300 seconds output rate 0 bits/sec, 0 packets/sec +Input peak rate 0 bits/sec, Record time: - +Output peak rate 0 bits/sec, Record time: - + +Input: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + Total Error: 0 + CRC: 0, Giants: 0 + Runts: 0, Fragments: 0 + Alignments: 0, Symbols: 0 + Ignoreds: 0 + +Output: 0 packets, 0 bytes + Unicast: 0, Multicast: 0 + Broadcast: 0, Jumbo: 0 + Discard: 0, Pause: 0 + + + Input bandwidth utilization threshold : 80.00% + Output bandwidth utilization threshold: 80.00% + Input bandwidth utilization : 0% + Output bandwidth utilization : 0% diff --git a/tests/huawei_vrp/display_interface/huawei_vrp_display_interface1.yml b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface1.yml new file mode 100644 index 0000000000..96cdaae9a7 --- /dev/null +++ b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface1.yml @@ -0,0 +1,726 @@ +--- +parsed_sample: + - aggregated_interfaces: + - "40GE0/0/1" + - "40GE0/0/2" + current_system_time: "2023-11-22 16:41:56" + duplex: "" + hardware_address: "b076-1b65-6a40" + interface: "Eth-Trunk0" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "" + last_physical_up_time: "" + link_status: "DOWN" + loopback: "" + mtu: "9216" + negotiation: "" + port_mode: "" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:41:56" + duplex: "" + hardware_address: "" + interface: "LoopBack1" + interface_description: "" + internet_address: "169.254.1.1/32" + internet_protocol: "" + last_physical_down_time: "" + last_physical_up_time: "" + link_status: "UP" + loopback: "" + mtu: "1500" + negotiation: "" + port_mode: "" + port_type: "Route" + protocol_status: "UP (spoofing)" + pvid: "" + speed: "" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:41:56" + duplex: "HALF" + hardware_address: "b076-1b65-6a40" + interface: "MEth0/0/1" + interface_description: "" + internet_address: "192.168.1.253/24" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:44:55" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "1500" + negotiation: "ENABLE" + port_mode: "" + port_type: "Route" + protocol_status: "DOWN" + pvid: "" + speed: "10" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:41:56" + duplex: "" + hardware_address: "" + interface: "NULL0" + interface_description: "" + internet_address: "" + internet_protocol: "disabled" + last_physical_down_time: "" + last_physical_up_time: "" + link_status: "UP" + loopback: "" + mtu: "1500" + negotiation: "" + port_mode: "" + port_type: "Route" + protocol_status: "UP (spoofing)" + pvid: "" + speed: "" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:00" + duplex: "" + hardware_address: "b076-1b65-6a42" + interface: "Vlanif1" + interface_description: "" + internet_address: "" + internet_protocol: "disabled" + last_physical_down_time: "" + last_physical_up_time: "" + link_status: "UP" + loopback: "" + mtu: "1500" + negotiation: "" + port_mode: "" + port_type: "Route" + protocol_status: "DOWN" + pvid: "" + speed: "" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:00" + duplex: "" + hardware_address: "b076-1b65-6a4b" + interface: "Vlanif10" + interface_description: "" + internet_address: "10.10.10.1/24" + internet_protocol: "" + last_physical_down_time: "" + last_physical_up_time: "" + link_status: "UP" + loopback: "" + mtu: "1500" + negotiation: "" + port_mode: "" + port_type: "Route" + protocol_status: "UP" + pvid: "" + speed: "" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:00" + duplex: "" + hardware_address: "b076-1b65-6a46" + interface: "Vlanif20" + interface_description: "" + internet_address: "10.10.20.1/24" + internet_protocol: "" + last_physical_down_time: "" + last_physical_up_time: "" + link_status: "UP" + loopback: "" + mtu: "1500" + negotiation: "" + port_mode: "" + port_type: "Route" + protocol_status: "UP" + pvid: "" + speed: "" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:00" + duplex: "" + hardware_address: "b076-1b65-6a56" + interface: "Vlanif30" + interface_description: "" + internet_address: "10.10.30.1/24" + internet_protocol: "" + last_physical_down_time: "" + last_physical_up_time: "" + link_status: "UP" + loopback: "" + mtu: "1500" + negotiation: "" + port_mode: "" + port_type: "Route" + protocol_status: "UP" + pvid: "" + speed: "" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:00" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/1" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:21" + last_physical_up_time: "2023-11-22 16:20:13" + link_status: "UP" + loopback: "NONE" + mtu: "9216" + negotiation: "ENABLE" + port_mode: "COMMON FIBER, Transceiver: 1000_BASE_LX_SFP" + port_type: "Switch" + protocol_status: "UP" + pvid: "10" + speed: "1000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:04" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/2" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 16:19:55" + last_physical_up_time: "2023-11-22 16:10:46" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:04" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/3" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:22" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:04" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/4" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:22" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:08" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/5" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:23" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:08" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/6" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:23" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:12" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/7" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:24" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:12" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/8" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:24" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:16" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/9" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:25" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:16" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/10" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:25" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:20" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/11" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:26" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:20" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/12" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:26" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:24" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/13" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:27" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:24" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/14" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:27" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:28" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/15" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:28" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:28" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/16" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:28" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:32" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/17" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:29" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:32" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/18" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:29" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:32" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/19" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:30" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:36" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/20" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:30" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:36" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/21" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:31" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:40" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/22" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:31" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:40" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/23" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:32" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:44" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "XGigabitEthernet0/0/24" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:32" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "10000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:44" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "40GE0/0/1" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:32" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "40000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:48" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "40GE0/0/2" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:33" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "40000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:48" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "40GE0/0/3" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:34" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "40000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:52" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "40GE0/0/4" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:34" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "40000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:52" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "40GE0/0/5" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:35" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "40000" + - aggregated_interfaces: [] + current_system_time: "2023-11-22 16:42:56" + duplex: "FULL" + hardware_address: "b076-1b65-6a40" + interface: "40GE0/0/6" + interface_description: "" + internet_address: "" + internet_protocol: "" + last_physical_down_time: "2023-11-22 15:45:36" + last_physical_up_time: "-" + link_status: "DOWN" + loopback: "NONE" + mtu: "9216" + negotiation: "DISABLE" + port_mode: "COMMON FIBER" + port_type: "Switch" + protocol_status: "DOWN" + pvid: "1" + speed: "40000" diff --git a/tests/huawei_vrp/display_interface/huawei_vrp_display_interface_dialer_1.yml b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface_dialer_1.yml index 56fc9d8ad9..e6920f97c4 100644 --- a/tests/huawei_vrp/display_interface/huawei_vrp_display_interface_dialer_1.yml +++ b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface_dialer_1.yml @@ -17,6 +17,8 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "1492" + aggregated_interfaces: [] - interface: "Dialer1:0" link_status: "UP ," protocol_status: "UP" @@ -34,3 +36,5 @@ parsed_sample: loopback: "" duplex: "" negotiation: "" + mtu: "" + aggregated_interfaces: [] diff --git a/tests/huawei_vrp/display_interface/huawei_vrp_display_interface_gigabitethernet.yml b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface_gigabitethernet.yml index 7e37980284..e6a8e89b77 100644 --- a/tests/huawei_vrp/display_interface/huawei_vrp_display_interface_gigabitethernet.yml +++ b/tests/huawei_vrp/display_interface/huawei_vrp_display_interface_gigabitethernet.yml @@ -17,6 +17,8 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "DISABLE" + mtu: "9596" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/1" link_status: "DOWN" protocol_status: "DOWN" @@ -34,6 +36,8 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "ENABLE" + mtu: "9596" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/2" link_status: "UP" protocol_status: "UP" @@ -51,6 +55,8 @@ parsed_sample: loopback: "PHY" duplex: "FULL" negotiation: "ENABLE" + mtu: "9596" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/3" link_status: "DOWN" protocol_status: "DOWN" @@ -68,6 +74,8 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "ENABLE" + mtu: "9596" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/4" link_status: "UP" protocol_status: "DOWN" @@ -85,6 +93,8 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "ENABLE" + mtu: "1500" + aggregated_interfaces: [] - interface: "GigabitEthernet0/0/5" link_status: "UP" protocol_status: "DOWN" @@ -102,3 +112,5 @@ parsed_sample: loopback: "NONE" duplex: "FULL" negotiation: "ENABLE" + mtu: "1500" + aggregated_interfaces: [] diff --git a/tests/huawei_vrp/display_ip_routing-table_verbose/huawei_vrp_display_ip_routing-table_verbose_ipv41.raw b/tests/huawei_vrp/display_ip_routing-table_verbose/huawei_vrp_display_ip_routing-table_verbose_ipv41.raw new file mode 100644 index 0000000000..88d5d0bece --- /dev/null +++ b/tests/huawei_vrp/display_ip_routing-table_verbose/huawei_vrp_display_ip_routing-table_verbose_ipv41.raw @@ -0,0 +1,93 @@ +Route Flags: R - relay, D - download to fib, T - to vpn-instance +------------------------------------------------------------------------------ +Routing Tables: Public + Destinations : 363 Routes : 363 + + +Destination: 0.0.0.0/0 + Protocol: O_ASE Process ID: 1 + Preference: 150 Cost: 1 + NextHop: 10.10.0.1 Neighbour: 0.0.0.0 + State: Active Adv Age: 30d22h50m33s + Tag: 0 Priority: high + Label: NULL QoSInfo: 0x0 + IndirectID: 0x0 + RelayNextHop: 0.0.0.0 Interface: Vlanif10 + TunnelID: 0x0 Flags: D + +Destination: 10.2.8.0/21 + Protocol: OSPF Process ID: 1 + Preference: 10 Cost: 81 + NextHop: 10.10.0.1 Neighbour: 0.0.0.0 + State: Active Adv Age: 30d22h50m33s + Tag: 0 Priority: medium + Label: NULL QoSInfo: 0x0 + IndirectID: 0x0 + RelayNextHop: 0.0.0.0 Interface: Vlanif10 + TunnelID: 0x0 Flags: D + +Destination: 10.10.10.0/24 + Protocol: OSPF Process ID: 1 + Preference: 10 Cost: 81 + NextHop: 10.10.0.1 Neighbour: 0.0.0.0 + State: Active Adv Age: 30d22h50m33s + Tag: 0 Priority: medium + Label: NULL QoSInfo: 0x0 + IndirectID: 0x0 + RelayNextHop: 0.0.0.0 Interface: Vlanif10 + TunnelID: 0x0 Flags: D + +Destination: 10.20.0.0/21 + Protocol: OSPF Process ID: 1 + Preference: 10 Cost: 81 + NextHop: 10.10.0.1 Neighbour: 0.0.0.0 + State: Active Adv Age: 30d22h50m36s + Tag: 0 Priority: medium + Label: NULL QoSInfo: 0x0 + IndirectID: 0x0 + RelayNextHop: 0.0.0.0 Interface: Vlanif10 + TunnelID: 0x0 Flags: D + +Destination: 10.30.0.0/21 + Protocol: OSPF Process ID: 1 + Preference: 10 Cost: 51 + NextHop: 10.10.0.1 Neighbour: 0.0.0.0 + State: Active Adv Age: 3d13h36m52s + Tag: 0 Priority: medium + Label: NULL QoSInfo: 0x0 + IndirectID: 0x0 + RelayNextHop: 0.0.0.0 Interface: Vlanif10 + TunnelID: 0x0 Flags: D + +Destination: 10.54.16.64/26 + Protocol: O_ASE Process ID: 1 + Preference: 150 Cost: 20 + NextHop: 10.10.0.1 Neighbour: 0.0.0.0 + State: Active Adv Age: 30d22h50m37s + Tag: 0 Priority: medium + Label: NULL QoSInfo: 0x0 + IndirectID: 0x0 + RelayNextHop: 0.0.0.0 Interface: Vlanif10 + TunnelID: 0x0 Flags: D + +Destination: 10.54.17.0/24 + Protocol: OSPF Process ID: 1 + Preference: 10 Cost: 51 + NextHop: 10.10.0.1 Neighbour: 0.0.0.0 + State: Active Adv Age: 30d22h50m37s + Tag: 0 Priority: medium + Label: NULL QoSInfo: 0x0 + IndirectID: 0x0 + RelayNextHop: 0.0.0.0 Interface: Vlanif10 + TunnelID: 0x0 Flags: D + +Destination: 10.54.24.128/26 + Protocol: OSPF Process ID: 1 + Preference: 10 Cost: 15 + NextHop: 10.10.0.1 Neighbour: 0.0.0.0 + State: Active Adv Age: 5d13h51m01s + Tag: 0 Priority: medium + Label: NULL QoSInfo: 0x0 + IndirectID: 0x0 + RelayNextHop: 0.0.0.0 Interface: Vlanif10 + TunnelID: 0x0 Flags: D \ No newline at end of file diff --git a/tests/huawei_vrp/display_ip_routing-table_verbose/huawei_vrp_display_ip_routing-table_verbose_ipv41.yml b/tests/huawei_vrp/display_ip_routing-table_verbose/huawei_vrp_display_ip_routing-table_verbose_ipv41.yml new file mode 100644 index 0000000000..b6ec71a37b --- /dev/null +++ b/tests/huawei_vrp/display_ip_routing-table_verbose/huawei_vrp_display_ip_routing-table_verbose_ipv41.yml @@ -0,0 +1,178 @@ +--- +parsed_sample: + - age: "30d22h50m33s" + cost: "1" + destination: "0.0.0.0/0" + entry_flags: "" + entry_id: "" + flags: "D" + indirect_id: "0x0" + interface: "Vlanif10" + label: "NULL" + neighbour: "0.0.0.0" + next_hop: "10.10.0.1" + preference: "150" + prefix_length: "" + priority: "high" + process_id: "1" + protocol: "O_ASE" + qos_info: "0x0" + reference_cnt: "" + relay_next_hop: "0.0.0.0" + state: "Active Adv" + tag: "0" + tunnel_id: "0x0" + - age: "30d22h50m33s" + cost: "81" + destination: "10.2.8.0/21" + entry_flags: "" + entry_id: "" + flags: "D" + indirect_id: "0x0" + interface: "Vlanif10" + label: "NULL" + neighbour: "0.0.0.0" + next_hop: "10.10.0.1" + preference: "10" + prefix_length: "" + priority: "medium" + process_id: "1" + protocol: "OSPF" + qos_info: "0x0" + reference_cnt: "" + relay_next_hop: "0.0.0.0" + state: "Active Adv" + tag: "0" + tunnel_id: "0x0" + - age: "30d22h50m33s" + cost: "81" + destination: "10.10.10.0/24" + entry_flags: "" + entry_id: "" + flags: "D" + indirect_id: "0x0" + interface: "Vlanif10" + label: "NULL" + neighbour: "0.0.0.0" + next_hop: "10.10.0.1" + preference: "10" + prefix_length: "" + priority: "medium" + process_id: "1" + protocol: "OSPF" + qos_info: "0x0" + reference_cnt: "" + relay_next_hop: "0.0.0.0" + state: "Active Adv" + tag: "0" + tunnel_id: "0x0" + - age: "30d22h50m36s" + cost: "81" + destination: "10.20.0.0/21" + entry_flags: "" + entry_id: "" + flags: "D" + indirect_id: "0x0" + interface: "Vlanif10" + label: "NULL" + neighbour: "0.0.0.0" + next_hop: "10.10.0.1" + preference: "10" + prefix_length: "" + priority: "medium" + process_id: "1" + protocol: "OSPF" + qos_info: "0x0" + reference_cnt: "" + relay_next_hop: "0.0.0.0" + state: "Active Adv" + tag: "0" + tunnel_id: "0x0" + - age: "3d13h36m52s" + cost: "51" + destination: "10.30.0.0/21" + entry_flags: "" + entry_id: "" + flags: "D" + indirect_id: "0x0" + interface: "Vlanif10" + label: "NULL" + neighbour: "0.0.0.0" + next_hop: "10.10.0.1" + preference: "10" + prefix_length: "" + priority: "medium" + process_id: "1" + protocol: "OSPF" + qos_info: "0x0" + reference_cnt: "" + relay_next_hop: "0.0.0.0" + state: "Active Adv" + tag: "0" + tunnel_id: "0x0" + - age: "30d22h50m37s" + cost: "20" + destination: "10.54.16.64/26" + entry_flags: "" + entry_id: "" + flags: "D" + indirect_id: "0x0" + interface: "Vlanif10" + label: "NULL" + neighbour: "0.0.0.0" + next_hop: "10.10.0.1" + preference: "150" + prefix_length: "" + priority: "medium" + process_id: "1" + protocol: "O_ASE" + qos_info: "0x0" + reference_cnt: "" + relay_next_hop: "0.0.0.0" + state: "Active Adv" + tag: "0" + tunnel_id: "0x0" + - age: "30d22h50m37s" + cost: "51" + destination: "10.54.17.0/24" + entry_flags: "" + entry_id: "" + flags: "D" + indirect_id: "0x0" + interface: "Vlanif10" + label: "NULL" + neighbour: "0.0.0.0" + next_hop: "10.10.0.1" + preference: "10" + prefix_length: "" + priority: "medium" + process_id: "1" + protocol: "OSPF" + qos_info: "0x0" + reference_cnt: "" + relay_next_hop: "0.0.0.0" + state: "Active Adv" + tag: "0" + tunnel_id: "0x0" + - age: "5d13h51m01s" + cost: "15" + destination: "10.54.24.128/26" + entry_flags: "" + entry_id: "" + flags: "D" + indirect_id: "0x0" + interface: "Vlanif10" + label: "NULL" + neighbour: "0.0.0.0" + next_hop: "10.10.0.1" + preference: "10" + prefix_length: "" + priority: "medium" + process_id: "1" + protocol: "OSPF" + qos_info: "0x0" + reference_cnt: "" + relay_next_hop: "0.0.0.0" + state: "Active Adv" + tag: "0" + tunnel_id: "0x0" diff --git a/tests/huawei_vrp/display_ip_vpn-instance/huawei_vrp_display_ip_vpn-instance.raw b/tests/huawei_vrp/display_ip_vpn-instance/huawei_vrp_display_ip_vpn-instance.raw new file mode 100644 index 0000000000..96cc0b8653 --- /dev/null +++ b/tests/huawei_vrp/display_ip_vpn-instance/huawei_vrp_display_ip_vpn-instance.raw @@ -0,0 +1,7 @@ + Total VPN-Instances configured : 1 + Total IPv4 VPN-Instances configured : 1 + Total IPv6 VPN-Instances configured : 1 + + VPN-Instance Name RD Address-family + red 1:2 IPv4 + red 1:2 IPv6 diff --git a/tests/huawei_vrp/display_ip_vpn-instance/huawei_vrp_display_ip_vpn-instance.yml b/tests/huawei_vrp/display_ip_vpn-instance/huawei_vrp_display_ip_vpn-instance.yml new file mode 100644 index 0000000000..7f21c30403 --- /dev/null +++ b/tests/huawei_vrp/display_ip_vpn-instance/huawei_vrp_display_ip_vpn-instance.yml @@ -0,0 +1,8 @@ +--- +parsed_sample: + - address_family: "IPv4" + name: "red" + rd: "1:2" + - address_family: "IPv6" + name: "red" + rd: "1:2" diff --git a/tests/huawei_vrp/display_ip_vpn-instance_interface/huawei_vrp_display_ip_vpn-instance_interface.raw b/tests/huawei_vrp/display_ip_vpn-instance_interface/huawei_vrp_display_ip_vpn-instance_interface.raw new file mode 100644 index 0000000000..0f53832bdb --- /dev/null +++ b/tests/huawei_vrp/display_ip_vpn-instance_interface/huawei_vrp_display_ip_vpn-instance_interface.raw @@ -0,0 +1,22 @@ + Total VPN-Instances configured : 3 + + VPN-Instance Name and ID : cftv, 1 + Interface Number : 3 + Interface list : Vlanif1823, + Vlanif1847, + LoopBack5 + + VPN-Instance Name and ID : met, 2 + Interface Number : 5 + Interface list : 40GE0/0/3, + Vlanif1774, + Vlanif1797, + LoopBack2, + Vlanif1769 + + VPN-Instance Name and ID : tel, 3 + Interface Number : 4 + Interface list : Vlanif755, + Vlanif773, + Vlanif797, + LoopBack1 diff --git a/tests/huawei_vrp/display_ip_vpn-instance_interface/huawei_vrp_display_ip_vpn-instance_interface.yml b/tests/huawei_vrp/display_ip_vpn-instance_interface/huawei_vrp_display_ip_vpn-instance_interface.yml new file mode 100644 index 0000000000..2199c30cc2 --- /dev/null +++ b/tests/huawei_vrp/display_ip_vpn-instance_interface/huawei_vrp_display_ip_vpn-instance_interface.yml @@ -0,0 +1,23 @@ +--- +parsed_sample: + - name: "cftv" + id: "1" + interface_list: + - "Vlanif1823" + - "Vlanif1847" + - "LoopBack5" + - name: "met" + id: "2" + interface_list: + - "40GE0/0/3" + - "Vlanif1774" + - "Vlanif1797" + - "LoopBack2" + - "Vlanif1769" + - name: "tel" + id: "3" + interface_list: + - "Vlanif755" + - "Vlanif773" + - "Vlanif797" + - "LoopBack1" diff --git a/tests/huawei_vrp/display_lldp_neighbor/huawei_vrp_display_lldp_neighbor1.raw b/tests/huawei_vrp/display_lldp_neighbor/huawei_vrp_display_lldp_neighbor1.raw new file mode 100644 index 0000000000..63a8f992a2 --- /dev/null +++ b/tests/huawei_vrp/display_lldp_neighbor/huawei_vrp_display_lldp_neighbor1.raw @@ -0,0 +1,39 @@ +XGigabitEthernet0/0/1 has 1 neighbor(s): + +Neighbor index :1 +Chassis type :MAC address +Chassis ID :b8d6-f6ff-7390 +Port ID type :Interface name +Port ID :XGigabitEthernet0/0/2 +Port description :XGigabitEthernet0/0/2 +System name :ROUTER2 +System description :Huawei Switch S6730-S24X6Q +Huawei Versatile Routing Platform Software +VRP (R) software, Version 5.170 (S6730 V200R022C00SPC500) +Copyright (C) 2000-2022 HUAWEI TECH Co., Ltd. +System capabilities supported :bridge router +System capabilities enabled :bridge router +Management address type :ipv4 +Management address value :169.254.1.2 +OID :0.6.15.43.6.1.4.1.2011.5.25.41.1.2.1.1.1. +Expired time :95s + +Port VLAN ID(PVID) :10 +VLAN name of VLAN 1:VLAN 0001 + +Auto-negotiation supported :Yes +Auto-negotiation enabled :Yes +OperMau :speed(1000)/duplex(Full) + +Power port class :PD +PSE power supported :No +PSE power enabled :No +PSE pairs control ability :No +Power pairs :Unknown +Port power classification :Unknown + +Link aggregation supported:Yes +Link aggregation enabled :No +Aggregation port ID :0 + +Maximum frame Size :9216 diff --git a/tests/huawei_vrp/display_lldp_neighbor/huawei_vrp_display_lldp_neighbor1.yml b/tests/huawei_vrp/display_lldp_neighbor/huawei_vrp_display_lldp_neighbor1.yml new file mode 100644 index 0000000000..8667649a18 --- /dev/null +++ b/tests/huawei_vrp/display_lldp_neighbor/huawei_vrp_display_lldp_neighbor1.yml @@ -0,0 +1,18 @@ +--- +parsed_sample: + - capabilities: "bridge router" + chassis_id: "b8d6-f6ff-7390" + local_interface: "XGigabitEthernet0/0/1" + management_ip: "169.254.1.2" + manufacturer_name: "" + model_name: "" + neighbor: "ROUTER2" + neighbor_interface: "XGigabitEthernet0/0/2" + neighbor_port_id: "XGigabitEthernet0/0/2" + serial: "" + system_description: + - "Huawei Switch S6730-S24X6Q" + - "Huawei Versatile Routing Platform Software" + - "VRP (R) software, Version 5.170 (S6730 V200R022C00SPC500)" + - "Copyright (C) 2000-2022 HUAWEI TECH Co., Ltd." + vlan_id: "10" diff --git a/tests/huawei_vrp/display_mac-address/huawei_vrp_display_mac-address.raw b/tests/huawei_vrp/display_mac-address/huawei_vrp_display_mac-address.raw new file mode 100644 index 0000000000..40fcc17893 --- /dev/null +++ b/tests/huawei_vrp/display_mac-address/huawei_vrp_display_mac-address.raw @@ -0,0 +1,8 @@ +------------------------------------------------------------------------------- +MAC Address VLAN/VSI/BD Learned-From Type +------------------------------------------------------------------------------- +b8d6-f6ff-7390 10/-/- XGE0/0/1 dynamic +b8d6-f6ff-739b 10/-/- XGE0/0/1 dynamic + +------------------------------------------------------------------------------- +Total items displayed = 2 diff --git a/tests/huawei_vrp/display_mac-address/huawei_vrp_display_mac-address.yml b/tests/huawei_vrp/display_mac-address/huawei_vrp_display_mac-address.yml new file mode 100644 index 0000000000..8311a1d06f --- /dev/null +++ b/tests/huawei_vrp/display_mac-address/huawei_vrp_display_mac-address.yml @@ -0,0 +1,10 @@ +--- +parsed_sample: + - destination_address: "b8d6-f6ff-7390" + destination_port: "XGE0/0/1" + type: "dynamic" + vlan_id: "10" + - destination_address: "b8d6-f6ff-739b" + destination_port: "XGE0/0/1" + type: "dynamic" + vlan_id: "10" diff --git a/tests/huawei_vrp/display_port_vlan/huawei_vrp_display_port_vlan_example4.raw b/tests/huawei_vrp/display_port_vlan/huawei_vrp_display_port_vlan_example4.raw new file mode 100644 index 0000000000..745e2600fd --- /dev/null +++ b/tests/huawei_vrp/display_port_vlan/huawei_vrp_display_port_vlan_example4.raw @@ -0,0 +1,50 @@ +Port Link Type PVID Trunk VLAN List +------------------------------------------------------------------------------- +Eth-Trunk2 trunk 1 60 77 80 91 99 134 210 299 497 + 597 755 773 797 1021 1032 1050 + 1080 1180 1797 1847 +XGigabitEthernet0/0/1 trunk 1 1 99 118 299 773 1021 1032 1080 + 1180 1774 1823 +XGigabitEthernet0/0/2 trunk 1 1 149 299 773 1021 1080 1180 + 1774 1823 +XGigabitEthernet0/0/3 trunk 1 1 299 601 773 1021 1080 1180 + 1774 1823 +XGigabitEthernet0/0/4 trunk 1 1 118 299 773 1021 1080 1180 + 1774 1823 +XGigabitEthernet0/0/5 trunk 1 1 99 136 197 299 773 1021 1080 + 1180 1774 1823 +XGigabitEthernet0/0/6 trunk 1 1 142 299 617 773 1001 1021 1080 + 1180 1774 1823 +XGigabitEthernet0/0/7 trunk 1 1 143 299 773 1021 1080 1180 + 1774 1823 +XGigabitEthernet0/0/8 trunk 1 1 182 299 773 1021 1080 1180 + 1774 1823 +XGigabitEthernet0/0/9 trunk 1 1 142 182 186 299 773 1021 1080 + 1180 1774 1823 +XGigabitEthernet0/0/10 trunk 1 1 153 197-198 299 773 1021 1080 + 1180 1774 1823 +XGigabitEthernet0/0/11 trunk 1 1 136 143 212 299 604 773 1021 + 1080 1180 1774 1823 +XGigabitEthernet0/0/12 trunk 1 1 180 299 773 798 1021 1080 1180 + 1769 1774 1823 +XGigabitEthernet0/0/13 trunk 1 1 299 604 773 1021 1080 1180 + 1774 1805 1823 +XGigabitEthernet0/0/14 trunk 1 1 134 299 606 773 1021 1080 1180 + 1774 1823 +XGigabitEthernet0/0/15 trunk 1 1 100 1180 +XGigabitEthernet0/0/16 trunk 1 1 91 755 1180 +XGigabitEthernet0/0/17 trunk 1 1 91 172 299 755 773 1021 1050 + 1080 1180 1774 1805 1823 +XGigabitEthernet0/0/18 trunk 1 1 91 172 299 755 773 1021 1050 + 1080 1180 1774 1823 +XGigabitEthernet0/0/19 desirable 1 1-4094 +XGigabitEthernet0/0/20 desirable 1 1-4094 +XGigabitEthernet0/0/21 desirable 1 1-4094 +XGigabitEthernet0/0/22 desirable 1 1-4094 +XGigabitEthernet0/0/23 desirable 1 1-4094 +XGigabitEthernet0/0/24 desirable 1 1-4094 +40GE0/0/1 - 0 - +40GE0/0/2 - 0 - +40GE0/0/3 access 1 - +40GE0/0/4 desirable 1 1-4094 +40GE0/0/5 desirable 1 1-4094 diff --git a/tests/huawei_vrp/display_port_vlan/huawei_vrp_display_port_vlan_example4.yml b/tests/huawei_vrp/display_port_vlan/huawei_vrp_display_port_vlan_example4.yml new file mode 100644 index 0000000000..67c5031930 --- /dev/null +++ b/tests/huawei_vrp/display_port_vlan/huawei_vrp_display_port_vlan_example4.yml @@ -0,0 +1,324 @@ +--- +parsed_sample: + - interface: "Eth-Trunk2" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "60" + - "77" + - "80" + - "91" + - "99" + - "134" + - "210" + - "299" + - "497" + - "597" + - "755" + - "773" + - "797" + - "1021" + - "1032" + - "1050" + - "1080" + - "1180" + - "1797" + - "1847" + - interface: "XGigabitEthernet0/0/1" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "99" + - "118" + - "299" + - "773" + - "1021" + - "1032" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/2" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "149" + - "299" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/3" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "299" + - "601" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/4" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "118" + - "299" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/5" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "99" + - "136" + - "197" + - "299" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/6" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "142" + - "299" + - "617" + - "773" + - "1001" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/7" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "143" + - "299" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/8" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "182" + - "299" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/9" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "142" + - "182" + - "186" + - "299" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/10" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "153" + - "197-198" + - "299" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/11" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "136" + - "143" + - "212" + - "299" + - "604" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/12" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "180" + - "299" + - "773" + - "798" + - "1021" + - "1080" + - "1180" + - "1769" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/13" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "299" + - "604" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1805" + - "1823" + - interface: "XGigabitEthernet0/0/14" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "134" + - "299" + - "606" + - "773" + - "1021" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/15" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "100" + - "1180" + - interface: "XGigabitEthernet0/0/16" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "91" + - "755" + - "1180" + - interface: "XGigabitEthernet0/0/17" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "91" + - "172" + - "299" + - "755" + - "773" + - "1021" + - "1050" + - "1080" + - "1180" + - "1774" + - "1805" + - "1823" + - interface: "XGigabitEthernet0/0/18" + link_type: "trunk" + pvid: "1" + trunk_vlan_list: + - "1" + - "91" + - "172" + - "299" + - "755" + - "773" + - "1021" + - "1050" + - "1080" + - "1180" + - "1774" + - "1823" + - interface: "XGigabitEthernet0/0/19" + link_type: "desirable" + pvid: "1" + trunk_vlan_list: + - "1-4094" + - interface: "XGigabitEthernet0/0/20" + link_type: "desirable" + pvid: "1" + trunk_vlan_list: + - "1-4094" + - interface: "XGigabitEthernet0/0/21" + link_type: "desirable" + pvid: "1" + trunk_vlan_list: + - "1-4094" + - interface: "XGigabitEthernet0/0/22" + link_type: "desirable" + pvid: "1" + trunk_vlan_list: + - "1-4094" + - interface: "XGigabitEthernet0/0/23" + link_type: "desirable" + pvid: "1" + trunk_vlan_list: + - "1-4094" + - interface: "XGigabitEthernet0/0/24" + link_type: "desirable" + pvid: "1" + trunk_vlan_list: + - "1-4094" + - interface: "40GE0/0/1" + link_type: "" + pvid: "" + trunk_vlan_list: [] + - interface: "40GE0/0/2" + link_type: "" + pvid: "" + trunk_vlan_list: [] + - interface: "40GE0/0/3" + link_type: "access" + pvid: "1" + trunk_vlan_list: [] + - interface: "40GE0/0/4" + link_type: "desirable" + pvid: "1" + trunk_vlan_list: + - "1-4094" + - interface: "40GE0/0/5" + link_type: "desirable" + pvid: "1" + trunk_vlan_list: + - "1-4094" diff --git a/tests/huawei_vrp/display_vlan/huawei_vrp_display_vlan.raw b/tests/huawei_vrp/display_vlan/huawei_vrp_display_vlan.raw new file mode 100644 index 0000000000..61f44debd7 --- /dev/null +++ b/tests/huawei_vrp/display_vlan/huawei_vrp_display_vlan.raw @@ -0,0 +1,28 @@ +The total number of VLANs is: 3 +-------------------------------------------------------------------------------- +U: Up; D: Down; TG: Tagged; UT: Untagged; +MP: Vlan-mapping; ST: Vlan-stacking; +#: ProtocolTransparent-vlan; *: Management-vlan; +-------------------------------------------------------------------------------- + +VID Type Ports +-------------------------------------------------------------------------------- +1 common UT:XGE0/0/1(D) XGE0/0/2(D) XGE0/0/3(D) XGE0/0/4(D) + XGE0/0/5(D) XGE0/0/6(D) + TG:40GE0/0/1(D) 40GE0/0/2(D) 40GE0/0/3(D) 40GE0/0/4(D) + 40GE0/0/5(D) 40GE0/0/6(D) +10 common UT:XGE0/0/7(D) XGE0/0/8(D) XGE0/0/9(D) XGE0/0/10(D) + XGE0/0/11(D) XGE0/0/12(D) +20 common TG:40GE0/0/1(D) 40GE0/0/2(D) 40GE0/0/3(D) 40GE0/0/4(D) + 40GE0/0/5(D) 40GE0/0/6(D) +30 common UT:XGE0/0/13(D) XGE0/0/142(D) XGE0/0/15(D) XGE0/0/16(D) + XGE0/0/17(D) XGE0/0/18(D) + TG:40GE0/0/1(D) 40GE0/0/2(D) 40GE0/0/3(D) 40GE0/0/4(D) + 40GE0/0/5(D) 40GE0/0/6(D) + +VID Status Property MAC-LRN Statistics Description +-------------------------------------------------------------------------------- +1 enable default enable disable VLAN 0001 +10 enable default enable disable VLAN 0010 +20 enable default enable disable VLAN 0020 +30 enable default enable disable VLAN 0030 diff --git a/tests/huawei_vrp/display_vlan/huawei_vrp_display_vlan.yml b/tests/huawei_vrp/display_vlan/huawei_vrp_display_vlan.yml new file mode 100644 index 0000000000..3c64824b80 --- /dev/null +++ b/tests/huawei_vrp/display_vlan/huawei_vrp_display_vlan.yml @@ -0,0 +1,242 @@ +--- +parsed_sample: + - interface: "XGE0/0/1" + mode: "UT" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/2" + mode: "UT" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/3" + mode: "UT" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/4" + mode: "UT" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/5" + mode: "UT" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/6" + mode: "UT" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/1" + mode: "TG" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/2" + mode: "TG" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/3" + mode: "TG" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/4" + mode: "TG" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/5" + mode: "TG" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/6" + mode: "TG" + vlan_id: "1" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/7" + mode: "UT" + vlan_id: "10" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/8" + mode: "UT" + vlan_id: "10" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/9" + mode: "UT" + vlan_id: "10" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/10" + mode: "UT" + vlan_id: "10" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/11" + mode: "UT" + vlan_id: "10" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/12" + mode: "UT" + vlan_id: "10" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/1" + mode: "TG" + vlan_id: "20" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/2" + mode: "TG" + vlan_id: "20" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/3" + mode: "TG" + vlan_id: "20" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/4" + mode: "TG" + vlan_id: "20" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/5" + mode: "TG" + vlan_id: "20" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/6" + mode: "TG" + vlan_id: "20" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/13" + mode: "UT" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/142" + mode: "UT" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/15" + mode: "UT" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/16" + mode: "UT" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/17" + mode: "UT" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "XGE0/0/18" + mode: "UT" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/1" + mode: "TG" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/2" + mode: "TG" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/3" + mode: "TG" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/4" + mode: "TG" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/5" + mode: "TG" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "40GE0/0/6" + mode: "TG" + vlan_id: "30" + vlan_name: "" + vlan_status: "" + vlan_type: "common" + - interface: "" + mode: "" + vlan_id: "1" + vlan_name: "VLAN 0001" + vlan_status: "enable" + vlan_type: "" + - interface: "" + mode: "" + vlan_id: "10" + vlan_name: "VLAN 0010" + vlan_status: "enable" + vlan_type: "" + - interface: "" + mode: "" + vlan_id: "20" + vlan_name: "VLAN 0020" + vlan_status: "enable" + vlan_type: "" + - interface: "" + mode: "" + vlan_id: "30" + vlan_name: "VLAN 0030" + vlan_status: "enable" + vlan_type: "" diff --git a/tests/linux/ip_address_show/busybox_ip_address_show.raw b/tests/linux/ip_address_show/busybox_ip_address_show.raw new file mode 100644 index 0000000000..6d40b8d1c1 --- /dev/null +++ b/tests/linux/ip_address_show/busybox_ip_address_show.raw @@ -0,0 +1,13 @@ +1: lo: mtu 65536 qdisc noqueue state UNKNOWN + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever +2: eth0: mtu 1500 qdisc noqueue state UP + link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff + inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0 + valid_lft forever preferred_lft forever + inet6 fe80::302:03ff:fe04:0506/64 scope link + valid_lft forever preferred_lft forever + diff --git a/tests/linux/ip_address_show/busybox_ip_address_show.yml b/tests/linux/ip_address_show/busybox_ip_address_show.yml new file mode 100644 index 0000000000..6f45de26ff --- /dev/null +++ b/tests/linux/ip_address_show/busybox_ip_address_show.yml @@ -0,0 +1,42 @@ +--- +parsed_sample: + - broadcast: "00:00:00:00:00:00" + flags: "LOOPBACK,UP,LOWER_UP" + group: "" + id: "1" + interface: "lo" + ip_addresses: + - "127.0.0.1" + ip_masks: + - "8" + ipv6_addresses: + - "::1" + ipv6_masks: + - "128" + mac_address: "00:00:00:00:00:00" + master: "" + mtu: "65536" + qdisc: "noqueue" + qlen: "" + state: "UNKNOWN" + type: "loopback" + - broadcast: "ff:ff:ff:ff:ff:ff" + flags: "BROADCAST,MULTICAST,UP,LOWER_UP" + group: "" + id: "2" + interface: "eth0" + ip_addresses: + - "192.168.1.1" + ip_masks: + - "24" + ipv6_addresses: + - "fe80::302:03ff:fe04:0506" + ipv6_masks: + - "64" + mac_address: "01:02:03:04:05:06" + master: "" + mtu: "1500" + qdisc: "noqueue" + qlen: "" + state: "UP" + type: "ether" diff --git a/tests/linux/ip_link_show/busybox_ip_link_show.raw b/tests/linux/ip_link_show/busybox_ip_link_show.raw new file mode 100644 index 0000000000..e3c31ab087 --- /dev/null +++ b/tests/linux/ip_link_show/busybox_ip_link_show.raw @@ -0,0 +1,14 @@ +1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 +2: eth0: mtu 1500 qdisc noqueue state UP mode DEFAULT + link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff + alias WAN +3: eth1: mtu 1500 qdisc noqueue state UP mode DEFAULT + link/ether 01:02:03:04:05:07 brd ff:ff:ff:ff:ff:ff + alias LAN +4: eth2: mtu 1500 qdisc noqueue state UP mode DEFAULT + link/ether 01:02:03:04:05:08 brd ff:ff:ff:ff:ff:ff + alias WAN2 +5: imq0: mtu 16000 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 11000 + link/void + alias Priority Queue diff --git a/tests/linux/ip_link_show/busybox_ip_link_show.yml b/tests/linux/ip_link_show/busybox_ip_link_show.yml new file mode 100644 index 0000000000..bd2d664e3b --- /dev/null +++ b/tests/linux/ip_link_show/busybox_ip_link_show.yml @@ -0,0 +1,72 @@ +--- +parsed_sample: + - broadcast: "00:00:00:00:00:00" + flags: "LOOPBACK,UP,LOWER_UP" + group: "" + id: "1" + interface: "lo" + mac_address: "00:00:00:00:00:00" + master: "" + mode: "DEFAULT" + mtu: "65536" + qdisc: "noqueue" + qlen: "" + state: "UNKNOWN" + type: "loopback" + alias: "" + - broadcast: "ff:ff:ff:ff:ff:ff" + flags: "BROADCAST,MULTICAST,UP,LOWER_UP" + group: "" + id: "2" + interface: "eth0" + mac_address: "01:02:03:04:05:06" + master: "" + mode: "DEFAULT" + mtu: "1500" + qdisc: "noqueue" + qlen: "" + state: "UP" + type: "ether" + alias: "WAN" + - broadcast: "ff:ff:ff:ff:ff:ff" + flags: "BROADCAST,MULTICAST,UP,LOWER_UP" + group: "" + id: "3" + interface: "eth1" + mac_address: "01:02:03:04:05:07" + master: "" + mode: "DEFAULT" + mtu: "1500" + qdisc: "noqueue" + qlen: "" + state: "UP" + type: "ether" + alias: "LAN" + - broadcast: "ff:ff:ff:ff:ff:ff" + flags: "BROADCAST,MULTICAST,UP,LOWER_UP" + group: "" + id: "4" + interface: "eth2" + mac_address: "01:02:03:04:05:08" + master: "" + mode: "DEFAULT" + mtu: "1500" + qdisc: "noqueue" + qlen: "" + state: "UP" + type: "ether" + alias: "WAN2" + - broadcast: "" + flags: "NOARP,UP,LOWER_UP" + group: "" + id: "5" + interface: "imq0" + mac_address: "" + master: "" + mode: "DEFAULT" + mtu: "16000" + qdisc: "pfifo_fast" + qlen: "11000" + state: "UNKNOWN" + type: "void" + alias: "Priority Queue" diff --git a/tests/linux/ip_link_show/linux_ip_link_show.yml b/tests/linux/ip_link_show/linux_ip_link_show.yml index 7fadd9123e..09b1c71fd4 100644 --- a/tests/linux/ip_link_show/linux_ip_link_show.yml +++ b/tests/linux/ip_link_show/linux_ip_link_show.yml @@ -13,6 +13,7 @@ parsed_sample: qlen: "1000" state: "UNKNOWN" type: "loopback" + alias: "" - broadcast: "ff:ff:ff:ff:ff:ff" flags: "BROADCAST,MULTICAST,UP,LOWER_UP" group: "default" @@ -26,6 +27,7 @@ parsed_sample: qlen: "1000" state: "UP" type: "ether" + alias: "" - broadcast: "" flags: "POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP" group: "default" @@ -39,6 +41,7 @@ parsed_sample: qlen: "500" state: "UNKNOWN" type: "none" + alias: "" - broadcast: "ff:ff:ff:ff:ff:ff" flags: "NO-CARRIER,BROADCAST,MULTICAST,UP" group: "default" @@ -52,6 +55,7 @@ parsed_sample: qlen: "" state: "DOWN" type: "ether" + alias: "" - broadcast: "ff:ff:ff:ff:ff:ff" flags: "NOARP,MASTER,UP,LOWER_UP" group: "default" @@ -65,6 +69,7 @@ parsed_sample: qlen: "1000" state: "UP" type: "ether" + alias: "" - broadcast: "ff:ff:ff:ff:ff:ff" flags: "NOARP,MASTER,UP,LOWER_UP" group: "default" @@ -78,6 +83,7 @@ parsed_sample: qlen: "1000" state: "UP" type: "ether" + alias: "" - broadcast: "ff:ff:ff:ff:ff:ff" flags: "BROADCAST,MULTICAST,UP,LOWER_UP" group: "default" @@ -91,6 +97,7 @@ parsed_sample: qlen: "1000" state: "UNKNOWN" type: "ether" + alias: "" - broadcast: "ff:ff:ff:ff:ff:ff" flags: "BROADCAST,MULTICAST,UP,LOWER_UP" group: "default" @@ -104,3 +111,4 @@ parsed_sample: qlen: "1000" state: "UNKNOWN" type: "ether" + alias: "" diff --git a/tests/mikrotik_routeros/ip_address_print/mikrotik_routeros_ip_address_print.raw b/tests/mikrotik_routeros/ip_address_print/mikrotik_routeros_ip_address_print.raw new file mode 100644 index 0000000000..9985d9f4dd --- /dev/null +++ b/tests/mikrotik_routeros/ip_address_print/mikrotik_routeros_ip_address_print.raw @@ -0,0 +1,8 @@ +Flags: X - disabled, I - invalid, D - dynamic + # ADDRESS NETWORK INTERFACE + 0 1.2.3.6/30 1.2.3.4 ether1 + 1 ;;; test ip1 + 192.167.1.5/27 192.167.1.0 eth2_vlan1 + 2 D 192.168.1.53/24 192.168.1.0 lte1 + 3 X ;;; test ip2 + 192.167.1.99/27 192.167.1.0 eth2_vlan2 diff --git a/tests/mikrotik_routeros/ip_address_print/mikrotik_routeros_ip_address_print.yml b/tests/mikrotik_routeros/ip_address_print/mikrotik_routeros_ip_address_print.yml new file mode 100644 index 0000000000..9db49d151d --- /dev/null +++ b/tests/mikrotik_routeros/ip_address_print/mikrotik_routeros_ip_address_print.yml @@ -0,0 +1,30 @@ +--- +parsed_sample: + - num: "0" + flags: "" + comment: "" + ip: "1.2.3.6" + subnet: "30" + network: "1.2.3.4" + interface: "ether1" + - num: "1" + flags: "" + comment: "test ip1" + ip: "192.167.1.5" + subnet: "27" + network: "192.167.1.0" + interface: "eth2_vlan1" + - num: "2" + flags: "D" + comment: "" + ip: "192.168.1.53" + subnet: "24" + network: "192.168.1.0" + interface: "lte1" + - num: "3" + flags: "X" + comment: "test ip2" + ip: "192.167.1.99" + subnet: "27" + network: "192.167.1.0" + interface: "eth2_vlan2" diff --git a/tests/mikrotik_routeros/log_print_detail_without-paging/mikrotik_routeros_log_print_detail_without-paging.yml b/tests/mikrotik_routeros/log_print_detail_without-paging/mikrotik_routeros_log_print_detail_without-paging.yml index 2ca5d8980f..f4cf1222df 100644 --- a/tests/mikrotik_routeros/log_print_detail_without-paging/mikrotik_routeros_log_print_detail_without-paging.yml +++ b/tests/mikrotik_routeros/log_print_detail_without-paging/mikrotik_routeros_log_print_detail_without-paging.yml @@ -1,5 +1,5 @@ --- -parsed_sample: +parsed_sample: - month: "jul" day: "19" year: "" diff --git a/tests/test_tasks.py b/tests/test_tasks.py new file mode 100644 index 0000000000..c08e9634b7 --- /dev/null +++ b/tests/test_tasks.py @@ -0,0 +1,33 @@ +"""Test functions for tasks.py.""" +import pytest + +from tasks import strtobool + + +@pytest.mark.parametrize( + "test_case, expected", + [ + ("y", True), + ("yes", True), + ("true", True), + ("t", True), + ("on", True), + ("1", True), + ("n", False), + ("no", False), + ("false", False), + ("f", False), + ("off", False), + ("0", False), + ], +) +def test_strtobool(test_case, expected): + """Test strtobool function.""" + assert strtobool(test_case) == expected + + +def test_strtobool_error(): + """Test generation of the error message.""" + with pytest.raises(ValueError) as excinfo: + strtobool("invalid") + assert "Invalid truth value invalid" in str(excinfo.value)