From 8b3b881dcd91a7a750c0f20fa0878f684550d4d5 Mon Sep 17 00:00:00 2001 From: "naveena.maplelabs" Date: Wed, 24 Jun 2020 19:49:53 +0530 Subject: [PATCH] SDK GET request Query Parameter Bug: * In sdk, query parameters for certain requests are obtained as list of strings. * But while sending the params to API, values expected is comma separated strings. * This conversion is not happening and API call fails or provide incorrect responses. > Uploaded sample code for principals_controller.py file --- .../controllers/principals_controller.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cohesity_management_sdk/controllers/principals_controller.py b/cohesity_management_sdk/controllers/principals_controller.py index 97caf9bd6..af0d4d323 100644 --- a/cohesity_management_sdk/controllers/principals_controller.py +++ b/cohesity_management_sdk/controllers/principals_controller.py @@ -53,7 +53,7 @@ def list_sources_for_principals(self, sids=None): _url_path = '/public/principals/protectionSources' _query_builder = self.config.get_base_uri() _query_builder += _url_path - _query_parameters = {'sids': sids} + _query_parameters = {'sids': ",".join(sids)} _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) @@ -216,7 +216,7 @@ def search_principals(self, 'domain': domain, 'objectClass': object_class, 'search': search, - 'sids': sids, + 'sids': ",".join(sids), 'includeComputers': include_computers } _query_builder = APIHelper.append_url_with_query_parameters( @@ -412,10 +412,10 @@ def get_users(self, _query_builder = self.config.get_base_uri() _query_builder += _url_path _query_parameters = { - 'tenantIds': tenant_ids, + 'tenantIds': ",".join(tenant_ids), 'allUnderHierarchy': all_under_hierarchy, - 'usernames': usernames, - 'emailAddresses': email_addresses, + 'usernames': ",".join(usernames), + 'emailAddresses': ",".join(email_addresses), 'domain': domain, 'partialMatch': partial_match } @@ -724,7 +724,7 @@ def get_user_api_keys(self, sid, ids=None): _url_path, {'sid': sid}) _query_builder = self.config.get_base_uri() _query_builder += _url_path - _query_parameters = {'ids': ids} + _query_parameters = {'ids': ",".join(ids)} _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) @@ -1114,7 +1114,7 @@ def get_all_user_api_keys(self, user_sids=None): _url_path = '/public/usersApiKeys' _query_builder = self.config.get_base_uri() _query_builder += _url_path - _query_parameters = {'userSids': user_sids} + _query_parameters = {'userSids': ",".join(user_sids)} _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization)