Newer
Older
//Example of topology
syntax = "proto3";
package service;
import "context.proto";
service ServiceService {
rpc GetServiceList (context.Empty) returns (ServiceList) {}
rpc CreateService (Service) returns (ServiceId) {}
rpc UpdateService (Service) returns (ServiceId) {}
rpc DeleteService (ServiceId) returns (context.Empty) {}
rpc GetConnectionList (context.Empty) returns (ConnectionList) {}
}
message ServiceList {
repeated Service cs = 1;
}
message Service {
ServiceId cs_id = 1;
ServiceType serviceType = 2;
repeated context.EndPointId endpointList = 3;
repeated context.Constraint constraint = 4;
ServiceState serviceState = 5;
ServiceConfig serviceConfig = 6;
}
enum ServiceType {
UNKNOWN = 0;
L3NM = 1;
L2NM = 2;
TAPI_CONNECTIVITY_SERVICE = 3;
}
message ServiceConfig {
string serviceConfig = 1;
}
message ServiceId {
context.ContextId contextId = 1;
context.Uuid cs_id = 2;
}
message ServiceIdList {
repeated ServiceId serviceIdList = 1;
}
message ServiceState {
ServiceStateEnum serviceState = 1;
}
enum ServiceStateEnum {
PLANNED = 0;
ACTIVE = 1;
PENDING_REMOVAL = 2;
}
message ConnectionList {
repeated Connection connectionList = 1;
}
message Connection {
ConnectionId con_id = 1;
ServiceId relatedServiceId = 2;
repeated context.EndPointId path = 3;
}
message ConnectionId {
context.Uuid con_id = 1;
}