From 3583968a3b904bfca6924106650229bdee3434c0 Mon Sep 17 00:00:00 2001 From: Marin Atanasov Nikolov Date: Fri, 26 Sep 2014 12:13:55 +0300 Subject: [PATCH] Implement a 'datacenter.alarm.get' vPoller method --- docs/methods.rst | 2 ++ src/vpoller/agent.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/docs/methods.rst b/docs/methods.rst index 00316e8..d929807 100644 --- a/docs/methods.rst +++ b/docs/methods.rst @@ -28,6 +28,8 @@ with description for each of them. +------------------------+--------------------------------------------------------------------------+ | datacenter.get | Get properties of a vim.Datacenter managed object | +------------------------+--------------------------------------------------------------------------+ +| datacenter.alarm.get | Get all alarms for a vim.Datacenter managed object | ++------------------------+--------------------------------------------------------------------------+ | cluster.discover | Discover all vim.ClusterComputeResource managed objects | +------------------------+--------------------------------------------------------------------------+ | cluster.get | Get properties of a vim.ClusterComputeResource managed object | diff --git a/src/vpoller/agent.py b/src/vpoller/agent.py index 8cf7cb3..4d00e3c 100644 --- a/src/vpoller/agent.py +++ b/src/vpoller/agent.py @@ -115,6 +115,10 @@ def __init__(self, user, pwd, host): 'method': self.datacenter_get, 'required': ['hostname', 'name', 'properties'], }, + 'datacenter.alarm.get': { + 'method': self.datacenter_alarm_get, + 'required': ['hostname', 'name'], + }, 'cluster.discover': { 'method': self.cluster_discover, 'required': ['hostname'], @@ -897,6 +901,30 @@ def datacenter_get(self, msg): obj_property_value=msg['name'] ) + def datacenter_alarm_get(self, msg): + """ + Get all alarms for a vim.Datacenter managed object + + Example client message would be: + + { + "method": "datacenter.alarm.get", + "hostname": "vc01.example.org", + "name": "MyDatacenter" + } + + Returns: + The discovered alarms in JSON format + + """ + result = self._object_alarm_get( + obj_type=pyVmomi.vim.Datacenter, + obj_property_name='name', + obj_property_value=msg['name'] + ) + + return result + def cluster_discover(self, msg): """ Discover all vim.ClusterComputeResource managed objects