adding hardware info call to management client

This commit is contained in:
Paul Marshall
2012-08-15 10:58:59 -05:00
parent 2cfa902d88
commit 662214abf6
4 changed files with 31 additions and 5 deletions

View File

@@ -25,6 +25,7 @@ from reddwarfclient.root import Root
from reddwarfclient.storage import StorageInfo from reddwarfclient.storage import StorageInfo
from reddwarfclient.users import Users from reddwarfclient.users import Users
from reddwarfclient.versions import Versions from reddwarfclient.versions import Versions
from reddwarfclient.diagnostics import Interrogator from reddwarfclient.diagnostics import DiagnosticsInterrogator
from reddwarfclient.diagnostics import HwInfoInterrogator
from reddwarfclient.client import Dbaas from reddwarfclient.client import Dbaas
from reddwarfclient.client import ReddwarfHTTPClient from reddwarfclient.client import ReddwarfHTTPClient

View File

@@ -310,7 +310,8 @@ class Dbaas(object):
from reddwarfclient.storage import StorageInfo from reddwarfclient.storage import StorageInfo
from reddwarfclient.management import Management from reddwarfclient.management import Management
from reddwarfclient.accounts import Accounts from reddwarfclient.accounts import Accounts
from reddwarfclient.diagnostics import Interrogator from reddwarfclient.diagnostics import DiagnosticsInterrogator
from reddwarfclient.diagnostics import HwInfoInterrogator
self.client = client_cls(username, api_key, tenant, auth_url, self.client = client_cls(username, api_key, tenant, auth_url,
service_type=service_type, service_type=service_type,
@@ -329,7 +330,8 @@ class Dbaas(object):
self.storage = StorageInfo(self) self.storage = StorageInfo(self)
self.management = Management(self) self.management = Management(self)
self.accounts = Accounts(self) self.accounts = Accounts(self)
self.diagnostics = Interrogator(self) self.diagnostics = DiagnosticsInterrogator(self)
self.hwinfo = HwInfoInterrogator(self)
class Mgmt(object): class Mgmt(object):
def __init__(self, dbaas): def __init__(self, dbaas):

View File

@@ -25,7 +25,7 @@ class Diagnostics(base.Resource):
return "<Diagnostics: %s>" % self.version return "<Diagnostics: %s>" % self.version
class Interrogator(base.ManagerWithFind): class DiagnosticsInterrogator(base.ManagerWithFind):
""" """
Manager class for Interrogator resource Manager class for Interrogator resource
""" """
@@ -37,3 +37,22 @@ class Interrogator(base.ManagerWithFind):
""" """
return self._get("/mgmt/instances/%s/diagnostics" % base.getid(instance), return self._get("/mgmt/instances/%s/diagnostics" % base.getid(instance),
"diagnostics") "diagnostics")
class HwInfo(base.Resource):
def __repr__(self):
return "<HwInfo: %s>" % self.version
class HwInfoInterrogator(base.ManagerWithFind):
"""
Manager class for HwInfo
"""
resource_class = HwInfo
def get(self, instance):
"""
Get the hardware information of the instance.
"""
return self._get("/mgmt/instances/%s/hwinfo" % base.getid(instance))

View File

@@ -121,10 +121,14 @@ class InstanceCommands(common.AuthedCommandsBase):
deleted = False deleted = False
self._pretty_paged(self.dbaas.management.index, deleted=deleted) self._pretty_paged(self.dbaas.management.index, deleted=deleted)
def hwinfo(self):
"""Show hardware information details about an instance."""
self._require('id')
self._pretty_print(self.dbaas.hwinfo.get, self.id)
def diagnostic(self): def diagnostic(self):
"""List diagnostic details about an instance.""" """List diagnostic details about an instance."""
self._require('id') self._require('id')
dbaas = common.get_client()
self._pretty_print(self.dbaas.diagnostics.get, self.id) self._pretty_print(self.dbaas.diagnostics.get, self.id)
def stop(self): def stop(self):