No project description provided
Project description
README
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 python SDK of PaloAltoNetworks itself relies on a third party wrapper for their API.
Design
The library provides 2 things:
-
A simple client for the API
-
Tool to manage the xml configuration
We will pull the whole configuration and search on it locally. We can then use the client to do some operations
We don't want to combine both the client and the management tool. This would requires a lot of boilerplate code that would be difficult to maintain.
Usage
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
-
Provide wrapper classes for the resources.
nat = NatPolicy(...) tree.insert(nat) # or nat.insertInto(tree) client.create(nat.insert_xpath, nat.xml)
-
Mix Rest API and XML API ?
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 nagra_panorama_api-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fee5accc24f0c140f51dca8b2accdffd55acd4110f413fa508e25fc0c00d175 |
|
MD5 | c2203254a57fc1a5ce157826165aa944 |
|
BLAKE2b-256 | 0761b31e1e96d5beaeff3f37c5bd203e78d9fe21130a6528c770299a2cf8dea7 |