def main(args): if len(args) < 3: print('Usage: pki_priv_key.py <device> <devuser> <devpass>') return try: host=args[0] username=args[1] password=args[2] dev = Device(host=host,username=username,password=password) dev.open() with PKI(dev) as pki: rsp = pki.get_priv_keys() print(rsp) #pki.cancel_priv_key_gen() pki.gen_priv_key(key_id="DEVKEY",key_size="2048") done = False while not done: status = pki.get_priv_key_gen_status() print(status) state = status['data']['pki']['private-keys']['generate-status']['state'] if state in ['inactive', 'complete', 'cancelled', 'failed']: done = True else: time.sleep(5) rsp = pki.get_priv_keys() print(rsp) pki.del_priv_key(key_id="DEVKEY") rsp = pki.get_priv_keys() print(rsp) except ConnectError as err: print ("Cannot connect to device: {0}".format(err)) return
def main(args): if len(args) < 4: print( 'Usage: delete_cell_firmware.py <device> <devuser> <devpass> <carrier>' ) return try: host = args[0] username = args[1] password = args[2] carrier = args[3] dev = Device(host=host, username=username, password=password) dev.open() with CellFirmware(dev) as fw: rsp = fw.get_versions(ifname='Cell') #print(json.dumps(rsp)) ver = get_carrier_version(rsp, carrier) print("CURRENT VERSION: {}".format(json.dumps(ver))) id = ver['id'] fw.delete(ifname='Cell', id=id) #fw.restart(ifname='Cell', id=id) except ConnectError as err: print("Cannot connect to device: {0}".format(err)) return
def main(host, user, passwd): try: dev = Device(host=host,username=user,password=passwd) dev.open() with Config(dev) as cm: out = cm.get(format='json') print(out) except ConnectError as err: print ("Cannot connect to device: {0}".format(err)) return
def main(host, user, passwd): try: dev = Device(host=host, username=user, password=passwd) dev.open() with Config(dev) as cm: rsp = cm.load(content=config) print(rsp) rsp = cm.validate() print(rsp) rsp = cm.commit() print(rsp) except ConnectError as err: print("Cannot connect to device: {0}".format(err)) return
def main(host, user, passwd): try: dev = Device(host=host, username=user, password=passwd) dev.open() with Config(dev) as cm: rsp = cm.load(template=ntp_template, template_vars={'ntp_server': '1.1.1.1'}) print(rsp) rsp = cm.validate() print(rsp) rsp = cm.commit() print(rsp) except ConnectError as err: print("Cannot connect to device: {0}".format(err)) return
def main(args): if len(args) < 7: print('Usage: upgrade_cell_firmware.py <device> <devuser> <devpass> <sftphost> <sftpuser> <sftppass> <sftpfilepath>') return try: host=args[0] username=args[1] password=args[2] sftp_host=args[3] sftp_username=args[4] sftp_password=args[5] sftp_filepath=args[6] dev = Device(host=host,username=username,password=password) dev.open() with CellFirmware(dev) as fw: rsp = fw.get_versions(ifname='Cell') #print(json.dumps(rsp)) carrier = 'VERIZON' print("CURRENT VERSION: {}".format(json.dumps(get_carrier_version(rsp, carrier)))) fw.cancel(ifname='Cell') url = 'sftp://{}{}'.format(sftp_host,sftp_filepath) fw.load(ifname='Cell', url=url, username=sftp_username, password=sftp_password) done = False while not done: try: rsp = fw.status(ifname='Cell') status = rsp['data']['interfaces-state']['interface']['firmware']['reprogram-status'] print("CURRENT STATUS: {}".format(json.dumps(status))) state = status['state'] if state in ['complete', 'cancelled', 'failed']: print("OPERATION STATE: {}".format(state)) rsp = fw.get_versions(ifname='Cell') print("CURRENT VERSION: {}".format(json.dumps(get_carrier_version(rsp, carrier)))) done = True else: time.sleep(5) except TimeoutExpiredError as err: print("request timedout") time.sleep(5) except ConnectError as err: print ("Cannot connect to device: {0}".format(err)) return
def main(args): if len(args) < 7: print( 'Usage: pki_fw.py <device> <devuser> <devpass> <sftphost> <sftpuser> <sftppass> <sftpfilepath>' ) return try: host = args[0] username = args[1] password = args[2] sftp_host = args[3] sftp_username = args[4] sftp_password = args[5] sftp_filepath = args[6] dev = Device(host=host, username=username, password=password) dev.open() with PKI(dev) as pki: rsp = pki.get_fw_certs() print(rsp) url = 'sftp://{}{}'.format(sftp_host, sftp_filepath) pki.import_fw_cert(cert_id="GEMDS-FW", url=url, username=sftp_username, password=sftp_password) done = False while not done: status = pki.get_fw_cert_import_status() print(status) state = status['data']['pki']['firmware-certs'][ 'import-status']['state'] if state in ['inactive', 'complete', 'cancelled', 'failed']: done = True else: time.sleep(5) rsp = pki.get_fw_certs() print(rsp) #pki.del_fw_cert(cert_id="GEMDS-FW") #rsp = pki.get_fw_certs() #print(rsp) except ConnectError as err: print("Cannot connect to device: {0}".format(err)) return
def main(args): if len(args) < 7: print( 'Usage: upgrade_firmware.py <device> <devuser> <devpass> <sftphost> <sftpuser> <sftppass> <sftpfilepath>' ) return try: host = args[0] username = args[1] password = args[2] sftp_host = args[3] sftp_username = args[4] sftp_password = args[5] sftp_filepath = args[6] dev = Device(host=host, username=username, password=password) dev.open() with Firmware(dev) as fw: rsp = fw.get_versions() print(rsp) fw.cancel() url = 'sftp://{}{}'.format(sftp_host, sftp_filepath) fw.load(url=url, username=sftp_username, password=sftp_password) done = False while not done: status = fw.status() print(status) state = status['data']['system']['firmware'][ 'reprogram-status']['state'] if state in ['complete', 'cancelled', 'failed']: done = True else: time.sleep(5) with System(dev) as sys: #sys.restart() #sys.restart(location=1) sys.restart(type='inactive') #sys.restart(version='6.7.8-M1') #sys.restart(version='6.1.2') except ConnectError as err: print("Cannot connect to device: {0}".format(err)) return
def main(host, user, passwd): try: dev = Device(host=host, username=user, password=passwd) dev.open() with Status(dev) as st: uptime = """/system/uptime/seconds""" # JSON out = st.get(filter=('xpath', uptime), format='json') print(out) # ODICT #out = st.get(filter=('xpath',uptime),format='odict') #print(out) # XML #out = st.get(filter=('xpath',uptime)) #print(out) except ConnectError as err: print("Cannot connect to device: {0}".format(err)) return
def main(host, user, passwd, ifname): try: dev = Device(host=host, username=user, password=passwd) dev.open() with Status(dev) as st: ipv4 = """/interfaces-state/interface[name='{}']/ipv4/address""".format( ifname) # JSON out = st.get(filter=('xpath', ipv4), format='json') print(out) # ODICT #out = st.get(filter=('xpath',uptime),format='odict') #print(out) # XML #out = st.get(filter=('xpath',uptime)) #print(out) except ConnectError as err: print("Cannot connect to device: {0}".format(err)) return
def main(args): if len(args) < 3: print('Usage: pki_scep.py <device> <devuser> <devpass>') return try: host = args[0] username = args[1] password = args[2] dev = Device(host=host, username=username, password=password) dev.open() with Config(dev) as cm: # Configure certificate server print("CONFIGURING CERT SERVER...") cfg = cert_server_config.format( "CERT-SERVER", "10.15.60.39/certsrv/mscep/mscep.dll", "md5", "des_cbc") rsp = cm.load(content=cfg) print(rsp) rsp = cm.validate() print(rsp) # Configure CA server print("CONFIGURING CA CERT SERVER...") cfg = ca_server_config.format("CA-SERVER", "5E2F7B923EDA99A7ADB814A0E3FFF657") rsp = cm.load(content=cfg) print(rsp) rsp = cm.validate() print(rsp) # Configure Certificate Info print("CONFIGURING CERT INFO...") cfg = cert_info_config.format("CERT-INFO", "US", "NY", "Rochester", "GEMDS", "ENGG", "DEVICE-1", "*****@*****.**") rsp = cm.load(content=cfg) print(rsp) rsp = cm.validate() print(rsp) # Commit configuration print("COMMITING CONFIG...") rsp = cm.commit() print(rsp) with PKI(dev) as pki: rsp = pki.get_priv_keys() print(rsp) # Generate private key print("GENERATING PRIVATE KEY...") #pki.cancel_priv_key_gen() pki.gen_priv_key(key_id="DEVKEY", key_size="2048") done = False while not done: status = pki.get_priv_key_gen_status() print(status) state = status['data']['pki']['private-keys'][ 'generate-status']['state'] if state in ['inactive', 'complete', 'cancelled', 'failed']: done = True else: time.sleep(5) rsp = pki.get_priv_keys() print(rsp) rsp = pki.get_ca_certs() print(rsp) print("IMPORT CA CERTS...") pki.import_ca_cert_scep(cert_id="CACERT", cert_server_id="CERT-SERVER", ca_server_id="CA-SERVER") done = False while not done: status = pki.get_ca_cert_import_status() print(status) state = status['data']['pki']['ca-certs']['import-status'][ 'state'] if state in ['inactive', 'complete', 'cancelled', 'failed']: done = True else: time.sleep(5) rsp = pki.get_ca_certs() print(rsp) #pki.del_ca_cert(cert_id="CACERT") #rsp = pki.get_ca_certs() #print(rsp) rsp = pki.get_client_certs() print(rsp) print("IMPORT CLIENT CERTS...") pki.import_client_cert_scep(cert_id="DEVCERT", cert_server_id="CERT-SERVER", ca_server_id="CA-SERVER", cert_info_id="CERT-INFO", cacert_id="CACERT", key_id="DEVKEY", otp="4B7AC2AFC101104F06C88A174C88CD52") done = False while not done: status = pki.get_client_cert_import_status() print(status) state = status['data']['pki']['client-certs']['import-status'][ 'state'] if state in ['inactive', 'complete', 'cancelled', 'failed']: done = True else: time.sleep(5) rsp = pki.get_client_certs() print(rsp) #pki.del_ca_cert(cert_id="CACERT") #rsp = pki.get_ca_certs() #print(rsp) except ConnectError as err: print("Cannot connect to device: {0}".format(err)) return