From e8f6fdba780302ed14035f43a6634053b5d1bf02 Mon Sep 17 00:00:00 2001
From: Ricard Vilalta <ricard.vilalta@cttc.es>
Date: Mon, 8 Apr 2024 08:37:07 +0000
Subject: [PATCH] Upload New File

---
 kpi_manager.proto | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 kpi_manager.proto

diff --git a/kpi_manager.proto b/kpi_manager.proto
new file mode 100644
index 000000000..1ef447fb3
--- /dev/null
+++ b/kpi_manager.proto
@@ -0,0 +1,46 @@
+syntax = "proto3";
+package monitoring;
+
+import "context.proto";
+import "kpi_sample_types.proto";
+
+service KpiManagerService {
+  rpc GetKpiDescriptor   (KpiId              ) returns (KpiDescriptor    ) {}
+  rpc SetKpiDescriptor   (KpiDescriptor      ) returns (KpiId            ) {}
+  rpc DeleteKpiDescriptor(KpiId              ) returns (context.Empty    ) {}
+  rpc SelectKpiDescriptor(KpiDescriptorFilter) returns (KpiDescriptorList) {}
+}
+
+message KpiId {
+  context.Uuid kpi_id = 1;
+}
+
+message KpiDescriptor {
+  KpiId                          kpi_id          = 1;
+  string                         kpi_description = 2;
+  kpi_sample_types.KpiSampleType kpi_sample_type = 3;
+  context.DeviceId               device_id       = 4;
+  context.EndPointId             endpoint_id     = 5;
+  context.ServiceId              service_id      = 6;
+  context.SliceId                slice_id        = 7;
+  context.ConnectionId           connection_id   = 8;
+  context.LinkId                 link_id         = 9;
+}
+
+message KpiDescriptorFilter {
+  // KPI Descriptors that fulfill the filter are those that match ALL the following fields.
+  // An empty list means: any value is accepted.
+  // All fields empty means: list all KPI Descriptors
+  repeated KpiId                          kpi_id          = 1;
+  repeated kpi_sample_types.KpiSampleType kpi_sample_type = 2;
+  repeated context.DeviceId               device_id       = 3;
+  repeated context.EndPointId             endpoint_id     = 4;
+  repeated context.ServiceId              service_id      = 5;
+  repeated context.SliceId                slice_id        = 6;
+  repeated context.ConnectionId           connection_id   = 7;
+  repeated context.LinkId                 link_id         = 8;
+}
+
+message KpiDescriptorList {
+  repeated KpiDescriptor kpi_descriptor_list = 1;
+}
-- 
GitLab