Add support for deleting alarms.
Change-Id: Ifbf682bc05ce47d04be1940238cd52d0e895588f
This commit is contained in:
@@ -28,13 +28,18 @@ class Alarm(base.Resource):
|
|||||||
class AlarmManager(base.Manager):
|
class AlarmManager(base.Manager):
|
||||||
resource_class = Alarm
|
resource_class = Alarm
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _path(id=None):
|
||||||
|
return '/v2/alarms/%s' % id if id else '/v2/alarms'
|
||||||
|
|
||||||
def list(self, q=None):
|
def list(self, q=None):
|
||||||
path = '/v2/alarms'
|
return self._list(options.build_url(self._path(), q))
|
||||||
return self._list(options.build_url(path, q))
|
|
||||||
|
|
||||||
def get(self, alarm_id):
|
def get(self, alarm_id):
|
||||||
path = '/v2/alarms/%s' % alarm_id
|
|
||||||
try:
|
try:
|
||||||
return self._list(path, expect_single=True)[0]
|
return self._list(self._path(alarm_id), expect_single=True)[0]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def delete(self, alarm_id):
|
||||||
|
return self._delete(self._path(alarm_id))
|
||||||
|
|||||||
@@ -117,6 +117,18 @@ def do_alarm_show(cc, args={}):
|
|||||||
utils.print_dict(data, wrap=72)
|
utils.print_dict(data, wrap=72)
|
||||||
|
|
||||||
|
|
||||||
|
@utils.arg('-a', '--alarm_id', metavar='<ALARM_ID>',
|
||||||
|
help='ID of the alarm to show.')
|
||||||
|
def do_alarm_delete(cc, args={}):
|
||||||
|
'''Delete an alarm'''
|
||||||
|
if args.alarm_id is None:
|
||||||
|
raise exc.CommandError('Alarm ID not provided (-a <alarm id>)')
|
||||||
|
try:
|
||||||
|
resource = cc.alarms.delete(args.alarm_id)
|
||||||
|
except exc.HTTPNotFound:
|
||||||
|
raise exc.CommandError('Alarm not found: %s' % args.alarm_id)
|
||||||
|
|
||||||
|
|
||||||
@utils.arg('-q', '--query', metavar='<QUERY>',
|
@utils.arg('-q', '--query', metavar='<QUERY>',
|
||||||
help='key[op]value; list.')
|
help='key[op]value; list.')
|
||||||
def do_resource_list(cc, args={}):
|
def do_resource_list(cc, args={}):
|
||||||
|
|||||||
@@ -64,7 +64,14 @@ fixtures = {
|
|||||||
{},
|
{},
|
||||||
[AN_ALARM],
|
[AN_ALARM],
|
||||||
),
|
),
|
||||||
}
|
},
|
||||||
|
'/v2/alarms/victim-id':
|
||||||
|
{
|
||||||
|
'DELETE': (
|
||||||
|
{},
|
||||||
|
None,
|
||||||
|
),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -108,3 +115,11 @@ class AlarmManagerTest(unittest.TestCase):
|
|||||||
self.assertEqual(self.api.calls, expect)
|
self.assertEqual(self.api.calls, expect)
|
||||||
self.assertTrue(alarm)
|
self.assertTrue(alarm)
|
||||||
self.assertEqual(alarm.alarm_id, 'alarm-id')
|
self.assertEqual(alarm.alarm_id, 'alarm-id')
|
||||||
|
|
||||||
|
def test_delete(self):
|
||||||
|
deleted = self.mgr.delete(alarm_id='victim-id')
|
||||||
|
expect = [
|
||||||
|
('DELETE', '/v2/alarms/victim-id', {}, None),
|
||||||
|
]
|
||||||
|
self.assertEqual(self.api.calls, expect)
|
||||||
|
self.assertTrue(deleted is None)
|
||||||
|
|||||||
Reference in New Issue
Block a user