def generate_report(mist_session, site_ids, time): app_usage = [] if type(site_ids) == str: site_ids = [site_ids] for site_id in site_ids: site_name = _get_site_name(mist_session, site_id) console.info("Processing site %s (id %s)" % (site_name, site_id)) app_usage += _generate_site_report(mist_session, site_name, site_id, time["start"], time["stop"], time["interval"]) cli.show(app_usage) _save_report(app_usage)
def list_psks(site_id): print("") print("________________________________________") print("List of current PSKs for site %s" % (site_id)) psks = mist_lib.requests.sites.psks.get(mist, site_id)['result'] cli.show(psks)
"name": 'myUser', "passphrase": 'myBadPassword', "ssid": 'mySSID', "usage": 'multi' } #### IMPORTS ##### import mlib as mist_lib from mlib import cli from tabulate import tabulate #### FUNCTIONS ##### #### SCRIPT ENTRYPOINT ##### mist = mist_lib.Mist_Session() site_id = cli.select_site(mist) psk = mist_lib.models.sites.psks.Psk() psk.define(psk) print(psk.toJSON()) mist_lib.requests.sites.psks.create(mist, site_id, psk.toJSON()) psks = mist_lib.requests.sites.psks.get(mist, site_id)['result'] cli.show(psks) exit(0) """ for psk in psks: mist_lib.requests.sites.psks.delete(mist, site_id, psk_id=psk['id']) print(mist_lib.requests.sites.psks.get(mist, site_id)['result']) """
def show(response): cli.show(response)
#### FUNCTIONS #### #### SCRIPT ENTRYPOINT #### for r_type in r_types: for entry in mist.privileges: if not "site_id" in entry and "org_id" in entry and entry[ "org_id"] != "": sites = mist_lib.requests.orgs.sites.get(mist, entry["org_id"])["result"] for site in sites: rogues = [] site_rogues = mist_lib.requests.sites.rogues.report( mist, site["id"], r_type, fields) for rogue in site_rogues: rogue.insert(0, entry["name"]) rogue.insert(1, entry["org_id"]) rogue.insert(2, site["name"]) rogue.insert(3, site["id"]) rogue.insert(4, r_type) rogues_summarized.append(rogue) fields.insert(0, "org_name") fields.insert(1, "org_id") fields.insert(2, "site_name") fields.insert(3, "site_id") fields.insert(4, "type") cli.show(rogues_summarized, fields) cli.save_to_csv(csv_file, rogues_summarized, fields, csv_separator)
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)
#### 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) wlans_from_orgs(mist, org_ids, site_ids) fields.insert(0, "origin") fields.insert(1, "org_name") fields.insert(2, "org_id") fields.insert(3, "site_name") fields.insert(4, "site_id") fields.insert(5, "country_code") cli.show(wlans_summarized, fields) print("saving to file...") with open(csv_file, "w") as f: for column in fields: f.write("%s," % column) f.write('\r\n') for row in wlans_summarized: for field in row: f.write(field) f.write(csv_separator) f.write('\r\n')
create all the administrators from the "file_path" file. ''' print("Opening CSV file %s" % file_path) try: with open(file_path, 'r') as my_file: invite_file = csv.reader(my_file, delimiter=csv_separator) for column in invite_file: email = column[0] first_name = column[1] last_name = column[2] print(', '.join(column)) mist_lib.requests.orgs.admins.create_invite( mist, org_id, email, privileges, first_name, last_name) except: print("Error while opening the CSV file... Aborting") #### SCRIPT ENTRYPOINT #### file_path = sys.argv[1] mist = mist_lib.Mist_Session("./session.py") org_id = cli.select_org(mist) if privileges == []: define_privileges(org_id) import_admins(file_path, org_id) admins = mist_lib.requests.orgs.admins.get(mist, org_id) cli.show(admins) exit(0)