In this worked example, we will produce the same CSV file output as in the first PowerShell worked example.
...
Code Block | ||||
---|---|---|---|---|
| ||||
import requests r = requests.get('http://vm-mike-2012b/api/v1/devices',auth=('admin','password')) max = r.headers['X-fetch-count'] data = r.json() count = len(data) |
By default the REST API "/api/v1/devices" page will return 200 devices at a time. We can increase or decrease this using the "fetch_size" parameter. The variable max contains the total number of devices. If this is more than 200 we would need to fetch a second batch - see other worked examples in this series for more details on that. In this example we will print at most 200. data holds the RestAPI data converted into a Python data structure, count is the number of devices returned.
...
Code Block | ||||
---|---|---|---|---|
| ||||
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']
else:
cpu = '(unknown cpu)'
# remove commas from the cpu string
cpu = cpu.replace(',','')
print (hostname,',',ram,',',cpu,sep='')
i+=1 |
...