coolipy.resources.servers

Servers resource clients (sync + async).

Classes

class AsyncServers (transport: AsyncTransport)
Expand source code
class AsyncServers(AsyncResourceBase):
    """Asynchronous client for Coolify servers."""

    async def list(self) -> CoolipyAPIResponse[ServerList]:
        """List all servers."""
        return await self._get("/servers", response_model=list[ServerModel])

    async def get(self, uuid: str) -> CoolipyAPIResponse[ServerModel]:
        """Get a server by UUID."""
        return await self._get(f"/servers/{uuid}", response_model=ServerModel)

    async def create(self, model: ServerCreateModel) -> CoolipyAPIResponse[UUIDResponse]:
        """Create a server."""
        return await self._post("/servers", json=_dump(model), response_model=UUIDResponse)

    async def update(self, uuid: str, model: ServerUpdateModel) -> CoolipyAPIResponse[ServerModel]:
        """Update a server by UUID."""
        return await self._patch(f"/servers/{uuid}", json=_dump(model), response_model=ServerModel)

    async def delete(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]:
        """Delete a server by UUID."""
        return await self._delete(f"/servers/{uuid}", response_model=MessageResponse)

    async def resources(self, uuid: str) -> CoolipyAPIResponse[Any]:
        """List resources running on a server."""
        return await self._get(f"/servers/{uuid}/resources")

    async def domains(self, uuid: str) -> CoolipyAPIResponse[Any]:
        """List domains configured on a server."""
        return await self._get(f"/servers/{uuid}/domains")

    async def validate(self, uuid: str) -> CoolipyAPIResponse[Any]:
        """Validate a server."""
        return await self._post(f"/servers/{uuid}/validate")

    async def destinations(self, server_uuid: str) -> CoolipyAPIResponse[DestinationList]:
        """List destinations for a server."""
        return await self._get(
            f"/servers/{server_uuid}/destinations", response_model=list[Destination]
        )

    async def add_destination(
        self, server_uuid: str, model: DestinationCreate
    ) -> CoolipyAPIResponse[Any]:
        """Add a destination to a server."""
        return await self._post(f"/servers/{server_uuid}/destinations", json=_dump(model))

    async def envs(self, uuid: str) -> CoolipyAPIResponse[EnvironmentVariableList]:
        """List environment variables for a server."""
        return await self._get(f"/servers/{uuid}/envs", response_model=list[EnvironmentVariable])

    async def create_env(
        self, uuid: str, model: EnvironmentVariableCreate
    ) -> CoolipyAPIResponse[UUIDResponse]:
        """Create an environment variable for a server."""
        return await self._post(
            f"/servers/{uuid}/envs", json=_dump(model), response_model=UUIDResponse
        )

    async def delete_env(self, uuid: str, env_id: str) -> CoolipyAPIResponse[MessageResponse]:
        """Delete an environment variable from a server."""
        return await self._delete(f"/servers/{uuid}/envs/{env_id}", response_model=MessageResponse)

Asynchronous client for Coolify servers.

Ancestors

  • coolipy._base.AsyncResourceBase

Methods

async def add_destination(self, server_uuid: str, model: DestinationCreate) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]
Expand source code
async def add_destination(
    self, server_uuid: str, model: DestinationCreate
) -> CoolipyAPIResponse[Any]:
    """Add a destination to a server."""
    return await self._post(f"/servers/{server_uuid}/destinations", json=_dump(model))

Add a destination to a server.

async def create(self, model: ServerCreateModel) ‑> coolipy._response.CoolipyAPIResponse[UUIDResponse]
Expand source code
async def create(self, model: ServerCreateModel) -> CoolipyAPIResponse[UUIDResponse]:
    """Create a server."""
    return await self._post("/servers", json=_dump(model), response_model=UUIDResponse)

