import subprocess import json import os from dotenv import load_dotenv load_dotenv() API_URL = os.getenv("API_URL") API_KEY = os.getenv("API_KEY") def run_bgp_curl_command(): curl_command = [ "curl", "-k", "--location", "--request", "POST", f"{API_URL}/show", "--form", "data={\"op\": \"show\", \"path\": [\"bgp\", \"vrf\", \"bgp\", \"summ\"]}", "--form", f"key={API_KEY}" ] response = subprocess.check_output(curl_command, text=True) return json.loads(response) def run_arp_curl_command(): curl_command = [ "curl", "-k", "--location", "--request", "POST", f"{API_URL}/show", "--form", "data={\"op\": \"show\", \"path\": [\"arp\"]}", "--form", f"key={API_KEY}" ] response = subprocess.check_output(curl_command, text=True) return json.loads(response) def run_neighbors_curl_command(): curl_command = [ "curl", "-k", "--location", "--request", "POST", f"{API_URL}/show", "--form", "data={\"op\": \"show\", \"path\": [\"ipv6\", \"neighbors\"]}", "--form", f"key={API_KEY}" ] response = subprocess.check_output(curl_command, text=True) return json.loads(response) def run_interfaces_curl_command(): curl_command = [ "curl", "-k", "--location", "--request", "POST", f"{API_URL}/show", "--form", "data={\"op\": \"show\", \"path\": [\"interfaces\"]}", "--form", f"key={API_KEY}" ] response = subprocess.check_output(curl_command, text=True) return json.loads(response) def run_bgp_route_curl_command(ip_version, bgprouteprefix): data_json = { "op": "show", "path": ["bgp", "vrf", "bgp", ip_version, bgprouteprefix] } curl_command = [ "curl", "-k", "--location", "--request", "POST", f"{API_URL}/show", "--form", f"data={json.dumps(data_json)}", "--form", f"key={API_KEY}" ] response = subprocess.check_output(curl_command, text=True) return json.loads(response)