From 1ecf1bee2d5c1566533cdd8fad99733ea8336aa8 Mon Sep 17 00:00:00 2001 From: Dean Troyer Date: Thu, 18 Sep 2014 00:56:38 -0500 Subject: Begin low-level API for Image v1 and v2 image list for v1 and v2: * Add --public|--private to command parsers * Implement local public/private filtering for v1 image_list() * Pass public/private filter to server for v2 image_list() Change-Id: Ie7c24ea2d1bf2b3b1b7fa342eb45fee45894634d --- openstackclient/image/client.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'openstackclient/image/client.py') diff --git a/openstackclient/image/client.py b/openstackclient/image/client.py index c55ff853..35779664 100644 --- a/openstackclient/image/client.py +++ b/openstackclient/image/client.py @@ -31,9 +31,15 @@ API_VERSIONS = { "2": "glanceclient.v2.client.Client", } +IMAGE_API_TYPE = 'image' +IMAGE_API_VERSIONS = { + '1': 'openstackclient.api.image_v1.APIv1', + '2': 'openstackclient.api.image_v2.APIv2', +} + def make_client(instance): - """Returns an image service client.""" + """Returns an image service client""" image_client = utils.get_client_class( API_NAME, instance._api_version[API_NAME], @@ -45,13 +51,31 @@ def make_client(instance): region_name=instance._region_name, ) - return image_client( + client = image_client( endpoint, token=instance.auth.get_token(instance.session), cacert=instance._cacert, insecure=instance._insecure, ) + # Create the low-level API + + image_api = utils.get_client_class( + API_NAME, + instance._api_version[API_NAME], + IMAGE_API_VERSIONS) + LOG.debug('Instantiating image api: %s', image_api) + + client.api = image_api( + session=instance.session, + endpoint=instance.get_endpoint_for_service_type( + IMAGE_API_TYPE, + region_name=instance._region_name, + ) + ) + + return client + def build_option_parser(parser): """Hook to add global options""" -- cgit v1.2.1