Skip to main content

An SDK for building applications to work with ESI

Project description

esisdk

Unified SDK for ESI

Use the SDK in python scripts

Install ESI SDK:

python setup.py install

Create a connection to ESI SDK

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:

Create a connection using only keyword arguments

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'
)

Create a connection from existing CloudRegion

from esi import connection
import openstack.config

config = openstack.config.get_cloud_region(
    cloud='example',
    region_name='earth'
)
conn = connection.ESIConnectionn(config=config)

Make API calls

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)

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

esisdk-1.3.0.tar.gz (34.0 kB view details)

Uploaded Source

Built Distribution

esisdk-1.3.0-py3-none-any.whl (51.1 kB view details)

Uploaded Python 3

File details

Details for the file esisdk-1.3.0.tar.gz.

File metadata

  • Download URL: esisdk-1.3.0.tar.gz
  • Upload date:
  • Size: 34.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for esisdk-1.3.0.tar.gz
Algorithm Hash digest
SHA256 4acfb032dc36244be032ce1a4bb75fc40956f59de4f84862b20928e461d1a633
MD5 71f45b47744362a900ffd4eb1bb031a0
BLAKE2b-256 43c1ca6a59a54a7e35ee76c44b18ec06d079adc11e83fbbbbcfc809673f2bbdf

See more details on using hashes here.

File details

Details for the file esisdk-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: esisdk-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 51.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for esisdk-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ce66501c55cef6783ebf6cfcc434486bf4af83cffe1fd779dfea924b42d0935
MD5 daba99c64376e5e64a49950d579edbe6
BLAKE2b-256 003e17b73fddf8738d65805457052e6e4ca3eea31364cbc56d6f147d9db05891

See more details on using hashes here.

Supported by

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