napalm-panos


Namenapalm-panos JSON
Version 0.6.2 PyPI version JSON
download
home_pagehttps://github.com/napalm-automation/napalm-panos
SummaryNetwork Automation and Programmability Abstraction Layer with Multivendor support for PANOS.
upload_time2024-05-01 22:20:46
maintainerNone
docs_urlNone
authorGabriele Gerbino
requires_python<3.12,>=3.8
licenseApache-2.0
keywords napalm panos napalm-panos
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI](https://img.shields.io/pypi/v/napalm-panos.svg)](https://pypi.python.org/pypi/napalm-panos)
[![PyPI](https://img.shields.io/pypi/dm/napalm-panos.svg)](https://pypi.python.org/pypi/napalm-panos)
[![Build Status](https://travis-ci.org/napalm-automation/napalm-panos.svg?branch=master)](https://travis-ci.org/napalm-automation/napalm-panos)
[![Coverage Status](https://coveralls.io/repos/github/napalm-automation/napalm-panos/badge.svg?branch=develop)](https://coveralls.io/github/napalm-automation/napalm-panos?branch=develop)

# NAPALM PANOS

This is community version of [NAPALM](https://napalm.readthedocs.io/) for the Palo Alto firewall operating system. For standard tutorials and overview of NAPALM, please review their documentation.

# Configuration Support

This table identifies the currently available configuration methods supported:

| Feature                   | Supported |
| ------------------------- | --------- |
| Config Replace            | ✅        |
| Commit Confirm            | ❌        |
| Config Merge              | ✅        |
| Compare Config            | ✅        |
| Atomic Changes            | ✅        |
| Rollback                  | ✅        |

> Commit Confirm is not supported by the vendor at the time of this writing.

Configuration Lock is also supported, but the `optional_args` `config_lock` key set to `True`. You can see in this example.

```python
from napalm import get_network_driver

panos_device = "nyc-sw01"
panos_user = "admin"
panos_password = "pass123"
driver = get_network_driver("panos")
optional_args = {"config_lock": True}

with driver(panos_device, panos_user, panos_password, optional_args=optional_args) as device:
    device.load_replace_candidate(filename="2022-01-01-intended-config.xml")
    device.commit_config()

```

As shown in the example above, the use of NAPALM's context manager is supported and recommended to use. 

The locks are acquired and released using XML API. Locks for config and commit lock are obtained and released separately from each other. Both locks are
released automatically by the device when a commit is made on the device.

For troubleshooting:
- The code crashed in a way that the lock could not be removed?
    - Remove the lock manually (CLI, API, Web UI). The lock can only be removed by the administrator who set it, or by a superuser.
- The lock disappeared in the middle of program execution?
    - Did someone do a commit on the device? The locks are removed automatically when the administrator who set the locks performs a commit operation on the device.

# Supported Getters

This table identifies the currently available getters and the support for each:

| Getter                    | Supported |
| ------------------------- | --------- |
| get_arp_table             | ✅        |
| get_bgp_config            | ❌        |
| get_bgp_neighbors         | ❌        |
| get_bgp_neighbors_detail  | ❌        |
| get_config                | ✅        |
| get_environment           | ❌        |
| get_facts                 | ✅        |
| get_firewall_policies     | ❌        |
| get_interfaces            | ✅        |
| get_interfaces_counters   | ❌        |
| get_interfaces_ip         | ✅        |
| get_ipv6_neighbors_table  | ❌        |
| get_lldp_neighbors        | ✅        |
| get_lldp_neighbors_detail | ❌        |
| get_mac_address_table     | ❌        |
| get_network_instances     | ❌        |
| get_ntp_peers             | ❌        |
| get_ntp_servers           | ❌        |
| get_ntp_stats             | ❌        |
| get_optics                | ❌        |
| get_probes_config         | ❌        |
| get_probes_results        | ❌        |
| get_route_to              | ✅        |
| get_snmp_information      | ❌        |
| get_users                 | ❌        |
| get_vlans                 | ❌        |
| is_alive                  | ✅        |
| ping                      | ❌        |
| traceroute                | ❌        |


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/napalm-automation/napalm-panos",
    "name": "napalm-panos",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.8",
    "maintainer_email": null,
    "keywords": "napalm, panos, napalm-panos",
    "author": "Gabriele Gerbino",
    "author_email": "gabriele@networktocode.com",
    "download_url": "https://files.pythonhosted.org/packages/c5/15/097ec695cb44726442b7f391a1e18223ece3ca3df2f33c4323660c09b3af/napalm_panos-0.6.2.tar.gz",
    "platform": null,
    "description": "[![PyPI](https://img.shields.io/pypi/v/napalm-panos.svg)](https://pypi.python.org/pypi/napalm-panos)\n[![PyPI](https://img.shields.io/pypi/dm/napalm-panos.svg)](https://pypi.python.org/pypi/napalm-panos)\n[![Build Status](https://travis-ci.org/napalm-automation/napalm-panos.svg?branch=master)](https://travis-ci.org/napalm-automation/napalm-panos)\n[![Coverage Status](https://coveralls.io/repos/github/napalm-automation/napalm-panos/badge.svg?branch=develop)](https://coveralls.io/github/napalm-automation/napalm-panos?branch=develop)\n\n# NAPALM PANOS\n\nThis is community version of [NAPALM](https://napalm.readthedocs.io/) for the Palo Alto firewall operating system. For standard tutorials and overview of NAPALM, please review their documentation.\n\n# Configuration Support\n\nThis table identifies the currently available configuration methods supported:\n\n| Feature                   | Supported |\n| ------------------------- | --------- |\n| Config Replace            | \u2705        |\n| Commit Confirm            | \u274c        |\n| Config Merge              | \u2705        |\n| Compare Config            | \u2705        |\n| Atomic Changes            | \u2705        |\n| Rollback                  | \u2705        |\n\n> Commit Confirm is not supported by the vendor at the time of this writing.\n\nConfiguration Lock is also supported, but the `optional_args` `config_lock` key set to `True`. You can see in this example.\n\n```python\nfrom napalm import get_network_driver\n\npanos_device = \"nyc-sw01\"\npanos_user = \"admin\"\npanos_password = \"pass123\"\ndriver = get_network_driver(\"panos\")\noptional_args = {\"config_lock\": True}\n\nwith driver(panos_device, panos_user, panos_password, optional_args=optional_args) as device:\n    device.load_replace_candidate(filename=\"2022-01-01-intended-config.xml\")\n    device.commit_config()\n\n```\n\nAs shown in the example above, the use of NAPALM's context manager is supported and recommended to use. \n\nThe locks are acquired and released using XML API. Locks for config and commit lock are obtained and released separately from each other. Both locks are\nreleased automatically by the device when a commit is made on the device.\n\nFor troubleshooting:\n- The code crashed in a way that the lock could not be removed?\n    - Remove the lock manually (CLI, API, Web UI). The lock can only be removed by the administrator who set it, or by a superuser.\n- The lock disappeared in the middle of program execution?\n    - Did someone do a commit on the device? The locks are removed automatically when the administrator who set the locks performs a commit operation on the device.\n\n# Supported Getters\n\nThis table identifies the currently available getters and the support for each:\n\n| Getter                    | Supported |\n| ------------------------- | --------- |\n| get_arp_table             | \u2705        |\n| get_bgp_config            | \u274c        |\n| get_bgp_neighbors         | \u274c        |\n| get_bgp_neighbors_detail  | \u274c        |\n| get_config                | \u2705        |\n| get_environment           | \u274c        |\n| get_facts                 | \u2705        |\n| get_firewall_policies     | \u274c        |\n| get_interfaces            | \u2705        |\n| get_interfaces_counters   | \u274c        |\n| get_interfaces_ip         | \u2705        |\n| get_ipv6_neighbors_table  | \u274c        |\n| get_lldp_neighbors        | \u2705        |\n| get_lldp_neighbors_detail | \u274c        |\n| get_mac_address_table     | \u274c        |\n| get_network_instances     | \u274c        |\n| get_ntp_peers             | \u274c        |\n| get_ntp_servers           | \u274c        |\n| get_ntp_stats             | \u274c        |\n| get_optics                | \u274c        |\n| get_probes_config         | \u274c        |\n| get_probes_results        | \u274c        |\n| get_route_to              | \u2705        |\n| get_snmp_information      | \u274c        |\n| get_users                 | \u274c        |\n| get_vlans                 | \u274c        |\n| is_alive                  | \u2705        |\n| ping                      | \u274c        |\n| traceroute                | \u274c        |\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Network Automation and Programmability Abstraction Layer with Multivendor support for PANOS.",
    "version": "0.6.2",
    "project_urls": {
        "Documentation": "https://github.com/napalm-automation/napalm-panos",
        "Homepage": "https://github.com/napalm-automation/napalm-panos",
        "Repository": "https://github.com/napalm-automation/napalm-panos"
    },
    "split_keywords": [
        "napalm",
        " panos",
        " napalm-panos"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d7957762f898954aac6aaff312b71ecb78358da9b67bc39ea28de7e945be94f",
                "md5": "203fa9511bbf14a8e0f6e68f2481b9fc",
                "sha256": "870687bc715411d10a6a0806a250ccd7e546fa450b99610ee479b49f320fee1f"
            },
            "downloads": -1,
            "filename": "napalm_panos-0.6.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "203fa9511bbf14a8e0f6e68f2481b9fc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.8",
            "size": 23039,
            "upload_time": "2024-05-01T22:20:44",
            "upload_time_iso_8601": "2024-05-01T22:20:44.433422Z",
            "url": "https://files.pythonhosted.org/packages/2d/79/57762f898954aac6aaff312b71ecb78358da9b67bc39ea28de7e945be94f/napalm_panos-0.6.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c515097ec695cb44726442b7f391a1e18223ece3ca3df2f33c4323660c09b3af",
                "md5": "9bf6c3c4bc45300d7895a6fc6367a221",
                "sha256": "6dc4cb2b4a09456d8c72c3a0819aec227997fa762f23572baff7b3f7ba4e0b8a"
            },
            "downloads": -1,
            "filename": "napalm_panos-0.6.2.tar.gz",
            "has_sig": false,
            "md5_digest": "9bf6c3c4bc45300d7895a6fc6367a221",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.8",
            "size": 16973,
            "upload_time": "2024-05-01T22:20:46",
            "upload_time_iso_8601": "2024-05-01T22:20:46.103879Z",
            "url": "https://files.pythonhosted.org/packages/c5/15/097ec695cb44726442b7f391a1e18223ece3ca3df2f33c4323660c09b3af/napalm_panos-0.6.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-01 22:20:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "napalm-automation",
    "github_project": "napalm-panos",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "napalm-panos"
}
        
Elapsed time: 0.50975s