From 570251dc3d479d1b04e3675b697c2c61690ef2b4 Mon Sep 17 00:00:00 2001 From: John Westcott IV Date: Tue, 8 Sep 2020 15:28:57 -0400 Subject: [PATCH] Modifying get_item_name to handle a None object --- .../plugins/module_utils/tower_api.py | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/awx_collection/plugins/module_utils/tower_api.py b/awx_collection/plugins/module_utils/tower_api.py index e0d2027ba5..36cfa21551 100644 --- a/awx_collection/plugins/module_utils/tower_api.py +++ b/awx_collection/plugins/module_utils/tower_api.py @@ -52,20 +52,24 @@ class TowerAPIModule(TowerModule): return TowerAPIModule.IDENTITY_FIELDS.get(endpoint, 'name') def get_item_name(self, item, allow_unknown=False): - if 'name' in item: - return item['name'] + if item: + if 'name' in item: + return item['name'] - for field_name in TowerAPIModule.IDENTITY_FIELDS.values(): - if field_name in item: - return item[field_name] + for field_name in TowerAPIModule.IDENTITY_FIELDS.values(): + if field_name in item: + return item[field_name] - if item.get('type', None) in ('o_auth2_access_token', 'credential_input_source'): - return item['id'] + if item.get('type', None) in ('o_auth2_access_token', 'credential_input_source'): + return item['id'] if allow_unknown: return 'unknown' - self.exit_json(msg='Cannot determine identity field for {0} object.'.format(item.get('type', 'unknown'))) + if item: + self.exit_json(msg='Cannot determine identity field for {0} object.'.format(item.get('type', 'unknown'))) + else: + self.exit_json(msg='Cannot determine identity field for Undefined object.') def head_endpoint(self, endpoint, *args, **kwargs): return self.make_request('HEAD', endpoint, **kwargs)