Python bindings and utils for CloudCIX API.
Project description
Python Bindings for CloudCIX API
Python bindings and utils to make the work with CloudCIX API fun.
API Docs: http://docs.cloudcix.com
CloudCIX is developed by CIX: http://www.cix.ie
Installation
pip install -U cloudcix
Required settings
When you run your project you should set the settings variable CLOUDCIX_SETTINGS_MODULE to point to the module that contains the settings object.
Example django lazy settings object (object should be specified after “:”):
import os os.environ.setdefault("CLOUDCIX_SETTINGS_MODULE", "django.conf:settings")
Example for a module based settings:
import os os.environ.setdefault("CLOUDCIX_SETTINGS_MODULE", "my.project.my_settings")
Required CLOUDCIX and OPENSTACK settings
CLOUDCIX_SERVER_URL = 'https://api.cloudcix.com' CLOUDCIX_API_USERNAME = 'user@cloudcix.com' CLOUDCIX_API_PASSWORD = 'super53cr3t3' CLOUDCIX_API_ID_MEMBER = '2243' OPENSTACK_KEYSTONE_URL = 'https://keystone.cloudcix.com:5000/v3'
As an alternative when used from console the settings can be set as environment variables
os.environ['CLOUDCIX_SERVER_URL'] = 'https://api.cloudcix.com/'
utils method get_admin_token and get_admin_session, will require you to set following environment variables as well
os.environ['CLOUDCIX_API_USERNAME'] = 'user@cloudcix.com' os.environ['CLOUDCIX_API_PASSWORD'] = 'super53cr3t3' os.environ['CLOUDCIX_API_ID_MEMBER'] = '2243' os.environ['OPENSTACK_KEYSTONE_URL'] = 'https://keystone.cloudcix.com:5000/v3'
Sample usage
Use the language service
from cloudcix import api from cloudcix.utils import get_admin_session # get an admin token token = get_admin_session().get_token() # call a sample membership service api.membership.language.list()
Create token for a User, and read the User Address
from cloudcix import api from cloudcix.cloudcixauth import CloudCIXAuth from cloudcix.utils import KeystoneSession, KeystoneClient, \ get_admin_client from keystoneclient.exceptions import NotFound # create auth payload auth = CloudCIXAuth( auth_url=settings.OPENSTACK_KEYSTONE_URL, username='john@doe.com', password='ubersecret', idMember='2243') auth_session = KeystoneSession(auth=auth) user_token = auth_session.get_token() token_data = auth.get_access(auth_session) # for the sake of example check that the token is valid # you should use your admin credentials to check user's token admin_cli = get_admin_client() try: admin_cli.tokens.validate(user_token) except NotFound as e: # Token is invalid, re-raise the exception raise e # token is valid, continue # Finally, read the address response = api.membership.address.read( pk=token_data['user']['address']['idAddress'], token=user_token) # check the response status to ensure we've been able to read the address if response.status_code != 200: # we couldn't read the address return response.content address = response.json()['content'] # Finally delete the token admin_cli.tokens.revoke_token(user_token) # And make sure it's not longer valid try: admin_cli.tokens.validate(user_token) except NotFound as e: # Token is not longer valid pass
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.