SandboxVolumesService
class SandboxVolumesService()Pull attached volumes, separate from the root platform volume service.
SandboxVolumesService.__init__
def __init__(impl: AsyncSandboxVolumesService, bridge: SyncBridge) -> NoneSandboxVolumesService.pull
def pull(volume_id: str,
*,
request_id: str,
timeout: Optional[float] = None) -> PullVolumeResultSubmit/check once; timeout is a server wait in seconds (0–30, default 30).
AsyncSandboxVolumesService
class AsyncSandboxVolumesService()Pull attached volumes, separate from the root platform volume service.
AsyncSandboxVolumesService.__init__
def __init__(transport: AsyncTransport) -> NoneAsyncSandboxVolumesService.pull
async def pull(volume_id: str,
*,
request_id: str,
timeout: Optional[float] = None) -> PullVolumeResultSubmit/check once; timeout is a server wait in seconds (0–30, default 30).
Zero does not wait: it submits a new request_id, or returns a known one's last outcome without retrying it; a timeout above zero retries pending, unavailable or rate-limited work. Expiry does not cancel work. Neither retries nor identities are automatic.
VolumeService
class VolumeService()Persistent volume namespace.
VolumeService.__init__
def __init__(impl: AsyncVolumeService, bridge: SyncBridge) -> NoneVolumeService.create
def create(*, name: str, size_gib: Optional[int] = None) -> VolumeDtoCreate a volume.
VolumeService.delete
def delete(volume_id: str, *, id_only: bool = False) -> NoneRequest deletion and return once the control plane accepts it.
VolumeService.get
def get(name_or_id: str, *, create: bool = False, id_only: bool = False) -> VolumeDtoFetch by id or name; id_only disables name fallback.
VolumeService.iter
def iter(*,
cursor: Optional[str] = None,
limit: Optional[int] = None) -> Iterator[VolumeDto]VolumeService.list
def list(*,
cursor: Optional[str] = None,
limit: Optional[int] = None) -> ListResult[VolumeDto]List volumes.
AsyncVolumeService
class AsyncVolumeService()Persistent volume namespace.
AsyncVolumeService.__init__
def __init__(transport: AsyncTransport) -> NoneAsyncVolumeService.list
async def list(*,
cursor: Optional[str] = None,
limit: Optional[int] = None) -> ListResult[VolumeDto]List volumes.
AsyncVolumeService.iter
async def iter(*,
cursor: Optional[str] = None,
limit: Optional[int] = None) -> AsyncIterator[VolumeDto]AsyncVolumeService.get
async def get(name_or_id: str,
*,
create: bool = False,
id_only: bool = False) -> VolumeDtoFetch by id or name; id_only disables name fallback.
AsyncVolumeService.create
async def create(*, name: str, size_gib: Optional[int] = None) -> VolumeDtoCreate a volume.
AsyncVolumeService.delete
async def delete(volume_id: str, *, id_only: bool = False) -> NoneRequest deletion and return once the control plane accepts it.
PullVolumeResult
@dataclass(frozen=True)
class PullVolumeResult()Attributes:
request_idstrstatusPullVolumeStatusmanifest_idOptional[str]raw_statusOptional[str] = None
VolumeMount
@dataclass(frozen=True)
class VolumeMount()Attach a persistent volume to a sandbox.
Attributes:
volume_idstrmount_pathstrsubpathOptional[str] = Noneread_onlyOptional[bool] = None
VolumeDto
@dataclass(frozen=True, slots=True)
class VolumeDto()Attributes:
idstrnamestrtypeVolumeTyperaw_typestrstatusVolumeStateraw_statusstrcreated_atdatetimeupdated_atdatetimesize_gibOptional[int] = NoneerrorOptional[str] = Nonelast_used_atOptional[datetime] = NoneoptionsOptional[JsonObject] = Noneused_bytesOptional[int] = Noneused_bytes_atOptional[datetime] = None
PullVolumeStatus
PullVolumeStatus = Literal['pulled', 'unchanged', 'pending', 'unknown']VolumeState
VolumeState = Literal['ready', 'deleting', 'deleted', 'error', 'unknown']VolumeType
VolumeType = Literal['disk', 'bucket', 'unknown']