python-netgear-switch-library 0.0.post351__tar.gz → 0.0.post353__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/PKG-INFO +1 -1
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +49 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/_version.py +2 -2
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/seed.py +21 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/state.py +49 -0
- python_netgear_switch_library-0.0.post353/tests/fixtures/http/gsm7252ps_http_configuration.html +177 -0
- python_netgear_switch_library-0.0.post353/tests/fixtures/http/gsm7252ps_syslog_configuration.html +258 -0
- python_netgear_switch_library-0.0.post353/tests/fixtures/http/gsm7252ps_user_configuration.html +176 -0
- python_netgear_switch_library-0.0.post353/tests/fixtures/http/gsm7252ps_vlan_status_live.html +233 -0
- python_netgear_switch_library-0.0.post353/tests/virtual/test_syslog_fidelity.py +68 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/.github/workflows/ci.yml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/.github/workflows/deb.yml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/.github/workflows/publish-pypi.yml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/.gitignore +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/.readthedocs.yaml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/CLAUDE.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/LICENSE +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/README.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/RELEASING.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/debian/changelog +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/debian/control +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/debian/copyright +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/debian/rules +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/debian/source/format +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/Makefile +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_ext/filelinks.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_ext/support_tables.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/models/gs105pe.png +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/models/gs110emx.png +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/models/gs305ep.png +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/models/gs728tpp.png +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/models/gsm7228ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/models/gsm7252ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/models/m4300-16x.png +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/models/m4300-24x.png +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/_static/ngsw.css +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/core.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/facades.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/index.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/operations.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/protocols.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/transport.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/api/virtual.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/conf.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/development.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/fake/index.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/fake/internals.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/fake/serving.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/fake/testing.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/guide/concepts.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/guide/configuration.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/guide/installation.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/guide/principles.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/guide/quickstart.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/guide/reading.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/guide/writing.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/index.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/gs105pe.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/gs110emx.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/gs305ep.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/gs728tpp.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/gsm7228ps.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/gsm7252ps.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/index.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/m4300-16x.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/m4300-24x.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/models/support.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/http/cheetah-form.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/http/cheetah-v1.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/http/gambit.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/http/merge-hash-cgi.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/http/xml-api.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/http.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/index.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/nsdp.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/protocols/snmp.rst +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/packaging/apt-index.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/packaging/ci-build.sh +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/packaging/deb-version.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/pyproject.toml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli/capture.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli/context.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli/format.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli/main.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli/resolve.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli/safety.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/config.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/errors.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/http_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/http_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/mcp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/mcp/server.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/models.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/cli/commands.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/cli/parse.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/http/crypt.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/http/endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/http/forms.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/http/parse.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/http/session.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/http/types.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/nsdp/client.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/nsdp/types.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/nsdp/write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/snmp/client.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/snmp/oids.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/snmp/parse.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/protocols/snmp/write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/py.typed +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/registry.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/aio/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/cli/console.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/cli/session.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/cli/ssh.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/cli/telnet.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/http/client.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/sync/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/faces/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/faces/cli.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/faces/http.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/faces/mibview.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/faces/snmp.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/server.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/src/netgear_switch/virtual/web_m4300.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/capture_parity.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_capture.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_cli_integration.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_control_poe_port.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_control_vlan_ip.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_format.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_main_framework.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_new_commands.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_op_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_prompt_wiring.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_read_commands.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_resolve.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_safety.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/cli/test_serve.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/conftest.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/captures/gsm7228ps.json +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/captures/gsm7252ps.json +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/captures/m4300-16x.json +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/captures/m4300-24x.json +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs105pe_membership.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs105pe_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs105pe_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs105pe_status.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs110emx_login.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs110emx_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs110emx_redirect.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs305ep_login.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs305ep_membership.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs305ep_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs305ep_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_login.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_addresstable.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_ports.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/http_specs.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/cli/test_cli_parse.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/http/test_crypt.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/http/test_endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/http/test_forms.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/http/test_parse.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/nsdp/test_auth.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/nsdp/test_parsers.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/nsdp/test_protocol.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/nsdp/test_write_frame.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_client.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_oids.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_parse_ports.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_parse_system_info.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_parse_vlans.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/protocols/snmp/test_write_encode.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_cli_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_config.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_cross_backend_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_deb_version.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_docs_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_errors.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_facade_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_http_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_http_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_http_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_http_vlan_membership.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_http_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_http_xui_writes.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_import.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_mcp_server.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_models.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_models_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_nsdp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_public_api.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_quality_gates.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_registry.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_snmp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_version.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/test_write_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/_fastpath_fake.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_cli_console.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_cli_scp_cert.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_cli_telnet.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_http_client.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_nsdp_udp_sync.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_set_transport.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/transport/test_value_parity.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_cli_cross_backend.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_gsm7228ps_seed.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_hostname.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_m4300_seeds.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_mibview.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_mutable_state.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_nsdp_state.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_serve_daemon.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_snmp_write_face.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_state_seed.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_switchport_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_virtual_http_face.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_virtual_nsdp_face.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_virtual_snmp_face.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/tests/virtual/test_web_projection.py +0 -0
- {python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/uv.lock +0 -0
{python_netgear_switch_library-0.0.post351 → python_netgear_switch_library-0.0.post353}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-netgear-switch-library
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.post353
|
|
4
4
|
Summary: Python library and CLI to query and control Netgear switches over SNMP, NSDP and HTTP.
|
|
5
5
|
Author-email: Tim Ansell <me@mith.ro>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -256,3 +256,52 @@ or a toggle performed on a switch that is safe to lose contact with. Writing
|
|
|
256
256
|
`ip http server` / `no ip ssh server` on the strength of FASTPATH convention
|
|
257
257
|
would be precisely the inference this project forbids — and the cost of being
|
|
258
258
|
wrong is a switch that can no longer be reached.
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
## DEFECT: HTTP `create_vlan` cannot work on the FASTPATH models
|
|
262
|
+
|
|
263
|
+
Found 2026-08-02 by driving `create_vlan` over each backend of gsm7252ps
|
|
264
|
+
(10.1.5.22) against the live switch:
|
|
265
|
+
|
|
266
|
+
| Backend | Result |
|
|
267
|
+
|---|---|
|
|
268
|
+
| SNMP | created, deleted, VLAN set restored — PASS |
|
|
269
|
+
| SSH | created, deleted, VLAN set restored — PASS |
|
|
270
|
+
| **HTTP** | **`HttpUnexpectedPageError: no CSRF 'hash' token on page before write`** |
|
|
271
|
+
|
|
272
|
+
`HttpWriter.create_vlan` was written for the **Plus** dialect and only ever
|
|
273
|
+
worked there. Its own comment says so — *"web UI 8021qCf.cgi has no VLAN-name
|
|
274
|
+
field"* — that is the gs305ep/gs105pe `.cgi` page. It scrapes an
|
|
275
|
+
`<input name="hash">` CSRF token and posts `forms.vlan_add_form`.
|
|
276
|
+
|
|
277
|
+
On a FASTPATH model `vlan_config_path` is `/vlanStatus.html`, and a live
|
|
278
|
+
capture of that page (`tests/fixtures/http/gsm7252ps_vlan_status_live.html`)
|
|
279
|
+
shows it carries **no `hash` input at all** — only `applet_port`,
|
|
280
|
+
`applet_unit`, `dbgopt` and the XUI cell hiddens (`1.N.14.v_1_1_M`). It is an
|
|
281
|
+
XUI page and needs the two-`FORM` `submit_flag` shape, not the Plus form.
|
|
282
|
+
|
|
283
|
+
### Why nothing caught it
|
|
284
|
+
|
|
285
|
+
* **The capability oracle says HTTP=yes.** `_http_path_for` only asks whether
|
|
286
|
+
`vlan_config_path` is set. It is — it just points at a page this writer
|
|
287
|
+
cannot drive.
|
|
288
|
+
* **The mock passes.** `virtual/web.py` emits
|
|
289
|
+
`<input type="hidden" name="hash" ...>` on *every* rendered page, including
|
|
290
|
+
the FASTPATH ones. The real FASTPATH page has no such input, so the mock and
|
|
291
|
+
the writer agree with each other while both disagree with the device — the
|
|
292
|
+
exact failure principle 5 describes, and why a green suite proved nothing.
|
|
293
|
+
|
|
294
|
+
### Scope
|
|
295
|
+
|
|
296
|
+
Confirmed on gsm7252ps. The same code path and page type apply to `gsm7228ps`,
|
|
297
|
+
`m4300-24x` and `m4300-16x`, so they are expected to fail identically — an
|
|
298
|
+
inference, and each needs its own live check before it is recorded as fact.
|
|
299
|
+
`gs728tpp` is a different dialect (GoAhead XML) and untested here.
|
|
300
|
+
|
|
301
|
+
### What has to change
|
|
302
|
+
|
|
303
|
+
1. The mock must stop emitting a `hash` token on pages that do not have one.
|
|
304
|
+
That alone will turn the existing suite red, which is the correct outcome.
|
|
305
|
+
2. `create_vlan` needs an XUI implementation for the FASTPATH dialects.
|
|
306
|
+
3. Until it exists, the oracle must report HTTP `create_vlan` unsupported on
|
|
307
|
+
those models rather than claiming it works.
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0, '
|
|
21
|
+
__version__ = version = '0.0.post353'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 'post353')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -31,6 +31,8 @@ from .state import (
|
|
|
31
31
|
PoeSim,
|
|
32
32
|
PortSim,
|
|
33
33
|
SensorSim,
|
|
34
|
+
SyslogCollectorSim,
|
|
35
|
+
SyslogSim,
|
|
34
36
|
VirtualSwitchState,
|
|
35
37
|
VlanMembershipPageSim,
|
|
36
38
|
VlanSim,
|
|
@@ -1237,6 +1239,13 @@ def seed_gsm7252ps() -> VirtualSwitchState:
|
|
|
1237
1239
|
# capture of this switch (tests/fixtures/http/gsm7252ps_sysInfo.html).
|
|
1238
1240
|
serial="2BW20A47000CC",
|
|
1239
1241
|
firmware="10.0.0.53",
|
|
1242
|
+
# MEASURED 2026-08-02 on 10.1.5.22: identical to the m4300 pair --
|
|
1243
|
+
# enabled, port 514, one collector 10.1.5.1 info(6) 514 Active.
|
|
1244
|
+
syslog=SyslogSim(
|
|
1245
|
+
admin_mode=1,
|
|
1246
|
+
local_port=514,
|
|
1247
|
+
collectors=[SyslogCollectorSim("10.1.5.1", 514, 6)],
|
|
1248
|
+
),
|
|
1240
1249
|
hostname="sw-netgear-gsm7252ps-s1.welland.mithis.com",
|
|
1241
1250
|
nsdp_mac=b"\xe0\x91\xf5\x0c\xd6\xdb", # captured System MAC Address
|
|
1242
1251
|
# Illustrative sysDescr text -- NOT a captured real firmware string;
|
|
@@ -1798,6 +1807,10 @@ def seed_gsm7228ps() -> VirtualSwitchState:
|
|
|
1798
1807
|
lldp=lldp,
|
|
1799
1808
|
mgmt=mgmt,
|
|
1800
1809
|
model_name="GSM7228PS",
|
|
1810
|
+
# MEASURED 2026-08-02 on 10.1.5.11: the vendor admin-mode column
|
|
1811
|
+
# reads 2 (disabled) and the host table is EMPTY -- this switch has
|
|
1812
|
+
# no collector configured, which is why get_syslog returns none.
|
|
1813
|
+
syslog=SyslogSim(admin_mode=2, local_port=514, collectors=[]),
|
|
1801
1814
|
hostname="sw-netgear-s3300-1",
|
|
1802
1815
|
nsdp_mac=b"\x08\xbd\x43\x6b\xb8\xd8", # captured base/System MAC
|
|
1803
1816
|
# REAL captured identity: the S3300-52X-PoE+'s actual sysDescr and
|
|
@@ -2397,6 +2410,14 @@ def seed_m4300_24x() -> VirtualSwitchState:
|
|
|
2397
2410
|
state = VirtualSwitchState(
|
|
2398
2411
|
# Measured 2026-08-02: sysName and `show hosts` both report this on the
|
|
2399
2412
|
# real switch. Was empty here, which no real FASTPATH switch is.
|
|
2413
|
+
# MEASURED 2026-08-02 on 10.1.5.13: `show logging` reports
|
|
2414
|
+
# "Syslog Logging : enabled" and local port 514, and
|
|
2415
|
+
# `show logging hosts` one row 10.1.5.1 / info(6) / 514 / Active.
|
|
2416
|
+
syslog=SyslogSim(
|
|
2417
|
+
admin_mode=1,
|
|
2418
|
+
local_port=514,
|
|
2419
|
+
collectors=[SyslogCollectorSim("10.1.5.1", 514, 6)],
|
|
2420
|
+
),
|
|
2400
2421
|
hostname="sw-netgear-m4300-24x",
|
|
2401
2422
|
model_key="m4300-24x",
|
|
2402
2423
|
ports=ports,
|
|
@@ -155,6 +155,37 @@ class PortSim:
|
|
|
155
155
|
flow_control: bool = True
|
|
156
156
|
|
|
157
157
|
|
|
158
|
+
@dataclass
|
|
159
|
+
class SyslogCollectorSim:
|
|
160
|
+
"""One remote syslog collector row, as the vendor host table reports it.
|
|
161
|
+
|
|
162
|
+
Field values are SEEDED from a live switch, never computed: the severity is
|
|
163
|
+
the standard syslog number the device actually returns (6 for "info" on
|
|
164
|
+
m4300-24x, cross-checked against its own `show logging hosts`), and status 1
|
|
165
|
+
is what that command prints as "Active".
|
|
166
|
+
"""
|
|
167
|
+
|
|
168
|
+
host: str
|
|
169
|
+
port: int
|
|
170
|
+
severity: int
|
|
171
|
+
status: int = 1
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
@dataclass
|
|
175
|
+
class SyslogSim:
|
|
176
|
+
"""The switch's remote-logging state, as the vendor `.14` subtree reports it.
|
|
177
|
+
|
|
178
|
+
MEASURED 2026-08-02 -- see docs/superpowers/specs/. ``admin_mode`` is the
|
|
179
|
+
device's own enum (1 = enabled, 2 = disabled), kept as the raw integer
|
|
180
|
+
rather than a bool so the mock emits exactly what a real agent emits and the
|
|
181
|
+
reader's own decoding is what gets exercised.
|
|
182
|
+
"""
|
|
183
|
+
|
|
184
|
+
admin_mode: int = 2
|
|
185
|
+
local_port: int = 514
|
|
186
|
+
collectors: list[SyslogCollectorSim] = field(default_factory=list)
|
|
187
|
+
|
|
188
|
+
|
|
158
189
|
@dataclass
|
|
159
190
|
class VlanSim:
|
|
160
191
|
"""One dot1q VLAN: display name plus egress-member and untagged port sets.
|
|
@@ -374,6 +405,10 @@ class VirtualSwitchState:
|
|
|
374
405
|
serial: str = ""
|
|
375
406
|
firmware: str = ""
|
|
376
407
|
hostname: str = ""
|
|
408
|
+
#: Remote-logging state. Only meaningful for a model with a vendor subtree;
|
|
409
|
+
#: oid_map() projects it under <vendor base>.14 for those models only, which
|
|
410
|
+
#: is what makes gs728tpp (no vendor OIDs) correctly unable to answer.
|
|
411
|
+
syslog: SyslogSim = field(default_factory=SyslogSim)
|
|
377
412
|
nsdp_password: str = "password"
|
|
378
413
|
# Write-auth scheme this mock advertises via AUTH_V2_ENCPASS (0x0014), and
|
|
379
414
|
# the ONLY scheme it accepts on a WRITE_REQUEST:
|
|
@@ -737,6 +772,20 @@ class VirtualSwitchState:
|
|
|
737
772
|
# publishes no vendor subtree at all.
|
|
738
773
|
m[oids.SYS_NAME] = ("OCTETSTR", self.hostname)
|
|
739
774
|
|
|
775
|
+
# Remote logging, under <vendor base>.14 -- the same columns the real
|
|
776
|
+
# agents publish, and ONLY for a model that has a vendor subtree. A
|
|
777
|
+
# model with none (gs728tpp) must stay unable to answer get_syslog here
|
|
778
|
+
# exactly as it is on the wire, rather than the mock inventing a reply.
|
|
779
|
+
if v is not None:
|
|
780
|
+
m[f"{v.base}.14.1.4.1.0"] = ("INTEGER", str(self.syslog.admin_mode))
|
|
781
|
+
m[f"{v.base}.14.1.4.3.0"] = ("Gauge32", str(self.syslog.local_port))
|
|
782
|
+
for index, col in enumerate(self.syslog.collectors, start=1):
|
|
783
|
+
m[f"{v.base}.14.1.4.5.1.2.{index}"] = ("INTEGER", "1")
|
|
784
|
+
m[f"{v.base}.14.1.4.5.1.3.{index}"] = ("OCTETSTR", col.host)
|
|
785
|
+
m[f"{v.base}.14.1.4.5.1.4.{index}"] = ("Gauge32", str(col.port))
|
|
786
|
+
m[f"{v.base}.14.1.4.5.1.5.{index}"] = ("INTEGER", str(col.severity))
|
|
787
|
+
m[f"{v.base}.14.1.4.5.1.7.{index}"] = ("INTEGER", str(col.status))
|
|
788
|
+
|
|
740
789
|
for port, sim in self.ports.items():
|
|
741
790
|
m[f"{oids.IF_ADMIN_STATUS}.{port}"] = ("INTEGER", "1" if sim.admin else "2")
|
|
742
791
|
m[f"{oids.IF_OPER_STATUS}.{port}"] = ("INTEGER", "1" if sim.link else "2")
|
python_netgear_switch_library-0.0.post353/tests/fixtures/http/gsm7252ps_http_configuration.html
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
4
|
+
<!-- This file is auto-generated by XE - DON'T EDIT -->
|
|
5
|
+
<HTML>
|
|
6
|
+
<HEAD>
|
|
7
|
+
<!-- USR_FTL_DBG: head_start -->
|
|
8
|
+
<LINK REL=stylesheet HREF="/base/style.css" TYPE="text/css">
|
|
9
|
+
<script src="/base/js/rollover.js" type="text/javascript"></script>
|
|
10
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
11
|
+
<TITLE>NetGear - HTTP Configuration</TITLE>
|
|
12
|
+
<!--[if IE 6]>
|
|
13
|
+
<link href="/css/ie6.css" rel="stylesheet" type="text/css" id="fastpath">
|
|
14
|
+
<![endif]-->
|
|
15
|
+
<![if !(IE 6)]>
|
|
16
|
+
<link href="/css/non-ie6.css" rel="stylesheet" type="text/css" id="fastpath">
|
|
17
|
+
<![endif]>
|
|
18
|
+
<link href="/css/ng8xui.css" rel="stylesheet" type="text/css" id="fastpath">
|
|
19
|
+
<script type="text/javascript" src="/scripts/xui_common.js"></script>
|
|
20
|
+
<script type="text/javascript" >xuiIncludeCommonJSFiles("/scripts/");</script>
|
|
21
|
+
<script type="text/javascript" src="/scripts/_xe_httpConfiguration.js"></script>
|
|
22
|
+
<!-- USR_FTL_DBG: head_end -->
|
|
23
|
+
</HEAD>
|
|
24
|
+
<BODY CLASS=page>
|
|
25
|
+
|
|
26
|
+
<FORM method=post ACTION="/httpConfiguration.html/a0">
|
|
27
|
+
<INPUT TYPE="hidden" NAME="applet_port" XC=hidden VALUE="">
|
|
28
|
+
<INPUT TYPE="hidden" NAME="applet_unit" XC=hidden VALUE="">
|
|
29
|
+
<INPUT TYPE="hidden" NAME="dbgopt" XC=hidden VALUE="0">
|
|
30
|
+
</FORM>
|
|
31
|
+
<FORM method=post ACTION="/httpConfiguration.html/a1">
|
|
32
|
+
<DIV ID="xui_preload">
|
|
33
|
+
<DIV ID="preload"><IMG SRC="/images/preload.gif" ALIGN="middle">Loading page, please wait....</DIV>
|
|
34
|
+
</DIV>
|
|
35
|
+
<DIV ID="topdiv" style="display:none;">
|
|
36
|
+
<!-- USR_FTL_DBG: form_start -->
|
|
37
|
+
<div id="xuiMainDiv" class="xuiMainBody mainContainer"><table class="xuiDetailsContainer"><tbody>
|
|
38
|
+
<tr><td class="xuiFont15Bold">HTTP Configuration</td></tr>
|
|
39
|
+
<tr><td class="xuiSpacerHeight9"/></tr>
|
|
40
|
+
|
|
41
|
+
<!-- USR_FTL_DBG: group_common_start 1 1 -->
|
|
42
|
+
<tr id="1">
|
|
43
|
+
<td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
|
|
44
|
+
<tbody>
|
|
45
|
+
<tr>
|
|
46
|
+
<td colspan="3">
|
|
47
|
+
<table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="1" ><tbody>
|
|
48
|
+
<tr>
|
|
49
|
+
<td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">HTTP Configuration</td>
|
|
50
|
+
<td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
|
|
51
|
+
<a onclick="newWindow('/base/help/help.html#httpConfiguration','httpConfiguration','550','500')" href="javascript: void(0);">
|
|
52
|
+
<img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
|
|
53
|
+
</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr>
|
|
56
|
+
<td class="xuiSubSectionTabTopShadow" colspan="3"></td>
|
|
57
|
+
</tr>
|
|
58
|
+
</tbody></table>
|
|
59
|
+
</td>
|
|
60
|
+
</tr>
|
|
61
|
+
<tr>
|
|
62
|
+
<td class="xuiSubSectionBodyDot"> </td>
|
|
63
|
+
<td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="1" cellspacing="0" cellpadding="0"><tbody>
|
|
64
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
65
|
+
<TR id=1_1 class=deftestme>
|
|
66
|
+
<TD class=defleft id=1_1_1>HTTP Access</TD>
|
|
67
|
+
<TD class=defright id=1_1_1><INPUT xid=1_1_1 TYPE=hidden NAME=v_1_1_1 VALUE="Enable"></TD>
|
|
68
|
+
</TR>
|
|
69
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
70
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
71
|
+
<TR id=1_2 class=deftestme>
|
|
72
|
+
<TD class=defleft id=1_2_1>Java Mode</TD>
|
|
73
|
+
<TD class=defright id=1_2_1><INPUT xid=1_2_1 TYPE=hidden NAME=v_1_2_1 VALUE="Enable"></TD>
|
|
74
|
+
</TR>
|
|
75
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
76
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
77
|
+
<TR id=1_3 class=deftestme>
|
|
78
|
+
<TD class=defleft id=1_3_1>HTTP Session Soft Timeout (Minutes)</TD>
|
|
79
|
+
<TD class=defright id=1_3_1><INPUT xid=1_3_1 TYPE=hidden NAME=v_1_3_1 VALUE="60"></TD>
|
|
80
|
+
</TR>
|
|
81
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
82
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
83
|
+
<TR id=1_4 class=deftestme>
|
|
84
|
+
<TD class=defleft id=1_4_1>HTTP Session Hard Timeout (Hours)</TD>
|
|
85
|
+
<TD class=defright id=1_4_1><INPUT xid=1_4_1 TYPE=hidden NAME=v_1_4_1 VALUE="24"></TD>
|
|
86
|
+
</TR>
|
|
87
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
88
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
89
|
+
<TR id=1_5 class=deftestme>
|
|
90
|
+
<TD class=defleft id=1_5_1>Maximum Number of HTTP Sessions</TD>
|
|
91
|
+
<TD class=defright id=1_5_1><INPUT xid=1_5_1 TYPE=hidden NAME=v_1_5_1 VALUE="16"></TD>
|
|
92
|
+
</TR>
|
|
93
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
94
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
95
|
+
<TR id=1_6 class=deftestme>
|
|
96
|
+
<TD class=defleft id=1_6_1>Authentication List</TD>
|
|
97
|
+
<TD class=defright id=1_6_1><INPUT xid=1_6_1 TYPE=hidden NAME=v_1_6_1 VALUE="HttpListName"></TD>
|
|
98
|
+
</TR>
|
|
99
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
100
|
+
</tbody></table></td>
|
|
101
|
+
<td class="xuiSubSectionBodyDotRight"> </td>
|
|
102
|
+
</tr>
|
|
103
|
+
<tr><td class="xuiSubSectionBottom" colspan="3"> </td></tr>
|
|
104
|
+
<tr><td class="xuiSpacerHeight15"/></tr>
|
|
105
|
+
</tbody></table></td>
|
|
106
|
+
</tr>
|
|
107
|
+
<!-- USR_FTL_DBG: group_common_end 1 1 -->
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
<!-- redirection elements -->
|
|
114
|
+
<INPUT TYPE="hidden" NAME="submit_flag" XC=hidden VALUE="0">
|
|
115
|
+
<INPUT TYPE="hidden" NAME="submit_target" XC=hidden VALUE="httpConfiguration.html">
|
|
116
|
+
<INPUT TYPE="hidden" NAME="err_flag" XC=hidden SIZE="16" MAXLENGTH="15" VALUE="0">
|
|
117
|
+
<INPUT TYPE="hidden" NAME="err_msg" XC=hidden SIZE="80" MAXLENGTH="79" VALUE="">
|
|
118
|
+
<INPUT TYPE="hidden" NAME="clazz_information" XC=hidden VALUE="httpConfiguration.html">
|
|
119
|
+
</tbody></table></div>
|
|
120
|
+
<!-- USR_FTL_DBG: form_end -->
|
|
121
|
+
<!-- USR_FTL_DBG: page_buttons_start -->
|
|
122
|
+
<div id="xuiButtonsDiv"><table align="right" class="xuiRightHAlign"><tr>
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
<TD id=2_1_1><INPUT xid=2_1_1 DISABLED TYPE=hidden NAME=v_2_1_1 VALUE="CANCEL"></TD>
|
|
127
|
+
<TD id=2_1_2><INPUT xid=2_1_2 DISABLED TYPE=hidden NAME=v_2_1_2 VALUE="APPLY"></TD>
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
</tr></table></div>
|
|
132
|
+
<!-- USR_FTL_DBG: page_buttons_end -->
|
|
133
|
+
<script type="text/javascript" >
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
xeValData.xv_1_3_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 60.";
|
|
142
|
+
xeValData.xv_1_3_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
|
|
143
|
+
xeValData.xv_1_3_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 60.";
|
|
144
|
+
xeData.min_1_3_1 = "1";
|
|
145
|
+
xeData.max_1_3_1 = "60";
|
|
146
|
+
xeData.minnls_1_3_1 = 842;
|
|
147
|
+
xeData.maxnls_1_3_1 = 842;
|
|
148
|
+
xeValData.xv_1_4_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 168.";
|
|
149
|
+
xeValData.xv_1_4_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
|
|
150
|
+
xeValData.xv_1_4_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 168.";
|
|
151
|
+
xeData.min_1_4_1 = "1";
|
|
152
|
+
xeData.max_1_4_1 = "168";
|
|
153
|
+
xeData.minnls_1_4_1 = 842;
|
|
154
|
+
xeData.maxnls_1_4_1 = 842;
|
|
155
|
+
xeValData.xv_1_5_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 0 to 16.";
|
|
156
|
+
xeValData.xv_1_5_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
|
|
157
|
+
xeValData.xv_1_5_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 0 to 16.";
|
|
158
|
+
xeData.min_1_5_1 = "0";
|
|
159
|
+
xeData.max_1_5_1 = "16";
|
|
160
|
+
xeData.minnls_1_5_1 = 842;
|
|
161
|
+
xeData.maxnls_1_5_1 = 842;
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
xeData.arghelp_1_3_1 = "(0 to 60)";
|
|
168
|
+
xeData.arghelp_1_4_1 = "(0 to 168)";
|
|
169
|
+
xeData.arghelp_1_5_1 = "(0 to 16)";
|
|
170
|
+
var global_repeats = new Array();
|
|
171
|
+
</script>
|
|
172
|
+
</DIV>
|
|
173
|
+
</FORM>
|
|
174
|
+
|
|
175
|
+
</BODY>
|
|
176
|
+
</HTML>
|
|
177
|
+
|
python_netgear_switch_library-0.0.post353/tests/fixtures/http/gsm7252ps_syslog_configuration.html
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
4
|
+
<!-- This file is auto-generated by XE - DON'T EDIT -->
|
|
5
|
+
<HTML>
|
|
6
|
+
<HEAD>
|
|
7
|
+
<!-- USR_FTL_DBG: head_start -->
|
|
8
|
+
<LINK REL=stylesheet HREF="/base/style.css" TYPE="text/css">
|
|
9
|
+
<script src="/base/js/rollover.js" type="text/javascript"></script>
|
|
10
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
11
|
+
<TITLE>NetGear - Syslog Configuration</TITLE>
|
|
12
|
+
<!--[if IE 6]>
|
|
13
|
+
<link href="/css/ie6.css" rel="stylesheet" type="text/css" id="fastpath">
|
|
14
|
+
<![endif]-->
|
|
15
|
+
<![if !(IE 6)]>
|
|
16
|
+
<link href="/css/non-ie6.css" rel="stylesheet" type="text/css" id="fastpath">
|
|
17
|
+
<![endif]>
|
|
18
|
+
<link href="/css/ng8xui.css" rel="stylesheet" type="text/css" id="fastpath">
|
|
19
|
+
<script type="text/javascript" src="/scripts/xui_common.js"></script>
|
|
20
|
+
<script type="text/javascript" >xuiIncludeCommonJSFiles("/scripts/");</script>
|
|
21
|
+
<script type="text/javascript" src="/scripts/_xe_syslogConfiguration.js"></script>
|
|
22
|
+
<!-- USR_FTL_DBG: head_end -->
|
|
23
|
+
</HEAD>
|
|
24
|
+
<BODY CLASS=page>
|
|
25
|
+
|
|
26
|
+
<FORM method=post ACTION="/syslogConfiguration.html/a0">
|
|
27
|
+
<INPUT TYPE="hidden" NAME="applet_port" XC=hidden VALUE="">
|
|
28
|
+
<INPUT TYPE="hidden" NAME="applet_unit" XC=hidden VALUE="">
|
|
29
|
+
<INPUT TYPE="hidden" NAME="dbgopt" XC=hidden VALUE="0">
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
</FORM>
|
|
35
|
+
<FORM method=post ACTION="/syslogConfiguration.html/a1">
|
|
36
|
+
<DIV ID="xui_preload">
|
|
37
|
+
<DIV ID="preload"><IMG SRC="/images/preload.gif" ALIGN="middle">Loading page, please wait....</DIV>
|
|
38
|
+
</DIV>
|
|
39
|
+
<DIV ID="topdiv" style="display:none;">
|
|
40
|
+
<!-- USR_FTL_DBG: form_start -->
|
|
41
|
+
<div id="xuiMainDiv" class="xuiMainBody mainContainer"><table class="xuiDetailsContainer"><tbody>
|
|
42
|
+
<tr><td class="xuiFont15Bold">Syslog Configuration</td></tr>
|
|
43
|
+
<tr><td class="xuiSpacerHeight9"/></tr>
|
|
44
|
+
|
|
45
|
+
<!-- USR_FTL_DBG: group_common_start 1 1 -->
|
|
46
|
+
<tr id="1">
|
|
47
|
+
<td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
|
|
48
|
+
<tbody>
|
|
49
|
+
<tr>
|
|
50
|
+
<td colspan="3">
|
|
51
|
+
<table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="1" ><tbody>
|
|
52
|
+
<tr>
|
|
53
|
+
<td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">Syslog Configuration</td>
|
|
54
|
+
<td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
|
|
55
|
+
<a onclick="newWindow('/base/help/help.html#syslogConfiguration','syslogConfiguration','550','500')" href="javascript: void(0);">
|
|
56
|
+
<img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
|
|
57
|
+
</td>
|
|
58
|
+
</tr>
|
|
59
|
+
<tr>
|
|
60
|
+
<td class="xuiSubSectionTabTopShadow" colspan="3"></td>
|
|
61
|
+
</tr>
|
|
62
|
+
</tbody></table>
|
|
63
|
+
</td>
|
|
64
|
+
</tr>
|
|
65
|
+
<tr>
|
|
66
|
+
<td class="xuiSubSectionBodyDot"> </td>
|
|
67
|
+
<td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="1" cellspacing="0" cellpadding="0"><tbody>
|
|
68
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
69
|
+
<TR id=1_1 class=deftestme>
|
|
70
|
+
<TD class=defleft id=1_1_1>Admin Status</TD>
|
|
71
|
+
<TD class=defright id=1_1_1><INPUT xid=1_1_1 TYPE=hidden NAME=v_1_1_1 VALUE="Enable"></TD>
|
|
72
|
+
</TR>
|
|
73
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
74
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
75
|
+
<TR id=1_2 class=deftestme>
|
|
76
|
+
<TD class=defleft id=1_2_1>Local UDP Port</TD>
|
|
77
|
+
<TD class=defright id=1_2_1><INPUT xid=1_2_1 TYPE=hidden NAME=v_1_2_1 VALUE="514"></TD>
|
|
78
|
+
</TR>
|
|
79
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
80
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
81
|
+
<TR id=1_3 class=deftestme>
|
|
82
|
+
<TD class=defleft id=1_3_1>Messages Received</TD>
|
|
83
|
+
<TD class=defright id=1_3_1><INPUT xid=1_3_1 TYPE=hidden NAME=v_1_3_1 VALUE="9583"></TD>
|
|
84
|
+
</TR>
|
|
85
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
86
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
87
|
+
<TR id=1_5 class=deftestme>
|
|
88
|
+
<TD class=defleft id=1_5_1>Messages Relayed</TD>
|
|
89
|
+
<TD class=defright id=1_5_1><INPUT xid=1_5_1 TYPE=hidden NAME=v_1_5_1 VALUE="15"></TD>
|
|
90
|
+
</TR>
|
|
91
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
92
|
+
<!-- USR_FTL_DBG: node_start -->
|
|
93
|
+
<TR id=1_4 class=deftestme>
|
|
94
|
+
<TD class=defleft id=1_4_1>Messages Ignored</TD>
|
|
95
|
+
<TD class=defright id=1_4_1><INPUT xid=1_4_1 TYPE=hidden NAME=v_1_4_1 VALUE="0"></TD>
|
|
96
|
+
</TR>
|
|
97
|
+
<!-- USR_FTL_DBG: node_end -->
|
|
98
|
+
</tbody></table></td>
|
|
99
|
+
<td class="xuiSubSectionBodyDotRight"> </td>
|
|
100
|
+
</tr>
|
|
101
|
+
<tr><td class="xuiSubSectionBottom" colspan="3"> </td></tr>
|
|
102
|
+
<tr><td class="xuiSpacerHeight15"/></tr>
|
|
103
|
+
</tbody></table></td>
|
|
104
|
+
</tr>
|
|
105
|
+
<!-- USR_FTL_DBG: group_common_end 1 1 -->
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
<!-- USR_FTL_DBG: group_common_start 1 1 -->
|
|
110
|
+
<tr id="2">
|
|
111
|
+
<td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
|
|
112
|
+
<tbody>
|
|
113
|
+
<tr>
|
|
114
|
+
<td colspan="3">
|
|
115
|
+
<table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="2" ><tbody>
|
|
116
|
+
<tr>
|
|
117
|
+
<td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">Host Configuration</td>
|
|
118
|
+
<td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
|
|
119
|
+
<a onclick="newWindow('/base/help/help.html#hosSyslogConfiguration','hosSyslogConfiguration','550','500')" href="javascript: void(0);">
|
|
120
|
+
<img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
|
|
121
|
+
</td>
|
|
122
|
+
</tr>
|
|
123
|
+
<tr>
|
|
124
|
+
<td class="xuiSubSectionTabTopShadow" colspan="3"></td>
|
|
125
|
+
</tr>
|
|
126
|
+
</tbody></table>
|
|
127
|
+
</td>
|
|
128
|
+
</tr>
|
|
129
|
+
<tr>
|
|
130
|
+
<td class="xuiSubSectionBodyDot"> </td>
|
|
131
|
+
<td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="2" cellspacing="0" cellpadding="0"><tbody>
|
|
132
|
+
<!-- USR_FTL_DBG: repeat_start -->
|
|
133
|
+
<tr id='repeat_2_1'><td class="xuiPaddingSubSectionBodyWide" colspan=200>
|
|
134
|
+
<table id="tbl1" class="xuiTableStyle" cellspacing="0" cellpadding="0" ><tbody>
|
|
135
|
+
<TR id=2_1>
|
|
136
|
+
<!-- gecb.VTableHdrTd start -->
|
|
137
|
+
<td class="def_TH geRight"></td>
|
|
138
|
+
<!-- gecb.VTableHdrTd end -->
|
|
139
|
+
<TD class="def_TH alt0 firstCol" id=2_1_7>IP Address Type</TD>
|
|
140
|
+
<TD class="def_TH alt0" id=2_1_1>Host Address</TD>
|
|
141
|
+
<TD class="def_TH alt0" id=2_1_2>Status</TD>
|
|
142
|
+
<TD class="def_TH alt0" id=2_1_3>Port</TD>
|
|
143
|
+
<TD class="def_TH alt0" id=2_1_4>Severity Filter</TD>
|
|
144
|
+
</TR>
|
|
145
|
+
<!-- USR_FTL_DBG: repeat.VTableHdrThAll is not used -->
|
|
146
|
+
<TR id=g_2_1 >
|
|
147
|
+
<!-- gecb.VTableGlobalRow start -->
|
|
148
|
+
<td class="def_getd geRight"><INPUT id="2_1_null" type="checkbox" name="gecb121" xgc ></td>
|
|
149
|
+
<!-- gecb.VTableGlobalRow end -->
|
|
150
|
+
<TD style="display:none" class="def_getd alt0" id=g_2_1_6 ><INPUT xid=g_2_1_6 TYPE=hidden NAME=v_g_2_1_6 VALUE=""></TD>
|
|
151
|
+
<TD class="def_getd alt0 firstCol" id=g_2_1_7><INPUT xid=g_2_1_7 TYPE=hidden NAME=v_g_2_1_7 VALUE=""></TD>
|
|
152
|
+
<TD class="def_getd alt0" id=g_2_1_1><INPUT xid=g_2_1_1 TYPE=hidden NAME=v_g_2_1_1 VALUE=""></TD>
|
|
153
|
+
<TD class="def_getd alt0" id=g_2_1_2><INPUT xid=g_2_1_2 TYPE=hidden NAME=v_g_2_1_2 VALUE=""></TD>
|
|
154
|
+
<TD class="def_getd alt0" id=g_2_1_3><INPUT xid=g_2_1_3 TYPE=hidden NAME=v_g_2_1_3 VALUE=""></TD>
|
|
155
|
+
<TD class="def_getd alt0" id=g_2_1_4><INPUT xid=g_2_1_4 TYPE=hidden NAME=v_g_2_1_4 VALUE=""></TD>
|
|
156
|
+
<TD style="display:none" class="def_getd alt0" id=g_2_1_5 ><INPUT xid=g_2_1_5 TYPE=hidden NAME=v_g_2_1_5 VALUE="Add"></TD>
|
|
157
|
+
</TR>
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
<TR p="1.0.10" id=2_1>
|
|
162
|
+
<!-- gecb.VTableRow start -->
|
|
163
|
+
<td id="2_1_null" p="1.0.10" class="def alt0 geRight">
|
|
164
|
+
<INPUT id="2_1_null" type="checkbox" name="1.0.1.gecb122" xgc ></td>
|
|
165
|
+
<!-- gecb.VTableRow end -->
|
|
166
|
+
<TD style="display:none" class="def alt0" p="1.0.10" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.0.1.v_2_1_6 VALUE="1"></TD>
|
|
167
|
+
<TD class="def alt0 firstCol" p="1.0.10" id=2_1_7><INPUT xid=2_1_7 TYPE=hidden NAME=1.0.1.v_2_1_7 VALUE="IPv4">IPv4</TD>
|
|
168
|
+
<TD class="def alt0" p="1.0.10" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.0.1.v_2_1_1 VALUE="10.1.5.1">10.1.5.1</TD>
|
|
169
|
+
<TD class="def alt0" p="1.0.10" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.0.1.v_2_1_2 VALUE="Active">Active</TD>
|
|
170
|
+
<TD class="def alt0" p="1.0.10" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.0.1.v_2_1_3 VALUE="514">514</TD>
|
|
171
|
+
<TD class="def alt0" p="1.0.10" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.0.1.v_2_1_4 VALUE="Info"></TD>
|
|
172
|
+
<TD style="display:none" class="def alt0" p="1.0.10" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.0.1.v_2_1_5 VALUE="Add"></TD>
|
|
173
|
+
</TR>
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
</tbody></table></td></tr>
|
|
178
|
+
<!-- USR_FTL_DBG: repeat_end -->
|
|
179
|
+
</tbody></table></td>
|
|
180
|
+
<td class="xuiSubSectionBodyDotRight"> </td>
|
|
181
|
+
</tr>
|
|
182
|
+
<tr><td class="xuiSubSectionBottom" colspan="3"> </td></tr>
|
|
183
|
+
<tr><td class="xuiSpacerHeight15"/></tr>
|
|
184
|
+
</tbody></table></td>
|
|
185
|
+
</tr>
|
|
186
|
+
<!-- USR_FTL_DBG: group_common_end 1 1 -->
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
<!-- redirection elements -->
|
|
192
|
+
<INPUT TYPE="hidden" NAME="submit_flag" XC=hidden VALUE="0">
|
|
193
|
+
<INPUT TYPE="hidden" NAME="submit_target" XC=hidden VALUE="syslogConfiguration.html">
|
|
194
|
+
<INPUT TYPE="hidden" NAME="err_flag" XC=hidden SIZE="16" MAXLENGTH="15" VALUE="0">
|
|
195
|
+
<INPUT TYPE="hidden" NAME="err_msg" XC=hidden SIZE="80" MAXLENGTH="79" VALUE="">
|
|
196
|
+
<INPUT TYPE="hidden" NAME="clazz_information" XC=hidden VALUE="syslogConfiguration.html">
|
|
197
|
+
</tbody></table></div>
|
|
198
|
+
<!-- USR_FTL_DBG: form_end -->
|
|
199
|
+
<!-- USR_FTL_DBG: page_buttons_start -->
|
|
200
|
+
<div id="xuiButtonsDiv"><table align="right" class="xuiRightHAlign"><tr>
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
<TD id=4_1_1><INPUT xid=4_1_1 DISABLED TYPE=hidden NAME=v_4_1_1 VALUE="ADD"></TD>
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
<TD id=4_3_1><INPUT xid=4_3_1 DISABLED TYPE=hidden NAME=v_4_3_1 VALUE="DELETE"></TD>
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
<TD id=4_4_1><INPUT xid=4_4_1 DISABLED TYPE=hidden NAME=v_4_4_1 VALUE="CANCEL"></TD>
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
<TD id=4_2_1><INPUT xid=4_2_1 DISABLED TYPE=hidden NAME=v_4_2_1 VALUE="APPLY"></TD>
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
</tr></table></div>
|
|
221
|
+
<!-- USR_FTL_DBG: page_buttons_end -->
|
|
222
|
+
<script type="text/javascript" >
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
xeValData.xv_1_2_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 65535.";
|
|
231
|
+
xeValData.xv_1_2_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
|
|
232
|
+
xeValData.xv_1_2_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 65535.";
|
|
233
|
+
xeData.min_1_2_1 = "1";
|
|
234
|
+
xeData.max_1_2_1 = "65535";
|
|
235
|
+
xeData.minnls_1_2_1 = 842;
|
|
236
|
+
xeData.maxnls_1_2_1 = 842;
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
xeValData.xv_g_2_1_1_631 = "Error! Invalid String:Unable to set '$$objName$$' with '$$objValue$$'.";
|
|
241
|
+
xeValData.xv_g_2_1_3_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
|
|
242
|
+
xeValData.xv_g_2_1_3_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 65535.";
|
|
243
|
+
xeValData.xv_g_2_1_3_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 65535.";
|
|
244
|
+
xeData.min_g_2_1_3 = "1";
|
|
245
|
+
xeData.max_g_2_1_3 = "65535";
|
|
246
|
+
xeData.minnls_g_2_1_3 = 842;
|
|
247
|
+
xeData.maxnls_g_2_1_3 = 842;
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
xeData.arghelp_1_2_1 = "(1 to 65535)";
|
|
251
|
+
var global_repeats = new Array();
|
|
252
|
+
</script>
|
|
253
|
+
</DIV>
|
|
254
|
+
</FORM>
|
|
255
|
+
|
|
256
|
+
</BODY>
|
|
257
|
+
</HTML>
|
|
258
|
+
|