syntax = "proto3"; import "google/protobuf/empty.proto"; // This is just enough protobuf to be able to talk with the Server's // API Query() endpoint. package proto; message VQLRequest { string Name = 2; string VQL = 1; } message VQLEnv { string key = 1; string value = 2; } message VQLCollectorArgs { repeated VQLEnv env = 3; repeated VQLRequest Query = 2; uint64 max_row = 4; uint64 max_wait = 6; float ops_per_second = 24; string org_id = 35; } message VQLTypeMap { string column = 1; string type = 2; } message VQLResponse { string Response = 1; repeated string Columns = 2; repeated VQLTypeMap types = 8; uint64 query_id = 5; uint64 part = 6; VQLRequest Query = 3; uint64 timestamp = 4; uint64 total_rows = 7; string log = 9; } message VFSFileBuffer { string client_id = 1; uint64 offset = 3; uint32 length = 4; bytes data = 5; repeated string components = 6; } service API { rpc Query(VQLCollectorArgs) returns (stream VQLResponse) {} rpc VFSGetBuffer(VFSFileBuffer) returns (VFSFileBuffer) {} rpc WriteEvent(VQLResponse) returns (google.protobuf.Empty) {} }