API calls for all endpoints tagged FileSystem.
Summary
Functions
Create a folder Create a folder with the specified path and optional permissions
Delete a file or directory Delete a file or directory at the specified path
Download a file Download a file by providing its path
Download multiple files
Download multiple files by providing their paths. Successful files are returned as multipart parts named file. Per-file failures are returned as multipart parts named error with JSON payloads shaped like ErrorResponse.
Find text in files Search for text pattern within files in a directory
Get file information Get detailed information about a file or directory
List files and directories List files and directories in the specified path. Use the optional depth parameter to list recursively: depth=1 (default) lists the directory's entries, depth=2 also includes their children, and so on.
Move or rename file/directory Move or rename a file or directory from source to destination
Replace text in files Replace text pattern with new value in multiple files
Search files by pattern Search for files matching a specific pattern in a directory
Set file permissions Set file permissions, ownership, and group for a file or directory
Upload a file Upload a file to the specified path. Accepts either multipart/form-data (field "file") or a raw request body (e.g. application/octet-stream). Parent directories are created if missing; an existing file is overwritten.
Upload multiple files Upload multiple files with their destination paths
Functions
@spec create_folder(Tesla.Env.client(), String.t(), String.t(), keyword()) :: {:ok, nil} | {:ok, ExDaytona.Model.ErrorResponse.t()} | {:error, Tesla.Env.t()}
Create a folder Create a folder with the specified path and optional permissions
Parameters
connection(ExDaytona.Connection): Connection to serverpath(String.t): Folder path to createmode(String.t): Octal permission mode (default: 0755)opts(keyword): Optional parameters
Returns
{:ok, nil}on success{:error, Tesla.Env.t}on failure
@spec delete_file(Tesla.Env.client(), String.t(), keyword()) :: {:ok, nil} | {:ok, ExDaytona.Model.ErrorResponse.t()} | {:error, Tesla.Env.t()}
Delete a file or directory Delete a file or directory at the specified path
Parameters
connection(ExDaytona.Connection): Connection to serverpath(String.t): File or directory path to deleteopts(keyword): Optional parameters:recursive(boolean()): Enable recursive deletion for directories
Returns
{:ok, nil}on success{:error, Tesla.Env.t}on failure
@spec download_file(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExDaytona.Model.ErrorResponse.t()} | {:ok, String.t()} | {:error, Tesla.Env.t()}
Download a file Download a file by providing its path
Parameters
connection(ExDaytona.Connection): Connection to serverpath(String.t): File path to downloadopts(keyword): Optional parameters
Returns
{:ok, String.t}on success{:error, Tesla.Env.t}on failure
@spec download_files( Tesla.Env.client(), ExDaytona.Model.FilesDownloadRequest.t(), keyword() ) :: {:ok, ExDaytona.Model.ErrorResponse.t()} | {:ok, %{optional(String.t()) => any()}} | {:error, Tesla.Env.t()}
Download multiple files
Download multiple files by providing their paths. Successful files are returned as multipart parts named file. Per-file failures are returned as multipart parts named error with JSON payloads shaped like ErrorResponse.
Parameters
connection(ExDaytona.Connection): Connection to serverfiles_download_request(FilesDownloadRequest): Paths of files to downloadopts(keyword): Optional parameters
Returns
{:ok, %{}}on success{:error, Tesla.Env.t}on failure
@spec find_in_files(Tesla.Env.client(), String.t(), String.t(), keyword()) :: {:ok, ExDaytona.Model.ErrorResponse.t()} | {:ok, [ExDaytona.Model.Match.t()]} | {:error, Tesla.Env.t()}
Find text in files Search for text pattern within files in a directory
Parameters
connection(ExDaytona.Connection): Connection to serverpath(String.t): Directory path to search inpattern(String.t): Text pattern to search foropts(keyword): Optional parameters
Returns
{:ok, [%Match{}, ...]}on success{:error, Tesla.Env.t}on failure
@spec get_file_info(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExDaytona.Model.ErrorResponse.t()} | {:ok, ExDaytona.Model.FileInfo.t()} | {:error, Tesla.Env.t()}
Get file information Get detailed information about a file or directory
Parameters
connection(ExDaytona.Connection): Connection to serverpath(String.t): File or directory pathopts(keyword): Optional parameters
Returns
{:ok, ExDaytona.Model.FileInfo.t}on success{:error, Tesla.Env.t}on failure
@spec list_files( Tesla.Env.client(), keyword() ) :: {:ok, [ExDaytona.Model.FileInfo.t()]} | {:ok, ExDaytona.Model.ErrorResponse.t()} | {:error, Tesla.Env.t()}
List files and directories List files and directories in the specified path. Use the optional depth parameter to list recursively: depth=1 (default) lists the directory's entries, depth=2 also includes their children, and so on.
Parameters
connection(ExDaytona.Connection): Connection to serveropts(keyword): Optional parameters:path(String.t): Directory path to list (defaults to working directory):depth(integer()): How many levels deep to list (default: 1, must be >= 1)
Returns
{:ok, [%FileInfo{}, ...]}on success{:error, Tesla.Env.t}on failure
@spec move_file(Tesla.Env.client(), String.t(), String.t(), keyword()) :: {:ok, nil} | {:ok, ExDaytona.Model.ErrorResponse.t()} | {:error, Tesla.Env.t()}
Move or rename file/directory Move or rename a file or directory from source to destination
Parameters
connection(ExDaytona.Connection): Connection to serversource(String.t): Source file or directory pathdestination(String.t): Destination file or directory pathopts(keyword): Optional parameters
Returns
{:ok, nil}on success{:error, Tesla.Env.t}on failure
@spec replace_in_files( Tesla.Env.client(), ExDaytona.Model.ReplaceRequest.t(), keyword() ) :: {:ok, ExDaytona.Model.ErrorResponse.t()} | {:ok, [ExDaytona.Model.ReplaceResult.t()]} | {:error, Tesla.Env.t()}
Replace text in files Replace text pattern with new value in multiple files
Parameters
connection(ExDaytona.Connection): Connection to serverreplace_request(ReplaceRequest): Replace requestopts(keyword): Optional parameters
Returns
{:ok, [%ReplaceResult{}, ...]}on success{:error, Tesla.Env.t}on failure
@spec search_files(Tesla.Env.client(), String.t(), String.t(), keyword()) :: {:ok, ExDaytona.Model.ErrorResponse.t()} | {:ok, ExDaytona.Model.SearchFilesResponse.t()} | {:error, Tesla.Env.t()}
Search files by pattern Search for files matching a specific pattern in a directory
Parameters
connection(ExDaytona.Connection): Connection to serverpath(String.t): Directory path to search inpattern(String.t): File pattern to match (e.g., .txt, .go)opts(keyword): Optional parameters
Returns
{:ok, ExDaytona.Model.SearchFilesResponse.t}on success{:error, Tesla.Env.t}on failure
@spec set_file_permissions(Tesla.Env.client(), String.t(), keyword()) :: {:ok, nil} | {:ok, ExDaytona.Model.ErrorResponse.t()} | {:error, Tesla.Env.t()}
Set file permissions Set file permissions, ownership, and group for a file or directory
Parameters
connection(ExDaytona.Connection): Connection to serverpath(String.t): File or directory pathopts(keyword): Optional parameters:owner(String.t): Owner (username or UID):group(String.t): Group (group name or GID):mode(String.t): File mode in octal format (e.g., 0755)
Returns
{:ok, nil}on success{:error, Tesla.Env.t}on failure
@spec upload_file(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExDaytona.Model.ErrorResponse.t()} | {:ok, ExDaytona.Model.UploadedFile.t()} | {:error, Tesla.Env.t()}
Upload a file Upload a file to the specified path. Accepts either multipart/form-data (field "file") or a raw request body (e.g. application/octet-stream). Parent directories are created if missing; an existing file is overwritten.
Parameters
connection(ExDaytona.Connection): Connection to serverpath(String.t): Destination path for the uploaded fileopts(keyword): Optional parameters:file(String.t): File to upload (multipart/form-data)
Returns
{:ok, ExDaytona.Model.UploadedFile.t}on success{:error, Tesla.Env.t}on failure
@spec upload_files( Tesla.Env.client(), keyword() ) :: {:ok, nil} | {:ok, ExDaytona.Model.ErrorResponse.t()} | {:error, Tesla.Env.t()}
Upload multiple files Upload multiple files with their destination paths
Parameters
connection(ExDaytona.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, nil}on success{:error, Tesla.Env.t}on failure