Get desktop application:
View/edit binary Protocol Buffers messages
The LocalFile service definition.
Read reads a file from the disk and returns it contents.
ReadActionRequest indicates the type of read we're performing. Either a file read which then terminates or a tail based read that continues forever (i.e. as tail -f on the command line would do).
ReadResponse contains the contents of the file
Stat returns metadata about a filesystem path.
StatRequest specifies the filename for which to retrieve metadata.
absolute path to the target file
If true, use stat instead of lstat so that symlinks are followed
Sum calculates a sum over the data in a single file.
SumRequest specifies a type and filename for a sum operation.
Absoloute path to the target file.
The requested sum type. If not set, or SUM_TYPE_UNKNOWN, an implementation-default value will be chosen automatically, and indicated in the reply.
SumReply contains the sum output for the given filename.
Filename, as provided in SumRequest
The type of sum used to calculate `sum`
The sum value, as a hex-encoded string
Write writes a file from the incoming RPC to a local file.
WriteRequest streams the data for the filename to be written. The first request must contain a description and all future requests must contain contents. Each write request will append contents into the file until the stream is closed. Then the file is moved to it's final location.
Copy retrieves a file from the given blob URL and writes it to a local file.
CopyRequest contains the URL and filename destination to copy the file from.
The source bucket to copy from. See implementations for details on schemes but will at a minimum support file://<path> for local copies.
The key to reference inside of the bucket.
Any additional data the URL destination may need in order to succeed (such as an auth token for a blob service).
List returns StatReply entries for the entities contained at a given path.
ListRequest will do an expansion on the entry given to list all things located there. If entry is a file only that data will be returned.
The entry to list.
ListReply will begin with the entry followed by N entries (if a directory) until that level of the tree is exhausted.
SetFileAttributes takes a given filename and sets the given attributes.
SetFileAttributesRequest processes attrs and attempts to set the path given to those attributes. As this is N steps (owner, group, permissions, etc) it is not transactional and can leave an entity in a partial state if errors occur.
Rm removes the given file.
The fully qualified path to the file to remove.
Rmdir removes the given directory (must be empty).
The fully qualified path to the directory to remove. Must be empty of any entries.
Rename renames (moves) the given file to a new name. If the destination is not a directory it will be replaced if it already exists. OS restrictions may apply if the old and new names are outside of the same directory.
Readlink prints the value of a symbolic link
The fully qualified path to the file to readlink.
The resolved link.
Symlink creates a symbolic link
Mkdir create a new directory.
MkdirRequest describes the directory
Get data from a file of specified type by provided key
DataGetRequest is request to read data from a specific file in specific format
DataGetReply contains the value of read from file
Set data value to a file of specified type by provided key
DataSetRequest is request to set property in a specific file in specific format
Perform Shred on a single file
ShredRequest is a request to perform Shred operation on a specific file
absolute path to the file to be shredded
force permissions change if necessary
add final zero-ing pass to mask presence of shredding
remove file after shredding
DataSetValueType enum what represents how represent value in a file
Used in:
FileAttributes describes a file/directory and an attributed of it. It's used together with repeated fields and a path to describe an entire entity.
Used in:
Use in place of uid and server will lookup.
Use in place of gid and server will lookup.
Only the lower 12 bits are used per unix conventions.
FileAttributes describes everything about a given file/directory.
Used in:
, ,A given attributes (uid, gid, etc) can only be set once.
FileFormat enum what represents file formats
Used in:
,FileWrite describes everything about a file to be written.
Used in:
,For a newly written file uid/gid/mode are required attributes while immutable is optional.
If true allow to truncate and overwrite an existing file. Otherwise the file must not exist. This is still subject to races as all incoming data is written to a tempfile before moved to the final destination so multiple system calls will take place.
ReadRequest describes the filename to be read
Used in:
If non-zero skip N bytes into the file before returning data. Negative implies based from end of file.
If positive and non-zero return only this many total bytes.
StatReply contains stat information for a single file.
Used as response type in: LocalFile.Stat
Used as field type in:
The file path, as provided in StatRequest
size of the file, in bytes
NB: the file mode here is represented using Go's fs.FileMode scheme which combines permissions with additional data such as the type (directory, symlink, etc)
File modification time
UID of owner
GID of owner
Whether the immutable flag is set. This only applies to systems which support immutable file bits. For systems which support multiple types (OS/X) this refers only to system level immutability and not user. i.e. even root is unable to modify these files.
SumType specifies a hashing function to use when calculating file sums.
Used in:
,TailRequest describes the filename to be tailed.
Used in:
If non-zero skip N bytes into the file before returning data. Negative implies based from end of file.