The configuration backup/rollback tool in ACI is a great feature that has saved my ass many times.
Any time I start making changes, I go do a one-time backup. If I get too far down a wrong path, I can easily rollback to that snapshot to set the fabric right again.
One thing that always bugged me though, was the inability to give that backup a customizable, user-friendly name.
I discovered this week that if we trigger that backup via the cobra SDK, we can assign any name we want. Here is the code, which is also available on my Github page.
#!/usr/bin/env python # list of packages that should be imported for this code to work import cobra.mit.access import cobra.mit.request import cobra.mit.session import cobra.model.fabric import cobra.model.pol import cobra.model.config import credentials from cobra.internal.codec.xmlcodec import toXMLStr import requests.packages.urllib3 requests.packages.urllib3.disable_warnings() def take_backup (): #Login to APIC ls = cobra.mit.session.LoginSession('https://'+credentials.ACI_login["ipaddr"], credentials.ACI_login["username"], credentials.ACI_login["password"]) md = cobra.mit.access.MoDirectory(ls) md.login() polUni = cobra.model.pol.Uni('') fabricInst = cobra.model.fabric.Inst(polUni) backup = cobra.model.config.ExportP(fabricInst, name="backup_created_with_python", snapshot="true", adminSt="triggered") c = cobra.mit.request.ConfigRequest() c.addMo(fabricInst) md.commit(c) take_backup()