Skip to content
Snippets Groups Projects

Resolve "Implement gNMI subscription management"

Merged Fabian Seidl requested to merge 382-implement-gnmi-subscription-management into master
1 file
+ 83
0
Compare changes
  • Side-by-side
  • Inline
syntax = "proto3";
package gosdn.subscriptionmanagement;
import "buf/validate/validate.proto";
import "google/api/annotations.proto";
import "google/protobuf/descriptor.proto";
option go_package = "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/submanagement";
service SubscriptionManagementService {
rpc GetAll(GetAllRequest) returns (GetAllResponse) {
option (google.api.http) = {get: "/submanagement/subscriptions"};
}
rpc Get(GetRequest) returns (GetResponse) {
option (google.api.http) = {get: "/submanagement/{subid}"};
}
rpc Delete(DeleteRequest) returns (DeleteResponse) {
option (google.api.http) = {delete: "/submanagement/{subid}"};
}
rpc Add(AddRequest) returns (AddResponse) {
option (google.api.http) = {
post: "/submanagement/{mneid}"
body: "*"
};
}
}
message Subscription{
string subid = 1;
string pid = 2;
string mneid = 3;
string mne_name = 4;
repeated string paths = 5;
SubscribeOptions subscribe_options = 6;
}
message SubscribeOptions {
string gnmi_mode = 1;
string gnmi_stream_mode = 2;
uint64 sample_interval = 3;
}
message GetAllRequest{
int64 timestamp = 1;
}
message GetAllResponse{
int64 timestamp = 1;
repeated Subscription subscriptions = 2;
}
message GetRequest {
int64 timestamp = 1;
string subid = 2 [(buf.validate.field).required = true];
}
message GetResponse {
int64 timestamp = 1;
Subscription subscriptions = 2;
}
message DeleteRequest{
int64 timestamp = 1;
string subid = 2 [(buf.validate.field).required = true];
}
message DeleteResponse{
int64 timestamp = 1;
}
message AddRequest{
int64 timestamp = 1;
string mneid = 2 [(buf.validate.field).required = true];
Subscription subscription = 3 [(buf.validate.field).required = true];
}
message AddResponse{
int64 timestamp = 1;
}
Loading