spectre-api-python
General
This module is intended to make it a bit easier to work with The Firemon Corporation's Lumeta (was named "Spectre" API.
Lumeta and Spectre are both registered trademarks of Firemon
Install this module by running pip3 install spectre-api
Introduction
This Python module is intended to be a relatively light weight wrapper around the Spectre API. The idea is to abstract out some of the authentication and paging pieces to make it easier to focus on fine-tuning the actual underlying calls. Basically, you configure a server (currently using username/password or API Key authentication) and then have it perform API calls. For example:
>>> import spectreapi
>>> s = spectreapi.UsernameServer("cc", "username", "password")
>>> r = s.get("zonedata/devices", params = { "filter.zone.id": 1} )
>>> for d in r:
... if d['ip'] is not None:
... print(d['ip'])
...
10.2.1.1
10.201.0.1
10.201.0.7
10.202.0.1
10.202.0.2
172.18.1.180
>>>
Another, slightly cleaner way to do this would be to use the query methods
>>> import spectreapi
>>> z = spectreapi.UsernameServer('cc','username','password').get_zone_by_name('Zone1')
>>> q=z.query().detail('Attributes')
>>> for d in q.run():
... if d['ip'] is not None:
... print(d['ip'])
...
10.2.1.1
10.201.0.1
10.201.0.7
10.202.0.1
10.202.0.2
172.18.1.180
>>>
Servers
A Server is the base class that has most of the functionality needed to use the Spectre API. You'll instantiate a more specific Server based on which authentication method you're using.
UsernameServer
spectreapi.UsernameServer(<server>, <username>, <password>, [<page_size>,] [<verify>])
Where:
<server> = The IP address or DNS name of the Spectre Command Center
<username> = Username
<password> = Password
<page_size> = How many results should a GET request return at a time.
<verify> = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate.
Behind the scenes, this makes an API call to system/information with basic authentication
(over https) and then uses the resulting JSESSIONID cookie for the rest of the time.
APIKeyServer
spectreapi.APIKeyServer(<server>, <api_key>, [, <page_size>] [, <verify>])
Where:
<server> = The IP address or DNS name of the Spectre Command Center
<api_key> = API Key for API access. You get this via the GUI or by issuing the
user key new <username> command at the command center CLI.
<page_size> = How many results should a GET request return at a time.
<verify> = Should we verify the SSL certificate of the server (True or False, defaults to False). You'll want to leave this a False unless you've given your command center an actual SSL certificate.
GET, POST, PUT, DELETE
Notes on using the underlying Spectre API
Metadata
Release files for spectre-api 0.5.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| spectre-api-0.5.5.tar.gz | 15.7 kB | Without provenance | Details for spectre-api-0.5.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| spectre_api-0.5.5-py3-none-any.whl | Python 3 | none | any | Details for spectre_api-0.5.5-py3-none-any.whl |
Total release size: 32.6 kB
Release files / spectre-api-0.5.5.tar.gz
| Download URL | spectre-api-0.5.5.tar.gz |
|---|---|
| Size | 15.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ba3200dcbb555964182208792f4d15df0701cf28394e605ed37a7bebc6a9cfe
|
|
BLAKE2b-256 checksum How to use checksums |
eb0f2502bb5124eb8714febff668628264580ffa164288c9f474b8549103999b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.17
|
Release files / spectre_api-0.5.5-py3-none-any.whl
| Download URL | spectre_api-0.5.5-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2760f5cefed1f12c5b51b698212cb4ec582b9d0b17058cbc30497f5833ac2ee4
|
|
BLAKE2b-256 checksum How to use checksums |
61a07f4d48b350ca04ba6498dad3ad47a50c88e3b5ee5f8ae12e830de247a08c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.17
|
Security for spectre-api 0.5.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.