mirror of
https://github.com/singchia/frontier.git
synced 2025-09-26 20:31:25 +08:00
150 lines
3.3 KiB
Protocol Buffer
150 lines
3.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package controlplane;
|
|
|
|
option go_package = "github.com/singchia/frontier/api/controlplane/frontlas/v1;v1";
|
|
|
|
import "google/api/annotations.proto";
|
|
|
|
message Frontier {
|
|
string frontier_id = 1;
|
|
string advertised_sb_addr = 2;
|
|
string advertised_eb_addr = 3;
|
|
}
|
|
|
|
message Edge {
|
|
uint64 edge_id = 1;
|
|
string addr = 2;
|
|
uint64 update_time = 3;
|
|
string frontier_id = 4;
|
|
}
|
|
|
|
message Service {
|
|
string service = 1;
|
|
string addr = 2;
|
|
uint64 update_time = 3;
|
|
string frontier_id = 4;
|
|
}
|
|
|
|
// get frontier
|
|
message GetFrontierByEdgeIDRequest {
|
|
uint64 edge_id = 1;
|
|
}
|
|
|
|
message GetFrontierByEdgeIDResponse {
|
|
Frontier fontier = 1;
|
|
}
|
|
|
|
// list frontiers
|
|
message ListFrontiersRequest {
|
|
optional uint32 cursor = 1;
|
|
optional uint32 count = 2;
|
|
repeated uint64 edge_ids = 3;
|
|
repeated string frontier_ids = 4;
|
|
}
|
|
|
|
message ListFrontiersResponse {
|
|
optional uint32 cursor = 1;
|
|
repeated Frontier frontiers = 2;
|
|
}
|
|
|
|
// list edges
|
|
message ListEdgesRequest {
|
|
optional uint32 cursor = 1;
|
|
optional uint32 count = 2;
|
|
repeated uint64 edge_ids = 3;
|
|
}
|
|
|
|
message ListEdgesResponse {
|
|
optional uint32 cursor = 1;
|
|
repeated Edge edges = 2;
|
|
}
|
|
|
|
// get edge
|
|
message GetEdgeByIDRequest {
|
|
uint64 edge_id = 1;
|
|
}
|
|
|
|
message GetEdgeByIDResponse {
|
|
Edge edge = 1;
|
|
}
|
|
|
|
// get edges count
|
|
message GetEdgesCountRequest {}
|
|
|
|
message GetEdgesCountResponse {
|
|
uint64 count = 1;
|
|
}
|
|
|
|
// list services
|
|
message ListServicesRequest {
|
|
optional uint32 cursor = 1;
|
|
optional uint32 count = 2;
|
|
repeated uint64 service_ids = 3;
|
|
}
|
|
|
|
message ListServicesResponse {
|
|
optional uint32 cursor = 1;
|
|
repeated Service services = 2;
|
|
}
|
|
|
|
// get service
|
|
message GetServiceByIDRequest {
|
|
uint64 service_id = 1;
|
|
}
|
|
|
|
message GetServiceByIDResponse {
|
|
Service service = 1;
|
|
}
|
|
|
|
// get services count
|
|
message GetServicesCountRequest {}
|
|
|
|
message GetServicesCountResponse {
|
|
uint64 count = 1;
|
|
}
|
|
|
|
service ClusterService {
|
|
rpc GetFrontierByEdge(GetFrontierByEdgeIDRequest) returns (GetFrontierByEdgeIDResponse) {
|
|
option(google.api.http) = {
|
|
get: "/cluster/v1/frontier"
|
|
};
|
|
};
|
|
rpc ListFrontiers(ListFrontiersRequest) returns (ListFrontiersResponse) {
|
|
option(google.api.http) = {
|
|
get: "/cluster/v1/frontiers"
|
|
};
|
|
};
|
|
|
|
rpc ListEdges(ListEdgesRequest) returns (ListEdgesResponse) {
|
|
option(google.api.http) = {
|
|
get: "/cluster/v1/edges"
|
|
};
|
|
};
|
|
rpc GetEdgeByID(GetEdgeByIDRequest) returns (GetEdgeByIDResponse) {
|
|
option(google.api.http) = {
|
|
get: "/cluster/v1/edge"
|
|
};
|
|
};
|
|
rpc GetEdgesCount(GetEdgesCountRequest) returns (GetEdgesCountResponse) {
|
|
option(google.api.http) = {
|
|
get: "/cluster/v1/edges/count"
|
|
};
|
|
};
|
|
|
|
rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
|
|
option(google.api.http) = {
|
|
get: "/cluster/v1/services"
|
|
};
|
|
};
|
|
rpc GetServiceByID(GetServiceByIDRequest) returns (GetServiceByIDResponse) {
|
|
option(google.api.http) = {
|
|
get: "/cluster/v1/service"
|
|
};
|
|
};
|
|
rpc GetServicesCount(GetServicesCountRequest) returns (GetServicesCountResponse) {
|
|
option(google.api.http) = {
|
|
get: "/cluster/v1/services/count"
|
|
};
|
|
};
|
|
} |