if __name__ == "__main__": """Execute main program.""" parser = argparse.ArgumentParser() parser.add_argument('-v', "--verbose", help="print debugging messages", action="store_true") # parser.add_argument('-n', required=True, help='specify node(s) ; Mandatory', nargs='*') args = parser.parse_args() # log debug messages if verbose argument specified if args.verbose: logger = logging.getLogger("ydk") logger.setLevel(logging.DEBUG) handler = logging.StreamHandler() formatter = logging.Formatter(("%(asctime)s - %(name)s - " "%(levelname)s - %(message)s")) handler.setFormatter(formatter) logger.addHandler(handler) connection = NetconfServiceProvider(address="10.92.77.167", port=830, username="******", password='******') crud = CRUDService() nativeobject = Cisco_IOS_XE_native.Native() nativedata = crud.read(connection, nativeobject) provider = CodecServiceProvider(type="xml") codec = CodecService() xmls = codec.encode(provider, nativedata) print (xmls) connection.close()
args = parser.parse_args() device = urlparse(args.device) # log debug messages if verbose argument specified if args.verbose: logger = logging.getLogger("ydk") logger.setLevel(logging.INFO) handler = logging.StreamHandler() formatter = logging.Formatter(("%(asctime)s - %(name)s - " "%(levelname)s - %(message)s")) handler.setFormatter(formatter) logger.addHandler(handler) # create NETCONF provider provider = NetconfServiceProvider(address=device.hostname, port=device.port, username=device.username, password=device.password, protocol=device.scheme) # create CRUD service crud = CRUDService() native = xe_native.Native() # create object config_native(native) # add object configuration # create configuration on NETCONF device # crud.create(provider, native) exit() # End of script
"dest_ip": args.pe1_ip }] for cisco_device in cisco_devices: pe_ip_address = cisco_device["ip_address"] intf_name = cisco_device["intf_name"] remote_ip_address = cisco_device["dest_ip"] crud = CRUDService() if cisco_device["platform"] == "IOSXE": provider = NetconfServiceProvider(address=pe_ip_address, port=830, username=args.username, password=args.password, protocol="ssh") l2vpn_obj = xe_native.Native() configure_l2vpn_xe(l2vpn_obj, remote_ip_address, intf_name, args.pw_id, args.pw_name) elif cisco_device["platform"] == "IOSXR": provider = NetconfServiceProvider(address=pe_ip_address, port=22, username=args.username, password=args.password, protocol="ssh") l2vpn_obj = l2vpn_xr_cfg.L2vpn() configure_l2vpn_xr(l2vpn_obj, remote_ip_address, intf_name, args.pw_id, args.pw_name) else: print("Invalid platform type entered!!") sys.exit() crud.create(provider, l2vpn_obj)