coolipy.resources.databases
Databases resource clients (sync + async).
Classes
class AsyncDatabases (transport: AsyncTransport)-
Expand source code
class AsyncDatabases(AsyncResourceBase): """Asynchronous client for Coolify databases.""" async def list(self) -> CoolipyAPIResponse[DatabaseList]: """List all databases.""" return await self._get("/databases", response_model=list[DatabaseModel]) async def get(self, uuid: str) -> CoolipyAPIResponse[DatabaseModel]: """Get a database by UUID.""" return await self._get(f"/databases/{uuid}", response_model=DatabaseModel) async def create(self, model: Any) -> CoolipyAPIResponse[Any]: """Create a database from one of the supported create models.""" path = _DATABASE_CREATE_PATHS.get(type(model)) if path is None: raise CoolipyValidationError( f"Unsupported database create model: {type(model).__name__}" ) return await self._post(path, json=_dump(model)) async def update(self, uuid: str, model: DatabaseUpdateModel) -> CoolipyAPIResponse[Any]: """Update a database by UUID.""" return await self._patch(f"/databases/{uuid}", json=_dump(model)) async def delete( self, uuid: str, *, delete_configurations: bool = True, delete_volumes: bool = True, docker_cleanup: bool = True, delete_connected_networks: bool = True, ) -> CoolipyAPIResponse[MessageResponse]: """Delete a database by UUID.""" params = { "delete_configurations": delete_configurations, "delete_volumes": delete_volumes, "docker_cleanup": docker_cleanup, "delete_connected_networks": delete_connected_networks, } return await self._delete( f"/databases/{uuid}", params=params, response_model=MessageResponse ) async def backups(self, uuid: str) -> CoolipyAPIResponse[Any]: """List scheduled backups for a database.""" return await self._get(f"/databases/{uuid}/backups") async def create_backup( self, uuid: str, model: DatabaseBackupCreate ) -> CoolipyAPIResponse[dict]: """Create a scheduled backup configuration for a database.""" return await self._post( f"/databases/{uuid}/backups", json=_dump(model), response_model=dict ) async def update_backup( self, uuid: str, scheduled_backup_uuid: str, model: DatabaseBackupCreate ) -> CoolipyAPIResponse[Any]: """Update a scheduled backup configuration.""" return await self._patch( f"/databases/{uuid}/backups/{scheduled_backup_uuid}", json=_dump(model) ) async def delete_backup(self, uuid: str, scheduled_backup_uuid: str) -> CoolipyAPIResponse[Any]: """Delete a scheduled backup configuration.""" return await self._delete(f"/databases/{uuid}/backups/{scheduled_backup_uuid}") async def backup_executions( self, uuid: str, scheduled_backup_uuid: str ) -> CoolipyAPIResponse[Any]: """List executions of a scheduled backup.""" return await self._get(f"/databases/{uuid}/backups/{scheduled_backup_uuid}/executions") async def delete_backup_execution( self, uuid: str, scheduled_backup_uuid: str, execution_uuid: str ) -> CoolipyAPIResponse[Any]: """Delete a backup execution.""" return await self._delete( f"/databases/{uuid}/backups/{scheduled_backup_uuid}/executions/{execution_uuid}" ) async def logs(self, uuid: str) -> CoolipyAPIResponse[Logs]: """Get database logs.""" return await self._get(f"/databases/{uuid}/logs", response_model=Logs) async def move(self, uuid: str, environment_uuid: str) -> CoolipyAPIResponse[dict]: """Move a database to another environment.""" return await self._post( f"/databases/{uuid}/move", json={"environment_uuid": environment_uuid}, response_model=dict, ) async def migrate( self, uuid: str, destination_uuid: str, *, migrate_volumes: bool = True ) -> CoolipyAPIResponse[Any]: """Migrate a database to another destination/server.""" body = {"destination_uuid": destination_uuid, "migrate_volumes": migrate_volumes} return await self._post(f"/databases/{uuid}/migrate", json=body) async def start(self, uuid: str) -> CoolipyAPIResponse[DeploymentQueuedResponse]: """Start a database.""" return await self._post(f"/databases/{uuid}/start", response_model=DeploymentQueuedResponse) async def stop(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Stop a database.""" return await self._post(f"/databases/{uuid}/stop", response_model=MessageResponse) async def restart(self, uuid: str) -> CoolipyAPIResponse[DeploymentQueuedResponse]: """Restart a database.""" return await self._post( f"/databases/{uuid}/restart", response_model=DeploymentQueuedResponse ) async def envs(self, uuid: str) -> CoolipyAPIResponse[EnvironmentVariableList]: """List environment variables for a database.""" return await self._get(f"/databases/{uuid}/envs", response_model=list[EnvironmentVariable]) async def create_env( self, uuid: str, model: EnvironmentVariableCreate ) -> CoolipyAPIResponse[UUIDResponse]: """Create an environment variable for a database.""" return await self._post( f"/databases/{uuid}/envs", json=_dump(model), response_model=UUIDResponse ) async def update_env( self, uuid: str, model: EnvironmentVariableUpdate ) -> CoolipyAPIResponse[EnvironmentVariable]: """Update an environment variable for a database.""" return await self._patch( f"/databases/{uuid}/envs", json=_dump(model), response_model=EnvironmentVariable ) async def bulk_update_envs( self, uuid: str, model: BulkEnvsUpdate ) -> CoolipyAPIResponse[EnvironmentVariableList]: """Bulk-update environment variables for a database.""" return await self._patch( f"/databases/{uuid}/envs/bulk", json=_dump(model), response_model=list[EnvironmentVariable], ) async def delete_env(self, uuid: str, env_uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete an environment variable by UUID.""" return await self._delete( f"/databases/{uuid}/envs/{env_uuid}", response_model=MessageResponse ) async def storages(self, uuid: str) -> CoolipyAPIResponse[dict]: """List storages for a database.""" return await self._get(f"/databases/{uuid}/storages", response_model=dict) async def create_storage(self, uuid: str, model: StorageCreate) -> CoolipyAPIResponse[dict]: """Create a storage for a database.""" return await self._post( f"/databases/{uuid}/storages", json=_dump(model), response_model=dict ) async def update_storage(self, uuid: str, model: StorageUpdate) -> CoolipyAPIResponse[dict]: """Update a storage for a database.""" return await self._patch( f"/databases/{uuid}/storages", json=_dump(model), response_model=dict ) async def delete_storage( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Delete a storage by UUID.""" return await self._delete( f"/databases/{uuid}/storages/{storage_uuid}", response_model=MessageResponse ) async def tags(self, uuid: str) -> CoolipyAPIResponse[TagList]: """List tags for a database.""" return await self._get(f"/databases/{uuid}/tags", response_model=list[Tag]) async def add_tags(self, uuid: str, model: TagsCreate) -> CoolipyAPIResponse[TagList]: """Add one or more tags to a database.""" return await self._post( f"/databases/{uuid}/tags", json=_dump(model), response_model=list[Tag] ) async def delete_tag(self, uuid: str, tag_uuid: str) -> CoolipyAPIResponse[Any]: """Remove a tag from a database.""" return await self._delete(f"/databases/{uuid}/tags/{tag_uuid}") async def clone( self, uuid: str, destination_uuid: str, *, name: str | None = None, clone_volumes: bool = False, ) -> CoolipyAPIResponse[dict]: """Clone a database into a destination.""" body = {"destination_uuid": destination_uuid, "name": name, "clone_volumes": clone_volumes} return await self._post(f"/databases/{uuid}/clone", json=body, response_model=dict) async def update_storage_backup( self, uuid: str, storage_uuid: str, model: VolumeBackupScheduleRequest ) -> CoolipyAPIResponse[VolumeBackupScheduleResponse]: """Schedule backups for a storage volume.""" return await self._put( f"/databases/{uuid}/storages/{storage_uuid}/backups", json=_dump(model), response_model=VolumeBackupScheduleResponse, ) async def delete_storage_backup( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Remove the backup schedule for a storage volume.""" return await self._delete( f"/databases/{uuid}/storages/{storage_uuid}/backups", response_model=MessageResponse ) async def run_storage_backup( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Run a storage backup now.""" return await self._post( f"/databases/{uuid}/storages/{storage_uuid}/backups/run", response_model=MessageResponse )Asynchronous client for Coolify databases.
Ancestors
- coolipy._base.AsyncResourceBase
Methods
-
Expand source code
async def add_tags(self, uuid: str, model: TagsCreate) -> CoolipyAPIResponse[TagList]: """Add one or more tags to a database.""" return await self._post( f"/databases/{uuid}/tags", json=_dump(model), response_model=list[Tag] )Add one or more tags to a database.
async def backup_executions(self, uuid: str, scheduled_backup_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def backup_executions( self, uuid: str, scheduled_backup_uuid: str ) -> CoolipyAPIResponse[Any]: """List executions of a scheduled backup.""" return await self._get(f"/databases/{uuid}/backups/{scheduled_backup_uuid}/executions")List executions of a scheduled backup.
async def backups(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def backups(self, uuid: str) -> CoolipyAPIResponse[Any]: """List scheduled backups for a database.""" return await self._get(f"/databases/{uuid}/backups")List scheduled backups for a database.
async def bulk_update_envs(self, uuid: str, model: BulkEnvsUpdate) ‑> coolipy._response.CoolipyAPIResponse[list[EnvironmentVariable]]-
Expand source code
async def bulk_update_envs( self, uuid: str, model: BulkEnvsUpdate ) -> CoolipyAPIResponse[EnvironmentVariableList]: """Bulk-update environment variables for a database.""" return await self._patch( f"/databases/{uuid}/envs/bulk", json=_dump(model), response_model=list[EnvironmentVariable], )Bulk-update environment variables for a database.
async def clone(self,
uuid: str,
destination_uuid: str,
*,
name: str | None = None,
clone_volumes: bool = False) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
async def clone( self, uuid: str, destination_uuid: str, *, name: str | None = None, clone_volumes: bool = False, ) -> CoolipyAPIResponse[dict]: """Clone a database into a destination.""" body = {"destination_uuid": destination_uuid, "name": name, "clone_volumes": clone_volumes} return await self._post(f"/databases/{uuid}/clone", json=body, response_model=dict)Clone a database into a destination.
async def create(self, model: Any) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def create(self, model: Any) -> CoolipyAPIResponse[Any]: """Create a database from one of the supported create models.""" path = _DATABASE_CREATE_PATHS.get(type(model)) if path is None: raise CoolipyValidationError( f"Unsupported database create model: {type(model).__name__}" ) return await self._post(path, json=_dump(model))Create a database from one of the supported create models.
async def create_backup(self, uuid: str, model: DatabaseBackupCreate) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
async def create_backup( self, uuid: str, model: DatabaseBackupCreate ) -> CoolipyAPIResponse[dict]: """Create a scheduled backup configuration for a database.""" return await self._post( f"/databases/{uuid}/backups", json=_dump(model), response_model=dict )Create a scheduled backup configuration for a database.
async def create_env(self, uuid: str, model: EnvironmentVariableCreate) ‑> coolipy._response.CoolipyAPIResponse[UUIDResponse]-
Expand source code
async def create_env( self, uuid: str, model: EnvironmentVariableCreate ) -> CoolipyAPIResponse[UUIDResponse]: """Create an environment variable for a database.""" return await self._post( f"/databases/{uuid}/envs", json=_dump(model), response_model=UUIDResponse )Create an environment variable for a database.
async def create_storage(self, uuid: str, model: StorageCreate) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
async def create_storage(self, uuid: str, model: StorageCreate) -> CoolipyAPIResponse[dict]: """Create a storage for a database.""" return await self._post( f"/databases/{uuid}/storages", json=_dump(model), response_model=dict )Create a storage for a database.
async def delete(self,
uuid: str,
*,
delete_configurations: bool = True,
delete_volumes: bool = True,
docker_cleanup: bool = True,
delete_connected_networks: bool = True) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
async def delete( self, uuid: str, *, delete_configurations: bool = True, delete_volumes: bool = True, docker_cleanup: bool = True, delete_connected_networks: bool = True, ) -> CoolipyAPIResponse[MessageResponse]: """Delete a database by UUID.""" params = { "delete_configurations": delete_configurations, "delete_volumes": delete_volumes, "docker_cleanup": docker_cleanup, "delete_connected_networks": delete_connected_networks, } return await self._delete( f"/databases/{uuid}", params=params, response_model=MessageResponse )Delete a database by UUID.
async def delete_backup(self, uuid: str, scheduled_backup_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def delete_backup(self, uuid: str, scheduled_backup_uuid: str) -> CoolipyAPIResponse[Any]: """Delete a scheduled backup configuration.""" return await self._delete(f"/databases/{uuid}/backups/{scheduled_backup_uuid}")Delete a scheduled backup configuration.
async def delete_backup_execution(self, uuid: str, scheduled_backup_uuid: str, execution_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def delete_backup_execution( self, uuid: str, scheduled_backup_uuid: str, execution_uuid: str ) -> CoolipyAPIResponse[Any]: """Delete a backup execution.""" return await self._delete( f"/databases/{uuid}/backups/{scheduled_backup_uuid}/executions/{execution_uuid}" )Delete a backup execution.
async def delete_env(self, uuid: str, env_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
async def delete_env(self, uuid: str, env_uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete an environment variable by UUID.""" return await self._delete( f"/databases/{uuid}/envs/{env_uuid}", response_model=MessageResponse )Delete an environment variable by UUID.
async def delete_storage(self, uuid: str, storage_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
async def delete_storage( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Delete a storage by UUID.""" return await self._delete( f"/databases/{uuid}/storages/{storage_uuid}", response_model=MessageResponse )Delete a storage by UUID.
async def delete_storage_backup(self, uuid: str, storage_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
async def delete_storage_backup( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Remove the backup schedule for a storage volume.""" return await self._delete( f"/databases/{uuid}/storages/{storage_uuid}/backups", response_model=MessageResponse )Remove the backup schedule for a storage volume.
async def delete_tag(self, uuid: str, tag_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def delete_tag(self, uuid: str, tag_uuid: str) -> CoolipyAPIResponse[Any]: """Remove a tag from a database.""" return await self._delete(f"/databases/{uuid}/tags/{tag_uuid}")Remove a tag from a database.
async def envs(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[list[EnvironmentVariable]]-
Expand source code
async def envs(self, uuid: str) -> CoolipyAPIResponse[EnvironmentVariableList]: """List environment variables for a database.""" return await self._get(f"/databases/{uuid}/envs", response_model=list[EnvironmentVariable])List environment variables for a database.
async def get(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[DatabaseModel]-
Expand source code
async def get(self, uuid: str) -> CoolipyAPIResponse[DatabaseModel]: """Get a database by UUID.""" return await self._get(f"/databases/{uuid}", response_model=DatabaseModel)Get a database by UUID.
async def list(self) ‑> coolipy._response.CoolipyAPIResponse[list[DatabaseModel]]-
Expand source code
async def list(self) -> CoolipyAPIResponse[DatabaseList]: """List all databases.""" return await self._get("/databases", response_model=list[DatabaseModel])List all databases.
async def logs(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[Logs]-
Expand source code
async def logs(self, uuid: str) -> CoolipyAPIResponse[Logs]: """Get database logs.""" return await self._get(f"/databases/{uuid}/logs", response_model=Logs)Get database logs.
async def migrate(self, uuid: str, destination_uuid: str, *, migrate_volumes: bool = True) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def migrate( self, uuid: str, destination_uuid: str, *, migrate_volumes: bool = True ) -> CoolipyAPIResponse[Any]: """Migrate a database to another destination/server.""" body = {"destination_uuid": destination_uuid, "migrate_volumes": migrate_volumes} return await self._post(f"/databases/{uuid}/migrate", json=body)Migrate a database to another destination/server.
async def move(self, uuid: str, environment_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
async def move(self, uuid: str, environment_uuid: str) -> CoolipyAPIResponse[dict]: """Move a database to another environment.""" return await self._post( f"/databases/{uuid}/move", json={"environment_uuid": environment_uuid}, response_model=dict, )Move a database to another environment.
async def restart(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[DeploymentQueuedResponse]-
Expand source code
async def restart(self, uuid: str) -> CoolipyAPIResponse[DeploymentQueuedResponse]: """Restart a database.""" return await self._post( f"/databases/{uuid}/restart", response_model=DeploymentQueuedResponse )Restart a database.
async def run_storage_backup(self, uuid: str, storage_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
async def run_storage_backup( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Run a storage backup now.""" return await self._post( f"/databases/{uuid}/storages/{storage_uuid}/backups/run", response_model=MessageResponse )Run a storage backup now.
async def start(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[DeploymentQueuedResponse]-
Expand source code
async def start(self, uuid: str) -> CoolipyAPIResponse[DeploymentQueuedResponse]: """Start a database.""" return await self._post(f"/databases/{uuid}/start", response_model=DeploymentQueuedResponse)Start a database.
async def stop(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
async def stop(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Stop a database.""" return await self._post(f"/databases/{uuid}/stop", response_model=MessageResponse)Stop a database.
async def storages(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
async def storages(self, uuid: str) -> CoolipyAPIResponse[dict]: """List storages for a database.""" return await self._get(f"/databases/{uuid}/storages", response_model=dict)List storages for a database.
-
Expand source code
async def tags(self, uuid: str) -> CoolipyAPIResponse[TagList]: """List tags for a database.""" return await self._get(f"/databases/{uuid}/tags", response_model=list[Tag])List tags for a database.
async def update(self, uuid: str, model: DatabaseUpdateModel) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def update(self, uuid: str, model: DatabaseUpdateModel) -> CoolipyAPIResponse[Any]: """Update a database by UUID.""" return await self._patch(f"/databases/{uuid}", json=_dump(model))Update a database by UUID.
async def update_backup(self, uuid: str, scheduled_backup_uuid: str, model: DatabaseBackupCreate) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
async def update_backup( self, uuid: str, scheduled_backup_uuid: str, model: DatabaseBackupCreate ) -> CoolipyAPIResponse[Any]: """Update a scheduled backup configuration.""" return await self._patch( f"/databases/{uuid}/backups/{scheduled_backup_uuid}", json=_dump(model) )Update a scheduled backup configuration.
async def update_env(self, uuid: str, model: EnvironmentVariableUpdate) ‑> coolipy._response.CoolipyAPIResponse[EnvironmentVariable]-
Expand source code
async def update_env( self, uuid: str, model: EnvironmentVariableUpdate ) -> CoolipyAPIResponse[EnvironmentVariable]: """Update an environment variable for a database.""" return await self._patch( f"/databases/{uuid}/envs", json=_dump(model), response_model=EnvironmentVariable )Update an environment variable for a database.
async def update_storage(self, uuid: str, model: StorageUpdate) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
async def update_storage(self, uuid: str, model: StorageUpdate) -> CoolipyAPIResponse[dict]: """Update a storage for a database.""" return await self._patch( f"/databases/{uuid}/storages", json=_dump(model), response_model=dict )Update a storage for a database.
async def update_storage_backup(self, uuid: str, storage_uuid: str, model: VolumeBackupScheduleRequest) ‑> coolipy._response.CoolipyAPIResponse[VolumeBackupScheduleResponse]-
Expand source code
async def update_storage_backup( self, uuid: str, storage_uuid: str, model: VolumeBackupScheduleRequest ) -> CoolipyAPIResponse[VolumeBackupScheduleResponse]: """Schedule backups for a storage volume.""" return await self._put( f"/databases/{uuid}/storages/{storage_uuid}/backups", json=_dump(model), response_model=VolumeBackupScheduleResponse, )Schedule backups for a storage volume.
class Databases (transport: SyncTransport)-
Expand source code
class Databases(ResourceBase): """Synchronous client for Coolify databases.""" def list(self) -> CoolipyAPIResponse[DatabaseList]: """List all databases.""" return self._get("/databases", response_model=list[DatabaseModel]) def get(self, uuid: str) -> CoolipyAPIResponse[DatabaseModel]: """Get a database by UUID.""" return self._get(f"/databases/{uuid}", response_model=DatabaseModel) def create(self, model: Any) -> CoolipyAPIResponse[Any]: """Create a database from one of the supported create models.""" path = _DATABASE_CREATE_PATHS.get(type(model)) if path is None: raise CoolipyValidationError( f"Unsupported database create model: {type(model).__name__}" ) return self._post(path, json=_dump(model)) def update(self, uuid: str, model: DatabaseUpdateModel) -> CoolipyAPIResponse[Any]: """Update a database by UUID.""" return self._patch(f"/databases/{uuid}", json=_dump(model)) def delete( self, uuid: str, *, delete_configurations: bool = True, delete_volumes: bool = True, docker_cleanup: bool = True, delete_connected_networks: bool = True, ) -> CoolipyAPIResponse[MessageResponse]: """Delete a database by UUID.""" params = { "delete_configurations": delete_configurations, "delete_volumes": delete_volumes, "docker_cleanup": docker_cleanup, "delete_connected_networks": delete_connected_networks, } return self._delete(f"/databases/{uuid}", params=params, response_model=MessageResponse) def backups(self, uuid: str) -> CoolipyAPIResponse[Any]: """List scheduled backups for a database.""" return self._get(f"/databases/{uuid}/backups") def create_backup(self, uuid: str, model: DatabaseBackupCreate) -> CoolipyAPIResponse[dict]: """Create a scheduled backup configuration for a database.""" return self._post(f"/databases/{uuid}/backups", json=_dump(model), response_model=dict) def update_backup( self, uuid: str, scheduled_backup_uuid: str, model: DatabaseBackupCreate ) -> CoolipyAPIResponse[Any]: """Update a scheduled backup configuration.""" return self._patch(f"/databases/{uuid}/backups/{scheduled_backup_uuid}", json=_dump(model)) def delete_backup(self, uuid: str, scheduled_backup_uuid: str) -> CoolipyAPIResponse[Any]: """Delete a scheduled backup configuration.""" return self._delete(f"/databases/{uuid}/backups/{scheduled_backup_uuid}") def backup_executions(self, uuid: str, scheduled_backup_uuid: str) -> CoolipyAPIResponse[Any]: """List executions of a scheduled backup.""" return self._get(f"/databases/{uuid}/backups/{scheduled_backup_uuid}/executions") def delete_backup_execution( self, uuid: str, scheduled_backup_uuid: str, execution_uuid: str ) -> CoolipyAPIResponse[Any]: """Delete a backup execution.""" return self._delete( f"/databases/{uuid}/backups/{scheduled_backup_uuid}/executions/{execution_uuid}" ) def logs(self, uuid: str) -> CoolipyAPIResponse[Logs]: """Get database logs.""" return self._get(f"/databases/{uuid}/logs", response_model=Logs) def move(self, uuid: str, environment_uuid: str) -> CoolipyAPIResponse[dict]: """Move a database to another environment.""" return self._post( f"/databases/{uuid}/move", json={"environment_uuid": environment_uuid}, response_model=dict, ) def migrate( self, uuid: str, destination_uuid: str, *, migrate_volumes: bool = True ) -> CoolipyAPIResponse[Any]: """Migrate a database to another destination/server.""" body = {"destination_uuid": destination_uuid, "migrate_volumes": migrate_volumes} return self._post(f"/databases/{uuid}/migrate", json=body) def start(self, uuid: str) -> CoolipyAPIResponse[DeploymentQueuedResponse]: """Start a database.""" return self._post(f"/databases/{uuid}/start", response_model=DeploymentQueuedResponse) def stop(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Stop a database.""" return self._post(f"/databases/{uuid}/stop", response_model=MessageResponse) def restart(self, uuid: str) -> CoolipyAPIResponse[DeploymentQueuedResponse]: """Restart a database.""" return self._post(f"/databases/{uuid}/restart", response_model=DeploymentQueuedResponse) def envs(self, uuid: str) -> CoolipyAPIResponse[EnvironmentVariableList]: """List environment variables for a database.""" return self._get(f"/databases/{uuid}/envs", response_model=list[EnvironmentVariable]) def create_env( self, uuid: str, model: EnvironmentVariableCreate ) -> CoolipyAPIResponse[UUIDResponse]: """Create an environment variable for a database.""" return self._post(f"/databases/{uuid}/envs", json=_dump(model), response_model=UUIDResponse) def update_env( self, uuid: str, model: EnvironmentVariableUpdate ) -> CoolipyAPIResponse[EnvironmentVariable]: """Update an environment variable for a database.""" return self._patch( f"/databases/{uuid}/envs", json=_dump(model), response_model=EnvironmentVariable ) def bulk_update_envs( self, uuid: str, model: BulkEnvsUpdate ) -> CoolipyAPIResponse[EnvironmentVariableList]: """Bulk-update environment variables for a database.""" return self._patch( f"/databases/{uuid}/envs/bulk", json=_dump(model), response_model=list[EnvironmentVariable], ) def delete_env(self, uuid: str, env_uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete an environment variable by UUID.""" return self._delete(f"/databases/{uuid}/envs/{env_uuid}", response_model=MessageResponse) def storages(self, uuid: str) -> CoolipyAPIResponse[dict]: """List storages for a database.""" return self._get(f"/databases/{uuid}/storages", response_model=dict) def create_storage(self, uuid: str, model: StorageCreate) -> CoolipyAPIResponse[dict]: """Create a storage for a database.""" return self._post(f"/databases/{uuid}/storages", json=_dump(model), response_model=dict) def update_storage(self, uuid: str, model: StorageUpdate) -> CoolipyAPIResponse[dict]: """Update a storage for a database.""" return self._patch(f"/databases/{uuid}/storages", json=_dump(model), response_model=dict) def delete_storage(self, uuid: str, storage_uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete a storage by UUID.""" return self._delete( f"/databases/{uuid}/storages/{storage_uuid}", response_model=MessageResponse ) def tags(self, uuid: str) -> CoolipyAPIResponse[TagList]: """List tags for a database.""" return self._get(f"/databases/{uuid}/tags", response_model=list[Tag]) def add_tags(self, uuid: str, model: TagsCreate) -> CoolipyAPIResponse[TagList]: """Add one or more tags to a database.""" return self._post(f"/databases/{uuid}/tags", json=_dump(model), response_model=list[Tag]) def delete_tag(self, uuid: str, tag_uuid: str) -> CoolipyAPIResponse[Any]: """Remove a tag from a database.""" return self._delete(f"/databases/{uuid}/tags/{tag_uuid}") def clone( self, uuid: str, destination_uuid: str, *, name: str | None = None, clone_volumes: bool = False, ) -> CoolipyAPIResponse[dict]: """Clone a database into a destination.""" body = {"destination_uuid": destination_uuid, "name": name, "clone_volumes": clone_volumes} return self._post(f"/databases/{uuid}/clone", json=body, response_model=dict) def update_storage_backup( self, uuid: str, storage_uuid: str, model: VolumeBackupScheduleRequest ) -> CoolipyAPIResponse[VolumeBackupScheduleResponse]: """Schedule backups for a storage volume.""" return self._put( f"/databases/{uuid}/storages/{storage_uuid}/backups", json=_dump(model), response_model=VolumeBackupScheduleResponse, ) def delete_storage_backup( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Remove the backup schedule for a storage volume.""" return self._delete( f"/databases/{uuid}/storages/{storage_uuid}/backups", response_model=MessageResponse ) def run_storage_backup( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Run a storage backup now.""" return self._post( f"/databases/{uuid}/storages/{storage_uuid}/backups/run", response_model=MessageResponse )Synchronous client for Coolify databases.
Ancestors
- coolipy._base.ResourceBase
Methods
-
Expand source code
def add_tags(self, uuid: str, model: TagsCreate) -> CoolipyAPIResponse[TagList]: """Add one or more tags to a database.""" return self._post(f"/databases/{uuid}/tags", json=_dump(model), response_model=list[Tag])Add one or more tags to a database.
def backup_executions(self, uuid: str, scheduled_backup_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def backup_executions(self, uuid: str, scheduled_backup_uuid: str) -> CoolipyAPIResponse[Any]: """List executions of a scheduled backup.""" return self._get(f"/databases/{uuid}/backups/{scheduled_backup_uuid}/executions")List executions of a scheduled backup.
def backups(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def backups(self, uuid: str) -> CoolipyAPIResponse[Any]: """List scheduled backups for a database.""" return self._get(f"/databases/{uuid}/backups")List scheduled backups for a database.
def bulk_update_envs(self, uuid: str, model: BulkEnvsUpdate) ‑> coolipy._response.CoolipyAPIResponse[list[EnvironmentVariable]]-
Expand source code
def bulk_update_envs( self, uuid: str, model: BulkEnvsUpdate ) -> CoolipyAPIResponse[EnvironmentVariableList]: """Bulk-update environment variables for a database.""" return self._patch( f"/databases/{uuid}/envs/bulk", json=_dump(model), response_model=list[EnvironmentVariable], )Bulk-update environment variables for a database.
def clone(self,
uuid: str,
destination_uuid: str,
*,
name: str | None = None,
clone_volumes: bool = False) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
def clone( self, uuid: str, destination_uuid: str, *, name: str | None = None, clone_volumes: bool = False, ) -> CoolipyAPIResponse[dict]: """Clone a database into a destination.""" body = {"destination_uuid": destination_uuid, "name": name, "clone_volumes": clone_volumes} return self._post(f"/databases/{uuid}/clone", json=body, response_model=dict)Clone a database into a destination.
def create(self, model: Any) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def create(self, model: Any) -> CoolipyAPIResponse[Any]: """Create a database from one of the supported create models.""" path = _DATABASE_CREATE_PATHS.get(type(model)) if path is None: raise CoolipyValidationError( f"Unsupported database create model: {type(model).__name__}" ) return self._post(path, json=_dump(model))Create a database from one of the supported create models.
def create_backup(self, uuid: str, model: DatabaseBackupCreate) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
def create_backup(self, uuid: str, model: DatabaseBackupCreate) -> CoolipyAPIResponse[dict]: """Create a scheduled backup configuration for a database.""" return self._post(f"/databases/{uuid}/backups", json=_dump(model), response_model=dict)Create a scheduled backup configuration for a database.
def create_env(self, uuid: str, model: EnvironmentVariableCreate) ‑> coolipy._response.CoolipyAPIResponse[UUIDResponse]-
Expand source code
def create_env( self, uuid: str, model: EnvironmentVariableCreate ) -> CoolipyAPIResponse[UUIDResponse]: """Create an environment variable for a database.""" return self._post(f"/databases/{uuid}/envs", json=_dump(model), response_model=UUIDResponse)Create an environment variable for a database.
def create_storage(self, uuid: str, model: StorageCreate) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
def create_storage(self, uuid: str, model: StorageCreate) -> CoolipyAPIResponse[dict]: """Create a storage for a database.""" return self._post(f"/databases/{uuid}/storages", json=_dump(model), response_model=dict)Create a storage for a database.
def delete(self,
uuid: str,
*,
delete_configurations: bool = True,
delete_volumes: bool = True,
docker_cleanup: bool = True,
delete_connected_networks: bool = True) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
def delete( self, uuid: str, *, delete_configurations: bool = True, delete_volumes: bool = True, docker_cleanup: bool = True, delete_connected_networks: bool = True, ) -> CoolipyAPIResponse[MessageResponse]: """Delete a database by UUID.""" params = { "delete_configurations": delete_configurations, "delete_volumes": delete_volumes, "docker_cleanup": docker_cleanup, "delete_connected_networks": delete_connected_networks, } return self._delete(f"/databases/{uuid}", params=params, response_model=MessageResponse)Delete a database by UUID.
def delete_backup(self, uuid: str, scheduled_backup_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def delete_backup(self, uuid: str, scheduled_backup_uuid: str) -> CoolipyAPIResponse[Any]: """Delete a scheduled backup configuration.""" return self._delete(f"/databases/{uuid}/backups/{scheduled_backup_uuid}")Delete a scheduled backup configuration.
def delete_backup_execution(self, uuid: str, scheduled_backup_uuid: str, execution_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def delete_backup_execution( self, uuid: str, scheduled_backup_uuid: str, execution_uuid: str ) -> CoolipyAPIResponse[Any]: """Delete a backup execution.""" return self._delete( f"/databases/{uuid}/backups/{scheduled_backup_uuid}/executions/{execution_uuid}" )Delete a backup execution.
def delete_env(self, uuid: str, env_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
def delete_env(self, uuid: str, env_uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete an environment variable by UUID.""" return self._delete(f"/databases/{uuid}/envs/{env_uuid}", response_model=MessageResponse)Delete an environment variable by UUID.
def delete_storage(self, uuid: str, storage_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
def delete_storage(self, uuid: str, storage_uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete a storage by UUID.""" return self._delete( f"/databases/{uuid}/storages/{storage_uuid}", response_model=MessageResponse )Delete a storage by UUID.
def delete_storage_backup(self, uuid: str, storage_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
def delete_storage_backup( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Remove the backup schedule for a storage volume.""" return self._delete( f"/databases/{uuid}/storages/{storage_uuid}/backups", response_model=MessageResponse )Remove the backup schedule for a storage volume.
def delete_tag(self, uuid: str, tag_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def delete_tag(self, uuid: str, tag_uuid: str) -> CoolipyAPIResponse[Any]: """Remove a tag from a database.""" return self._delete(f"/databases/{uuid}/tags/{tag_uuid}")Remove a tag from a database.
def envs(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[list[EnvironmentVariable]]-
Expand source code
def envs(self, uuid: str) -> CoolipyAPIResponse[EnvironmentVariableList]: """List environment variables for a database.""" return self._get(f"/databases/{uuid}/envs", response_model=list[EnvironmentVariable])List environment variables for a database.
def get(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[DatabaseModel]-
Expand source code
def get(self, uuid: str) -> CoolipyAPIResponse[DatabaseModel]: """Get a database by UUID.""" return self._get(f"/databases/{uuid}", response_model=DatabaseModel)Get a database by UUID.
def list(self) ‑> coolipy._response.CoolipyAPIResponse[list[DatabaseModel]]-
Expand source code
def list(self) -> CoolipyAPIResponse[DatabaseList]: """List all databases.""" return self._get("/databases", response_model=list[DatabaseModel])List all databases.
def logs(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[Logs]-
Expand source code
def logs(self, uuid: str) -> CoolipyAPIResponse[Logs]: """Get database logs.""" return self._get(f"/databases/{uuid}/logs", response_model=Logs)Get database logs.
def migrate(self, uuid: str, destination_uuid: str, *, migrate_volumes: bool = True) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def migrate( self, uuid: str, destination_uuid: str, *, migrate_volumes: bool = True ) -> CoolipyAPIResponse[Any]: """Migrate a database to another destination/server.""" body = {"destination_uuid": destination_uuid, "migrate_volumes": migrate_volumes} return self._post(f"/databases/{uuid}/migrate", json=body)Migrate a database to another destination/server.
def move(self, uuid: str, environment_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
def move(self, uuid: str, environment_uuid: str) -> CoolipyAPIResponse[dict]: """Move a database to another environment.""" return self._post( f"/databases/{uuid}/move", json={"environment_uuid": environment_uuid}, response_model=dict, )Move a database to another environment.
def restart(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[DeploymentQueuedResponse]-
Expand source code
def restart(self, uuid: str) -> CoolipyAPIResponse[DeploymentQueuedResponse]: """Restart a database.""" return self._post(f"/databases/{uuid}/restart", response_model=DeploymentQueuedResponse)Restart a database.
def run_storage_backup(self, uuid: str, storage_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
def run_storage_backup( self, uuid: str, storage_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Run a storage backup now.""" return self._post( f"/databases/{uuid}/storages/{storage_uuid}/backups/run", response_model=MessageResponse )Run a storage backup now.
def start(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[DeploymentQueuedResponse]-
Expand source code
def start(self, uuid: str) -> CoolipyAPIResponse[DeploymentQueuedResponse]: """Start a database.""" return self._post(f"/databases/{uuid}/start", response_model=DeploymentQueuedResponse)Start a database.
def stop(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
def stop(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Stop a database.""" return self._post(f"/databases/{uuid}/stop", response_model=MessageResponse)Stop a database.
def storages(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
def storages(self, uuid: str) -> CoolipyAPIResponse[dict]: """List storages for a database.""" return self._get(f"/databases/{uuid}/storages", response_model=dict)List storages for a database.
-
Expand source code
def tags(self, uuid: str) -> CoolipyAPIResponse[TagList]: """List tags for a database.""" return self._get(f"/databases/{uuid}/tags", response_model=list[Tag])List tags for a database.
def update(self, uuid: str, model: DatabaseUpdateModel) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def update(self, uuid: str, model: DatabaseUpdateModel) -> CoolipyAPIResponse[Any]: """Update a database by UUID.""" return self._patch(f"/databases/{uuid}", json=_dump(model))Update a database by UUID.
def update_backup(self, uuid: str, scheduled_backup_uuid: str, model: DatabaseBackupCreate) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]-
Expand source code
def update_backup( self, uuid: str, scheduled_backup_uuid: str, model: DatabaseBackupCreate ) -> CoolipyAPIResponse[Any]: """Update a scheduled backup configuration.""" return self._patch(f"/databases/{uuid}/backups/{scheduled_backup_uuid}", json=_dump(model))Update a scheduled backup configuration.
def update_env(self, uuid: str, model: EnvironmentVariableUpdate) ‑> coolipy._response.CoolipyAPIResponse[EnvironmentVariable]-
Expand source code
def update_env( self, uuid: str, model: EnvironmentVariableUpdate ) -> CoolipyAPIResponse[EnvironmentVariable]: """Update an environment variable for a database.""" return self._patch( f"/databases/{uuid}/envs", json=_dump(model), response_model=EnvironmentVariable )Update an environment variable for a database.
def update_storage(self, uuid: str, model: StorageUpdate) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
def update_storage(self, uuid: str, model: StorageUpdate) -> CoolipyAPIResponse[dict]: """Update a storage for a database.""" return self._patch(f"/databases/{uuid}/storages", json=_dump(model), response_model=dict)Update a storage for a database.
def update_storage_backup(self, uuid: str, storage_uuid: str, model: VolumeBackupScheduleRequest) ‑> coolipy._response.CoolipyAPIResponse[VolumeBackupScheduleResponse]-
Expand source code
def update_storage_backup( self, uuid: str, storage_uuid: str, model: VolumeBackupScheduleRequest ) -> CoolipyAPIResponse[VolumeBackupScheduleResponse]: """Schedule backups for a storage volume.""" return self._put( f"/databases/{uuid}/storages/{storage_uuid}/backups", json=_dump(model), response_model=VolumeBackupScheduleResponse, )Schedule backups for a storage volume.