Skip to main content

'loadbalancer' interface protocol API library

Project description

loadbalancer Interface Protocol API Library

This library provides an API for requesting and providing load balancers or ingress endpoints from one charm to another. It can be used in either charms written in the newer Operator Framework or older charms still using the charms.reactive Framework.

Installation / Setup

Include this library as a dependency for your charm, either in requirements.txt for Operator Framework charms, or wheelhouse.txt for reactive charms:

loadbalancer_interface

Usage

Requesting Load Balancers

Requesting a load balancer from a provider is done via the LBProvider class. The general pattern for using the class is:

  • Wait for the provider to become available
  • Get a Request object via the get_request(name) method
  • Set the appropriate fields on the request object
  • Send the Request via the send_request(request) method
  • Wait for the Response to be provided (or updated)
  • Get the Response object via either the get_response(name) method or via the new_responses property
  • Confirm that the request was successful and use the provided LB's address
  • Acknowledge the Response via ack_response(response)

There are examples in the docs on how to do this in an operator charm or in a reactive charm.

Providing Load Balancers

Providing a load balancer to consumers is done via the LBConsumers class. The general pattern for using the class is:

  • Wait for new or updated requests to come in
  • Iterate over each request object in the new_requests property
  • Create a load balancer according to the request's fields
  • Set the appropriate fields on the request's response object
  • Send the request's response via the send_response(request) method

There are examples in the docs on how to do this in an operator charm or in a reactive charm.

API Reference

See the API docs for detailed reference on the API.

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

loadbalancer_interface-1.0.2.tar.gz (2.4 kB view details)

Uploaded Source

File details

Details for the file loadbalancer_interface-1.0.2.tar.gz.

File metadata

  • Download URL: loadbalancer_interface-1.0.2.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for loadbalancer_interface-1.0.2.tar.gz
Algorithm Hash digest
SHA256 b94923cc7b395a83f602699c4f1acc3c8d9c6bb3405b42aa12e4bb26cec4d1b3
MD5 c1640b5bc6d4f7a0a3ef7f69a3d39d4c
BLAKE2b-256 45f43e59ada361d980b1f6384f50631401771c3617c2d3ba1e52908ddb5387cc

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