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 Configuration Connect to an OpenStack Cloud Connect to an OpenStack Cloud Using a Config File Using Cloud Abstration Layer Logging Microversions Baremetal Block Storage Clustering Compute Database Identity Image Key Manager Message 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. The Cloud Abstraction layer has a data model. .. toctree:: :maxdepth: 1 model 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 v2 Network 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 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 service_filter utils Presentations ============= .. toctree:: :maxdepth: 1 multi-cloud-demo