...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#!/usr/bin/python3
# RestAPI example in Python
#
import requests
# Set this to your own host name/login/password)
r = requests.get('http://vm-mike-er3/api/v1/devices',auth=('admin','password'))
# set some counters
noapps=0
nodb = 0
gotone=0
max = r.headers['X-fetch-count']
data = r.json()
count = len(data)
i = 0
while (i < count):
row = data[i]
gotone=0
if ( 'host_name' in row ):
hostname = row['host_name']
else:
hostname = '(no hostname)'
url2 = row['self']
r2 = requests.get(url2,auth=('admin','password'))
device = r2.json()
if ('total_memory_mb' in device):
ram = device['total_memory_mb']
else:
ram = '(unknown ram)'
if ('cpu' in device):
cpu = device['cpu'][0]['cpu_model']
# remove commas from the cpu string so as to keep the CSV output valid
cpu = cpu.replace(',','')
else:
cpu = '(unknown cpu)'
status = hostname + ': ' + str(ram) + 'MB RAM, ' + str(cpu)
# Having got Hostname, Ram and CPU, lets look for databases?
if ('applications' in device):
url3 = device['applications']
r3 = requests.get(url3,auth=('admin','password'))
# the URL might not be valid. If no applications, server will return a 500 error
try:
apps = r3.json()
except:
noapps += 1
else:
numapps = len(apps)
j=0
while (j < numapps):
if ('product' in apps[j]):
if ('name' in apps[j]['product']):
if ('SQL' in apps[j]['product']['name']):
status = status + '\n ' + str(apps[j]['product']['name']) + ' '+ str(apps[j]['edition'])
gotone+=1
if ('Oracle' in apps[j]['product']['name']):
status = status + '\n ' + str(apps[j]['product']['name']) + ' '+ str(apps[j]['edition'])
gotone+=1
if ('DB2' in apps[j]['product']['name']):
status = status + '\n ' + str(apps[j]['product']['name']) + ' '+ str(apps[j]['edition'])
gotone+=1
if ('Informix' in apps[j]['product']['name']):
status = status + '\n ' + str(apps[j]['product']['name']) + ' '+ str(apps[j]['edition'])
gotone+=1
j+=1
if (gotone > 0):
print (status)
i+=1
if (max > count):
print( "There is another page of results in the REST-API if you want to get it" )
else:
print("That's all folks") |
...