def start(mist_session, org_id=None, source_org_name=None, sites_list=None, ap_mac=None): if not org_id: print("*** ***") print("*** Please select the destination organization ***") print("*** ***") org_id = cli.select_org(mist_session)[0] org_name = mist_lib.requests.orgs.info.get(mist_session, org_id)["result"]["name"] start_restore_inventory(mist_session, org_id, org_name, source_org_name, sites_list, ap_mac)
def select_or_create_org(mist_session=None): mist_session = mist_lib.Mist_Session() while True: res = input("Do you want to create a (n)ew organisation or (r)estore to an existing one? ") if res.lower()=="r": org_id = cli.select_org(mist_session)[0] org_name = mist_lib.requests.orgs.info.get(mist_session, org_id)["result"]["name"] return (mist_session, org_id, org_name) elif res.lower()=="n": return _create_org(mist_session)
def start(mist_session): while True: res = input("Do you want to create a (n)ew organisation or (r)estore to an existing one? ") if res.lower()=="r": org_id = cli.select_org(mist_session)[0] org_name = mist_lib.requests.orgs.info.get(mist_session, org_id)["result"]["name"] start_restore_org(mist_session, org_id, org_name, None, check_org_name=True) break elif res.lower()=="n": _create_org(mist_session) break
def start_restore_inventory(mist_session, dest_org_id, dest_org_name, source_mist_session=None, source_org_name=None, source_org_id=None, sites_list=None, check_org_name=True, in_backup_folder=False, ap_mac=None): if check_org_name: _check_org_name(dest_org_name) if not in_backup_folder: _go_to_backup_folder(source_org_name) try: with open(backup_file) as f: backup = json.load(f) except: print("unable to load the file backup %s" % (backup_file)) finally: if backup: console.info("File %s loaded succesfully." % backup_file) auto_unclaim = _y_or_n_question( "Do you want to automatically unclaim devices from the source organization %s (y/N)? " % (source_org_name)) if auto_unclaim: if not source_mist_session: print("*** ***") print("*** Please select the source organization ***") print("*** ***") source_mist_session = mist_lib.Mist_Session() if not source_org_id: source_org_id = cli.select_org(source_mist_session)[0] source_org_name = mist_lib.requests.orgs.info.get( source_mist_session, source_org_id)["result"]["name"] if source_org_id == None: source_org_id = backup["org"]["id"] if sites_list == None: sites_list = _select_sites(backup["org"]["sites_names"]) _display_warning( "Are you sure about this? Do you want to import the inventory into the organization %s with the id %s (y/N)? " % (dest_org_name, dest_org_id)) #TODO: Migrate magics for APs not assigned to sites _restore_inventory(mist_session, dest_org_id, backup["org"], sites_list, auto_unclaim, source_org_id, source_mist_session, ap_mac) print() console.notice("Restoration process finished...")
def start(mist_session): org_id = cli.select_org(mist_session)[0] org_name = mist_lib.orgs.info.get(mist_session, org_id)["result"]["name"] start_org_backup(mist_session, org_id, org_name)
print(""" __ __ _____ _ _ _____ _ _ _____ \ \ / /\ | __ \| \ | |_ _| \ | |/ ____| \ \ /\ / / \ | |__) | \| | | | | \| | | __ \ \/ \/ / /\ \ | _ /| . ` | | | | . ` | | |_ | \ /\ / ____ \| | \ \| |\ |_| |_| |\ | |__| | \/ \/_/ \_\_| \_\_| \_|_____|_| \_|\_____| THIS SCRIPT IS DESIGNED TO REMOVE ALL THE OBJECT IN A SPECIFIC ORGANIZATION! THESE CHANGES CAN'T BE REVERT BACK. USE THIS SCRIPT AS YOUR OWN RISK """) if org_id == "": org_id = cli.select_org(mist_session)[0] org_name = mist_lib.requests.orgs.info.get(mist_session, org_id)["result"]["name"] check_org_name(org_name) display_warning( "Are you sure about this? Do you want to remove all the objects from the org %s with the id %s (y/N)? " % (org_name, org_id)) display_warning( "Are you REALLY sure about this? Once accepted, you won't be able to revert changes done on the org %s with id %s (y/N)? " % (org_name, org_id)) print() create_primary_site(org_id) start_delete(org_id)
def get_org_id(): org_id = cli.select_org(session) print("") print("Selected org id: %s" % org_id) return org_id
bssids_from_sites(mist_session, org_sites, org_info, site_ids) # if the admin doesn't have access to the org level, but only the sites elif len(org_sites) >= 1: org_info = { "name":org_sites[0]["org_name"], "id":org_sites[0]["org_id"] } org_sites = [] # get the sites information for site_id in site_ids: org_sites.append(mist_lib.requests.sites.info.get(mist_session, site_id)["result"]) bssids_from_sites(mist_session, org_sites, org_info, site_ids) #### SCRIPT ENTRYPOINT #### mist = mist_lib.Mist_Session() org_ids = cli.select_org(mist, allow_many=True) if len(org_ids) == 1: site_ids = cli.select_site(mist, org_id=org_ids[0], allow_many=True) bssids_from_orgs(mist, org_ids, site_ids) fields.insert(0, "org_id") fields.insert(1, "org_name") fields.insert(2, "site_id") fields.insert(3, "site_name") cli.show(bssid_list, fields) cli.save_to_csv(csv_file, bssid_list, fields, csv_separator)
def start(mist_session, org_id=None, source_org_name=None, site_name=None): if org_id == "": org_id = cli.select_org(mist_session)[0] org_name = mist_lib.requests.orgs.info.get(mist_session, org_id)["result"]["name"] start_precheck(mist_session, org_id, org_name, source_org_name, site_name)
def start(mist_session): org_id = cli.select_org(mist_session)[0] org_name = mist_lib.orgs.info.get(mist_session, org_id)["result"]["name"] site_id = cli.select_site(mist_session, org_id=org_id, allow_many=True) start_site_backup(mist_session, org_id, org_name, site_id)
def _select_org(mist_session=None, host=None): mist_session = mist_lib.Mist_Session(host=host) org_id = cli.select_org(mist_session)[0] org_name = mist_lib.orgs.info.get(mist_session, org_id)["result"]["name"] return (mist_session, org_id, org_name)
for site_id in site_ids: get_site_setting(mist, site_id) break def get_site_ids(mist, org_id): site_ids = [] sites = mist_lib.requests.orgs.sites.get(mist, org_id)["result"] for site in sites: site_ids.append(site["id"]) return site_ids ####### ENTRY POINT ####### mist = mist_lib.Mist_Session() org_id = cli.select_org(mist)[0] while True: resp = input( "Do you want to update the auto-upgrade settings on all the sites (y/N)?" ) if resp.lower() == 'n' or resp == "": site_id = cli.select_site(mist, org_id) confirm_action(mist, [site_id]) break elif resp.lower() == "y": site_ids = get_site_ids(mist, org_id) confirm_action(mist, site_ids) break
def start(mist_session, org_id=None): if org_id == "": org_id = cli.select_org(mist_session)[0] org_name = mist_lib.requests.orgs.info.get(mist_session, org_id)["result"]["name"] start_restore_org(mist_session, org_id, org_name, None)