influxdb/meta/internal/meta.proto

288 lines
6.4 KiB
Protocol Buffer
Raw Normal View History

package internal;
//========================================================================
//
// Metadata
//
//========================================================================
message Data {
required uint64 Term = 1;
required uint64 Index = 2;
required uint64 ClusterID = 3;
repeated NodeInfo Nodes = 4;
repeated DatabaseInfo Databases = 5;
repeated UserInfo Users = 6;
required uint64 MaxNodeID = 7;
required uint64 MaxShardGroupID = 8;
required uint64 MaxShardID = 9;
}
message NodeInfo {
required uint64 ID = 1;
required string Host = 2;
}
message DatabaseInfo {
required string Name = 1;
required string DefaultRetentionPolicy = 2;
repeated RetentionPolicyInfo RetentionPolicies = 3;
repeated ContinuousQueryInfo ContinuousQueries = 4;
}
message RetentionPolicyInfo {
required string Name = 1;
required int64 Duration = 2;
required int64 ShardGroupDuration = 3;
required uint32 ReplicaN = 4;
repeated ShardGroupInfo ShardGroups = 5;
}
message ShardGroupInfo {
required uint64 ID = 1;
required int64 StartTime = 2;
required int64 EndTime = 3;
required int64 DeletedAt = 4;
repeated ShardInfo Shards = 5;
}
message ShardInfo {
required uint64 ID = 1;
repeated uint64 OwnerIDs = 2;
}
message ContinuousQueryInfo {
required string Name = 1;
required string Query = 2;
}
message UserInfo {
required string Name = 1;
required string Hash = 2;
required bool Admin = 3;
repeated UserPrivilege Privileges = 4;
}
message UserPrivilege {
required string Database = 1;
required int32 Privilege = 2;
}
//========================================================================
//
// COMMANDS
//
//========================================================================
message Command {
extensions 100 to max;
enum Type {
2015-05-21 20:06:01 +00:00
CreateNodeCommand = 1;
DeleteNodeCommand = 2;
CreateDatabaseCommand = 3;
DropDatabaseCommand = 4;
CreateRetentionPolicyCommand = 5;
DropRetentionPolicyCommand = 6;
SetDefaultRetentionPolicyCommand = 7;
UpdateRetentionPolicyCommand = 8;
CreateShardGroupCommand = 9;
DeleteShardGroupCommand = 10;
CreateContinuousQueryCommand = 11;
DropContinuousQueryCommand = 12;
2015-05-21 20:06:01 +00:00
CreateUserCommand = 13;
DropUserCommand = 14;
UpdateUserCommand = 15;
SetPrivilegeCommand = 16;
SetDataCommand = 17;
SetAdminPrivilegeCommand = 18;
}
required Type type = 1;
}
message CreateNodeCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional CreateNodeCommand command = 101;
}
required string Host = 1;
required uint64 Rand = 2;
}
message DeleteNodeCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional DeleteNodeCommand command = 102;
}
2015-05-21 20:06:01 +00:00
required uint64 ID = 1;
}
message CreateDatabaseCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional CreateDatabaseCommand command = 103;
}
required string Name = 1;
}
message DropDatabaseCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional DropDatabaseCommand command = 104;
}
required string Name = 1;
}
message CreateRetentionPolicyCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional CreateRetentionPolicyCommand command = 105;
}
required string Database = 1;
required RetentionPolicyInfo RetentionPolicy = 2;
}
2015-05-21 20:06:01 +00:00
message DropRetentionPolicyCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional DropRetentionPolicyCommand command = 106;
}
required string Database = 1;
required string Name = 2;
}
message SetDefaultRetentionPolicyCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional SetDefaultRetentionPolicyCommand command = 107;
}
required string Database = 1;
required string Name = 2;
}
message UpdateRetentionPolicyCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional UpdateRetentionPolicyCommand command = 108;
}
required string Database = 1;
required string Name = 2;
optional string NewName = 3;
optional int64 Duration = 4;
optional uint32 ReplicaN = 5;
}
2015-05-21 20:06:01 +00:00
message CreateShardGroupCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional CreateShardGroupCommand command = 109;
}
required string Database = 1;
required string Policy = 2;
required int64 Timestamp = 3;
}
2015-05-21 20:06:01 +00:00
message DeleteShardGroupCommand {
extend Command {
optional DeleteShardGroupCommand command = 110;
}
required string Database = 1;
required string Policy = 2;
required uint64 ShardGroupID = 3;
}
message CreateContinuousQueryCommand {
extend Command {
optional CreateContinuousQueryCommand command = 111;
}
required string Database = 1;
required string Name = 2;
required string Query = 3;
2015-05-21 20:06:01 +00:00
}
message DropContinuousQueryCommand {
extend Command {
optional DropContinuousQueryCommand command = 112;
}
required string Database = 1;
required string Name = 2;
2015-05-21 20:06:01 +00:00
}
message CreateUserCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional CreateUserCommand command = 113;
}
2015-05-21 20:06:01 +00:00
required string Name = 1;
required string Hash = 2;
required bool Admin = 3;
}
2015-05-21 20:06:01 +00:00
message DropUserCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional DropUserCommand command = 114;
}
2015-05-21 20:06:01 +00:00
required string Name = 1;
}
message UpdateUserCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional UpdateUserCommand command = 115;
}
2015-05-21 20:06:01 +00:00
required string Name = 1;
required string Hash = 2;
}
message SetPrivilegeCommand {
extend Command {
2015-05-21 20:06:01 +00:00
optional SetPrivilegeCommand command = 116;
}
required string Username = 1;
2015-05-27 19:41:58 +00:00
required string Database = 2;
required int32 Privilege = 3;
}
message SetDataCommand {
extend Command {
optional SetDataCommand command = 117;
}
required Data Data = 1;
}
message SetAdminPrivilegeCommand {
extend Command {
optional SetAdminPrivilegeCommand command = 118;
}
required string Username = 1;
required bool Admin = 2;
}
message Response {
required bool OK = 1;
optional string Error = 2;
optional uint64 Index = 3;
}
//========================================================================
//
// RPC - higher-level cluster communication operations
//
//========================================================================
message RPCRequest {
extensions 100 to max;
enum Type {
QueryDataRequest = 1;
}
required Type type = 1;
}
message QueryDataRequest {
extend RPCRequest {
optional QueryDataRequest command = 101;
}
}
message RPCResponse {
required bool OK = 1;
optional string Error = 2;
optional bytes Data = 3;
}