seaweedfs/weed/pb/filer.proto

220 lines
4.4 KiB
Protocol Buffer
Raw Normal View History

2018-05-08 16:59:43 +08:00
syntax = "proto3";
2018-05-10 14:18:02 +08:00
package filer_pb;
2018-05-08 16:59:43 +08:00
option java_package = "seaweedfs.client";
option java_outer_classname = "FilerProto";
2018-05-08 16:59:43 +08:00
//////////////////////////////////////////////////
service SeaweedFiler {
rpc LookupDirectoryEntry (LookupDirectoryEntryRequest) returns (LookupDirectoryEntryResponse) {
}
rpc ListEntries (ListEntriesRequest) returns (ListEntriesResponse) {
}
rpc CreateEntry (CreateEntryRequest) returns (CreateEntryResponse) {
}
rpc UpdateEntry (UpdateEntryRequest) returns (UpdateEntryResponse) {
}
2018-05-08 16:59:43 +08:00
rpc DeleteEntry (DeleteEntryRequest) returns (DeleteEntryResponse) {
}
rpc AtomicRenameEntry (AtomicRenameEntryRequest) returns (AtomicRenameEntryResponse) {
}
rpc AssignVolume (AssignVolumeRequest) returns (AssignVolumeResponse) {
}
rpc LookupVolume (LookupVolumeRequest) returns (LookupVolumeResponse) {
}
rpc DeleteCollection (DeleteCollectionRequest) returns (DeleteCollectionResponse) {
}
rpc Statistics (StatisticsRequest) returns (StatisticsResponse) {
}
rpc GetFilerConfiguration (GetFilerConfigurationRequest) returns (GetFilerConfigurationResponse) {
}
2018-05-08 16:59:43 +08:00
}
//////////////////////////////////////////////////
message LookupDirectoryEntryRequest {
string directory = 1;
string name = 2;
}
message LookupDirectoryEntryResponse {
Entry entry = 1;
}
message ListEntriesRequest {
string directory = 1;
2018-07-22 16:14:36 +08:00
string prefix = 2;
string startFromFileName = 3;
bool inclusiveStartFrom = 4;
uint32 limit = 5;
2018-05-08 16:59:43 +08:00
}
message ListEntriesResponse {
repeated Entry entries = 1;
}
message Entry {
string name = 1;
bool is_directory = 2;
repeated FileChunk chunks = 3;
2018-05-08 16:59:43 +08:00
FuseAttributes attributes = 4;
2018-09-08 04:12:52 +08:00
map<string, bytes> extended = 5;
2018-05-08 16:59:43 +08:00
}
message FullEntry {
string dir = 1;
Entry entry = 2;
}
2018-08-13 16:20:49 +08:00
message EventNotification {
2018-09-17 15:27:56 +08:00
Entry old_entry = 1;
Entry new_entry = 2;
bool delete_chunks = 3;
string new_parent_path = 4;
2018-08-13 16:20:49 +08:00
}
message FileChunk {
string file_id = 1; // to be deprecated
int64 offset = 2;
uint64 size = 3;
2018-05-16 15:54:44 +08:00
int64 mtime = 4;
2018-09-10 07:25:43 +08:00
string e_tag = 5;
string source_file_id = 6; // to be deprecated
FileId fid = 7;
FileId source_fid = 8;
}
message FileId {
uint32 volume_id = 1;
uint64 file_key = 2;
fixed32 cookie = 3;
}
2018-05-08 16:59:43 +08:00
message FuseAttributes {
uint64 file_size = 1;
int64 mtime = 2; // unix time in seconds
2018-05-08 16:59:43 +08:00
uint32 file_mode = 3;
uint32 uid = 4;
uint32 gid = 5;
int64 crtime = 6; // unix time in seconds
string mime = 7;
string replication = 8;
string collection = 9;
int32 ttl_sec = 10;
string user_name = 11; // for hdfs
repeated string group_name = 12; // for hdfs
2018-12-26 14:45:44 +08:00
string symlink_target = 13;
2018-05-08 16:59:43 +08:00
}
message CreateEntryRequest {
string directory = 1;
Entry entry = 2;
}
message CreateEntryResponse {
}
message UpdateEntryRequest {
string directory = 1;
Entry entry = 2;
}
message UpdateEntryResponse {
}
2018-05-08 16:59:43 +08:00
message DeleteEntryRequest {
string directory = 1;
string name = 2;
2018-12-11 23:17:10 +08:00
// bool is_directory = 3;
2018-06-07 13:11:01 +08:00
bool is_delete_data = 4;
bool is_recursive = 5;
2018-05-08 16:59:43 +08:00
}
message DeleteEntryResponse {
}
message AtomicRenameEntryRequest {
string old_directory = 1;
string old_name = 2;
string new_directory = 3;
string new_name = 4;
}
message AtomicRenameEntryResponse {
}
message AssignVolumeRequest {
int32 count = 1;
string collection = 2;
string replication = 3;
2018-06-12 14:13:33 +08:00
int32 ttl_sec = 4;
string data_center = 5;
}
message AssignVolumeResponse {
string file_id = 1;
string url = 2;
string public_url = 3;
int32 count = 4;
2019-02-15 16:09:19 +08:00
string auth = 5;
}
message LookupVolumeRequest {
repeated string volume_ids = 1;
}
message Locations {
repeated Location locations = 1;
}
message Location {
string url = 1;
string public_url = 2;
}
message LookupVolumeResponse {
map<string, Locations> locations_map = 1;
}
message DeleteCollectionRequest {
string collection = 1;
}
message DeleteCollectionResponse {
}
message StatisticsRequest {
string replication = 1;
string collection = 2;
string ttl = 3;
}
message StatisticsResponse {
string replication = 1;
string collection = 2;
string ttl = 3;
uint64 total_size = 4;
uint64 used_size = 5;
uint64 file_count = 6;
}
message GetFilerConfigurationRequest {
}
message GetFilerConfigurationResponse {
repeated string masters = 1;
string replication = 2;
string collection = 3;
uint32 max_mb = 4;
}