Unicon: The Connection Library¶
Unicon is a package aiming to provide a unified connection experience to network devices through typical command-line management interface. By wrapping the underlying session (eg, telnet, ssh), Unicon provides:
direct and proxied connections through any common CLI interface (telnet, ssh, serial etc)
power of expect-like programming without having to deal with low-level logic
multi-vendor support through an agnostic API interface
seamless handling of CLI modes (eg, enable, configure, admin-configure mode)
rejected commands, command error detections
value-add stateful services (specific to the platform)
and is extensible: platform supports and services are implemented via open-source plugins.
Unicon is the standard, go-to CLI connection implementation for Cisco pyATS framework.
This package was initially developed internally in Cisco, and is now released to the general public starting late 2017 through Cisco DevNet.
- Introduction
- Supported Platforms
- Connection Basics
- Password Handling
- Credentials
- Enable password handling
- How enable password is chosen
- Password sequences in service calls
- Authentication Failure
- Fallback Credentials
- Environment variables
- Passwords on HA enabled devices
- Linux password logic
- ASA password logic
- iosxr/Spitfire password logic
- fxos/ftd password logic
- nxos password logic
- SSH passphrase
- SSH Options
- Connection Through Proxies
- API/Services
- Dialog Patterns
- .
- aireos
- aireos/ap
- apic
- asa
- asa/ASAv
- asa/fp2k
- cheetah/ap
- cimc
- comware
- confd
- confd/csp
- confd/esc
- confd/nfvis
- dnos10
- dnos6
- eos
- fxos
- fxos/fp4k
- fxos/fp9k
- fxos/ftd
- gaia
- generic
- hvrp
- ios
- ios/ap
- ios/iol
- ios/iosv
- ios/pagent
- iosxe
- iosxe/cat3k
- iosxe/cat3k
- iosxe/cat4k
- iosxe/cat8k
- iosxe/cat9k
- iosxe/cat9k
- iosxe/cat9k
- iosxe/cat9k
- iosxe/csr1000v
- iosxe/csr1000v
- iosxe/iec3400
- iosxe/quad
- iosxe/sdwan
- iosxe/stack
- iosxr
- iosxr/asr9k
- iosxr/iosxrv
- iosxr/iosxrv9k
- iosxr/moonshine
- iosxr/ncs5k
- iosxr/spitfire
- ironware
- ise
- junos
- junos/vsrx
- linux
- nd
- nso
- nxos
- nxos/aci
- nxos/mds
- nxos/n5k
- nxos/n7k
- nxos/n9k
- nxos/nxosv
- ons
- sdwan
- sdwan/iosxe
- sdwan/viptela
- slxos
- sonic
- sros
- staros
- vos
- windows
- RobotFramework Support
- Playback
- Plugin Implementation
- How to write a new Service
- Expect Abstraction Library
- Introduction
- Challenges
- Why Not Pexpect
- Under The Hood
- Spawn
- Example Shell Script
- Spawning Our First Command
- Using Send Command
- Expect The Expected
- EOF Exception
- Need For Dialogs
- Statements
- Dependency Injection in Statements
- Dialogs Revisited
- Dialog Shorthand Notation
- Putting It All Together
- Using Session
- Prompt Recovery Feature
- State Machine
- Develop & Run Unittests
- Unicon API Reference
- Changelog
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- November 2023
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- April 2023
- March 2023
- February 2023
- January 2023
- November 2022
- october 2022
- September 2022
- August 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- Fix
- New
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- April 2021
- March 2021
- February 2021
- January 2021
- December 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- February 2020
- January 2020
- December 2019
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- May 2019
- April 2019
- March 2019
- January 2019
- November 2018
- October 2018
- Sept 2018
- July 2018
- June 2018
- May 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- November 2017
- October 2017
- September 2017
- August 2017
- July 2017
- June 2017
- May 2017
- Feb 2017
- Jan 2017
- December 2016
- November 2016
- October 2016
- September 2016
- May 2016
- February 2016
- Plugins Changelog
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- November 2023
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- April 2023
- March 2023
- February 2023
- January 2023
- November 2022
- October 2022
- September 2022
- August 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- Fix
- New
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- April 2021
- March 2021
- February 2021
- January 2021
- December 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- February 2020
- January 2020
- December 2019
- November 2019
Section author: ATS Team