Skip to main content

The SOLIDserverRest is a library to drive EfficientIP API

Project description

License

pipeline status coverage report

SOLIDserverRest

This 'SOLIDserverRest' allows to easily interact with SOLIDserver's REST API. It allows managing all IPAM objects through CRUD operations.

  • Free software: BSD2 License

This 'SOLIDserverRest' is compatible with SOLIDserver version 7 and ownward.

Install

Install 'SOLIDserverRest' using pip in your virtualenv:

	pip install SOLIDserverRest

Usage

Using the SOLIDserverRest advanced object (recommended)

All commands and object manipulation are going through a SOLIDserver main object, handling the connection to the manager and pushing API calls. The creation of a SOLIDserver object is done like that:

from SOLIDserverRest import *
from SOLIDserverRest import adv as sdsadv

SDS_HOST = "192.168.254.254"
SDS_LOGIN = "foo"
SDS_PWD = "bar"

sds = sdsadv.SDS(ip_address=SDS_HOST,
                 user=SDS_LOGIN,
                 pwd=SDS_PWD)
try:
    sds.connect(method="native")
except SDSError as e:
    logging.error(e)
    exit()

print(adv)

More examples in the example directory.

Using the SOLIDserverRest object

The raw API is mapped using the SOLIDserverRest object which handle the connection, prepare the formating and handle some errors. It can be usefull twhen the advanced library is not yet implementing an object that you require in your code.

1. Declare endpoint API point

Set the API endpoint you want to talk with through API. Could use an IP address (v4 or v6) or a host name

  • host = IP address of the SOLIDserver server
con = SOLIDserverRest("fqdn_host.org")

2. Specify connection method

You can use native connection mode using SOLIDserver default method which provide authentication through headers in the requests with information encoded in base64

  • user = user who want to use
  • password = password of the user
	con.use_native_sds(user="apiuser", password="apipwd")

You can also use the basic authentication method for connecting the SOLIDserver.

  • user = user who want to use
  • password = password of the user
	con.use_basicauth_sds(user="apiuser", password="apipwd")

3. Set TLS security

SSL certificate chain is validated by default, to disable it, use the set_ssl_verify method

        con.set_ssl_verify(False)  # True by default
	rest_answer = con.query("method", "parameters")

Otherwise, you have to provide the certificate file:

    con = SOLIDserverRest(SERVER)

If the certificate file is not valide, an exception SDSInitError is raised.

4. Request to SOLIDserver API

You need parameters:

  • method = choose your method in the list below
  • parameters = Python dictionary with parameters you want to use
	rest_answer = con.query("method", "parameters")

5. Analyze answer

  • rest_answer => object name
  • rest_answer.status_code => current http answer code set in the object
  • rest_answer.content => Answer core from SOLIDserver API set in the object

Example:

	print(rest_answer)
	print(rest_answer.status_code)
	print(rest_answer.content)

Methods that could be used

Methods are organized to match the ontology used in SOLIDServer, you will find:

  • Sites - address spaces
  • Subnets (v4 and v6)
  • Pools (v4 and v6)
  • Addresses (v4 and v6)
  • Aliases (v4 and v6)
  • DNS servers, views, zones, RR, acl, key
  • application manager
  • DHCP server, scope, shared net, range, static, group
  • device manager
  • VLAN manager

More information about supported methods in the specific document

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

SOLIDserverRest-2.3.8.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

SOLIDserverRest-2.3.8-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

Details for the file SOLIDserverRest-2.3.8.tar.gz.

File metadata

  • Download URL: SOLIDserverRest-2.3.8.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.28.2 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for SOLIDserverRest-2.3.8.tar.gz
Algorithm Hash digest
SHA256 1c3b6b253f26448e5d456a288023f18fa6e1191fbec91ebf4accf41dfaf66c68
MD5 c4cb345f5da64e03ecff96a72e3da22d
BLAKE2b-256 9ee5017bbfbaaaa7ef9f20e9e182b64eadae55d6bc22b462f09f6d09d2822480

See more details on using hashes here.

File details

Details for the file SOLIDserverRest-2.3.8-py3-none-any.whl.

File metadata

  • Download URL: SOLIDserverRest-2.3.8-py3-none-any.whl
  • Upload date:
  • Size: 39.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.28.2 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for SOLIDserverRest-2.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0d82b66684a1f9f1d8a840439e05d05397c773bce905f823631a89a893f39717
MD5 3b2e1b0b73b118a1dc53c9e216c9386b
BLAKE2b-256 41ca16182aec6517c4c24ad0f72fb67bb6288dcaa37d9e9d14082452cf6bf3fb

See more details on using hashes here.

Supported by

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