coolipy.resources.deployments
Deployments resource clients (sync + async).
1"""Deployments resource clients (sync + async).""" 2 3from __future__ import annotations 4 5from coolipy._base import AsyncResourceBase, ResourceBase 6from coolipy._response import CoolipyAPIResponse 7from coolipy.models.applications import ApplicationModel 8from coolipy.models.deployments import DeploymentModel, DeployResponse 9 10DeploymentList = list[DeploymentModel] 11ApplicationList = list[ApplicationModel] 12 13 14class Deployments(ResourceBase): 15 """Synchronous client for Coolify deployments.""" 16 17 def list(self) -> CoolipyAPIResponse[DeploymentList]: 18 """List currently running deployments.""" 19 return self._get("/deployments", response_model=list[DeploymentModel]) 20 21 def get(self, uuid: str) -> CoolipyAPIResponse[DeploymentModel]: 22 """Get a deployment by UUID.""" 23 return self._get(f"/deployments/{uuid}", response_model=DeploymentModel) 24 25 def cancel(self, uuid: str) -> CoolipyAPIResponse[dict]: 26 """Cancel a deployment by UUID.""" 27 return self._post(f"/deployments/{uuid}/cancel", response_model=dict) 28 29 def deploy( 30 self, 31 *, 32 tag: str | None = None, 33 uuid: str | None = None, 34 force: bool | None = None, 35 pr: int | None = None, 36 pull_request_id: int | None = None, 37 docker_tag: str | None = None, 38 ) -> CoolipyAPIResponse[DeployResponse]: 39 """Deploy resources by tag or UUID.""" 40 params: dict[str, object] = {} 41 if tag is not None: 42 params["tag"] = tag 43 if uuid is not None: 44 params["uuid"] = uuid 45 if force is not None: 46 params["force"] = force 47 if pr is not None: 48 params["pr"] = pr 49 if pull_request_id is not None: 50 params["pull_request_id"] = pull_request_id 51 if docker_tag is not None: 52 params["docker_tag"] = docker_tag 53 return self._post("/deploy", params=params, response_model=DeployResponse) 54 55 def application_deployments( 56 self, uuid: str, *, skip: int = 0, take: int = 10 57 ) -> CoolipyAPIResponse[ApplicationList]: 58 """List deployments for an application.""" 59 return self._get( 60 f"/deployments/applications/{uuid}", 61 params={"skip": skip, "take": take}, 62 response_model=list[ApplicationModel], 63 ) 64 65 66class AsyncDeployments(AsyncResourceBase): 67 """Asynchronous client for Coolify deployments.""" 68 69 async def list(self) -> CoolipyAPIResponse[DeploymentList]: 70 """List currently running deployments.""" 71 return await self._get("/deployments", response_model=list[DeploymentModel]) 72 73 async def get(self, uuid: str) -> CoolipyAPIResponse[DeploymentModel]: 74 """Get a deployment by UUID.""" 75 return await self._get(f"/deployments/{uuid}", response_model=DeploymentModel) 76 77 async def cancel(self, uuid: str) -> CoolipyAPIResponse[dict]: 78 """Cancel a deployment by UUID.""" 79 return await self._post(f"/deployments/{uuid}/cancel", response_model=dict) 80 81 async def deploy( 82 self, 83 *, 84 tag: str | None = None, 85 uuid: str | None = None, 86 force: bool | None = None, 87 pr: int | None = None, 88 pull_request_id: int | None = None, 89 docker_tag: str | None = None, 90 ) -> CoolipyAPIResponse[DeployResponse]: 91 """Deploy resources by tag or UUID.""" 92 params: dict[str, object] = {} 93 if tag is not None: 94 params["tag"] = tag 95 if uuid is not None: 96 params["uuid"] = uuid 97 if force is not None: 98 params["force"] = force 99 if pr is not None: 100 params["pr"] = pr 101 if pull_request_id is not None: 102 params["pull_request_id"] = pull_request_id 103 if docker_tag is not None: 104 params["docker_tag"] = docker_tag 105 return await self._post("/deploy", params=params, response_model=DeployResponse) 106 107 async def application_deployments( 108 self, uuid: str, *, skip: int = 0, take: int = 10 109 ) -> CoolipyAPIResponse[ApplicationList]: 110 """List deployments for an application.""" 111 return await self._get( 112 f"/deployments/applications/{uuid}", 113 params={"skip": skip, "take": take}, 114 response_model=list[ApplicationModel], 115 )
DeploymentList =
list[coolipy.models.deployments.DeploymentModel]
ApplicationList =
list[coolipy.models.applications.ApplicationModel]
class
Deployments(coolipy._base.ResourceBase):
15class Deployments(ResourceBase): 16 """Synchronous client for Coolify deployments.""" 17 18 def list(self) -> CoolipyAPIResponse[DeploymentList]: 19 """List currently running deployments.""" 20 return self._get("/deployments", response_model=list[DeploymentModel]) 21 22 def get(self, uuid: str) -> CoolipyAPIResponse[DeploymentModel]: 23 """Get a deployment by UUID.""" 24 return self._get(f"/deployments/{uuid}", response_model=DeploymentModel) 25 26 def cancel(self, uuid: str) -> CoolipyAPIResponse[dict]: 27 """Cancel a deployment by UUID.""" 28 return self._post(f"/deployments/{uuid}/cancel", response_model=dict) 29 30 def deploy( 31 self, 32 *, 33 tag: str | None = None, 34 uuid: str | None = None, 35 force: bool | None = None, 36 pr: int | None = None, 37 pull_request_id: int | None = None, 38 docker_tag: str | None = None, 39 ) -> CoolipyAPIResponse[DeployResponse]: 40 """Deploy resources by tag or UUID.""" 41 params: dict[str, object] = {} 42 if tag is not None: 43 params["tag"] = tag 44 if uuid is not None: 45 params["uuid"] = uuid 46 if force is not None: 47 params["force"] = force 48 if pr is not None: 49 params["pr"] = pr 50 if pull_request_id is not None: 51 params["pull_request_id"] = pull_request_id 52 if docker_tag is not None: 53 params["docker_tag"] = docker_tag 54 return self._post("/deploy", params=params, response_model=DeployResponse) 55 56 def application_deployments( 57 self, uuid: str, *, skip: int = 0, take: int = 10 58 ) -> CoolipyAPIResponse[ApplicationList]: 59 """List deployments for an application.""" 60 return self._get( 61 f"/deployments/applications/{uuid}", 62 params={"skip": skip, "take": take}, 63 response_model=list[ApplicationModel], 64 )
Synchronous client for Coolify deployments.
18 def list(self) -> CoolipyAPIResponse[DeploymentList]: 19 """List currently running deployments.""" 20 return self._get("/deployments", response_model=list[DeploymentModel])
List currently running deployments.
def
get( self, uuid: str) -> coolipy.CoolipyAPIResponse[coolipy.models.deployments.DeploymentModel]:
22 def get(self, uuid: str) -> CoolipyAPIResponse[DeploymentModel]: 23 """Get a deployment by UUID.""" 24 return self._get(f"/deployments/{uuid}", response_model=DeploymentModel)
Get a deployment by UUID.
26 def cancel(self, uuid: str) -> CoolipyAPIResponse[dict]: 27 """Cancel a deployment by UUID.""" 28 return self._post(f"/deployments/{uuid}/cancel", response_model=dict)
Cancel a deployment by UUID.
def
deploy( self, *, tag: str | None = None, uuid: str | None = None, force: bool | None = None, pr: int | None = None, pull_request_id: int | None = None, docker_tag: str | None = None) -> coolipy.CoolipyAPIResponse[coolipy.models.deployments.DeployResponse]:
30 def deploy( 31 self, 32 *, 33 tag: str | None = None, 34 uuid: str | None = None, 35 force: bool | None = None, 36 pr: int | None = None, 37 pull_request_id: int | None = None, 38 docker_tag: str | None = None, 39 ) -> CoolipyAPIResponse[DeployResponse]: 40 """Deploy resources by tag or UUID.""" 41 params: dict[str, object] = {} 42 if tag is not None: 43 params["tag"] = tag 44 if uuid is not None: 45 params["uuid"] = uuid 46 if force is not None: 47 params["force"] = force 48 if pr is not None: 49 params["pr"] = pr 50 if pull_request_id is not None: 51 params["pull_request_id"] = pull_request_id 52 if docker_tag is not None: 53 params["docker_tag"] = docker_tag 54 return self._post("/deploy", params=params, response_model=DeployResponse)
Deploy resources by tag or UUID.
def
application_deployments( self, uuid: str, *, skip: int = 0, take: int = 10) -> coolipy.CoolipyAPIResponse[list[coolipy.models.applications.ApplicationModel]]:
56 def application_deployments( 57 self, uuid: str, *, skip: int = 0, take: int = 10 58 ) -> CoolipyAPIResponse[ApplicationList]: 59 """List deployments for an application.""" 60 return self._get( 61 f"/deployments/applications/{uuid}", 62 params={"skip": skip, "take": take}, 63 response_model=list[ApplicationModel], 64 )
List deployments for an application.
class
AsyncDeployments(coolipy._base.AsyncResourceBase):
67class AsyncDeployments(AsyncResourceBase): 68 """Asynchronous client for Coolify deployments.""" 69 70 async def list(self) -> CoolipyAPIResponse[DeploymentList]: 71 """List currently running deployments.""" 72 return await self._get("/deployments", response_model=list[DeploymentModel]) 73 74 async def get(self, uuid: str) -> CoolipyAPIResponse[DeploymentModel]: 75 """Get a deployment by UUID.""" 76 return await self._get(f"/deployments/{uuid}", response_model=DeploymentModel) 77 78 async def cancel(self, uuid: str) -> CoolipyAPIResponse[dict]: 79 """Cancel a deployment by UUID.""" 80 return await self._post(f"/deployments/{uuid}/cancel", response_model=dict) 81 82 async def deploy( 83 self, 84 *, 85 tag: str | None = None, 86 uuid: str | None = None, 87 force: bool | None = None, 88 pr: int | None = None, 89 pull_request_id: int | None = None, 90 docker_tag: str | None = None, 91 ) -> CoolipyAPIResponse[DeployResponse]: 92 """Deploy resources by tag or UUID.""" 93 params: dict[str, object] = {} 94 if tag is not None: 95 params["tag"] = tag 96 if uuid is not None: 97 params["uuid"] = uuid 98 if force is not None: 99 params["force"] = force 100 if pr is not None: 101 params["pr"] = pr 102 if pull_request_id is not None: 103 params["pull_request_id"] = pull_request_id 104 if docker_tag is not None: 105 params["docker_tag"] = docker_tag 106 return await self._post("/deploy", params=params, response_model=DeployResponse) 107 108 async def application_deployments( 109 self, uuid: str, *, skip: int = 0, take: int = 10 110 ) -> CoolipyAPIResponse[ApplicationList]: 111 """List deployments for an application.""" 112 return await self._get( 113 f"/deployments/applications/{uuid}", 114 params={"skip": skip, "take": take}, 115 response_model=list[ApplicationModel], 116 )
Asynchronous client for Coolify deployments.
async def
list( self) -> coolipy.CoolipyAPIResponse[list[coolipy.models.deployments.DeploymentModel]]:
70 async def list(self) -> CoolipyAPIResponse[DeploymentList]: 71 """List currently running deployments.""" 72 return await self._get("/deployments", response_model=list[DeploymentModel])
List currently running deployments.
async def
get( self, uuid: str) -> coolipy.CoolipyAPIResponse[coolipy.models.deployments.DeploymentModel]:
74 async def get(self, uuid: str) -> CoolipyAPIResponse[DeploymentModel]: 75 """Get a deployment by UUID.""" 76 return await self._get(f"/deployments/{uuid}", response_model=DeploymentModel)
Get a deployment by UUID.
78 async def cancel(self, uuid: str) -> CoolipyAPIResponse[dict]: 79 """Cancel a deployment by UUID.""" 80 return await self._post(f"/deployments/{uuid}/cancel", response_model=dict)
Cancel a deployment by UUID.
async def
deploy( self, *, tag: str | None = None, uuid: str | None = None, force: bool | None = None, pr: int | None = None, pull_request_id: int | None = None, docker_tag: str | None = None) -> coolipy.CoolipyAPIResponse[coolipy.models.deployments.DeployResponse]:
82 async def deploy( 83 self, 84 *, 85 tag: str | None = None, 86 uuid: str | None = None, 87 force: bool | None = None, 88 pr: int | None = None, 89 pull_request_id: int | None = None, 90 docker_tag: str | None = None, 91 ) -> CoolipyAPIResponse[DeployResponse]: 92 """Deploy resources by tag or UUID.""" 93 params: dict[str, object] = {} 94 if tag is not None: 95 params["tag"] = tag 96 if uuid is not None: 97 params["uuid"] = uuid 98 if force is not None: 99 params["force"] = force 100 if pr is not None: 101 params["pr"] = pr 102 if pull_request_id is not None: 103 params["pull_request_id"] = pull_request_id 104 if docker_tag is not None: 105 params["docker_tag"] = docker_tag 106 return await self._post("/deploy", params=params, response_model=DeployResponse)
Deploy resources by tag or UUID.
async def
application_deployments( self, uuid: str, *, skip: int = 0, take: int = 10) -> coolipy.CoolipyAPIResponse[list[coolipy.models.applications.ApplicationModel]]:
108 async def application_deployments( 109 self, uuid: str, *, skip: int = 0, take: int = 10 110 ) -> CoolipyAPIResponse[ApplicationList]: 111 """List deployments for an application.""" 112 return await self._get( 113 f"/deployments/applications/{uuid}", 114 params={"skip": skip, "take": take}, 115 response_model=list[ApplicationModel], 116 )
List deployments for an application.