# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: keyapis/telemetry_control/v1/keyapis_telemetry_control_template_v1.proto for package 'Keyapis.TelemetryControl.V1'
# Original file comments:
#
# Сервис предоставляет возможность управлять шаблонами приборов телеметрии

require 'grpc'
require 'keyapis/telemetry_control/v1/keyapis_telemetry_control_template_v1_pb'

module Keyapis
  module TelemetryControl
    module V1
      module TemplateService
        # Сервис управления шаблонами приборов телеметрии.
        # Авторизация:
        #   - Authorization: Bearer token
        class Service

          include ::GRPC::GenericService

          self.marshal_class_method = :encode
          self.unmarshal_class_method = :decode
          self.service_name = 'keyapis.telemetry_control.v1.TemplateService'

          # Метод получения шаблона ПУ.
          # Метод доступен для: Token: service, application, admin, owner, employee, bti, seller. Без учета разрешений
          rpc :GetTemplateDevice, ::Keyapis::TelemetryControl::V1::GetTemplateDeviceRequest, ::Keyapis::TelemetryControl::V1::GetTemplateDeviceResponse
          # Метод получения списка шаблонов ПУ.
          # Метод доступен для: Token: service, application, admin, owner, employee, bti, seller. Без учета разрешений
          rpc :GetTemplateDeviceList, ::Keyapis::TelemetryControl::V1::GetTemplateDeviceListRequest, stream(::Keyapis::TelemetryControl::V1::GetTemplateDeviceListResponse)
          # Метод получения количества шаблонов ПУ.
          # Метод доступен для: Token: service, application, admin, owner, employee, bti, seller. Без учета разрешений
          rpc :GetTemplateDeviceCount, ::Keyapis::TelemetryControl::V1::GetTemplateDeviceCountRequest, ::Keyapis::TelemetryControl::V1::GetTemplateDeviceCountResponse
          # Метод сохранения шаблона ПУ.
          # Поддерживает создание и обновление.
          # Метод доступен для: Token: admin, service, application. Без учета разрешений
          rpc :PostTemplateDevice, ::Keyapis::TelemetryControl::V1::PostTemplateDeviceRequest, ::Keyapis::TelemetryControl::V1::PostTemplateDeviceResponse
          # Метод удаления шаблона ПУ.
          # Метод доступен для: Token: admin, service, application. Без учета разрешений
          rpc :DeleteTemplateDevice, ::Keyapis::TelemetryControl::V1::DeleteTemplateDeviceRequest, ::Keyapis::TelemetryControl::V1::DeleteTemplateDeviceResponse
          # Метод получения шаблона индикатора.
          # Метод доступен для: Token: service, application, admin, owner, employee, bti, seller. Без учета разрешений
          rpc :GetTemplateIndicator, ::Keyapis::TelemetryControl::V1::GetTemplateIndicatorRequest, ::Keyapis::TelemetryControl::V1::GetTemplateIndicatorResponse
          # Метод получения списка шаблонов индикаторов.
          # Метод доступен для: Token: service, application, admin, owner, employee, bti, seller. Без учета разрешений
          rpc :GetTemplateIndicatorList, ::Keyapis::TelemetryControl::V1::GetTemplateIndicatorListRequest, stream(::Keyapis::TelemetryControl::V1::GetTemplateIndicatorListResponse)
          # Метод получения количества шаблонов индикаторов.
          # Метод доступен для: Token: service, application, admin, owner, employee, bti, seller. Без учета разрешений
          rpc :GetTemplateIndicatorCount, ::Keyapis::TelemetryControl::V1::GetTemplateIndicatorCountRequest, ::Keyapis::TelemetryControl::V1::GetTemplateIndicatorCountResponse
          # Метод сохранения шаблонов индикатора.
          # Поддерживает создание и обновление.
          # Метод доступен для: Token: admin, service, application. Без учета разрешений
          rpc :PostTemplateIndicator, ::Keyapis::TelemetryControl::V1::PostTemplateIndicatorRequest, ::Keyapis::TelemetryControl::V1::PostTemplateIndicatorResponse
          # Метод удаления шаблона шаблона индикатора.
          # Метод доступен для: Token: admin, service, application. Без учета разрешений
          rpc :DeleteTemplateIndicator, ::Keyapis::TelemetryControl::V1::DeleteTemplateIndicatorRequest, ::Keyapis::TelemetryControl::V1::DeleteTemplateIndicatorResponse
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
