Using Python API

Python bindings to the OpenStack Monasca API

This is a client for the OpenStack Monasca API. It includes a Python API (the monascaclient module) and a command-line script (installed as monasca).

Python API

To use python-monascaclient in a project, you need to create a client instance first. There are couple ways of doing this properly.

With session

A pseudo-code would be similar to this:

from keystoneauth1 import identity
from keystoneauth1 import session
from monascaclient import client

auth = identity.Password(
  auth_url='http://my.keystone.com/identity',
  username='mini-mon',
  password='password',
  project_name='mini-mon',
  user_domain_id='default',
  project_domain_id='default'
)
sess = session.Session(auth=auth)

endpoint = 'http://monasca:8070/v2.0'
api_version = '2_0'

c = client.Client(
  api_version=api_version,
  endpoint=endpoint,
  session=sess
)

c.alarms.list()

For more information on keystoneauth API, see Using Sessions. We also suggest taking closer look at Keystone Auth Plugins. Each of the plugin can be used to properly instantiate new session and pass it into the client.

Note

This is recommended way to setup a client. Other cases, described below, create sessions internally.

Without session

If you do not want to use a session or simply prefer client to instantiate one on its own, there are two supported ways

With token

A pseudo-code would be similar to this:

from monascaclient import client

c = client.Client(
  api_version='2_0',
  endpoint='http://monasca:8070/v2.0',
  token='3bcc3d3a03f44e3d8377f9247b0ad155',
  project_name='mini-mon',
  auth_url='http://my.keystone.com/identity'
)

c.alarms.list()

With username & password

A pseudo-code would be similar to this:

from monascaclient import client

c = client.Client(
  api_version='2_0',
  endpoint='http://monasca:8070/v2.0',
  username='mini-mon',
  password='password',
  project_name='mini-mon',
  auth_url='http://my.keystone.com/identity'
)

c.alarms.list()

Examples