137 lines
5.8 KiB
Protocol Buffer
137 lines
5.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package v1beta2;
|
|
|
|
option go_package = "github.com/kubernetes-csi/csi-proxy/client/api/filesystem/v1beta2";
|
|
|
|
service Filesystem {
|
|
// PathExists checks if the requested path exists in the host filesystem.
|
|
rpc PathExists(PathExistsRequest) returns (PathExistsResponse) {}
|
|
|
|
// Mkdir creates a directory at the requested path in the host filesystem.
|
|
rpc Mkdir(MkdirRequest) returns (MkdirResponse) {}
|
|
|
|
// Rmdir removes the directory at the requested path in the host filesystem.
|
|
// This may be used for unlinking a symlink created through CreateSymlink.
|
|
rpc Rmdir(RmdirRequest) returns (RmdirResponse) {}
|
|
|
|
// CreateSymlink creates a symbolic link called target_path that points to source_path
|
|
// in the host filesystem (target_path is the name of the symbolic link created,
|
|
// source_path is the existing path).
|
|
rpc CreateSymlink(CreateSymlinkRequest) returns (CreateSymlinkResponse) {}
|
|
|
|
// IsSymlink checks if a given path is a symlink.
|
|
rpc IsSymlink(IsSymlinkRequest) returns (IsSymlinkResponse) {}
|
|
}
|
|
|
|
message PathExistsRequest {
|
|
// The path whose existence we want to check in the host's filesystem
|
|
string path = 1;
|
|
}
|
|
|
|
message PathExistsResponse {
|
|
// Indicates whether the path in PathExistsRequest exists in the host's filesystem
|
|
bool exists = 1;
|
|
}
|
|
|
|
message MkdirRequest {
|
|
// The path to create in the host's filesystem.
|
|
// All special characters allowed by Windows in path names will be allowed
|
|
// except for restrictions noted below. For details, please check:
|
|
// https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
|
|
// Non-existent parent directories in the path will be automatically created.
|
|
// Directories will be created with Read and Write privileges of the Windows
|
|
// User account under which csi-proxy is started (typically LocalSystem).
|
|
//
|
|
// Restrictions:
|
|
// Only absolute path (indicated by a drive letter prefix: e.g. "C:\") is accepted.
|
|
// Depending on the context parameter of this function, the path prefix needs
|
|
// to match the paths specified either as kubelet-csi-plugins-path
|
|
// or as kubelet-pod-path parameters of csi-proxy.
|
|
// The path parameter cannot already exist in the host's filesystem.
|
|
// UNC paths of the form "\\server\share\path\file" are not allowed.
|
|
// All directory separators need to be backslash character: "\".
|
|
// Characters: .. / : | ? * in the path are not allowed.
|
|
// Maximum path length will be capped to 260 characters.
|
|
string path = 1;
|
|
}
|
|
|
|
message MkdirResponse {
|
|
// Intentionally empty.
|
|
}
|
|
|
|
message RmdirRequest {
|
|
// The path to remove in the host's filesystem.
|
|
// All special characters allowed by Windows in path names will be allowed
|
|
// except for restrictions noted below. For details, please check:
|
|
// https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
|
|
//
|
|
// Restrictions:
|
|
// Only absolute path (indicated by a drive letter prefix: e.g. "C:\") is accepted.
|
|
// Depending on the context parameter of this function, the path prefix needs
|
|
// to match the paths specified either as kubelet-csi-plugins-path
|
|
// or as kubelet-pod-path parameters of csi-proxy.
|
|
// UNC paths of the form "\\server\share\path\file" are not allowed.
|
|
// All directory separators need to be backslash character: "\".
|
|
// Characters: .. / : | ? * in the path are not allowed.
|
|
// Path cannot be a file of type symlink.
|
|
// Maximum path length will be capped to 260 characters.
|
|
string path = 1;
|
|
|
|
// Force remove all contents under path (if any).
|
|
bool force = 2;
|
|
}
|
|
|
|
message RmdirResponse {
|
|
// Intentionally empty.
|
|
}
|
|
|
|
message CreateSymlinkRequest {
|
|
// The path of the existing directory to be linked.
|
|
// All special characters allowed by Windows in path names will be allowed
|
|
// except for restrictions noted below. For details, please check:
|
|
// https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
|
|
//
|
|
// Restrictions:
|
|
// Only absolute path (indicated by a drive letter prefix: e.g. "C:\") is accepted.
|
|
// The path prefix needs needs to match the paths specified as
|
|
// kubelet-csi-plugins-path parameter of csi-proxy.
|
|
// UNC paths of the form "\\server\share\path\file" are not allowed.
|
|
// All directory separators need to be backslash character: "\".
|
|
// Characters: .. / : | ? * in the path are not allowed.
|
|
// source_path cannot already exist in the host filesystem.
|
|
// Maximum path length will be capped to 260 characters.
|
|
string source_path = 1;
|
|
|
|
// Target path is the location of the new directory entry to be created in the host's filesystem.
|
|
// All special characters allowed by Windows in path names will be allowed
|
|
// except for restrictions noted below. For details, please check:
|
|
// https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
|
|
//
|
|
// Restrictions:
|
|
// Only absolute path (indicated by a drive letter prefix: e.g. "C:\") is accepted.
|
|
// The path prefix needs to match the paths specified as
|
|
// kubelet-pod-path parameter of csi-proxy.
|
|
// UNC paths of the form "\\server\share\path\file" are not allowed.
|
|
// All directory separators need to be backslash character: "\".
|
|
// Characters: .. / : | ? * in the path are not allowed.
|
|
// target_path needs to exist as a directory in the host that is empty.
|
|
// target_path cannot be a symbolic link.
|
|
// Maximum path length will be capped to 260 characters.
|
|
string target_path = 2;
|
|
}
|
|
|
|
message CreateSymlinkResponse {
|
|
// Intentionally empty.
|
|
}
|
|
|
|
message IsSymlinkRequest {
|
|
// The path whose existence as a symlink we want to check in the host's filesystem.
|
|
string path = 1;
|
|
}
|
|
|
|
message IsSymlinkResponse {
|
|
// Indicates whether the path in IsSymlinkRequest is a symlink.
|
|
bool is_symlink = 1;
|
|
}
|