Browse Source

updated

master
Artur 4 years ago
parent
commit
36b9a4c043
1 changed files with 25 additions and 1 deletions
  1. +25
    -1
      update_vlans_on_switch.py

+ 25
- 1
update_vlans_on_switch.py View File

@ -3,8 +3,12 @@ import requests
import json
import urllib3
import ast
from ipaddress import IPv4Interface
import subprocess
import sys
urllib3.disable_warnings()
API_TOKEN = 'Token 5ea2e025d89ea31674598ceb137c435a2a75c6e4'
API_HOST = "https://demo.netbox.dev/"
API_APP = "api/dcim/interfaces/"
@ -16,13 +20,33 @@ headers = {
'accept': 'application/json'
}
device_id = (input('Input switch ID:\n'))
if len(sys.argv) > 1:
device_id = sys.argv[1]
else:
device_id = (input('Input switch ID:\n'))
DEVICE_IP = IPv4Interface((requests.get(API_HOST + 'api/dcim/devices/' + device_id, headers=headers,
verify=False).json()['primary_ip']['address']))
# get vlan info and write to file
cmd = ['./get_vlan.sh', str(DEVICE_IP.ip)]
run = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
out, err = run.communicate()
if run.returncode != 0:
raise SystemExit(err)
with open('vlanlist.json', 'w') as out_file:
out_file.write(out)
# get vlan info and write to file
vlan_database = {
100: 1,
300: 27,
200: 2
}
vlan_from_switch = []
with open('vlanlist.json') as f:


Loading…
Cancel
Save