Skip to main content

An SDK for building applications to work with ESI

Project description

esisdk

Unified SDK for ESI

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.5.0.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

esisdk-1.5.0-py3-none-any.whl (51.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: esisdk-1.5.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for esisdk-1.5.0.tar.gz
Algorithm Hash digest
SHA256 284ab015ac45e327e41446478f6628348adfcc0f5ae0abe33fcd03e4007a2654
MD5 2a6dee01a711d8307586e868af791449
BLAKE2b-256 ae03df6e183a156fe28f4d2fadbdd86732bfdb73663401ab639abee48c1c3873

See more details on using hashes here.

File details

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

File metadata

  • Download URL: esisdk-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 51.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for esisdk-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5827ec00e35d9b2821aaa66adcc8605e2f04c42b05d79af52b380b43fd9719f
MD5 b6aaa8bb8f172718f26043ac77a113a7
BLAKE2b-256 7073d58b72f529e3facbb5ada3d01ee09cc5f0472b72b06000086eae5824e61e

See more details on using hashes here.

Supported by

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