Skip to main content

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


Download files

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

Source Distribution

spectre-api-0.5.5.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

spectre_api-0.5.5-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

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

Hashes for spectre-api-0.5.5.tar.gz
Algorithm Hash digest
SHA256 4ba3200dcbb555964182208792f4d15df0701cf28394e605ed37a7bebc6a9cfe
MD5 0264dbd6820c53ac679756a0e561f579
BLAKE2b-256 eb0f2502bb5124eb8714febff668628264580ffa164288c9f474b8549103999b

See more details on using hashes here.

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

Hashes for spectre_api-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2760f5cefed1f12c5b51b698212cb4ec582b9d0b17058cbc30497f5833ac2ee4
MD5 8fd4741e79ef4c25fa5308038b51435f
BLAKE2b-256 61a07f4d48b350ca04ba6498dad3ad47a50c88e3b5ee5f8ae12e830de247a08c

See more details on using hashes here.

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