@@ -109,7 +109,9 @@ def get_resource(client, resource_name, resource_id=None, resource_module_params
109109 return False , []
110110 # `update-only` resources return a dict instead of a list.
111111 if resource_name .startswith ("systemglobal_" ):
112- return_response = response_body ["systemglobal" ]
112+ return_response = response_body .get ("systemglobal" , None )
113+ if return_response is None :
114+ return False , []
113115 else :
114116 return_response = response_body [resource_name ]
115117 # FIXME: NITRO-BUG: for some resources like `policypatset_pattern_binding`, NITRO returns keys with uppercase. eg: `String` for `string`.
@@ -131,15 +133,19 @@ def get_resource(client, resource_name, resource_id=None, resource_module_params
131133 )
132134
133135 # Take care of NITRO Anomolies
134- return_response = fix_nitro_anomolies (
135- resource_name , resource_module_params , return_response
136- )
137- return (True , return_response )
136+ if return_response is not None :
137+ return_response = fix_nitro_anomolies (
138+ resource_name , resource_module_params , return_response
139+ )
140+ return (True , return_response if return_response is not None else [])
138141 return False , []
139142
140143
141144@trace
142145def fix_nitro_anomolies (resource_name , resource_module_params , return_response ):
146+ if return_response is None :
147+ return []
148+
143149 for resource in return_response :
144150 # FIXME: NITRO-BUG: in lbmonitor, for `interval=60`, the `units3` will wrongly be set to `MIN` by the NetScaler.
145151 # Hence, we will set it to `SEC` to make it idempotent
0 commit comments