Skip to content

Commit cb9cb3d

Browse files
authored
Merge pull request #28 from dkorn/update_group_trigger
Add support for update group trigger definition in Hawkular alerts
2 parents 6ba9af1 + 6cf9ace commit cb9cb3d

3 files changed

Lines changed: 27 additions & 10 deletions

File tree

hawkular/alerts.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -155,15 +155,23 @@ def create_group_trigger(self, trigger):
155155
data = self._serialize_object(trigger)
156156
return Trigger(self._post(self._service_url(['triggers', 'groups']), data))
157157

158+
def update_group_trigger(self, group_id, trigger):
159+
"""
160+
:param group_id: group trigger id to be updated
161+
:param trigger: Trigger object, the group trigger to be updated
162+
"""
163+
data = self._serialize_object(trigger)
164+
self._put(self._service_url(['triggers', 'groups', group_id]), data, parse_json=False)
165+
158166
def delete_group_trigger(self, group_id, keep_non_orphans=False, keep_orphans=False):
159-
"""
160-
Delete a group trigger
161-
:param group_id: ID of the group trigger to delete
162-
:param keep_non_orphans: if True converts the non-orphan member triggers to standard triggers
163-
:param keep_orphans: if True converts the orphan member triggers to standard triggers
164-
"""
165-
params = {'keepNonOrphans': str(keep_non_orphans).lower(), 'keepOrphans': str(keep_orphans).lower()}
166-
self._delete(self._service_url(['triggers', 'groups', group_id], params=params))
167+
"""
168+
Delete a group trigger
169+
:param group_id: ID of the group trigger to delete
170+
:param keep_non_orphans: if True converts the non-orphan member triggers to standard triggers
171+
:param keep_orphans: if True converts the orphan member triggers to standard triggers
172+
"""
173+
params = {'keepNonOrphans': str(keep_non_orphans).lower(), 'keepOrphans': str(keep_orphans).lower()}
174+
self._delete(self._service_url(['triggers', 'groups', group_id], params=params))
167175

168176
def create_group_member(self, member):
169177
data = self._serialize_object(member)

hawkular/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,8 @@ def _http(self, url, method, data=None, decoder=None, parse_json=True):
210210
if res:
211211
res.close()
212212

213-
def _put(self, url, data):
214-
return self._http(url, 'PUT', data)
213+
def _put(self, url, data, parse_json=True):
214+
return self._http(url, 'PUT', data, parse_json=parse_json)
215215

216216
def _delete(self, url):
217217
return self._http(url, 'DELETE', parse_json=False)

tests/test_alerts.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,3 +182,12 @@ def test_create_groups(self):
182182
self.assertEqual(len(gcc), 1)
183183
t_m1c = self.client.create_group_member(m1)
184184
self.assertEqual(t_m1c.type, TriggerType.MEMBER)
185+
186+
# Update group trigger
187+
t.enabled = True
188+
t.severity = Severity.MEDIUM
189+
190+
self.client.update_group_trigger(t.id, t)
191+
gt = self.client.get_trigger(t.id)
192+
self.assertEqual(gt.enabled, True)
193+
self.assertEqual(gt.severity, Severity.MEDIUM)

0 commit comments

Comments
 (0)