Skip to content

Commit 9fa17c6

Browse files
akinrosslhercot
authored andcommitted
[bugfix] fix api call and index error for non-existing configExportP in aci_config_snapshot
1 parent 26eede5 commit 9fa17c6

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

plugins/modules/aci_config_snapshot.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@
227227
sample: https://10.11.12.13/api/mo/uni/tn-production.json
228228
"""
229229

230+
import json
231+
230232
from ansible.module_utils.basic import AnsibleModule
231233
from ansible_collections.cisco.aci.plugins.module_utils.aci import ACIModule, aci_argument_spec, aci_annotation_spec
232234

@@ -302,8 +304,14 @@ def main():
302304

303305
# Query for job information and add to results
304306
path = "api/node/mo/uni/backupst/jobs-[uni/fabric/configexp-{0}].json".format(export_policy)
305-
aci.api_call("GET", url="{0}/{1}".format(aci.base_url, path))
306-
aci.result["job_details"] = aci.existing[0].get("configJobCont", {})
307+
resp, info = aci.api_call("GET", "{0}/{1}".format(aci.base_url, path), return_response=True)
308+
try:
309+
aci.imdata = json.loads(resp.read()).get("imdata")
310+
except AttributeError:
311+
aci.imdata = json.loads(info.get("body")).get("imdata")
312+
aci.result["job_details"] = {}
313+
if aci.imdata and isinstance(aci.imdata, list) and isinstance(aci.imdata[0], dict):
314+
aci.result["job_details"] = aci.imdata[0].get("configJobCont", {})
307315

308316
else:
309317
# Prefix the proper url to export_policy

0 commit comments

Comments
 (0)