Create a server.

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 server."""
    return await self._post(
        f"/servers/{uuid}/envs", json=_dump(model), response_model=UUIDResponse
    )

Create an environment variable for a server.

async def delete(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]
Expand source code
async def delete(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]:
    """Delete a server by UUID."""
    return await self._delete(f"/servers/{uuid}", response_model=MessageResponse)

Delete a server by UUID.

async def delete_env(self, uuid: str, env_id: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]
Expand source code
async def delete_env(self, uuid: str, env_id: str) -> CoolipyAPIResponse[MessageResponse]:
    """Delete an environment variable from a server."""
    return await self._delete(f"/servers/{uuid}/envs/{env_id}", response_model=MessageResponse)

Delete an environment variable from a server.

async def destinations(self, server_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[list[Destination]]
Expand source code
async def destinations(self, server_uuid: str) -> CoolipyAPIResponse[DestinationList]:
    """List destinations for a server."""
    return await self._get(
        f"/servers/{server_uuid}/destinations", response_model=list[Destination]
    )

List destinations for a server.

async def domains(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]
Expand source code
async def domains(self, uuid: str) -> CoolipyAPIResponse[Any]:
    """List domains configured on a server."""
    return await self._get(f"/servers/{uuid}/domains")

List domains configured on a server.

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 server."""
    return await self._get(f"/servers/{uuid}/envs", response_model=list[EnvironmentVariable])

List environment variables for a server.

async def get(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[ServerModel]
Expand source code
async def get(self, uuid: str) -> CoolipyAPIResponse[ServerModel]:
    """Get a server by UUID."""
    return await self._get(f"/servers/{uuid}", response_model=ServerModel)

Get a server by UUID.

async def list(self) ‑> coolipy._response.CoolipyAPIResponse[list[ServerModel]]
Expand source code
async def list(self) -> CoolipyAPIResponse[ServerList]:
    """List all servers."""
    return await self._get("/servers", response_model=list[ServerModel])

List all servers.

async def resources(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]
Expand source code
async def resources(self, uuid: str) -> CoolipyAPIResponse[Any]:
    """List resources running on a server."""
    return await self._get(f"/servers/{uuid}/resources")

List resources running on a server.

async def update(self, uuid: str, model: ServerUpdateModel) ‑> coolipy._response.CoolipyAPIResponse[ServerModel]
Expand source code
async def update(self, uuid: str, model: ServerUpdateModel) -> CoolipyAPIResponse[ServerModel]:
    """Update a server by UUID."""
    return await self._patch(f"/servers/{uuid}", json=_dump(model), response_model=ServerModel)

Update a server by UUID.

async def validate(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]
Expand source code
async def validate(self, uuid: str) -> CoolipyAPIResponse[Any]:
    """Validate a server."""
    return await self._post(f"/servers/{uuid}/validate")

Validate a server.

class Servers (transport: SyncTransport)
Expand source code
class Servers(ResourceBase):
    """Synchronous client for Coolify servers."""

    def list(self) -> CoolipyAPIResponse[ServerList]:
        """List all servers."""
        return self._get("/servers", response_model=list[ServerModel])

    def get(self, uuid: str) -> CoolipyAPIResponse[ServerModel]:
        """Get a server by UUID."""
        return self._get(f"/servers/{uuid}", response_model=ServerModel)

    def create(self, model: ServerCreateModel) -> CoolipyAPIResponse[UUIDResponse]:
        """Create a server."""
        return self._post("/servers", json=_dump(model), response_model=UUIDResponse)

    def update(self, uuid: str, model: ServerUpdateModel) -> CoolipyAPIResponse[ServerModel]:
        """Update a server by UUID."""
        return self._patch(f"/servers/{uuid}", json=_dump(model), response_model=ServerModel)

    def delete(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]:
        """Delete a server by UUID."""
        return self._delete(f"/servers/{uuid}", response_model=MessageResponse)

    def resources(self, uuid: str) -> CoolipyAPIResponse[Any]:
        """List resources running on a server."""
        return self._get(f"/servers/{uuid}/resources")

    def domains(self, uuid: str) -> CoolipyAPIResponse[Any]:
        """List domains configured on a server."""
        return self._get(f"/servers/{uuid}/domains")

    def validate(self, uuid: str) -> CoolipyAPIResponse[Any]:
        """Validate a server."""
        return self._post(f"/servers/{uuid}/validate")

    def destinations(self, server_uuid: str) -> CoolipyAPIResponse[DestinationList]:
        """List destinations for a server."""
        return self._get(f"/servers/{server_uuid}/destinations", response_model=list[Destination])

    def add_destination(
        self, server_uuid: str, model: DestinationCreate
    ) -> CoolipyAPIResponse[Any]:
        """Add a destination to a server."""
        return self._post(f"/servers/{server_uuid}/destinations", json=_dump(model))

    def envs(self, uuid: str) -> CoolipyAPIResponse[EnvironmentVariableList]:
        """List environment variables for a server."""
        return self._get(f"/servers/{uuid}/envs", response_model=list[EnvironmentVariable])

    def create_env(
        self, uuid: str, model: EnvironmentVariableCreate
    ) -> CoolipyAPIResponse[UUIDResponse]:
        """Create an environment variable for a server."""
        return self._post(f"/servers/{uuid}/envs", json=_dump(model), response_model=UUIDResponse)

    def delete_env(self, uuid: str, env_id: str) -> CoolipyAPIResponse[MessageResponse]:
        """Delete an environment variable from a server."""
        return self._delete(f"/servers/{uuid}/envs/{env_id}", response_model=MessageResponse)

Synchronous client for Coolify servers.

Ancestors

  • coolipy._base.ResourceBase

Methods

def add_destination(self, server_uuid: str, model: DestinationCreate) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]
Expand source code
def add_destination(
    self, server_uuid: str, model: DestinationCreate
) -> CoolipyAPIResponse[Any]:
    """Add a destination to a server."""
    return self._post(f"/servers/{server_uuid}/destinations", json=_dump(model))

