# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1.proto for package 'Keyapis.TelemetryAlerting.V1'
# Original file comments:
#
# Сервис реализует функционал управления оповещениями о проблемах сбора показаний телеметрии (алертинга)

require 'grpc'
require 'keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1_pb'

module Keyapis
  module TelemetryAlerting
    module V1
      module TriggerService
        # Сервис алертинга
        class Service

          include ::GRPC::GenericService

          self.marshal_class_method = :encode
          self.unmarshal_class_method = :decode
          self.service_name = 'keyapis.telemetry_alerting.v1.TriggerService'

          # Метод сохранения триггера.
          # Поддерживает создание и обновление.
          # Метод доступен для: service, application(telemetry:edit)
          rpc :PostTrigger, ::Keyapis::TelemetryAlerting::V1::PostTriggerRequest, ::Keyapis::TelemetryAlerting::V1::PostTriggerResponse
          # Чтение одного триггера.
          # Метод доступен для: service, application(telemetry:read или telemetry:edit)
          rpc :GetTrigger, ::Keyapis::TelemetryAlerting::V1::GetTriggerRequest, ::Keyapis::TelemetryAlerting::V1::GetTriggerResponse
          # Метод получения списка триггеров.
          # Метод доступен для: service, application(telemetry:read или telemetry:edit)
          rpc :GetTriggerList, ::Keyapis::TelemetryAlerting::V1::GetTriggerListRequest, stream(::Keyapis::TelemetryAlerting::V1::GetTriggerListResponse)
          # Метод получения количества триггеров.
          # Метод доступен для: service, application(telemetry:read или telemetry:edit)
          rpc :GetTriggerCount, ::Keyapis::TelemetryAlerting::V1::GetTriggerCountRequest, ::Keyapis::TelemetryAlerting::V1::GetTriggerCountResponse
          # Удаление триггера.
          # Метод удаляет только отключенный триггер (is_disabled=true).
          # Удаление неотключенного вызовет ошибку.
          # При удалении триггера удаляются и все его алерты.
          # Метод доступен для: service, application(telemetry:edit)
          rpc :DeleteTrigger, ::Keyapis::TelemetryAlerting::V1::DeleteTriggerRequest, ::Keyapis::TelemetryAlerting::V1::DeleteTriggerResponse
          # Метод получения списка алертов.
          # Метод доступен для: service, application(telemetry:read или telemetry:edit)
          rpc :GetTriggerAlertList, ::Keyapis::TelemetryAlerting::V1::GetTriggerAlertListRequest, stream(::Keyapis::TelemetryAlerting::V1::GetTriggerAlertListResponse)
          # Метод получения количества алертов.
          # Метод доступен для: service, application(telemetry:read или telemetry:edit)
          rpc :GetTriggerAlertCount, ::Keyapis::TelemetryAlerting::V1::GetTriggerAlertCountRequest, ::Keyapis::TelemetryAlerting::V1::GetTriggerAlertCountResponse
          # Удаление алерта.
          # Метод удаляет только погашенный алерт (is_disabled=true).
          # Удаление непогашенного вызовет ошибку.
          # Метод доступен для: service, application(telemetry:edit)
          rpc :DeleteTriggerAlert, ::Keyapis::TelemetryAlerting::V1::DeleteTriggerAlertRequest, ::Keyapis::TelemetryAlerting::V1::DeleteTriggerAlertResponse
          # Принудительное выключение алерта.
          # Дата closed_at проставляется текущим временем.
          # Флаг is_disabled проставляется true.
          # Флаг is_manually_closed проставляется true.
          # Можно принудительно выключать только алерты созданные по триггерам с атрибутом manually_unclosable=false.
          # Метод доступен для: service, application(telemetry:edit)
          rpc :PostTriggerAlertDisable, ::Keyapis::TelemetryAlerting::V1::PostTriggerAlertDisableRequest, ::Keyapis::TelemetryAlerting::V1::PostTriggerAlertDisableResponse
          # Список устройств, вызвавших появление алерта.
          # Метод доступен для: service, application(telemetry:read или telemetry:edit)
          rpc :GetTriggerAlertDeviceList, ::Keyapis::TelemetryAlerting::V1::GetTriggerAlertDeviceListRequest, stream(::Keyapis::TelemetryAlerting::V1::GetTriggerAlertDeviceListResponse)
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
