Framework for interacting with Palo Alto Networks devices via API
Project description
The PAN-OS SDK for Python (pan-os-python) is a package to help interact with Palo Alto Networks devices (including physical and virtualized Next-generation Firewalls and Panorama). The pan-os-python SDK is object oriented and mimics the traditional interaction with the device via the GUI or CLI/API.
Documentation: http://pan-os-python.readthedocs.io
Free software: ISC License
Features
Object model of Firewall and Panorama configuration
Multiple connection methods including Panorama as a proxy
All operations natively vsys-aware
Support for high availability pairs and retry/recovery during node failure
Batch User-ID operations
Device API exception classification
Status
Palo Alto Networks PAN-OS SDK for Python is considered stable. It is fully tested and used in many production environments. Semantic versioning is applied to indicate bug fixes, new features, and breaking changes in each version.
Install
Install using pip:
pip install pan-os-python
Upgrade to the latest version:
pip install --upgrade pan-os-python
If you have poetry installed, you can also add pan-os-python to your project:
poetry add pan-os-python
How to import
To use pan-os-python in a project:
import panos
You can also be more specific about which modules you want to import:
from panos import firewall from panos import network
A few examples
For configuration tasks, create a tree structure using the classes in each module. Nodes hierarchy must follow the model in the Configuration Tree.
The following examples assume the modules were imported as such:
from panos import firewall from panos import network
Create an interface and commit:
fw = firewall.Firewall("10.0.0.1", api_username="admin", api_password="admin") eth1 = network.EthernetInterface("ethernet1/1", mode="layer3") fw.add(eth1) eth1.create() fw.commit()
Operational commands leverage the ‘op’ method of the device:
fw = firewall.Firewall("10.0.0.1", api_username="admin", api_password="admin") print fw.op("show system info")
Some operational commands have methods to refresh the variables in an object:
# populates the version, serial, and model variables from the live device fw.refresh_system_info()
See more examples in the Usage Guide.
Contributors
- Thank you to Kevin Steves, creator of the pan-python library:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pan_os_python-1.0.0b1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b44619609852722096eb8f91b12861f28c9bc86e97ab4d113317eff36cb5572 |
|
MD5 | 8f55ff98ea46f2538968b07cb909ffc2 |
|
BLAKE2b-256 | 22774756a6613e8574347a282c8ef996dd587afe4af4ed71f153454f65e7f3de |