Skip to content

Configuration API

This page lists the configuration data models (Pydantic) for sandboxes and managers. All fields, defaults, and validators are auto-generated from source.

Manager Configuration

SandboxManagerConfig


              flowchart TD
              ms_enclave.sandbox.model.config.SandboxManagerConfig[SandboxManagerConfig]

              

              click ms_enclave.sandbox.model.config.SandboxManagerConfig href "" "ms_enclave.sandbox.model.config.SandboxManagerConfig"
            

Sandbox manager configuration.

Methods:

validate_cleanup_interval

validate_cleanup_interval(v)

Validate cleanup interval. None is allowed (means no cleanup interval). Otherwise, must be positive.

Source code in ms_enclave/sandbox/model/config.py
@field_validator('cleanup_interval', mode='after')
def validate_cleanup_interval(cls, v):
    """Validate cleanup interval.
    None is allowed (means no cleanup interval). Otherwise, must be positive.
    """
    if v is not None and v <= 0:
        raise ValueError('Cleanup interval must be positive or None')
    return v

validate_pool_size

validate_pool_size(v)

Validate pool size.

Source code in ms_enclave/sandbox/model/config.py
@field_validator('pool_size')
def validate_pool_size(cls, v):
    """Validate pool size."""
    if v < 0:
        raise ValueError('Pool size must be non-negative')
    return v

VolcengineSandboxManagerConfig


              flowchart TD
              ms_enclave.sandbox.model.config.VolcengineSandboxManagerConfig[VolcengineSandboxManagerConfig]
              ms_enclave.sandbox.model.config.SandboxManagerConfig[SandboxManagerConfig]

                              ms_enclave.sandbox.model.config.SandboxManagerConfig --> ms_enclave.sandbox.model.config.VolcengineSandboxManagerConfig
                


              click ms_enclave.sandbox.model.config.VolcengineSandboxManagerConfig href "" "ms_enclave.sandbox.model.config.VolcengineSandboxManagerConfig"
              click ms_enclave.sandbox.model.config.SandboxManagerConfig href "" "ms_enclave.sandbox.model.config.SandboxManagerConfig"
            

Manager-level configuration for the Volcengine/SandboxFusion backend.

Methods:

validate_cleanup_interval

validate_cleanup_interval(v)

Validate cleanup interval. None is allowed (means no cleanup interval). Otherwise, must be positive.

Source code in ms_enclave/sandbox/model/config.py
@field_validator('cleanup_interval', mode='after')
def validate_cleanup_interval(cls, v):
    """Validate cleanup interval.
    None is allowed (means no cleanup interval). Otherwise, must be positive.
    """
    if v is not None and v <= 0:
        raise ValueError('Cleanup interval must be positive or None')
    return v

validate_pool_size

validate_pool_size(v)

Validate pool size.

Source code in ms_enclave/sandbox/model/config.py
@field_validator('pool_size')
def validate_pool_size(cls, v):
    """Validate pool size."""
    if v < 0:
        raise ValueError('Pool size must be non-negative')
    return v

Sandbox Configuration

SandboxConfig


              flowchart TD
              ms_enclave.sandbox.model.config.SandboxConfig[SandboxConfig]

              

              click ms_enclave.sandbox.model.config.SandboxConfig href "" "ms_enclave.sandbox.model.config.SandboxConfig"
            

Base sandbox configuration.

DockerSandboxConfig


              flowchart TD
              ms_enclave.sandbox.model.config.DockerSandboxConfig[DockerSandboxConfig]
              ms_enclave.sandbox.model.config.SandboxConfig[SandboxConfig]

                              ms_enclave.sandbox.model.config.SandboxConfig --> ms_enclave.sandbox.model.config.DockerSandboxConfig
                


              click ms_enclave.sandbox.model.config.DockerSandboxConfig href "" "ms_enclave.sandbox.model.config.DockerSandboxConfig"
              click ms_enclave.sandbox.model.config.SandboxConfig href "" "ms_enclave.sandbox.model.config.SandboxConfig"
            

Docker-specific sandbox configuration.

Methods:

validate_cpu_limit

validate_cpu_limit(v)

Validate CPU limit.

Source code in ms_enclave/sandbox/model/config.py
@field_validator('cpu_limit')
def validate_cpu_limit(cls, v):
    """Validate CPU limit."""
    if v <= 0:
        raise ValueError('CPU limit must be positive')
    return v

validate_memory_limit

validate_memory_limit(v)

Validate memory limit format.

Source code in ms_enclave/sandbox/model/config.py
@field_validator('memory_limit')
def validate_memory_limit(cls, v):
    """Validate memory limit format."""
    if not isinstance(v, str):
        raise ValueError('Memory limit must be a string')
    # Basic validation for memory format (e.g., '512m', '1g', '2G')
    import re
    if not re.match(r'^\d+[kmgKMG]?$', v):
        raise ValueError('Invalid memory limit format')
    return v

