This commit adds a new command, 'craton device-list', to support the
endpoint /v1/devices. Currently the endpoint only supports GET requests.
The command supports filtering by cloud, cell, region, parent and active
status. In addition, where a parent is specified, it is also possible to
request descendants.
The API response body is of the form:
{
"devices: {
"hosts": [
],
"network-devices": [
],
},
"links": [
],
}
This object differs, from the other response bodies that return
collections, in that devices is not an array but is instead an object
whose values are arrays. This difference has necessitated modifying the
list and pagination functionality to support nested data.
Change-Id: I7cdec9935a360dae3910802f210ab9341ef7a696
Closes-bug: 1668705