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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: esisdk-1.1.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.1.0.tar.gz
Algorithm Hash digest
SHA256 f8c1c93e33f4c4264b87419456dc43d3656816ee19c95013f3b2f596bba72a4f
MD5 0790a3e4046d108ff8202c47672e0e99
BLAKE2b-256 8cda5822e191e5b4fe1f93e3490b4ada21de8817be305dd535a27b2d162cb9af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: esisdk-1.1.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e2ae0fff23f1420ff013ce02da300b93d9a14ef65602857a4dbdf5caab123bc
MD5 01d7490d8202e8d53bf4e1cf3b965a7c
BLAKE2b-256 2d4b44aa60c07a7ee6aff28862bfcfe204e9e9d4d259d6de7119579f5f5c94e2

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