DockerNotebookConfig


              flowchart TD
              ms_enclave.sandbox.model.config.DockerNotebookConfig[DockerNotebookConfig]
              ms_enclave.sandbox.model.config.DockerSandboxConfig[DockerSandboxConfig]
              ms_enclave.sandbox.model.config.SandboxConfig[SandboxConfig]

                              ms_enclave.sandbox.model.config.DockerSandboxConfig --> ms_enclave.sandbox.model.config.DockerNotebookConfig
                                ms_enclave.sandbox.model.config.SandboxConfig --> ms_enclave.sandbox.model.config.DockerSandboxConfig
                



              click ms_enclave.sandbox.model.config.DockerNotebookConfig href "" "ms_enclave.sandbox.model.config.DockerNotebookConfig"
              click ms_enclave.sandbox.model.config.DockerSandboxConfig href "" "ms_enclave.sandbox.model.config.DockerSandboxConfig"
              click ms_enclave.sandbox.model.config.SandboxConfig href "" "ms_enclave.sandbox.model.config.SandboxConfig"
            

Docker Notebook-specific sandbox configuration.

Methods:

validate_cpu_limit

validate_cpu_limit(v)

Validate CPU limit.

Source code in ms_enclave/sandbox/model/config.py
@field_validator('cpu_limit')
def validate_cpu_limit(cls, v):
    """Validate CPU limit."""
    if v <= 0:
        raise ValueError('CPU limit must be positive')
    return v

validate_memory_limit

validate_memory_limit(v)

Validate memory limit format.

Source code in ms_enclave/sandbox/model/config.py
@field_validator('memory_limit')
def validate_memory_limit(cls, v):
    """Validate memory limit format."""
    if not isinstance(v, str):
        raise ValueError('Memory limit must be a string')
    # Basic validation for memory format (e.g., '512m', '1g', '2G')
    import re
    if not re.match(r'^\d+[kmgKMG]?$', v):
        raise ValueError('Invalid memory limit format')
    return v

VolcengineSandboxConfig


              flowchart TD
              ms_enclave.sandbox.model.config.VolcengineSandboxConfig[VolcengineSandboxConfig]
              ms_enclave.sandbox.model.config.SandboxConfig[SandboxConfig]

                              ms_enclave.sandbox.model.config.SandboxConfig --> ms_enclave.sandbox.model.config.VolcengineSandboxConfig
                


              click ms_enclave.sandbox.model.config.VolcengineSandboxConfig href "" "ms_enclave.sandbox.model.config.VolcengineSandboxConfig"
              click ms_enclave.sandbox.model.config.SandboxConfig href "" "ms_enclave.sandbox.model.config.SandboxConfig"
            

Volcengine/SandboxFusion stateless sandbox configuration.

The VolcEngine sandbox is stateless and exposed via an HTTP service started manually by the user (e.g. via docker run -it -p 8080:8080 vemlp-cn-beijing.cr.volces.com/preset-images/code-sandbox:server-20250609).

HTTP-level settings can be provided either on this config (for direct SandboxFactory.create_sandbox usage) or on :class:VolcengineSandboxManagerConfig (when going through the manager, which injects its own values at sandbox creation time).

Tool Configuration

ToolConfig


              flowchart TD
              ms_enclave.sandbox.model.config.ToolConfig[ToolConfig]

              

              click ms_enclave.sandbox.model.config.ToolConfig href "" "ms_enclave.sandbox.model.config.ToolConfig"
            

Tool configuration.

PythonExecutorConfig


              flowchart TD
              ms_enclave.sandbox.model.config.PythonExecutorConfig[PythonExecutorConfig]
              ms_enclave.sandbox.model.config.ToolConfig[ToolConfig]

                              ms_enclave.sandbox.model.config.ToolConfig --> ms_enclave.sandbox.model.config.PythonExecutorConfig
                


              click ms_enclave.sandbox.model.config.PythonExecutorConfig href "" "ms_enclave.sandbox.model.config.PythonExecutorConfig"
              click ms_enclave.sandbox.model.config.ToolConfig href "" "ms_enclave.sandbox.model.config.ToolConfig"
            

Python executor configuration.

ShellExecutorConfig


              flowchart TD
              ms_enclave.sandbox.model.config.ShellExecutorConfig[ShellExecutorConfig]
              ms_enclave.sandbox.model.config.ToolConfig[ToolConfig]

                              ms_enclave.sandbox.model.config.ToolConfig --> ms_enclave.sandbox.model.config.ShellExecutorConfig
                


              click ms_enclave.sandbox.model.config.ShellExecutorConfig href "" "ms_enclave.sandbox.model.config.ShellExecutorConfig"
              click ms_enclave.sandbox.model.config.ToolConfig href "" "ms_enclave.sandbox.model.config.ToolConfig"
            

Shell executor configuration.

FileOperationConfig


              flowchart TD
              ms_enclave.sandbox.model.config.FileOperationConfig[FileOperationConfig]
              ms_enclave.sandbox.model.config.ToolConfig[ToolConfig]

                              ms_enclave.sandbox.model.config.ToolConfig --> ms_enclave.sandbox.model.config.FileOperationConfig
                


              click ms_enclave.sandbox.model.config.FileOperationConfig href "" "ms_enclave.sandbox.model.config.FileOperationConfig"
              click ms_enclave.sandbox.model.config.ToolConfig href "" "ms_enclave.sandbox.model.config.ToolConfig"
            

File operation configuration.