55 lines
2.1 KiB
Python
55 lines
2.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.
|
||
|
|
||
|
from openstack import resource
|
||
|
|
||
|
|
||
|
class ServerDiagnostics(resource.Resource):
|
||
|
resource_key = 'diagnostics'
|
||
|
base_path = '/servers/%(server_id)s/diagnostics'
|
||
|
|
||
|
# capabilities
|
||
|
allow_fetch = True
|
||
|
|
||
|
requires_id = False
|
||
|
|
||
|
_max_microversion = '2.48'
|
||
|
|
||
|
#: Indicates whether or not a config drive was used for this server.
|
||
|
has_config_drive = resource.Body('config_drive')
|
||
|
#: The current state of the VM.
|
||
|
state = resource.Body('state')
|
||
|
#: The driver on which the VM is running.
|
||
|
driver = resource.Body('driver')
|
||
|
#: The hypervisor on which the VM is running.
|
||
|
hypervisor = resource.Body('hypervisor')
|
||
|
#: The hypervisor OS.
|
||
|
hypervisor_os = resource.Body('hypervisor_os')
|
||
|
#: The amount of time in seconds that the VM has been running.
|
||
|
uptime = resource.Body('uptime')
|
||
|
#: The number of vCPUs.
|
||
|
num_cpus = resource.Body('num_cpus')
|
||
|
#: The number of disks.
|
||
|
num_disks = resource.Body('num_disks')
|
||
|
#: The number of vNICs.
|
||
|
num_nics = resource.Body('num_nics')
|
||
|
#: The dictionary with information about VM memory usage.
|
||
|
memory_details = resource.Body('memory_details')
|
||
|
#: The list of dictionaries with detailed information about VM CPUs.
|
||
|
cpu_details = resource.Body('cpu_details')
|
||
|
#: The list of dictionaries with detailed information about VM disks.
|
||
|
disk_details = resource.Body('disk_details')
|
||
|
#: The list of dictionaries with detailed information about VM NICs.
|
||
|
nic_details = resource.Body('nic_details')
|
||
|
#: The ID for the server.
|
||
|
server_id = resource.URI('server_id')
|