From 47553c43d71b7b1144f912ab9679f5b60e858fa2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 May 2023 11:04:53 +0200 Subject: Adding upstream version 1.3.1+dfsg. Signed-off-by: Daniel Baumann --- .../get_running_configs.py | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 docs/labs/lab02-inventory-operations/get_running_configs.py (limited to 'docs/labs/lab02-inventory-operations/get_running_configs.py') diff --git a/docs/labs/lab02-inventory-operations/get_running_configs.py b/docs/labs/lab02-inventory-operations/get_running_configs.py new file mode 100644 index 0000000..5478f2e --- /dev/null +++ b/docs/labs/lab02-inventory-operations/get_running_configs.py @@ -0,0 +1,31 @@ +# Copyright (c) 2021 Arista Networks, Inc. +# Use of this source code is governed by the Apache License 2.0 +# that can be found in the COPYING file. + +from cvprac.cvp_client import CvpClient +import ssl +ssl._create_default_https_context = ssl._create_unverified_context +import requests.packages.urllib3 +requests.packages.urllib3.disable_warnings() + +# Create connection to CloudVision +clnt = CvpClient() +clnt.connect(nodes=['cvp1'], username="username",password="password") + +# Get the full inventory +inventory = clnt.api.get_inventory() + +# Create a list of MAC addresses +device_macs = [] +for i in inventory: + device_macs.append(i['systemMacAddress']) + +# Create a dictionary with MAC to running-config mapping +running_configs = {} +for i in device_macs: + running_configs[i] = clnt.api.get_device_configuration(i) + +# Write the running-configs of each device using the hostname as the filename +for i in inventory: + with open(i['fqdn']+'.cfg', 'w') as f: + f.write(running_configs[i['systemMacAddress']]) \ No newline at end of file -- cgit v1.2.3