通过API与Palo Alto Networks设备交互的框架

pan-os-python的Python项目详细描述


Palo Alto Networks用于Python的PAN-OS SDK

PAN-ossdkforpython(panospython)是一个帮助与交互的包 Palo Alto Networks设备(包括物理和虚拟化下一代 防火墙和全景)。pan os python SDK是面向对象的和模仿的 通过GUI或CLI/API与设备的传统交互。


Latest version released on PyPiPython versionsLicenseDocumentation StatusChat on Gitter

semantic-releaseConventional CommitsPowered by DepHellGitHub contributors


特点

  • 防火墙对象模型与全景配置
  • 多种连接方法,包括全景作为代理
  • 所有操作本机支持vsys
  • 支持高可用性对和节点故障期间的重试/恢复
  • 批处理用户标识操作
  • 设备API异常分类

状态

Palo Alto Networks PAN-OS SDK for Python被认为是稳定的。经过充分测试 并在许多生产环境中使用。语义版本控制用于指示 错误修复、新功能和每个版本中的重大更改。

安装

使用pip安装:

pip install pan-os-python

升级至最新版本:

^{pr2}$

如果安装了poetry,还可以将pan os python添加到项目中:

poetry add pan-os-python

如何导入

要在项目中使用pan os python,请执行以下操作:

importpanos

您还可以更具体地说明要导入哪些模块:

frompanosimportfirewallfrompanosimportnetwork

几个例子

对于配置任务,请使用中的类创建树结构 每个模块。节点层次结构必须遵循中的模型 Configuration Tree

以下示例假定模块是这样导入的:

frompanosimportfirewallfrompanosimportnetwork

创建接口并提交:

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()

操作命令利用设备的“op”方法:

fw=firewall.Firewall("10.0.0.1",api_username="admin",api_password="admin")printfw.op("show system info")

某些操作命令具有刷新对象中变量的方法:

# populates the version, serial, and model variables from the live devicefw.refresh_system_info()

请参阅Usage Guide中的更多示例。

从pandevice升级

这个pan-os-python包是旧的pandevice包的演变。到 从pandevice升级到{},请执行以下步骤。

第1步。确保您使用的是python3

Python2 is end-of-life而不是 受pan-os-python支持。

第二步。卸载pandevice:

pip uninstall pandevice
 # or
poetry remove pandevice

第三步。安装pan os python:

pip3 install pan-os-python
 # or
poetry add pan-os-python

第4步。将代码中的import语句从pandevice更改为panos。例如:

importpandevicefrompandevice.firewallimportFirewall# would change toimportpanosfrompanos.firewallimportFirewall

第5步。测试脚本或应用程序

没有已知的突破性变化 在pandevice v0.14.0和{}之间,但它是一个大的 升级,请验证一切正常。

贡献者

感谢Kevin Steves,是pan-python library的创建者

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将变量从一个类发送到另一个类   使用Java Kubernetes客户端Api部署pod   sql如何从oracle检索图像并在java框架中显示   java更改Clover检测类的位置   java安卓位置。getAccuracy()返回1   运行时。不支持Java ME 8上的exec()。还有别的选择吗?   bdd在Java中运行Cucumber时修改CucumberOptions标记   在java中将方法更改为运行时异常   构造函数类中的Java NullPointerException   java SetResizeable(false)不会阻止双击后的帧还原   java智能卡终端移除:SCARD_E_无服务卡例外   Java正则表达式和组   爪哇骑士巡回赛   端口8443上通过ssl的java Spring安全登录在使用http协议的端口8080上无法识别   java如何确定读取文件的哪一行特定行