Unified SDK for ESI
python setup.py install
There are several methods to establish a connection using the ESI SDK. Since the esi.connection.ESIConnection class inherits from openstack.connection.Connection, methods applicable for creating connections
in the OpenStack SDK can also be used with the ESI SDK. Below are some common ways to create an ESIConnection:
from esi import connection
conn = connection.ESIConnection(
region_name='example-region',
auth={
'auth_url': 'https://auth.example.com',
'username': 'user',
'password': 'password',
'project_name': 'project_name',
'user_domain_name': 'user_domain_name',
'project_domain_name': 'project_domain_name'
},
interface='public'
)
from esi import connection
import openstack.config
config = openstack.config.get_cloud_region(
cloud='example',
region_name='earth'
)
conn = connection.ESIConnectionn(config=config)
Detailed APIs can be found in the esi/lease/v1/_proxy.py file. Below are simple examples demonstrating lease resource CRUD operations.
import esi
import os
TEST_CLOUD = os.getenv('OS_TEST_CLOUD', 'devstack-admin')
conn = esi.connect(cloud=TEST_CLOUD)
# Create a lease
def lease_create(conn, resource_uuid, project_id, **kwargs):
lease = conn.lease.create_lease(resource_uuid=resource_uuid,
project_id=project_id,
**kwargs)
# List leases
def lease_list(conn, **kwargs):
leases = conn.lease.leases(**kwargs)
# Update a lease
def lease_update(conn, lease, **kwargs):
lease_dict = conn.lease.update_lease(lease, **kwargs)
# Delete a lease
def lease_delete(conn, lease_id):
leases = conn.lease.delete_lease(lease_id)