Skip to content

amolsh/python-sdc-client

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sysdig Cloud Python client library

Build Status Current version on PyPI

A Python client API for Sysdig Cloud.

This module is a wrapper around the Sysdig Cloud API, which is documented here. It exposes most of the sysdig REST API functionality as an easy to use and easy to install Python interface. The repository includes a rich set of examples (in the examples subdir) that quickly address several use cases.

Installation

Automatic w/ PyPI (virtualenv is recommended.)

pip install sdcclient

Manual

git clone https://github.com/draios/python-sdc-client.git
cd python-sdc-client
python setup.py install

Quick start

Usage

Note: in order to use this API you must obtain a Sysdig Cloud token. You can get your user's token in the Sysdig Cloud API section of the settings page.

The library exports a single class, SdcClient, that is used to connect to Sysdig Cloud and execute actions. It can be instantiated like this:

from sdcclient import SdcClient

sdc_token = "MY_API_TOKEN"

#
# Instantiate the SDC client
#
sdclient = SdcClient(sdc_token)

Once instantiated, all the methods documented below can be called on the object.

####Return Values Every method in the SdcClient class returns a list with two entries. The first one is a boolean value indicating if the call was successful. The second entry depends on the result:

  • If the call was successful, it's a dictionary reflecting the json returned by the underlying REST call
  • If the call failed, it's a string describing the error

For an example on how to parse this output, take a look at a simple example like get_data_simple.py

Function List

Please Refer to the Python Script Library documentation page for the list of functions available.

On-Premises Installs

For On-Premises Sysdig Cloud installs, additional configuration is necessary to point to your API server rather than the default SaaS-based one, and also to easily connect when using a self-signed certificate for SSL. One way to handle this is by setting environment variables before running your Python scripts:

export SDC_URL='https://<YOUR-API-SERVER-HOSTNAME-OR-IP>'
export SDC_SSL_VERIFY='false'

Alternatively, you can specify the additional arguments in your Python scripts as you instantiate the SDC client:

sdclient = SdcClient(sdc_token, sdc_url='https://<YOUR-API-SERVER-HOSTNAME-OR-IP>', ssl_verify=False)

Transitioning from Python to REST

If your goal is to interact with the REST API directly, you can use this Python client library to understand the REST interactions by logging the actions it takes. This is useful because full documentation of the REST API has not yet been created; and also provides a complete example of known working operations.

  • Use or modify an example, or write a new script against the Python sdcclient module.
  • Log the HTTP requests made by the script.

To log all the requests made by your script in significant detail, add to your script:

import logging
import httplib
httplib.HTTPConnection.debuglevel = 1

logging.basicConfig() # you need to initialize logging, otherwise you will not see anything from requests
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True

Then run as normal.

About

Sysdig Cloud python client library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%