Merge "Add helper method for OpenStack SDK constructor"
This commit is contained in:
commit
6ea67cd458
37
README.rst
37
README.rst
@ -355,6 +355,43 @@ with - as well as a consumption argument.
|
|||||||
|
|
||||||
cloud = cloud_config.get_one_cloud(argparse=options)
|
cloud = cloud_config.get_one_cloud(argparse=options)
|
||||||
|
|
||||||
|
Constructing OpenStack SDK object
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
If what you want to do is get an OpenStack SDK Connection and you want it to
|
||||||
|
do all the normal things related to clouds.yaml, `OS_` environment variables,
|
||||||
|
a helper function is provided. The following will get you a fully configured
|
||||||
|
`openstacksdk` instance.
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
import os_client_config
|
||||||
|
|
||||||
|
sdk = os_client_config.make_sdk()
|
||||||
|
|
||||||
|
If you want to do the same thing but on a named cloud.
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
import os_client_config
|
||||||
|
|
||||||
|
sdk = os_client_config.make_sdk(cloud='mtvexx')
|
||||||
|
|
||||||
|
If you want to do the same thing but also support command line parsing.
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
import os_client_config
|
||||||
|
|
||||||
|
sdk = os_client_config.make_sdk(options=argparse.ArgumentParser())
|
||||||
|
|
||||||
|
It should be noted that OpenStack SDK has ways to construct itself that allow
|
||||||
|
for additional flexibility. If the helper function here does not meet your
|
||||||
|
needs, you should see the `from_config` method of
|
||||||
|
`openstack.connection.Connection <http://developer.openstack.org/sdks/python/openstacksdk/users/guides/connect_from_config.html>`_
|
||||||
|
|
||||||
Constructing Legacy Client objects
|
Constructing Legacy Client objects
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
|
@ -67,3 +67,16 @@ def make_client(service_key, constructor=None, options=None, **kwargs):
|
|||||||
if not constructor:
|
if not constructor:
|
||||||
constructor = cloud_config._get_client(service_key)
|
constructor = cloud_config._get_client(service_key)
|
||||||
return cloud.get_legacy_client(service_key, constructor)
|
return cloud.get_legacy_client(service_key, constructor)
|
||||||
|
|
||||||
|
|
||||||
|
def make_sdk(options=None, **kwargs):
|
||||||
|
"""Simple wrapper for getting an OpenStack SDK Connection.
|
||||||
|
|
||||||
|
For completeness, provide a mechanism that matches make_client and
|
||||||
|
session_client. The heavy lifting here is done in openstacksdk.
|
||||||
|
|
||||||
|
:rtype: :class:`~openstack.connection.Connection`
|
||||||
|
"""
|
||||||
|
from openstack import connection
|
||||||
|
cloud = get_config(options=options, **kwargs)
|
||||||
|
return connection.from_config(cloud_config=cloud, options=options)
|
||||||
|
4
releasenotes/notes/sdk-helper-41f8d815cfbcfb00.yaml
Normal file
4
releasenotes/notes/sdk-helper-41f8d815cfbcfb00.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Added helper method for constructing OpenStack SDK
|
||||||
|
Connection objects.
|
Loading…
x
Reference in New Issue
Block a user