Miosa.Databases (Miosa v1.0.1)

Copy Markdown View Source

Managed Postgres databases — CRUD, lifecycle, credentials, logs.

All mutating calls send an Idempotency-Key header automatically. Supply :idempotency_key in attrs to use your own.

Example

client = Miosa.client(System.fetch_env!("MIOSA_API_KEY"))

{:ok, db} = Miosa.Databases.create(client, %{name: "my-db", plan: "starter"})
{:ok, creds} = Miosa.Databases.credentials(client, db["id"])
IO.puts(creds["url"])

Summary

Functions

Create a database.

Get connection credentials (URL, host, port, user, password) for a database.

Delete a database by ID.

Fetch a database by ID.

List databases for the authenticated tenant.

Get recent logs for a database.

Restart a database.

Start a stopped database.

Stop a running database.

Functions

create(client, attrs)

@spec create(Miosa.Client.t(), map()) :: Miosa.Client.result(map())

Create a database.

Required: :name. Optional: :plan, :region, and any other attrs accepted by the API. Pass :idempotency_key to supply your own key.

credentials(client, database_id)

@spec credentials(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())

Get connection credentials (URL, host, port, user, password) for a database.

delete(client, database_id)

@spec delete(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())

Delete a database by ID.

get(client, database_id)

Fetch a database by ID.

list(client, filters \\ [])

@spec list(Miosa.Client.t(), keyword() | map()) :: Miosa.Client.result(map())

List databases for the authenticated tenant.

Accepts optional filters as a keyword list or map (e.g. :limit, :cursor).

logs(client, database_id, opts \\ [])

@spec logs(Miosa.Client.t(), String.t(), keyword() | map()) ::
  Miosa.Client.result(map())

Get recent logs for a database.

Options:

  • :lines — Number of log lines to return.
  • :since — ISO 8601 timestamp to fetch logs since.

restart(client, database_id)

@spec restart(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())

Restart a database.

start(client, database_id)

Start a stopped database.

stop(client, database_id)

Stop a running database.