diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-05-11 09:04:53 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-05-13 09:34:21 +0000 |
commit | 47553c43d71b7b1144f912ab9679f5b60e858fa2 (patch) | |
tree | 08378beaeeea8f9bb2686d3037c7b6f5062bb948 /docs/labs/lab03-configlet-management/get_applied_netelements.py | |
parent | Initial commit. (diff) | |
download | cvprac-47553c43d71b7b1144f912ab9679f5b60e858fa2.tar.xz cvprac-47553c43d71b7b1144f912ab9679f5b60e858fa2.zip |
Adding upstream version 1.3.1+dfsg.upstream/1.3.1+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'docs/labs/lab03-configlet-management/get_applied_netelements.py')
-rw-r--r-- | docs/labs/lab03-configlet-management/get_applied_netelements.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/labs/lab03-configlet-management/get_applied_netelements.py b/docs/labs/lab03-configlet-management/get_applied_netelements.py new file mode 100644 index 0000000..71e020e --- /dev/null +++ b/docs/labs/lab03-configlet-management/get_applied_netelements.py @@ -0,0 +1,36 @@ +# Copyright (c) 2023 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 +import argparse +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") + +parser = argparse.ArgumentParser( + description='Get the list of devices and containers a configlet is attached to') +parser.add_argument('-c', '--configlet', required=True, help='The name of the configlet') +args = parser.parse_args() + +configlet_name = args.configlet +devices = clnt.api.get_applied_devices(configlet_name) + +containers = clnt.api.get_applied_containers(configlet_name) +print(f"Total number of devices {configlet_name} is attached to: {devices['total']}\n") +print(f"Total number of containers {configlet_name} is attached to: {containers['total']}\n") +col1 = "Device FQDN/hostname" +col2 = "IP Address" +print(f"{col1:<40}{col2:<40}") +print("="*80) +for device in devices['data']: + print(f"{device['hostName']:<40}{device['ipAddress']}") + +print("\nList of containers:\n") +for container in containers['data']: + print(container['containerName']) |