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
@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.
@spec credentials(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Get connection credentials (URL, host, port, user, password) for a database.
@spec delete(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Delete a database by ID.
@spec get(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Fetch a database by ID.
@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).
@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.
@spec restart(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Restart a database.
@spec start(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Start a stopped database.
@spec stop(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())
Stop a running database.