coolipy.resources.projects
Projects resource clients (sync + async).
Classes
class AsyncProjects (transport: AsyncTransport)-
Expand source code
class AsyncProjects(AsyncResourceBase): """Asynchronous client for Coolify projects.""" async def list(self) -> CoolipyAPIResponse[ProjectList]: """List all projects.""" return await self._get("/projects", response_model=list[ProjectModel]) async def get(self, uuid: str) -> CoolipyAPIResponse[ProjectModel]: """Get a project by UUID.""" return await self._get(f"/projects/{uuid}", response_model=ProjectModel) async def create(self, model: ProjectCreateModel) -> CoolipyAPIResponse[UUIDResponse]: """Create a project.""" return await self._post("/projects", json=_dump(model), response_model=UUIDResponse) async def update(self, uuid: str, model: ProjectUpdateModel) -> CoolipyAPIResponse[dict]: """Update a project by UUID.""" return await self._patch(f"/projects/{uuid}", json=_dump(model), response_model=dict) async def delete(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete a project by UUID.""" return await self._delete(f"/projects/{uuid}", response_model=MessageResponse) async def environment( self, uuid: str, environment_name_or_uuid: str ) -> CoolipyAPIResponse[EnvironmentModel]: """Get an environment by name or UUID.""" return await self._get( f"/projects/{uuid}/{environment_name_or_uuid}", response_model=EnvironmentModel ) async def environments(self, uuid: str) -> CoolipyAPIResponse[EnvironmentList]: """List environments for a project.""" return await self._get( f"/projects/{uuid}/environments", response_model=list[EnvironmentModel] ) async def create_environment( self, uuid: str, model: EnvironmentCreateModel ) -> CoolipyAPIResponse[UUIDResponse]: """Create an environment for a project.""" return await self._post( f"/projects/{uuid}/environments", json=_dump(model), response_model=UUIDResponse ) async def update_environment( self, uuid: str, environment_name_or_uuid: str, model: EnvironmentUpdateModel ) -> CoolipyAPIResponse[EnvironmentModel]: """Update an environment by name or UUID.""" return await self._patch( f"/projects/{uuid}/environments/{environment_name_or_uuid}", json=_dump(model), response_model=EnvironmentModel, ) async def delete_environment( self, uuid: str, environment_name_or_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Delete an environment by name or UUID.""" return await self._delete( f"/projects/{uuid}/environments/{environment_name_or_uuid}", response_model=MessageResponse, )Asynchronous client for Coolify projects.
Ancestors
- coolipy._base.AsyncResourceBase
Methods
async def create(self, model: ProjectCreateModel) ‑> coolipy._response.CoolipyAPIResponse[UUIDResponse]-
Expand source code
async def create(self, model: ProjectCreateModel) -> CoolipyAPIResponse[UUIDResponse]: """Create a project.""" return await self._post("/projects", json=_dump(model), response_model=UUIDResponse)Create a project.
async def create_environment(self, uuid: str, model: EnvironmentCreateModel) ‑> coolipy._response.CoolipyAPIResponse[UUIDResponse]-
Expand source code
async def create_environment( self, uuid: str, model: EnvironmentCreateModel ) -> CoolipyAPIResponse[UUIDResponse]: """Create an environment for a project.""" return await self._post( f"/projects/{uuid}/environments", json=_dump(model), response_model=UUIDResponse )Create an environment for a project.
async def delete(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
async def delete(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete a project by UUID.""" return await self._delete(f"/projects/{uuid}", response_model=MessageResponse)Delete a project by UUID.
async def delete_environment(self, uuid: str, environment_name_or_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
async def delete_environment( self, uuid: str, environment_name_or_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Delete an environment by name or UUID.""" return await self._delete( f"/projects/{uuid}/environments/{environment_name_or_uuid}", response_model=MessageResponse, )Delete an environment by name or UUID.
async def environment(self, uuid: str, environment_name_or_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[EnvironmentModel]-
Expand source code
async def environment( self, uuid: str, environment_name_or_uuid: str ) -> CoolipyAPIResponse[EnvironmentModel]: """Get an environment by name or UUID.""" return await self._get( f"/projects/{uuid}/{environment_name_or_uuid}", response_model=EnvironmentModel )Get an environment by name or UUID.
async def environments(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[list[EnvironmentModel]]-
Expand source code
async def environments(self, uuid: str) -> CoolipyAPIResponse[EnvironmentList]: """List environments for a project.""" return await self._get( f"/projects/{uuid}/environments", response_model=list[EnvironmentModel] )List environments for a project.
async def get(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[ProjectModel]-
Expand source code
async def get(self, uuid: str) -> CoolipyAPIResponse[ProjectModel]: """Get a project by UUID.""" return await self._get(f"/projects/{uuid}", response_model=ProjectModel)Get a project by UUID.
async def list(self) ‑> coolipy._response.CoolipyAPIResponse[list[ProjectModel]]-
Expand source code
async def list(self) -> CoolipyAPIResponse[ProjectList]: """List all projects.""" return await self._get("/projects", response_model=list[ProjectModel])List all projects.
async def update(self, uuid: str, model: ProjectUpdateModel) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
async def update(self, uuid: str, model: ProjectUpdateModel) -> CoolipyAPIResponse[dict]: """Update a project by UUID.""" return await self._patch(f"/projects/{uuid}", json=_dump(model), response_model=dict)Update a project by UUID.
async def update_environment(self, uuid: str, environment_name_or_uuid: str, model: EnvironmentUpdateModel) ‑> coolipy._response.CoolipyAPIResponse[EnvironmentModel]-
Expand source code
async def update_environment( self, uuid: str, environment_name_or_uuid: str, model: EnvironmentUpdateModel ) -> CoolipyAPIResponse[EnvironmentModel]: """Update an environment by name or UUID.""" return await self._patch( f"/projects/{uuid}/environments/{environment_name_or_uuid}", json=_dump(model), response_model=EnvironmentModel, )Update an environment by name or UUID.
class Projects (transport: SyncTransport)-
Expand source code
class Projects(ResourceBase): """Synchronous client for Coolify projects.""" def list(self) -> CoolipyAPIResponse[ProjectList]: """List all projects.""" return self._get("/projects", response_model=list[ProjectModel]) def get(self, uuid: str) -> CoolipyAPIResponse[ProjectModel]: """Get a project by UUID.""" return self._get(f"/projects/{uuid}", response_model=ProjectModel) def create(self, model: ProjectCreateModel) -> CoolipyAPIResponse[UUIDResponse]: """Create a project.""" return self._post("/projects", json=_dump(model), response_model=UUIDResponse) def update(self, uuid: str, model: ProjectUpdateModel) -> CoolipyAPIResponse[dict]: """Update a project by UUID.""" return self._patch(f"/projects/{uuid}", json=_dump(model), response_model=dict) def delete(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete a project by UUID.""" return self._delete(f"/projects/{uuid}", response_model=MessageResponse) def environment( self, uuid: str, environment_name_or_uuid: str ) -> CoolipyAPIResponse[EnvironmentModel]: """Get an environment by name or UUID.""" return self._get( f"/projects/{uuid}/{environment_name_or_uuid}", response_model=EnvironmentModel ) def environments(self, uuid: str) -> CoolipyAPIResponse[EnvironmentList]: """List environments for a project.""" return self._get(f"/projects/{uuid}/environments", response_model=list[EnvironmentModel]) def create_environment( self, uuid: str, model: EnvironmentCreateModel ) -> CoolipyAPIResponse[UUIDResponse]: """Create an environment for a project.""" return self._post( f"/projects/{uuid}/environments", json=_dump(model), response_model=UUIDResponse ) def update_environment( self, uuid: str, environment_name_or_uuid: str, model: EnvironmentUpdateModel ) -> CoolipyAPIResponse[EnvironmentModel]: """Update an environment by name or UUID.""" return self._patch( f"/projects/{uuid}/environments/{environment_name_or_uuid}", json=_dump(model), response_model=EnvironmentModel, ) def delete_environment( self, uuid: str, environment_name_or_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Delete an environment by name or UUID.""" return self._delete( f"/projects/{uuid}/environments/{environment_name_or_uuid}", response_model=MessageResponse, )Synchronous client for Coolify projects.
Ancestors
- coolipy._base.ResourceBase
Methods
def create(self, model: ProjectCreateModel) ‑> coolipy._response.CoolipyAPIResponse[UUIDResponse]-
Expand source code
def create(self, model: ProjectCreateModel) -> CoolipyAPIResponse[UUIDResponse]: """Create a project.""" return self._post("/projects", json=_dump(model), response_model=UUIDResponse)Create a project.
def create_environment(self, uuid: str, model: EnvironmentCreateModel) ‑> coolipy._response.CoolipyAPIResponse[UUIDResponse]-
Expand source code
def create_environment( self, uuid: str, model: EnvironmentCreateModel ) -> CoolipyAPIResponse[UUIDResponse]: """Create an environment for a project.""" return self._post( f"/projects/{uuid}/environments", json=_dump(model), response_model=UUIDResponse )Create an environment for a project.
def delete(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
def delete(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]: """Delete a project by UUID.""" return self._delete(f"/projects/{uuid}", response_model=MessageResponse)Delete a project by UUID.
def delete_environment(self, uuid: str, environment_name_or_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]-
Expand source code
def delete_environment( self, uuid: str, environment_name_or_uuid: str ) -> CoolipyAPIResponse[MessageResponse]: """Delete an environment by name or UUID.""" return self._delete( f"/projects/{uuid}/environments/{environment_name_or_uuid}", response_model=MessageResponse, )Delete an environment by name or UUID.
def environment(self, uuid: str, environment_name_or_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[EnvironmentModel]-
Expand source code
def environment( self, uuid: str, environment_name_or_uuid: str ) -> CoolipyAPIResponse[EnvironmentModel]: """Get an environment by name or UUID.""" return self._get( f"/projects/{uuid}/{environment_name_or_uuid}", response_model=EnvironmentModel )Get an environment by name or UUID.
def environments(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[list[EnvironmentModel]]-
Expand source code
def environments(self, uuid: str) -> CoolipyAPIResponse[EnvironmentList]: """List environments for a project.""" return self._get(f"/projects/{uuid}/environments", response_model=list[EnvironmentModel])List environments for a project.
def get(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[ProjectModel]-
Expand source code
def get(self, uuid: str) -> CoolipyAPIResponse[ProjectModel]: """Get a project by UUID.""" return self._get(f"/projects/{uuid}", response_model=ProjectModel)Get a project by UUID.
def list(self) ‑> coolipy._response.CoolipyAPIResponse[list[ProjectModel]]-
Expand source code
def list(self) -> CoolipyAPIResponse[ProjectList]: """List all projects.""" return self._get("/projects", response_model=list[ProjectModel])List all projects.
def update(self, uuid: str, model: ProjectUpdateModel) ‑> coolipy._response.CoolipyAPIResponse[dict]-
Expand source code
def update(self, uuid: str, model: ProjectUpdateModel) -> CoolipyAPIResponse[dict]: """Update a project by UUID.""" return self._patch(f"/projects/{uuid}", json=_dump(model), response_model=dict)Update a project by UUID.
def update_environment(self, uuid: str, environment_name_or_uuid: str, model: EnvironmentUpdateModel) ‑> coolipy._response.CoolipyAPIResponse[EnvironmentModel]-
Expand source code
def update_environment( self, uuid: str, environment_name_or_uuid: str, model: EnvironmentUpdateModel ) -> CoolipyAPIResponse[EnvironmentModel]: """Update an environment by name or UUID.""" return self._patch( f"/projects/{uuid}/environments/{environment_name_or_uuid}", json=_dump(model), response_model=EnvironmentModel, )Update an environment by name or UUID.