Wrapper to use the Lumeta Spectre API
Project description
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
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
File details
Details for the file spectre-api-0.5.5.tar.gz
.
File metadata
- Download URL: spectre-api-0.5.5.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ba3200dcbb555964182208792f4d15df0701cf28394e605ed37a7bebc6a9cfe |
|
MD5 | 0264dbd6820c53ac679756a0e561f579 |
|
BLAKE2b-256 | eb0f2502bb5124eb8714febff668628264580ffa164288c9f474b8549103999b |
File details
Details for the file spectre_api-0.5.5-py3-none-any.whl
.
File metadata
- Download URL: spectre_api-0.5.5-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2760f5cefed1f12c5b51b698212cb4ec582b9d0b17058cbc30497f5833ac2ee4 |
|
MD5 | 8fd4741e79ef4c25fa5308038b51435f |
|
BLAKE2b-256 | 61a07f4d48b350ca04ba6498dad3ad47a50c88e3b5ee5f8ae12e830de247a08c |