Add a destination to a server.

def create(self, model: ServerCreateModel) ‑> coolipy._response.CoolipyAPIResponse[UUIDResponse]
Expand source code
def create(self, model: ServerCreateModel) -> CoolipyAPIResponse[UUIDResponse]:
    """Create a server."""
    return self._post("/servers", json=_dump(model), response_model=UUIDResponse)

Create a server.

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 server."""
    return self._post(f"/servers/{uuid}/envs", json=_dump(model), response_model=UUIDResponse)

Create an environment variable for a server.

def delete(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]
Expand source code
def delete(self, uuid: str) -> CoolipyAPIResponse[MessageResponse]:
    """Delete a server by UUID."""
    return self._delete(f"/servers/{uuid}", response_model=MessageResponse)

Delete a server by UUID.

def delete_env(self, uuid: str, env_id: str) ‑> coolipy._response.CoolipyAPIResponse[MessageResponse]
Expand source code
def delete_env(self, uuid: str, env_id: str) -> CoolipyAPIResponse[MessageResponse]:
    """Delete an environment variable from a server."""
    return self._delete(f"/servers/{uuid}/envs/{env_id}", response_model=MessageResponse)

Delete an environment variable from a server.

def destinations(self, server_uuid: str) ‑> coolipy._response.CoolipyAPIResponse[list[Destination]]
Expand source code
def destinations(self, server_uuid: str) -> CoolipyAPIResponse[DestinationList]:
    """List destinations for a server."""
    return self._get(f"/servers/{server_uuid}/destinations", response_model=list[Destination])

List destinations for a server.

def domains(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]
Expand source code
def domains(self, uuid: str) -> CoolipyAPIResponse[Any]:
    """List domains configured on a server."""
    return self._get(f"/servers/{uuid}/domains")

List domains configured on a server.

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 server."""
    return self._get(f"/servers/{uuid}/envs", response_model=list[EnvironmentVariable])

List environment variables for a server.

def get(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[ServerModel]
Expand source code
def get(self, uuid: str) -> CoolipyAPIResponse[ServerModel]:
    """Get a server by UUID."""
    return self._get(f"/servers/{uuid}", response_model=ServerModel)

Get a server by UUID.

def list(self) ‑> coolipy._response.CoolipyAPIResponse[list[ServerModel]]
Expand source code
def list(self) -> CoolipyAPIResponse[ServerList]:
    """List all servers."""
    return self._get("/servers", response_model=list[ServerModel])

List all servers.

def resources(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]
Expand source code
def resources(self, uuid: str) -> CoolipyAPIResponse[Any]:
    """List resources running on a server."""
    return self._get(f"/servers/{uuid}/resources")

List resources running on a server.

def update(self, uuid: str, model: ServerUpdateModel) ‑> coolipy._response.CoolipyAPIResponse[ServerModel]
Expand source code
def update(self, uuid: str, model: ServerUpdateModel) -> CoolipyAPIResponse[ServerModel]:
    """Update a server by UUID."""
    return self._patch(f"/servers/{uuid}", json=_dump(model), response_model=ServerModel)

Update a server by UUID.

def validate(self, uuid: str) ‑> coolipy._response.CoolipyAPIResponse[typing.Any]
Expand source code
def validate(self, uuid: str) -> CoolipyAPIResponse[Any]:
    """Validate a server."""
    return self._post(f"/servers/{uuid}/validate")

Validate a server.