Skip to main content

Module clients.sandbox.filesystem.client

Classes

FilesystemClient

class FilesystemClient(connection_config: h2o_engine_manager.clients.connection_config.ConnectionConfig, verify_ssl: bool = True, ssl_ca_cert: Optional[str] = None)

FilesystemClient manages filesystem operations within a SandboxEngine.

Args
connection_config
AIEM connection configuration object.
verify_ssl
Set to False to disable SSL certificate verification.
ssl_ca_cert
Path to a CA cert bundle with certificates of trusted CAs.

Methods

list_directory

def list_directory(self, name: str, path: str) ‑> List[h2o_engine_manager.clients.sandbox.filesystem.file_info.FileInfo]

List files and directories in a given directory.

Args
name : str
SandboxEngine resource name. Format: "workspaces//sandboxEngines/"
path : str
The absolute path to the directory to list. Must start with a forward slash (e.g., "/workspace"). Lists only direct children of the directory (non-recursive).
Returns
List[FileInfo]
List of file and directory information.

make_directory

def make_directory(self, name: str, path: str, create_parent_directories: bool = False) ‑> h2o_engine_manager.clients.sandbox.filesystem.file_info.FileInfo

Create a directory (similar to Unix mkdir).

Args
name : str
SandboxEngine resource name. Format: "workspaces//sandboxEngines/"
path : str
The absolute path where the directory should be created. Must start with a forward slash (e.g., "/workspace/data"). The directory will be created with 0755 permissions (rwxr-xr-x).
create_parent_directories : bool
If True, creates parent directories if they don't exist. If False, the operation will fail if parent directories don't exist. Defaults to False.
Returns
FileInfo
Metadata about the created directory.

move

def move(self, name: str, source_path: str, destination_path: str, overwrite: Optional[bool] = None, create_parent_directories: bool = False) ‑> h2o_engine_manager.clients.sandbox.filesystem.file_info.FileInfo

Move or rename a file, directory, or symbolic link.

Args
name : str
SandboxEngine resource name. Format: "workspaces//sandboxEngines/"
source_path : str
The absolute path of the source. Must start with a forward slash (e.g., "/workspace/old.js"). If the source is a symbolic link, the link itself is moved, not its target.
destination_path : str
The absolute path of the destination. Must start with a forward slash (e.g., "/workspace/new.js").
overwrite : Optional[bool]
If True, overwrites the destination if it exists. If False or None, the operation will fail if the destination exists. Defaults to None.
create_parent_directories : bool
If True, creates parent directories of the destination path if they don't exist. Defaults to False.
Returns
FileInfo
Metadata about the moved entry at its new location.

read_file

def read_file(self, name: str, path: str) ‑> h2o_engine_manager.clients.sandbox.filesystem.read_file_response.ReadFileResponse

Read a file from the sandbox engine filesystem.

Args
name : str
SandboxEngine resource name. Format: "workspaces//sandboxEngines/"
path : str
The absolute path to the file to read. Must start with a forward slash (e.g., "/workspace/app.js"). If the path is a symbolic link, it will be resolved to the target file.
Returns
ReadFileResponse
Response containing file content and metadata.

remove

def remove(self, name: str, path: str, recursive: bool = False) ‑> None

Remove (delete) a file or directory.

Args
name : str
SandboxEngine resource name. Format: "workspaces//sandboxEngines/"
path : str
The absolute path to the file or directory to delete. Must start with a forward slash (e.g., "/workspace/app.js"). If the path is a symbolic link, the link itself is removed, not its target.
recursive : bool
If True, removes directories and their contents recursively (similar to rm -rf). If False, non-empty directories will cause an error. Defaults to False.

stat_file

def stat_file(self, name: str, path: str) ‑> h2o_engine_manager.clients.sandbox.filesystem.file_info.FileInfo

Get metadata about a file or directory (similar to Unix stat).

Args
name : str
SandboxEngine resource name. Format: "workspaces//sandboxEngines/"
path : str
The absolute path to the file or directory. Must start with a forward slash (e.g., "/workspace/app.js"). If the path is a symbolic link, metadata about the target file is returned (symlink is followed).
Returns
FileInfo
Metadata about the file or directory.

write_file

def write_file(self, name: str, path: str, content: bytes, create_parent_directories: bool = False, overwrite: Optional[bool] = None) ‑> h2o_engine_manager.clients.sandbox.filesystem.write_file_response.WriteFileResponse

Write content to a file in the sandbox engine filesystem.

Args
name : str
SandboxEngine resource name. Format: "workspaces//sandboxEngines/"
path : str
The absolute path where the file should be written. Must start with a forward slash (e.g., "/workspace/app.js").
content : bytes
The raw content to write to the file as bytes. For text files, provide UTF-8 encoded text.
create_parent_directories : bool
If True, creates parent directories if they don't exist. Defaults to False.
overwrite : Optional[bool]
Controls overwrite behavior. If True or None, overwrites the file if it exists. If False, the operation will fail if the file already exists.
Returns
WriteFileResponse
Response containing metadata about the written file.

Feedback