// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package kpi_value_api; import "context.proto"; import "kpi_manager.proto"; service KpiValueAPIService { rpc StoreKpiValues (KpiValueList ) returns (context.Empty ) {} rpc SelectKpiValues (KpiValueFilter ) returns (KpiValueList ) {} rpc GetKpiAlarms (kpi_manager.KpiId) returns (stream KpiAlarms) {} } message KpiValue { kpi_manager.KpiId kpi_id = 1; context.Timestamp timestamp = 2; KpiValueType kpi_value_type = 3; } message KpiValueList { repeated KpiValue kpi_value_list = 1; } message KpiValueType { oneof value { int32 int32Val = 1; uint32 uint32Val = 2; int64 int64Val = 3; uint64 uint64Val = 4; float floatVal = 5; string stringVal = 6; bool boolVal = 7; } } message KpiValueFilter { repeated kpi_manager.KpiId kpi_id = 1; repeated context.Timestamp start_timestamp = 2; repeated context.Timestamp end_timestamp = 3; } message KpiAlarms { context.Timestamp start_timestamp = 1; context.Timestamp end_timestamp = 2; kpi_manager.KpiId kpi_id = 3; map<string, bool> alarms = 4; }