示例#1
0
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)
示例#2
0
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)
示例#3
0
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...")
示例#5
0
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)
示例#6
0
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)
示例#7
0
def get_org_id():
    org_id = cli.select_org(session)
    print("")
    print("Selected org id: %s" % org_id)
    return org_id
示例#8
0
            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)
示例#9
0
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)
示例#10
0
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)
示例#11
0
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)
示例#12
0
            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
示例#13
0
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)