Skip to main content

No project description provided

Project description

README

This repository contains a wrapper around Panorama/PaloAlto API. It also provides a cli tool panorama_api

CLI

This package also provide a CLI tool for some operations:

  • Generating an API Key
  • Upgrading a group of devices
  • Generating a boilerplate configuration file for the upgrades
pip install nagra_panorama_api
panorama_api --help

Why the need for this library ?

For simple resource retrieval, the existing API is enough, but:

  • The libraries available are not practical for it, the manual management of urls is easier
  • For more complex operation, this does not suits well

The official python SDK of PaloAltoNetworks itself relies on a third party wrapper for their API.

This library takes a more popular approach when wrapping the API, making it easier to use. It also provides types' wrappers to simplify their usage or utility functions to re-structure the data we receive. It provides a client for the REST API and for the XML API

  • A simple client for the API
  • Tool to manage the xml configuration

Library Usage Example

client = XMLApi(HOST, API_KEY)
tree = client.get_tree()

# Find your object using its name (may not be unique)
my_object = config.find_by_name("my_object_name")[0]
print(my_object)  # /address/entry[@name='my_object_name']

# Find the references to it (0 or multiple results are possible)
ref = my_object.get_references()[0]
print(ref)  # /post-rulebase/security/rules/entry[@uuid='...']/destination/member


# We must not delete the <member> tag, but we can delete its parent
client.delete(ref.parent.xpath)

# Now we must commit the changes
client.commit_changes()
# We can also revert it
# client.revert_changes()

The library currently doesn't provide helper tools to know how to edit the configuration. Theses changes must be done manually

TODO

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nagra_panorama_api-0.2.0.tar.gz (29.0 kB view hashes)

Uploaded Source

Built Distribution

nagra_panorama_api-0.2.0-py3-none-any.whl (35.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page