def alarm_update(self, id, values): with _session_for_write() as session: query = model_query(models.Alarm, session=session) query = query.filter_by(id=id) count = query.update(values, synchronize_session='fetch') if count != 1: raise exceptions.AlarmNotFound(alarm=id) return query.one()
def alarm_destroy(self, id): with _session_for_write() as session: query = model_query(models.Alarm, session=session) query = query.filter_by(uuid=id) try: query.one() except NoResultFound: raise exceptions.AlarmNotFound(alarm=id) query.delete()
def alarm_destroy_by_ids(self, alarm_id, entity_instance_id): with _session_for_write() as session: query = model_query(models.Alarm, session=session) if alarm_id and entity_instance_id: query = query.filter_by(alarm_id=alarm_id) query = query.filter_by(entity_instance_id=entity_instance_id) try: query.one() except NoResultFound: raise exceptions.AlarmNotFound(alarm=alarm_id) query.delete()
def alarm_get(self, uuid): query = model_query(models.Alarm) if uuid: query = query.filter_by(uuid=uuid) query = add_alarm_filter_by_event_suppression(query, include_suppress=True) query = add_alarm_mgmt_affecting_by_event_suppression(query) query = add_alarm_degrade_affecting_by_event_suppression(query) try: result = query.one() except NoResultFound: raise exceptions.AlarmNotFound(alarm=uuid) return result