diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-06-02 07:31:31 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-06-02 07:31:31 +0000 |
commit | 5d36663f1a4234af8d44f72d83aed07dce75b771 (patch) | |
tree | 9cb05036782e21534f1021bf3b64428748b11d21 | |
parent | afbb28817e4caef902b4987c6a1812f00c5eada3 (diff) | |
parent | 7d63f12eddb250542587cab8e4a2ca9088ec0fbb (diff) | |
download | os-client-config-5d36663f1a4234af8d44f72d83aed07dce75b771.tar.gz |
Merge "Add shade constructor helper method"
-rw-r--r-- | README.rst | 33 | ||||
-rw-r--r-- | os_client_config/__init__.py | 12 | ||||
-rw-r--r-- | releasenotes/notes/shade-helper-568f8cb372eef6d9.yaml | 4 |
3 files changed, 49 insertions, 0 deletions
@@ -392,6 +392,39 @@ 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 shade objects +-------------------------- + +If what you want to do is get a +`shade <http://docs.openstack.org/infra/shade/>`_ OpenStackCloud object, a +helper function that honors clouds.yaml and `OS_` environment variables is +provided. The following will get you a fully configured `OpenStackCloud` +instance. + +.. code-block:: python + + import os_client_config + + cloud = os_client_config.make_shade() + +If you want to do the same thing but on a named cloud. + +.. code-block:: python + + import os_client_config + + cloud = os_client_config.make_shade(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 + + cloud = os_client_config.make_shade(options=argparse.ArgumentParser()) + Constructing REST API Clients ----------------------------- diff --git a/os_client_config/__init__.py b/os_client_config/__init__.py index 6142853..09d7442 100644 --- a/os_client_config/__init__.py +++ b/os_client_config/__init__.py @@ -82,3 +82,15 @@ def make_sdk(options=None, **kwargs): from openstack import connection cloud = get_config(options=options, **kwargs) return connection.from_config(cloud_config=cloud, options=options) + + +def make_shade(options=None, **kwargs): + """Simple wrapper for getting a Shade OpenStackCloud object + + A mechanism that matches make_sdk, make_client and make_rest_client. + + :rtype: :class:`~shade.OpenStackCloud` + """ + import shade + cloud = get_config(options=options, **kwargs) + return shade.OpenStackCloud(cloud_config=cloud, **kwargs) diff --git a/releasenotes/notes/shade-helper-568f8cb372eef6d9.yaml b/releasenotes/notes/shade-helper-568f8cb372eef6d9.yaml new file mode 100644 index 0000000..70aab0a --- /dev/null +++ b/releasenotes/notes/shade-helper-568f8cb372eef6d9.yaml @@ -0,0 +1,4 @@ +--- +features: + - Added helper method for constructing shade + OpenStackCloud objects. |