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

Uploaded Source

Built Distribution

esisdk-1.2.0-py3-none-any.whl (50.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for esisdk-1.2.0.tar.gz
Algorithm Hash digest
SHA256 ca90b608b07d23c52e03657d6b556401ce14a333acff2cd850c95e45a274d25a
MD5 bc69455bd03d70ee9a9c5bad88adbbe8
BLAKE2b-256 e51a97b92ca2137e169694765a13f17757b7910d8d37012cd7ddbce8e0847313

See more details on using hashes here.

File details

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

File metadata

  • Download URL: esisdk-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 50.7 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1cfc0711e21cd4eba3c798e8f07b0556c523df18f88e7a015e1e7814594b017
MD5 08f1c9dbf1cc0575ae299413267132ae
BLAKE2b-256 d00dd5583644f7ec1564a71ef7470ea5f760e86b05f475d48a5394bcd37eccc6

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