-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathfuseftp.proto
63 lines (45 loc) · 1.52 KB
/
fuseftp.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
syntax = "proto3";
package telepresenceio.fuseftp;
import "google/protobuf/empty.proto";
import "google/protobuf/duration.proto";
option go_package = "github.com/telepresenceio/go-fuseftp/rpc";
// The Connector service is responsible for connecting to the traffic manager
// and manage intercepts. It can only run when a Daemon is running.
service FuseFTP {
// Returns version information from the Connector
rpc Version(google.protobuf.Empty) returns (VersionInfo);
// Mounts a remote directory and returns an identifier for the mount
rpc Mount(MountRequest) returns (MountIdentifier);
// Unmounts the given identifier
rpc Unmount(MountIdentifier) returns (google.protobuf.Empty);
// SetFtpServer changes the FTP server for a given mount identifier
rpc SetFtpServer(SetFtpServerRequest) returns (google.protobuf.Empty);
}
message VersionInfo {
string semver = 1;
}
message AddressAndPort {
bytes ip = 1;
int32 port = 2;
}
message MountIdentifier {
int32 id = 1;
}
message SetFtpServerRequest {
MountIdentifier id = 1;
AddressAndPort ftp_server = 2;
}
message MountRequest {
// The mount point on the local computer. Must be a drive letter on windows
string mount_point = 1;
// If true, then mount everything read-only
bool read_only = 6;
// The ftp_server to connect to
AddressAndPort ftp_server = 2;
// Read timout
google.protobuf.Duration read_timeout = 3;
// The directory on the FTP server that gets mounted
string directory = 4;
// The logrus log level
string log_level = 5;
}