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 :doc:`glossary <../glossary>`. Installation ------------ The OpenStack SDK is available on `PyPI `_ under the name **openstacksdk**. To install it, use ``pip``:: $ pip install openstacksdk .. _user_guides: 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 Connect to an OpenStack Cloud Connect to an OpenStack Cloud Using a Config File Logging Baremetal Block Storage Clustering Compute Database Identity Image Key Manager Message Meter Network Object Store Orchestration 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 cloud config, session and authentication information providing you with a set of higher-level interfaces to work with OpenStack services. .. toctree:: :maxdepth: 1 connection Once you have a *Connection* instance, the following services may be exposed to you. The combination of your ``CloudRegion`` and the catalog of the cloud in question control which services are exposed, but listed below are the ones provided by the SDK. .. toctree:: :maxdepth: 1 Baremetal Block Storage Clustering Compute Database Identity v2 Identity v3 Image v1 Image v2 Key Manager Load Balancer Message v1 Message v2 Network Meter Metric Object Store Orchestration Workflow 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 Baremetal Block Storage Clustering Compute Database Identity Image Key Management Load Balancer Meter Metric Network Orchestration Object Store Workflow 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 resource resource2 service_filter utils