diff options
Diffstat (limited to 'os_client_config/__init__.py')
-rw-r--r-- | os_client_config/__init__.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/os_client_config/__init__.py b/os_client_config/__init__.py index ece1559..52fcb85 100644 --- a/os_client_config/__init__.py +++ b/os_client_config/__init__.py @@ -14,6 +14,7 @@ import sys +from os_client_config import cloud_config from os_client_config.config import OpenStackConfig # noqa @@ -34,7 +35,7 @@ def simple_client(service_key, cloud=None, region_name=None): cloud=cloud, region_name=region_name).get_session_client(service_key) -def make_client(service_key, constructor, options=None, **kwargs): +def make_client(service_key, constructor=None, options=None, **kwargs): """Simple wrapper for getting a client instance from a client lib. OpenStack Client Libraries all have a fairly consistent constructor @@ -44,6 +45,8 @@ def make_client(service_key, constructor, options=None, **kwargs): variables and clouds.yaml - and takes as **kwargs anything you'd expect to pass in. """ + if not constructor: + constructor = cloud_config._get_client(service_key) config = OpenStackConfig() if options: config.register_argparse_options(options, sys.argv, service_key) @@ -51,5 +54,5 @@ def make_client(service_key, constructor, options=None, **kwargs): else: parsed_options = None - cloud_config = config.get_one_cloud(options=parsed_options, **kwargs) - return cloud_config.get_legacy_client(service_key, constructor) + cloud = config.get_one_cloud(options=parsed_options, **kwargs) + return cloud.get_legacy_client(service_key, constructor) |