def unshelve_alarm(self, alarm, comment=None):
        """
        Unshelve an alarm.

        :param alarm: Alarm instance
        :type alarm: :class:`.Alarm`
        :param str comment: Optional comment to associate with the state
                            change.
        """
        name = adapt_name_for_rest(alarm.name)
        url = "/processors/{}/{}/alarms{}/{}".format(
            self._instance, self._processor, name, alarm.sequence_number
        )
        req = alarms_service_pb2.EditAlarmRequest()
        req.state = "unshelved"
        self.ctx.patch_proto(url, data=req.SerializeToString())
Beispiel #2
0
    def acknowledge_alarm(self, alarm, comment=None):
        """
        Acknowledges a specific alarm.

        :param alarm: Alarm instance
        :type alarm: :class:`.Alarm`
        :param str comment: Optional comment to associate with the state
                            change.
        """
        name = adapt_name_for_rest(alarm.name)
        url = "/processors/{}/{}/alarms{}/{}".format(
            self._instance, self._processor, name, alarm.sequence_number
        )
        req = alarms_service_pb2.EditAlarmRequest()
        req.state = "acknowledged"
        if comment is not None:
            req.comment = comment
        self._client.patch_proto(url, data=req.SerializeToString())
    def clear_alarm(self, alarm, comment=None):
        """
        Clear an alarm.

        .. note::
            If the reason that caused the alarm is still present, a new
            alarm instance will be generated.

        :param alarm: Alarm instance
        :type alarm: :class:`.Alarm`
        :param str comment: Optional comment to associate with the state
                            change.
        """
        name = adapt_name_for_rest(alarm.name)
        url = "/processors/{}/{}/alarms{}/{}".format(
            self._instance, self._processor, name, alarm.sequence_number
        )
        req = alarms_service_pb2.EditAlarmRequest()
        req.state = "cleared"
        if comment is not None:
            req.comment = comment
        self.ctx.patch_proto(url, data=req.SerializeToString())