
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
30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
# use this file except in compliance with the License. You may obtain a copy
|
|
# of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
"""Command-line interface to the OpenStack Craton API V1."""
|
|
from cratonclient.shell.v1 import cells_shell
|
|
from cratonclient.shell.v1 import clouds_shell
|
|
from cratonclient.shell.v1 import devices_shell
|
|
from cratonclient.shell.v1 import hosts_shell
|
|
from cratonclient.shell.v1 import projects_shell
|
|
from cratonclient.shell.v1 import regions_shell
|
|
|
|
|
|
COMMAND_MODULES = [
|
|
# TODO(cmspence): project_shell, cell_shell, device_shell, user_shell, etc.
|
|
projects_shell,
|
|
clouds_shell,
|
|
regions_shell,
|
|
devices_shell,
|
|
hosts_shell,
|
|
cells_shell,
|
|
]
|