Getting started with the OpenStack SDK ====================================== For a listing of terms used throughout the SDK, including the names of projects and services supported by it, see the `Glossary <../glossary.html>`_. Installation ------------ The OpenStack SDK is available on `PyPI `_ under the name **python-openstacksdk**. To install it, use ``pip``:: $ pip install python-openstacksdk User Guides ----------- These guides walk you through how to make use of the libraries we provide to work with each OpenStack service. If you're looking for a cookbook approach, this is where you'll want to begin. .. toctree:: :maxdepth: 1 Connecting to an OpenStack Cloud CDN Compute Database Identity Image Keystore Metric Network Object Store Orchestration Telemetry Volume API Documentation ----------------- Service APIs are exposed through a two-layered approach. The classes exposed through our *Connection* interface are the place to start if you're an application developer consuming an OpenStack cloud. The *Resource* interface is the layer upon which the *Connection* is built, with *Connection* methods accepting and returning *Resource* objects. Connection Interface ******************** A *Connection* instance maintains your session, authentication, transport, and profile, providing you with a set of higher-level interfaces to work with OpenStack services. .. toctree:: :maxdepth: 1 connection profile Once you have a *Connection* instance, the following services may be exposed to you. Your user profile determine the full set of exposed services, but listed below are the ones provided by this SDK by default. .. toctree:: :maxdepth: 1 CDN Compute Database Identity Image Keystore Metric Network Object Store Orchestration Telemetry Volume Resource Interface ****************** The *Resource* layer is a lower-level interface to communicate with OpenStack services. While the classes exposed by the *Connection* build a convenience layer on top of this, *Resources* can be used directly. However, the most common usage of this layer is in receiving an object from a class in the *Connection* layer, modifying it, and sending it back into the *Connection* layer, such as to update a resource on the server. The following services have exposed *Resource* classes. .. toctree:: :maxdepth: 1 Compute Database Identity Image Network Orchestration Object Store Telemetry Volume Low-Level Classes ***************** The following classes are not commonly used by application developers, but are used to construct applications to talk to OpenStack APIs. Typically these parts are managed through the `Connection Interface`_, but their use can be customized. .. toctree:: :maxdepth: 1 session transport base_auth_plugin identity_base identity_v2 identity_v3 module_loader resource service_filter utils