{"id":20074126,"url":"https://github.com/juniper/py-junos-netconify","last_synced_at":"2025-10-10T20:39:24.012Z","repository":{"id":13072791,"uuid":"15753518","full_name":"Juniper/py-junos-netconify","owner":"Juniper","description":"Junos console/bootstrap automation Python module","archived":false,"fork":false,"pushed_at":"2022-10-24T18:27:14.000Z","size":188,"stargazers_count":67,"open_issues_count":10,"forks_count":30,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-09-25T11:35:59.378Z","etag":null,"topics":["python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Juniper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-09T01:30:32.000Z","updated_at":"2024-02-18T15:14:22.000Z","dependencies_parsed_at":"2023-01-11T18:29:24.076Z","dependency_job_id":null,"html_url":"https://github.com/Juniper/py-junos-netconify","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Juniper/py-junos-netconify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fpy-junos-netconify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fpy-junos-netconify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fpy-junos-netconify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fpy-junos-netconify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Juniper","download_url":"https://codeload.github.com/Juniper/py-junos-netconify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fpy-junos-netconify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005272,"owners_count":26083863,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python"],"created_at":"2024-11-13T14:49:30.230Z","updated_at":"2025-10-10T20:39:23.982Z","avatar_url":"https://github.com/Juniper.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"The repo is under active development.  If you take a clone, you are getting the latest, and perhaps not entirely stable code.\n\n## ABOUT\n\nJunos console/bootstrap New-Out-Of-Box (NOOB) configuration automation. \n\nThere are times when you MUST console into a Junos device to perform the NOOB configuration.  Generally this configuration is the bare minimum in takes to:\n\n  * set the root password\n  * set the host-name\n  * set the management ipaddr\n  * enable ssh and optionally NETCONF\n\nThe general use-case:\n\nPrimarily this library is used as a Console driver for the Junos Ansible Modules.\n\nThe `netconify` utility can be used perform configuration by logging into the serial console and pushing a configuration file to the device.\n\n\n## USAGE\n\n````\n\nusage: netconify [-h] [--version] [-f JUNOS_CONF_FILE] [--merge] [--qfx-node]\n                 [--qfx-switch] [--zeroize] [--shutdown {poweroff,reboot}]\n                 [--facts] [--srx_cluster REQUEST_SRX_CLUSTER]\n                 [--srx_cluster_disable] [-S [SAVEDIR]] [--no-save] [-p PORT]\n                 [-b BAUD] [-t TELNET] [ -s SSH] [--timeout TIMEOUT] [-u USER]\n                 [-P PASSWD] [-k] [-a ATTEMPTS]\n                 [name]\n\npositional arguments:\n  name                  name of Junos device\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --version             show program's version number and exit\n  --verbose VERBOSE     increase verbose levevel: 0 = default, 1 = login\n                        debug, 2 = rpc reply debug\n\nDEVICE options:\n  -f JUNOS_CONF_FILE, --file JUNOS_CONF_FILE\n                        Junos configuration file\n  --merge               load-merge conf file, default is overwrite\n  --qfx-node            Set QFX device into \"node\" mode\n  --qfx-switch          Set QFX device into \"switch\" mode\n  --zeroize             ZEROIZE the device\n  --shutdown {poweroff,reboot}\n                        SHUTDOWN or REBOOT the device\n  --facts               Gather facts and save them into SAVEDIR\n  --srx_cluster REQUEST_SRX_CLUSTER\n                        cluster_id,node ... Invoke cluster on SRX device and\n                        reboot\n  --srx_cluster_disable\n                        Disable cluster mode on SRX device and reboot\n\nDIRECTORY options:\n  -S [SAVEDIR], --savedir [SAVEDIR]\n                        Files are saved into this directory, $CWD by default\n  --no-save             Do not save facts and inventory files\n\nCONSOLE options:\n  -p PORT, --port PORT  serial port device\n  -b BAUD, --baud BAUD  serial port baud rate\n  -s SSH, --ssh SSH     ssh server, \u003chost\u003e,\u003cport\u003e,\u003cuser\u003e,\u003cpassword\u003e\n  -t TELNET, --telnet TELNET\n                        terminal server, \u003chost\u003e,\u003cport\u003e\n  --timeout TIMEOUT     TTY connection timeout (s)\n\nLOGIN options:\n  -u USER, --user USER  login user name, defaults to \"root\"\n  -P PASSWD, --passwd PASSWD\n                        login user password, *empty* for NOOB\n  -k                    prompt for user password\n  -a ATTEMPTS, --attempts ATTEMPTS\n                        login attempts before giving up\n````\n\n## EXAMPLE\n\nJunos NOOB devices can netconified:\n\n###Telnet:\n````\n[rsherman@py-junos-netconify bin]$ ./netconify --telnet=host,23 -f host.conf\nTTY:login:connecting to TTY:host:23 ...\nTTY:login:logging in ...\nTTY:login:starting NETCONF\nconf:loading into device ...\nconf:commit ... please be patient\nconf:commit completed.\nTTY:logout:logging out ...\n````\nThe above example is connecting to the host via telnet on port 23 and loading the configuration file specified.\n###SSH:\n````\nr2600r@r2600r-mbp15 [~]netconify --facts --ssh=console-server,19876,c-user,pass123 -u user --passwd \"pass123\"\nTTY:login:connecting to TTY:console-server:19876:c-user:pass123 ...\nTTY:login:logging to device ...\nTTY:login: OK ... starting NETCONF\nfacts:retrieving device facts...\nfacts:saving: ./cfwj-lab1-0011a-facts.json\ninventory:saving: ./cfwj-lab1-0011a-inventory.xml\nTTY:logout:logging out ...\n````\nThe above example is connecting to the host via ssh on port 19876 and gather device facts. Additonal options such as serial connectivity and device specific functions are identified in Usage. If ssh username and password for console are omited, -u/--passwd will be used instead for both console server authetication and device authetication --ssh=console-server,19876,, -u user --passwd \"pass123\"\n\n\n## INSTALLATION\n\nInstallation requires Python 2.6 or 2.7 and associate `pip` tool\n\n    pip install junos-netconify\n\t\nInstalling from Git is also supported (OS must have git installed).\n\n\tTo install the latest MASTER code\n\tpip install git+https://github.com/Juniper/py-junos-netconify.git\n\t-or-\n\tTo install a specific version, branch, tag, etc.\n\tpip install git+https://github.com/Juniper/py-junos-netconify.git@\u003cbranch,tag,commit\u003e\n\t\n## UPGRADE\n\nUpgrading has the same requirements as installation and has the same format with the addition of -UPGRADE\n\n\tpip install -U junos-netconify\n\n## DEPENDENCIES\n\nThis has been tested with Python 2.6 and 2.7.  The required modules are defined in `setup.py`.\n\n## LICENSE\n\nApache 2.0\n  \n## CONTRIBUTORS\n\n  - Jeremy Schulman (@nwkautomaniac), Core developer\n  - Rick Sherman (@shermdog01)\n  - Patrik Bok (@r2660r)\n  - Ashley Burston\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuniper%2Fpy-junos-netconify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuniper%2Fpy-junos-netconify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuniper%2Fpy-junos-netconify/lists"}