Documentation: https://scrapli.github.io/scrapli_cfg
Source Code: https://github.com/scrapli/scrapli_cfg
Examples: https://github.com/scrapli/scrapli_cfg/tree/master/examples
scrapli_cfg makes merging or replacing device configurations over Telnet or SSH easy, all while giving you the scrapli behaviour you know and love.
- Easy: It's easy to get going with scrapli and scrapli-cfg -- check out the documentation and example links above, and you'll be managing device configurations in no time.
- Fast: Do you like to go fast? Of course you do! All of scrapli is built with speed in mind, but if you really
feel the need for speed, check out the
ssh2
transport plugin to take it to the next level! All the "normal" scrapli transport plugin goodness exists here in scrapli-cfg too! - Great Developer Experience: scrapli_cfg has great editor support thanks to being fully typed; that plus thorough docs make developing with scrapli a breeze.
MacOS or *nix1, Python 3.7+
scrapli_cfg's only requirements is scrapli
.
1 Although many parts of scrapli do run on Windows, Windows is not officially supported
pip install scrapli-cfg
See the docs for other installation methods/details.
from scrapli import Scrapli
from scrapli_cfg import ScrapliCfg
device = {
"host": "172.18.0.11",
"auth_username": "scrapli",
"auth_password": "scrapli",
"auth_strict_key": False,
"platform": "cisco_iosxe"
}
with open("myconfig", "r") as f:
my_config = f.read()
with Scrapli(**device) as conn:
cfg_conn = ScrapliCfg(conn=conn)
cfg_conn.prepare()
cfg_conn.load_config(config=my_config, replace=True)
diff = cfg_conn.diff_config()
print(diff.side_by_side_diff)
cfg_conn.commit_config()
cfg_conn.cleanup()