Newer
Older
import "github.com/openconfig/gnmi/proto/gnmi/gnmi.proto";
import "gosdn/transport/transport.proto";
import "gosdn/southbound/southbound.proto";
option go_package = "code.fbi.h-da.de/cocsn/api/go/gosdn/pnd";
service pnd {
rpc Get(GetRequest) returns (GetResponse);
rpc Set(SetRequest) returns (SetResponse);
rpc Delete(DeleteRequest) returns (DeleteResponse);
}
message GetRequest {
int64 timestamp = 1; // Timestamp in nanoseconds since Epoch.
oneof request {
getPnd pnd = 2;
getOnd ond = 3;
getSbi sbi = 4;
getChange change = 5;
string pid = 6;
}
message getPnd {}
message getOnd {
bool all = 1;
repeated string did = 2;
}
message getSbi {
bool all = 1;
repeated string sid = 2;
}
message getChange {
bool all = 1;
repeated string cuid = 2;
message GetResponse {
int64 timestamp = 1; // Timestamp in nanoseconds since Epoch.
repeated OrchestratedNetworkingDevice ond = 3;
repeated .gosdn.southbound.SouthboundInterface sbi = 5;
repeated Change change = 7;
string id = 1;
string name = 2;
string description = 3;
repeated OrchestratedNetworkingDevice ond = 4;
repeated .gosdn.southbound.SouthboundInterface sbi = 5;
repeated Change change = 6;
.gosdn.southbound.SouthboundInterface sbi = 4;
int64 timestamp = 1; // Timestamp in nanoseconds since Epoch.
repeated setOnd ond = 2;
repeated setSbi sbi = 3;
repeated setChange change = 4;
repeated ChangeRequest changeRequest = 5;
.gosdn.southbound.SouthboundInterface sbi = 2;
string deviceName = 3;
.gosdn.transport.TransportOption transportOption = 4;
}
message setSbi {
}
message setChange {
enum Operation {
CREATE = 0;
COMMIT = 1;
CONFIRM = 2;
}
string cuid = 1;
Operation op = 2;
message SetResponse{
int64 timestamp = 1; // Timestamp in nanoseconds since Epoch.
enum status {
OK = 0;
ERROR = 1;
}
status Status = 2;
repeated SetResponse responses = 3;
}
message ChangeRequest {
string id = 1;
string path = 2;
string value = 3;
ApiOperation apiOp = 4;
}
enum ApiOperation {
UPDATE = 0;
REPLACE = 1;
DELETE = 2;
}
message DeleteRequest {
enum Type {
OND = 0;
SBI = 1;
PND = 2;
}
int64 timestamp = 1; // Timestamp in nanoseconds since Epoch.
Type type = 2;
string uuid = 3;