palbase 0.41.4 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/index.js +2 -2
- package/dist/backend/engine.js +2 -2
- package/dist/backend/env.js +1 -1
- package/dist/backend/index.js +3 -3
- package/dist/backend/stack.js +1 -1
- package/dist/backend/test.js +2 -2
- package/dist/chunks/{QSE6AXUX.js → 3ALES4GW.js} +2 -2
- package/dist/chunks/{VRZ7MRR6.js → 3V2R2TR6.js} +2 -2
- package/dist/chunks/{C6JQWQXK.js → AUC3MGB4.js} +2 -2
- package/dist/chunks/{K52TUTTG.js → BWIMMYGK.js} +1 -1
- package/dist/chunks/{6MKBZUG5.js → CBK44RD7.js} +2 -2
- package/dist/chunks/{C4OVKHUJ.js → CSID6M5K.js} +2 -2
- package/dist/chunks/{KNHSVBEA.js → EAJCQWVC.js} +2 -2
- package/dist/chunks/{H5WYPJLL.js → FZNQI5NX.js} +2 -2
- package/dist/chunks/{ZQCMWPHA.js → GZEMT4H6.js} +1 -1
- package/dist/chunks/{TYKPS74C.js → H5SQFLB3.js} +2 -2
- package/dist/chunks/{FVE3IWT3.js → MA5NFRFD.js} +2 -2
- package/dist/chunks/{KKABIMVR.js → NKCDKRXI.js} +1 -1
- package/dist/chunks/{IDSPY65Y.js → OGKO54KL.js} +2 -2
- package/dist/chunks/{SQN7IT6S.js → OLNURQ4L.js} +2 -2
- package/dist/chunks/{2SUA35T2.js → PJEZZBOH.js} +2 -2
- package/dist/chunks/{GD2XG6E7.js → S6A4TOX6.js} +2 -2
- package/dist/chunks/{C6YBUYN7.js → SPMDE427.js} +2 -2
- package/dist/chunks/{X36WQ74J.js → UGHHYBPH.js} +1 -1
- package/dist/chunks/{XOQ7TMUA.js → UKI3AVCQ.js} +1 -1
- package/dist/chunks/{AM2ZKQIS.js → VKHVVO5Q.js} +1 -1
- package/dist/chunks/{MGDPW7FN.js → W6Q2GC64.js} +2 -2
- package/dist/chunks/{FDS4L27H.js → YKF4DIDX.js} +2 -2
- package/dist/chunks/{5JIVYVVV.js → ZP5GL5XR.js} +1 -1
- package/dist/cli.js +126 -126
- package/dist/cloud/index.js +2 -2
- package/dist/refuse/ai.js +1 -1
- package/dist/refuse/backend.js +1 -1
- package/dist/refuse/cloud.js +1 -1
- package/dist/refuse/server.js +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/testing.js +2 -2
- package/dist/web/index.js +2 -2
- package/dist/web/message.js +2 -2
- package/dist/web/palbe.js +2 -2
- package/dist/web/paywall.js +2 -2
- package/dist/web/push-sw.js +1 -1
- package/dist/web/ssr.js +2 -2
- package/dist/web/vite.js +2 -2
- package/package.json +2 -2
- package/types/cloud/src/generated/studio.d.ts +92 -61
- package/types/internal/src/modules/machines.d.ts +90 -38
|
@@ -160,9 +160,9 @@ export type Machine = {
|
|
|
160
160
|
*/
|
|
161
161
|
running_version: number;
|
|
162
162
|
/**
|
|
163
|
-
* The machine's size. shared-256 has a fraction of a CPU as its ceiling and is put to sleep when it is idle; a standard size never sleeps — its CPUs are its ceiling, a quarter of them reserved for it, the rest its node's when the other machines there leave them; a dedicated size has whole CPUs of its own and never sleeps. shared-256: 0.2 vCPU, 256 MiB (free); starter: 0.5 vCPU, 512 MiB; standard-1x: 1 vCPU, 2048 MiB; standard-2x: 2 vCPU, 4096 MiB; standard-4x: 4 vCPU, 8192 MiB; dedicated-1x: 1 vCPU of its own, 2048 MiB; dedicated-2x: 2 vCPU of its own, 4096 MiB. GET /machines/sizes lists each with its price. shared-512 and shared-1024 are retired: a machine that has one keeps it until it is moved to another size; none is opened at or moved to one.
|
|
163
|
+
* The machine's size. shared-256 has a fraction of a CPU as its ceiling and is put to sleep when it is idle; a standard size never sleeps — its CPUs are its ceiling, a quarter of them reserved for it, the rest its node's when the other machines there leave them; a dedicated size has whole CPUs of its own and never sleeps. shared-256: 0.2 vCPU, 256 MiB (free); starter: 0.5 vCPU, 512 MiB; standard-1x: 1 vCPU, 2048 MiB; standard-2x: 2 vCPU, 4096 MiB; standard-4x: 4 vCPU, 8192 MiB; standard-8x: 8 vCPU, 16384 MiB; highmem-4x: 4 vCPU, 16384 MiB; highmem-8x: 8 vCPU, 32768 MiB; dedicated-1x: 1 vCPU of its own, 2048 MiB; dedicated-2x: 2 vCPU of its own, 4096 MiB. GET /machines/sizes lists each with its price. shared-512 and shared-1024 are retired: a machine that has one keeps it until it is moved to another size; none is opened at or moved to one.
|
|
164
164
|
*/
|
|
165
|
-
size: "dedicated-1x" | "dedicated-2x" | "shared-1024" | "shared-256" | "shared-512" | "standard-1x" | "standard-2x" | "standard-4x" | "starter";
|
|
165
|
+
size: "dedicated-1x" | "dedicated-2x" | "highmem-4x" | "highmem-8x" | "shared-1024" | "shared-256" | "shared-512" | "standard-1x" | "standard-2x" | "standard-4x" | "standard-8x" | "starter";
|
|
166
166
|
/**
|
|
167
167
|
* building: no build of it runs yet (its first is on its way — waiting for its commit's checks too — or failed: `state_reason`); starting: on its way up; awake: answering; asleep: idle, and woken by the next request to its address; failed: it cannot start, or its first build failed or was skipped (`state_reason` says why).
|
|
168
168
|
*/
|
|
@@ -172,9 +172,9 @@ export type Machine = {
|
|
|
172
172
|
*/
|
|
173
173
|
state_reason?: string;
|
|
174
174
|
/**
|
|
175
|
-
* What kind of thing `state_reason` says: waiting — the version asked for waits before it takes traffic (on its commit's checks, its configuration, its tests, its contract, its database or its migration) and rolls out once that is done; not_up — it does not start or answer, or a copy of the one before it stays; given_up — it did not come up, and the one before it serves until the machine's next change; migration — its database migration failed (to start, and the version does not roll out; or to close); stopped — it was put to sleep for a reason; failed — it cannot run. Absent with no `state_reason`.
|
|
175
|
+
* What kind of thing `state_reason` says: waiting — the version asked for waits before it takes traffic (on its commit's checks, its configuration, its tests, its contract, its database or its migration) and rolls out once that is done; not_up — it does not start or answer, or a copy of the one before it stays; given_up — it did not come up, and the one before it serves until the machine's next change; migration — its database migration failed (to start, and the version does not roll out; or to close); stopped — it was put to sleep for a reason; failed — it cannot run; no_room — copies of it wait for room in the cluster: a node is being brought up (a few minutes), and the platform's operators are told if none can be. Absent with no `state_reason`.
|
|
176
176
|
*/
|
|
177
|
-
state_reason_kind?: "failed" | "given_up" | "migration" | "not_up" | "stopped" | "waiting";
|
|
177
|
+
state_reason_kind?: "failed" | "given_up" | "migration" | "no_room" | "not_up" | "stopped" | "waiting";
|
|
178
178
|
updated_at: string;
|
|
179
179
|
/**
|
|
180
180
|
* Where the machine answers: the project's own address for `backend`, <name>-<ref> under the app domain for any other.
|
|
@@ -206,11 +206,11 @@ export type Machine = {
|
|
|
206
206
|
*/
|
|
207
207
|
health_path?: string;
|
|
208
208
|
/**
|
|
209
|
-
* How many copies of the machine run while it is awake,
|
|
209
|
+
* How many copies of the machine run while it is awake, up to 100 (one on Free), over two nodes at least and no node holding more than half of them: a request is sent to one of them, a copy or a node that goes leaves the others serving, and the cluster takes one of them away at a time at most. Every copy is of the machine's size and counts as such against the project's limits and its machine time (a minute in which the number changed is counted at the most it was). What a copy keeps in its own memory or on its own disk the others do not see — a session, a counter, a cache, a timer: a machine with more than one keeps those where every copy reaches them. The machine finds the number in PALBASE_REPLICAS. A long-lived connection (a WebSocket) stays with the copy that took it.
|
|
210
210
|
*/
|
|
211
211
|
replicas: number;
|
|
212
212
|
/**
|
|
213
|
-
* Kept awake: a machine of a size that sleeps is never put to sleep when idle, and is started again at once when it is asleep — while its
|
|
213
|
+
* Kept awake: a machine of a size that sleeps is never put to sleep when idle, and is started again at once when it is asleep — while its project is on Pay as you go, which pays its every hour. Without them it sleeps as any; a dedicated size never sleeps.
|
|
214
214
|
*/
|
|
215
215
|
always_on: boolean;
|
|
216
216
|
/**
|
|
@@ -287,9 +287,9 @@ export type MachineCreate = {
|
|
|
287
287
|
*/
|
|
288
288
|
port?: number;
|
|
289
289
|
/**
|
|
290
|
-
* The machine's size. shared-256 has a fraction of a CPU as its ceiling and is put to sleep when it is idle; a standard size never sleeps — its CPUs are its ceiling, a quarter of them reserved for it, the rest its node's when the other machines there leave them; a dedicated size has whole CPUs of its own and never sleeps. shared-256: 0.2 vCPU, 256 MiB (free); starter: 0.5 vCPU, 512 MiB; standard-1x: 1 vCPU, 2048 MiB; standard-2x: 2 vCPU, 4096 MiB; standard-4x: 4 vCPU, 8192 MiB; dedicated-1x: 1 vCPU of its own, 2048 MiB; dedicated-2x: 2 vCPU of its own, 4096 MiB. GET /machines/sizes lists each with its price.
|
|
290
|
+
* The machine's size. shared-256 has a fraction of a CPU as its ceiling and is put to sleep when it is idle; a standard size never sleeps — its CPUs are its ceiling, a quarter of them reserved for it, the rest its node's when the other machines there leave them; a dedicated size has whole CPUs of its own and never sleeps. shared-256: 0.2 vCPU, 256 MiB (free); starter: 0.5 vCPU, 512 MiB; standard-1x: 1 vCPU, 2048 MiB; standard-2x: 2 vCPU, 4096 MiB; standard-4x: 4 vCPU, 8192 MiB; standard-8x: 8 vCPU, 16384 MiB; highmem-4x: 4 vCPU, 16384 MiB; highmem-8x: 8 vCPU, 32768 MiB; dedicated-1x: 1 vCPU of its own, 2048 MiB; dedicated-2x: 2 vCPU of its own, 4096 MiB. GET /machines/sizes lists each with its price.
|
|
291
291
|
*/
|
|
292
|
-
size: "dedicated-1x" | "dedicated-2x" | "shared-256" | "standard-1x" | "standard-2x" | "standard-4x" | "starter";
|
|
292
|
+
size: "dedicated-1x" | "dedicated-2x" | "highmem-4x" | "highmem-8x" | "shared-256" | "standard-1x" | "standard-2x" | "standard-4x" | "standard-8x" | "starter";
|
|
293
293
|
/**
|
|
294
294
|
* What the machine is started with in its environment, besides what the platform sets: PORT (where it listens), PALBASE_URL (its project's address, https://<ref>.<domain>), PALBASE_PROJECT_ID, PALBASE_REPLICAS (how many copies of it run) and, given a database, PALBASE_DB_URL and PALBASE_DB_CONNECTIONS (how many connections to it a copy may hold). PORT is refused here; the others, given here or among the machine's secrets, give way to the platform's. Names are environment variable names; 100 variables and 64 KiB at most. Keep secrets in the project's secrets and start the machine with them (`secrets`).
|
|
295
295
|
*/
|
|
@@ -306,11 +306,11 @@ export type MachineCreate = {
|
|
|
306
306
|
*/
|
|
307
307
|
health_path?: string;
|
|
308
308
|
/**
|
|
309
|
-
* How many copies of the machine run while it is awake,
|
|
309
|
+
* How many copies of the machine run while it is awake, up to 100 (one on Free), over two nodes at least and no node holding more than half of them: a request is sent to one of them, a copy or a node that goes leaves the others serving, and the cluster takes one of them away at a time at most. Every copy is of the machine's size and counts as such against the project's limits and its machine time (a minute in which the number changed is counted at the most it was). What a copy keeps in its own memory or on its own disk the others do not see — a session, a counter, a cache, a timer: a machine with more than one keeps those where every copy reaches them. The machine finds the number in PALBASE_REPLICAS. A long-lived connection (a WebSocket) stays with the copy that took it. One when left out.
|
|
310
310
|
*/
|
|
311
311
|
replicas?: number;
|
|
312
312
|
/**
|
|
313
|
-
* Keeps it awake (Machine.always_on): open to
|
|
313
|
+
* Keeps it awake (Machine.always_on): open to a project on Pay as you go, refused `always_on_not_available` otherwise.
|
|
314
314
|
*/
|
|
315
315
|
always_on?: boolean;
|
|
316
316
|
/**
|
|
@@ -384,9 +384,9 @@ export type MachineUpdate = {
|
|
|
384
384
|
*/
|
|
385
385
|
port?: number;
|
|
386
386
|
/**
|
|
387
|
-
* The machine's size. shared-256 has a fraction of a CPU as its ceiling and is put to sleep when it is idle; a standard size never sleeps — its CPUs are its ceiling, a quarter of them reserved for it, the rest its node's when the other machines there leave them; a dedicated size has whole CPUs of its own and never sleeps. shared-256: 0.2 vCPU, 256 MiB (free); starter: 0.5 vCPU, 512 MiB; standard-1x: 1 vCPU, 2048 MiB; standard-2x: 2 vCPU, 4096 MiB; standard-4x: 4 vCPU, 8192 MiB; dedicated-1x: 1 vCPU of its own, 2048 MiB; dedicated-2x: 2 vCPU of its own, 4096 MiB. GET /machines/sizes lists each with its price.
|
|
387
|
+
* The machine's size. shared-256 has a fraction of a CPU as its ceiling and is put to sleep when it is idle; a standard size never sleeps — its CPUs are its ceiling, a quarter of them reserved for it, the rest its node's when the other machines there leave them; a dedicated size has whole CPUs of its own and never sleeps. shared-256: 0.2 vCPU, 256 MiB (free); starter: 0.5 vCPU, 512 MiB; standard-1x: 1 vCPU, 2048 MiB; standard-2x: 2 vCPU, 4096 MiB; standard-4x: 4 vCPU, 8192 MiB; standard-8x: 8 vCPU, 16384 MiB; highmem-4x: 4 vCPU, 16384 MiB; highmem-8x: 8 vCPU, 32768 MiB; dedicated-1x: 1 vCPU of its own, 2048 MiB; dedicated-2x: 2 vCPU of its own, 4096 MiB. GET /machines/sizes lists each with its price.
|
|
388
388
|
*/
|
|
389
|
-
size?: "dedicated-1x" | "dedicated-2x" | "shared-256" | "standard-1x" | "standard-2x" | "standard-4x" | "starter";
|
|
389
|
+
size?: "dedicated-1x" | "dedicated-2x" | "highmem-4x" | "highmem-8x" | "shared-256" | "standard-1x" | "standard-2x" | "standard-4x" | "standard-8x" | "starter";
|
|
390
390
|
/**
|
|
391
391
|
* Replaces the machine's environment whole, besides PORT. Names are environment variable names; 100 variables and 64 KiB at most. Keep secrets in the project's secrets and start the machine with them (`secrets`).
|
|
392
392
|
*/
|
|
@@ -407,7 +407,7 @@ export type MachineUpdate = {
|
|
|
407
407
|
*/
|
|
408
408
|
replicas?: number;
|
|
409
409
|
/**
|
|
410
|
-
* Whether it is kept awake from now on (Machine.always_on): no version changes. Turning it on is open to
|
|
410
|
+
* Whether it is kept awake from now on (Machine.always_on): no version changes. Turning it on is open to a project on Pay as you go, refused `always_on_not_available` otherwise.
|
|
411
411
|
*/
|
|
412
412
|
always_on?: boolean;
|
|
413
413
|
/**
|
|
@@ -511,9 +511,9 @@ export type Database = {
|
|
|
511
511
|
*/
|
|
512
512
|
pooled_port: number;
|
|
513
513
|
/**
|
|
514
|
-
* The database's size. free: 0.25 vCPU, 512 MiB, 1 GB, put to sleep when idle (woken by the next connection in about 10 s), awake 400 hours a month at most, archived after a week asleep (its next connection brings it back from its backup); hobby: 0.25 vCPU, 512 MiB, 5 GB, put to sleep when idle, no monthly limit; starter: 1 GiB, up to 0.5 vCPU, 10 GB; standard-1x: 2 GiB, up to 1 vCPU, 25 GB; standard-2x: 4 GiB, up to 2 vCPU, 50 GB (a quarter of their CPU reserved for them); dedicated-1x: 1 vCPU of its own, 4 GiB, 25 GB; dedicated-2x: 2 vCPU of its own, 8 GiB, 50 GB. The standard and dedicated sizes never sleep and live on a Premium SSD v2 disk of their own; free and hobby on the platform's SAN.
|
|
514
|
+
* The database's size. free: 0.25 vCPU, 512 MiB, 1 GB, put to sleep when idle (woken by the next connection in about 10 s), awake 400 hours a month at most, archived after a week asleep (its next connection brings it back from its backup); hobby: 0.25 vCPU, 512 MiB, 5 GB, put to sleep when idle, no monthly limit; starter: 1 GiB, up to 0.5 vCPU, 10 GB; standard-1x: 2 GiB, up to 1 vCPU, 25 GB; standard-2x: 4 GiB, up to 2 vCPU, 50 GB; standard-4x: 16 GiB, up to 4 vCPU; standard-8x: 32 GiB, up to 8 vCPU; standard-16x: 64 GiB, up to 16 vCPU; standard-32x: 128 GiB, up to 32 vCPU, 100 GB each (a quarter of their CPU reserved for them); dedicated-1x: 1 vCPU of its own, 4 GiB, 25 GB; dedicated-2x: 2 vCPU of its own, 8 GiB, 50 GB. The standard and dedicated sizes never sleep and live on a Premium SSD v2 disk of their own; free and hobby on the platform's SAN. The GB of a size that never sleeps are its storage unless `storage_gb` says otherwise (1 or a multiple of 5, up to 4,000), billed by the GB past its first; its size's hours are its CPU and memory. A database past its storage turns read-only — or, `storage_autoscaling` on, grows by half when 90% full. What a project's machines and databases reserve between them is held to its limit: a size that does not fit is refused (409 `machines_over_limit`). preview: a machine's pull request preview's own database — 0.25 vCPU, 512 MiB, 500 MB, put to sleep when idle — opened with its preview and deleted with it; no database is opened at or moved to it. shared-1g, shared-2g and shared-4g are retired: a database that has one keeps it until it moves to another size; none is opened at or moved to one.
|
|
515
515
|
*/
|
|
516
|
-
size: "dedicated-1x" | "dedicated-2x" | "free" | "hobby" | "preview" | "shared-1g" | "shared-2g" | "shared-4g" | "standard-1x" | "standard-2x" | "starter";
|
|
516
|
+
size: "dedicated-1x" | "dedicated-2x" | "free" | "hobby" | "preview" | "shared-1g" | "shared-2g" | "shared-4g" | "standard-16x" | "standard-1x" | "standard-2x" | "standard-32x" | "standard-4x" | "standard-8x" | "starter";
|
|
517
517
|
/**
|
|
518
518
|
* Where its data lives, as its size says: san, the platform's SAN; premium, a Premium SSD v2 disk of its own.
|
|
519
519
|
*/
|
|
@@ -534,6 +534,10 @@ export type Database = {
|
|
|
534
534
|
* Why it is in its state, when that needs saying.
|
|
535
535
|
*/
|
|
536
536
|
state_reason?: string;
|
|
537
|
+
/**
|
|
538
|
+
* What `state_reason` says, when a client tells it from the words: no_room — it waits for room in the cluster: a node is being brought up for it (a few minutes), and the platform's operators are told if none can be. Absent otherwise.
|
|
539
|
+
*/
|
|
540
|
+
state_reason_kind?: "no_room";
|
|
537
541
|
/**
|
|
538
542
|
* When it was deleted; it may be taken back until `purge_after`.
|
|
539
543
|
*/
|
|
@@ -549,25 +553,33 @@ export type Database = {
|
|
|
549
553
|
*/
|
|
550
554
|
awake_hours?: number;
|
|
551
555
|
/**
|
|
552
|
-
* How long a Free
|
|
556
|
+
* How long a Free project's free and preview databases may run in a month between them — every environment's together, not each environment's — in hours (project_awake_hours): past it, they all sleep until the month ends, and a client is told so. Absent for a size with no such limit.
|
|
553
557
|
*/
|
|
554
558
|
awake_hours_limit?: number;
|
|
555
559
|
/**
|
|
556
|
-
* How long the
|
|
560
|
+
* How long the free and preview databases of every environment of the project have run this month between them, deleted ones too, in hours: what awake_hours_limit holds — a database deleted and opened again gets no new hours. Present with awake_hours_limit.
|
|
557
561
|
*/
|
|
558
|
-
|
|
562
|
+
project_awake_hours?: number;
|
|
559
563
|
/**
|
|
560
564
|
* How much it held when last measured — every database in it summed, the ones its owner made too — measured while it is awake. Absent before its first measure.
|
|
561
565
|
*/
|
|
562
566
|
used_bytes?: number;
|
|
563
567
|
/**
|
|
564
|
-
* The most its size
|
|
568
|
+
* The most it holds — its size's, or its storage (`storage_gb`). Past it, it is read-only.
|
|
565
569
|
*/
|
|
566
570
|
quota_bytes: number;
|
|
567
571
|
/**
|
|
568
572
|
* It holds its quota: a transaction takes no writes unless it asks to — BEGIN READ WRITE, to make room with DROP, TRUNCATE, or DELETE and then VACUUM FULL (a DELETE alone frees no room) — and it reads on. Once it holds less than 95% of its quota it takes writes again, within a minute.
|
|
569
573
|
*/
|
|
570
574
|
read_only: boolean;
|
|
575
|
+
/**
|
|
576
|
+
* What a database of a size on a disk of its own holds, in GB — its `quota_bytes` — as said when it was opened or grown (`DatabaseUpdate.storage_gb`), or its size's. It grows, never shrinks. Absent for a size on the platform's SAN (free, hobby), which holds its size's.
|
|
577
|
+
*/
|
|
578
|
+
storage_gb?: number;
|
|
579
|
+
/**
|
|
580
|
+
* Whether it grows by itself: 90% full, its storage grows by half, up to the next multiple of 5 GB (10 to 15, 25 to 40), six hours at least after it last grew, to 4,000 GB. Off, a database past its storage turns read-only, and its organization's owners are told at 90% and when it is full. Absent for a size on the platform's SAN.
|
|
581
|
+
*/
|
|
582
|
+
storage_autoscaling?: boolean;
|
|
571
583
|
/**
|
|
572
584
|
* A change of its passwords (POST …/password) has not reached the database yet: the new password works once this is false, a few seconds after. A client that hands the new password on waits for it.
|
|
573
585
|
*/
|
|
@@ -610,9 +622,9 @@ export type DatabaseCreate = {
|
|
|
610
622
|
*/
|
|
611
623
|
name?: string;
|
|
612
624
|
/**
|
|
613
|
-
* The database's size; `free` when left out. free: 0.25 vCPU, 512 MiB, 1 GB, put to sleep when idle (woken by the next connection in about 10 s), awake 400 hours a month at most, archived after a week asleep (its next connection brings it back from its backup); hobby: 0.25 vCPU, 512 MiB, 5 GB, put to sleep when idle, no monthly limit; starter: 1 GiB, up to 0.5 vCPU, 10 GB; standard-1x: 2 GiB, up to 1 vCPU, 25 GB; standard-2x: 4 GiB, up to 2 vCPU, 50 GB (a quarter of their CPU reserved for them); dedicated-1x: 1 vCPU of its own, 4 GiB, 25 GB; dedicated-2x: 2 vCPU of its own, 8 GiB, 50 GB. The standard and dedicated sizes never sleep and live on a Premium SSD v2 disk of their own; free and hobby on the platform's SAN.
|
|
625
|
+
* The database's size; `free` when left out. free: 0.25 vCPU, 512 MiB, 1 GB, put to sleep when idle (woken by the next connection in about 10 s), awake 400 hours a month at most, archived after a week asleep (its next connection brings it back from its backup); hobby: 0.25 vCPU, 512 MiB, 5 GB, put to sleep when idle, no monthly limit; starter: 1 GiB, up to 0.5 vCPU, 10 GB; standard-1x: 2 GiB, up to 1 vCPU, 25 GB; standard-2x: 4 GiB, up to 2 vCPU, 50 GB; standard-4x: 16 GiB, up to 4 vCPU; standard-8x: 32 GiB, up to 8 vCPU; standard-16x: 64 GiB, up to 16 vCPU; standard-32x: 128 GiB, up to 32 vCPU, 100 GB each (a quarter of their CPU reserved for them); dedicated-1x: 1 vCPU of its own, 4 GiB, 25 GB; dedicated-2x: 2 vCPU of its own, 8 GiB, 50 GB. The standard and dedicated sizes never sleep and live on a Premium SSD v2 disk of their own; free and hobby on the platform's SAN. The GB of a size that never sleeps are its storage unless `storage_gb` says otherwise (1 or a multiple of 5, up to 4,000), billed by the GB past its first; its size's hours are its CPU and memory. A database past its storage turns read-only — or, `storage_autoscaling` on, grows by half when 90% full. What a project's machines and databases reserve between them is held to its limit: a size that does not fit is refused (409 `machines_over_limit`).
|
|
614
626
|
*/
|
|
615
|
-
size?: "dedicated-1x" | "dedicated-2x" | "free" | "hobby" | "standard-1x" | "standard-2x" | "starter";
|
|
627
|
+
size?: "dedicated-1x" | "dedicated-2x" | "free" | "hobby" | "standard-16x" | "standard-1x" | "standard-2x" | "standard-32x" | "standard-4x" | "standard-8x" | "starter";
|
|
616
628
|
/**
|
|
617
629
|
* Who may connect, as addresses or CIDRs (203.0.113.7, 203.0.113.0/24), 50 at most; anyone with the password when empty.
|
|
618
630
|
*/
|
|
@@ -625,6 +637,14 @@ export type DatabaseCreate = {
|
|
|
625
637
|
* The ref of the environment called, when given: a new database is bound to the environment whose address it is made at (409 bound_to_environment for another — make it at that environment's address). Its name is the project's one: name_taken when another environment holds a database of that name.
|
|
626
638
|
*/
|
|
627
639
|
environment?: string;
|
|
640
|
+
/**
|
|
641
|
+
* What it holds, in GB: 1 or a multiple of 5, up to 4,000 — of a size on a disk of its own (400 `storage_not_adjustable` for free and hobby; 400 `invalid_storage` for another number). Its size's (`DatabaseSize.storage_bytes`) when left out. Billed by the GB-month past its first (`DatabaseSize.storage_price_micros_per_gb_month`).
|
|
642
|
+
*/
|
|
643
|
+
storage_gb?: number;
|
|
644
|
+
/**
|
|
645
|
+
* Whether it grows by itself: 90% full, by half, to the next multiple of 5 GB, six hours at least after it last grew; off when left out. Of a size on a disk of its own.
|
|
646
|
+
*/
|
|
647
|
+
storage_autoscaling?: boolean;
|
|
628
648
|
};
|
|
629
649
|
/**
|
|
630
650
|
* A change to a database; a field left out stays as it is.
|
|
@@ -639,9 +659,17 @@ export type DatabaseUpdate = {
|
|
|
639
659
|
*/
|
|
640
660
|
backup_days?: number;
|
|
641
661
|
/**
|
|
642
|
-
* The database's size (see `Database.size`); one that is paid for is open to the platform's own project and those named for it alone, as it is opened (403 `size_not_available`). One of the same machine and disk and no larger volume — hobby to free — changes in place. Any other moves through an instance of the new size beside the one that serves, made where the new size lives (a disk of its own, or a SAN volume of its own), which then takes over: the database serves on meanwhile (`state` resizing); its sessions on the direct port end once, when its primary moves, and new logins and transactions wait a few seconds for it. One asleep is woken for its move — its awake hours or disk traffic spent or not, when the size it moves to has no such limit; to one whose it has spent, it sleeps — and the move's time counts against none of them. One down for want of room, moved to a size of a larger volume, is given that room first, in place, and moves once it serves. A move that has not come to its switchover within two hours, and a second for every 10 MB the database holds, is let go: the database stays its size, and `state_reason` says why until its size is changed again — as is one whose primary went down three times before it came to its switchover. One whose primary moves where the move did not ask is stopped, both its instances kept (`state_reason`); onto its instance of the new size, ready — as a node drained moves it — it has come to its switchover. One whose instance of the new size does not take over within five minutes of its switchover says so in `state_reason`, and moves on once it does. Its disk never shrinks. While it moves it serves with the connections of the one of the two sizes that takes fewer; the machines given it are rolled out to their share of the new size's — at once when it takes fewer, once it has moved when it takes more. A size smaller than what it holds is refused (409 `database_too_large`), as is one of a smaller quota while what it holds is not measured yet (409 `database_not_measured`, Retry-After), and so is one the project's limit has no room for (409 `machines_over_limit`),
|
|
662
|
+
* The database's size (see `Database.size`); one that is paid for is open to the platform's own project and those named for it alone, as it is opened (403 `size_not_available`). One of the same machine and disk and no larger volume — hobby to free — changes in place. Any other moves through an instance of the new size beside the one that serves, made where the new size lives (a disk of its own, or a SAN volume of its own), which then takes over: the database serves on meanwhile (`state` resizing); its sessions on the direct port end once, when its primary moves, and new logins and transactions wait a few seconds for it. One asleep is woken for its move — its awake hours or disk traffic spent or not, when the size it moves to has no such limit; to one whose it has spent, it sleeps — and the move's time counts against none of them. One down for want of room, moved to a size of a larger volume, is given that room first, in place, and moves once it serves. A move that has not come to its switchover within two hours, and a second for every 10 MB the database holds, is let go: the database stays its size, and `state_reason` says why until its size is changed again — as is one whose primary went down three times before it came to its switchover. One whose primary moves where the move did not ask is stopped, both its instances kept (`state_reason`); onto its instance of the new size, ready — as a node drained moves it — it has come to its switchover. One whose instance of the new size does not take over within five minutes of its switchover says so in `state_reason`, and moves on once it does. Its disk never shrinks, and a database on a disk of its own keeps its storage (`storage_gb`) through the change. While it moves it serves with the connections of the one of the two sizes that takes fewer; the machines given it are rolled out to their share of the new size's — at once when it takes fewer, once it has moved when it takes more. A size smaller than what it holds is refused (409 `database_too_large`), as is one of a smaller quota while what it holds is not measured yet (409 `database_not_measured`, Retry-After), and so is one the project's limit has no room for (409 `machines_over_limit`), or one whose connections are too few for the copies the machines given it run (409 `database_connections_short`).
|
|
663
|
+
*/
|
|
664
|
+
size?: "dedicated-1x" | "dedicated-2x" | "free" | "hobby" | "standard-16x" | "standard-1x" | "standard-2x" | "standard-32x" | "standard-4x" | "standard-8x" | "starter";
|
|
665
|
+
/**
|
|
666
|
+
* What it holds, grown, in GB: more than it holds, 1 or a multiple of 5, up to 4,000 — never less (409 `storage_shrinks`), and six hours at least after it last grew (409 `storage_grew_recently`, Retry-After). It grows where it is, serving on; it holds the same through a change of size.
|
|
667
|
+
*/
|
|
668
|
+
storage_gb?: number;
|
|
669
|
+
/**
|
|
670
|
+
* Whether it grows by itself: 90% full, by half, to the next multiple of 5 GB, six hours at least after it last grew; off when left out. Of a size on a disk of its own.
|
|
643
671
|
*/
|
|
644
|
-
|
|
672
|
+
storage_autoscaling?: boolean;
|
|
645
673
|
};
|
|
646
674
|
/**
|
|
647
675
|
* Whose password is made new.
|
|
@@ -965,9 +993,9 @@ export type DatabaseCreated = {
|
|
|
965
993
|
*/
|
|
966
994
|
pooled_port: number;
|
|
967
995
|
/**
|
|
968
|
-
* The database's size. free: 0.25 vCPU, 512 MiB, 1 GB, put to sleep when idle (woken by the next connection in about 10 s), awake 400 hours a month at most, archived after a week asleep (its next connection brings it back from its backup); hobby: 0.25 vCPU, 512 MiB, 5 GB, put to sleep when idle, no monthly limit; starter: 1 GiB, up to 0.5 vCPU, 10 GB; standard-1x: 2 GiB, up to 1 vCPU, 25 GB; standard-2x: 4 GiB, up to 2 vCPU, 50 GB (a quarter of their CPU reserved for them); dedicated-1x: 1 vCPU of its own, 4 GiB, 25 GB; dedicated-2x: 2 vCPU of its own, 8 GiB, 50 GB. The standard and dedicated sizes never sleep and live on a Premium SSD v2 disk of their own; free and hobby on the platform's SAN.
|
|
996
|
+
* The database's size. free: 0.25 vCPU, 512 MiB, 1 GB, put to sleep when idle (woken by the next connection in about 10 s), awake 400 hours a month at most, archived after a week asleep (its next connection brings it back from its backup); hobby: 0.25 vCPU, 512 MiB, 5 GB, put to sleep when idle, no monthly limit; starter: 1 GiB, up to 0.5 vCPU, 10 GB; standard-1x: 2 GiB, up to 1 vCPU, 25 GB; standard-2x: 4 GiB, up to 2 vCPU, 50 GB; standard-4x: 16 GiB, up to 4 vCPU; standard-8x: 32 GiB, up to 8 vCPU; standard-16x: 64 GiB, up to 16 vCPU; standard-32x: 128 GiB, up to 32 vCPU, 100 GB each (a quarter of their CPU reserved for them); dedicated-1x: 1 vCPU of its own, 4 GiB, 25 GB; dedicated-2x: 2 vCPU of its own, 8 GiB, 50 GB. The standard and dedicated sizes never sleep and live on a Premium SSD v2 disk of their own; free and hobby on the platform's SAN. The GB of a size that never sleeps are its storage unless `storage_gb` says otherwise (1 or a multiple of 5, up to 4,000), billed by the GB past its first; its size's hours are its CPU and memory. A database past its storage turns read-only — or, `storage_autoscaling` on, grows by half when 90% full. What a project's machines and databases reserve between them is held to its limit: a size that does not fit is refused (409 `machines_over_limit`).
|
|
969
997
|
*/
|
|
970
|
-
size: "dedicated-1x" | "dedicated-2x" | "free" | "hobby" | "standard-1x" | "standard-2x" | "starter";
|
|
998
|
+
size: "dedicated-1x" | "dedicated-2x" | "free" | "hobby" | "standard-16x" | "standard-1x" | "standard-2x" | "standard-32x" | "standard-4x" | "standard-8x" | "starter";
|
|
971
999
|
/**
|
|
972
1000
|
* Where its data lives, as its size says: san, the platform's SAN; premium, a Premium SSD v2 disk of its own.
|
|
973
1001
|
*/
|
|
@@ -988,6 +1016,10 @@ export type DatabaseCreated = {
|
|
|
988
1016
|
* Why it is in its state, when that needs saying.
|
|
989
1017
|
*/
|
|
990
1018
|
state_reason?: string;
|
|
1019
|
+
/**
|
|
1020
|
+
* What `state_reason` says, when a client tells it from the words: no_room — it waits for room in the cluster: a node is being brought up for it (a few minutes), and the platform's operators are told if none can be. Absent otherwise.
|
|
1021
|
+
*/
|
|
1022
|
+
state_reason_kind?: "no_room";
|
|
991
1023
|
/**
|
|
992
1024
|
* When it was deleted; it may be taken back until `purge_after`.
|
|
993
1025
|
*/
|
|
@@ -1003,25 +1035,33 @@ export type DatabaseCreated = {
|
|
|
1003
1035
|
*/
|
|
1004
1036
|
awake_hours?: number;
|
|
1005
1037
|
/**
|
|
1006
|
-
* How long a Free
|
|
1038
|
+
* How long a Free project's free and preview databases may run in a month between them — every environment's together, not each environment's — in hours (project_awake_hours): past it, they all sleep until the month ends, and a client is told so. Absent for a size with no such limit.
|
|
1007
1039
|
*/
|
|
1008
1040
|
awake_hours_limit?: number;
|
|
1009
1041
|
/**
|
|
1010
|
-
* How long the
|
|
1042
|
+
* How long the free and preview databases of every environment of the project have run this month between them, deleted ones too, in hours: what awake_hours_limit holds — a database deleted and opened again gets no new hours. Present with awake_hours_limit.
|
|
1011
1043
|
*/
|
|
1012
|
-
|
|
1044
|
+
project_awake_hours?: number;
|
|
1013
1045
|
/**
|
|
1014
1046
|
* How much it held when last measured — every database in it summed, the ones its owner made too — measured while it is awake. Absent before its first measure.
|
|
1015
1047
|
*/
|
|
1016
1048
|
used_bytes?: number;
|
|
1017
1049
|
/**
|
|
1018
|
-
* The most its size
|
|
1050
|
+
* The most it holds — its size's, or its storage (`storage_gb`). Past it, it is read-only.
|
|
1019
1051
|
*/
|
|
1020
1052
|
quota_bytes: number;
|
|
1021
1053
|
/**
|
|
1022
1054
|
* It holds its quota: a transaction takes no writes unless it asks to — BEGIN READ WRITE, to make room with DROP, TRUNCATE, or DELETE and then VACUUM FULL (a DELETE alone frees no room) — and it reads on. Once it holds less than 95% of its quota it takes writes again, within a minute.
|
|
1023
1055
|
*/
|
|
1024
1056
|
read_only: boolean;
|
|
1057
|
+
/**
|
|
1058
|
+
* What a database of a size on a disk of its own holds, in GB — its `quota_bytes` — as said when it was opened or grown (`DatabaseUpdate.storage_gb`), or its size's. It grows, never shrinks. Absent for a size on the platform's SAN (free, hobby), which holds its size's.
|
|
1059
|
+
*/
|
|
1060
|
+
storage_gb?: number;
|
|
1061
|
+
/**
|
|
1062
|
+
* Whether it grows by itself: 90% full, its storage grows by half, up to the next multiple of 5 GB (10 to 15, 25 to 40), six hours at least after it last grew, to 4,000 GB. Off, a database past its storage turns read-only, and its organization's owners are told at 90% and when it is full. Absent for a size on the platform's SAN.
|
|
1063
|
+
*/
|
|
1064
|
+
storage_autoscaling?: boolean;
|
|
1025
1065
|
/**
|
|
1026
1066
|
* A change of its passwords (POST …/password) has not reached the database yet: the new password works once this is false, a few seconds after. A client that hands the new password on waits for it.
|
|
1027
1067
|
*/
|
|
@@ -1224,7 +1264,7 @@ export type DatabaseSize = {
|
|
|
1224
1264
|
*/
|
|
1225
1265
|
memory_mib: number;
|
|
1226
1266
|
/**
|
|
1227
|
-
*
|
|
1267
|
+
* What it holds unless said otherwise: its size's; past it it turns read-only. A size that is `storage_adjustable` holds what its database says (`storage_gb`).
|
|
1228
1268
|
*/
|
|
1229
1269
|
storage_bytes: number;
|
|
1230
1270
|
/**
|
|
@@ -1252,11 +1292,23 @@ export type DatabaseSize = {
|
|
|
1252
1292
|
*/
|
|
1253
1293
|
pooled_connections: number;
|
|
1254
1294
|
/**
|
|
1255
|
-
* What an hour of a database of this size awake costs on Pay as you go, in micro-USD (the price table's; a free size's past its free hours).
|
|
1295
|
+
* What an hour of a database of this size awake costs on Pay as you go, in micro-USD (the price table's; a free size's past its free hours) — of a size on a disk of its own, its CPU and memory alone: its storage is billed by the GB (`storage_price_micros_per_gb_month`).
|
|
1256
1296
|
*/
|
|
1257
1297
|
price_micros_per_hour: number;
|
|
1258
1298
|
/**
|
|
1259
|
-
* A size
|
|
1299
|
+
* A database of this size holds the storage it says (`storage_gb`), up to `max_storage_gb`, and grows; one of another (free, hobby) holds its size's.
|
|
1300
|
+
*/
|
|
1301
|
+
storage_adjustable: boolean;
|
|
1302
|
+
/**
|
|
1303
|
+
* The most a database of this size may hold, in GB: 4,000. Absent when it is not `storage_adjustable`.
|
|
1304
|
+
*/
|
|
1305
|
+
max_storage_gb?: number;
|
|
1306
|
+
/**
|
|
1307
|
+
* What a GB of its storage costs a month past its first GB, awake, in micro-USD: Render's 0.30 USD. Absent when it is not `storage_adjustable`.
|
|
1308
|
+
*/
|
|
1309
|
+
storage_price_micros_per_gb_month?: number;
|
|
1310
|
+
/**
|
|
1311
|
+
* A free size: its databases, as many as the project opens, share the project's free database hours (every environment's together); the others are paid for.
|
|
1260
1312
|
*/
|
|
1261
1313
|
free: boolean;
|
|
1262
1314
|
/**
|
|
@@ -2357,7 +2409,7 @@ export declare function client(t: Transport): {
|
|
|
2357
2409
|
/**
|
|
2358
2410
|
* Add a domain to a machine
|
|
2359
2411
|
*
|
|
2360
|
-
* Adds a domain of the customer's own the machine answers at too, once its owner has added the records the answer names to its DNS. Refused when another environment has it (domain_taken), when it is one of the platform's, or past the environment's twenty.
|
|
2412
|
+
* Adds a domain of the customer's own the machine answers at too, once its owner has added the records the answer names to its DNS. Refused when another environment has it (domain_taken), when it is one of the platform's, or past the project's domains, every environment's together: twenty on Free, a hundred on Pay as you go (too_many_domains).
|
|
2361
2413
|
*/
|
|
2362
2414
|
addMachineDomain(input: {
|
|
2363
2415
|
path: {
|
|
@@ -2454,7 +2506,7 @@ export declare function client(t: Transport): {
|
|
|
2454
2506
|
/**
|
|
2455
2507
|
* List database sizes
|
|
2456
2508
|
*
|
|
2457
|
-
* Every database size, the ones that sleep first: what a database of it is given and may hold, its monthly limits, and whether this project may open one of it now. A size that is not open says why (`reason`): a size that is paid for is open to a project that may pay
|
|
2509
|
+
* Every database size, the ones that sleep first: what a database of it is given and may hold, its monthly limits, and whether this project may open one of it now. A size that is not open says why (`reason`): a size that is paid for is open to a project that may pay; the free size is open to every project, its databases of it — as many as it opens — sharing its free database hours.
|
|
2458
2510
|
*/
|
|
2459
2511
|
listDatabaseSizes(input?: {
|
|
2460
2512
|
signal?: AbortSignal;
|
|
@@ -2973,7 +3025,7 @@ export declare function client(t: Transport): {
|
|
|
2973
3025
|
/**
|
|
2974
3026
|
* Add a domain to a site
|
|
2975
3027
|
*
|
|
2976
|
-
* Adds a domain of the customer's own the site answers at too, once its owner has added the records the answer names to its DNS. Refused when another environment has it (domain_taken), when it is one of the platform's, or past the environment's twenty.
|
|
3028
|
+
* Adds a domain of the customer's own the site answers at too, once its owner has added the records the answer names to its DNS. Refused when another environment has it (domain_taken), when it is one of the platform's, or past the project's domains, every environment's together: twenty on Free, a hundred on Pay as you go (too_many_domains).
|
|
2977
3029
|
*/
|
|
2978
3030
|
addSiteDomain(input: {
|
|
2979
3031
|
path: {
|
|
@@ -3060,7 +3112,7 @@ export declare function client(t: Transport): {
|
|
|
3060
3112
|
/**
|
|
3061
3113
|
* Move a machine to another environment of its project
|
|
3062
3114
|
*
|
|
3063
|
-
* Binds the machine to another environment of its project (the user's call of 2026-11-01): it takes that environment's settings, secrets and modules from its next start, and its address names it (<name>-<the environment's ref>). The operator moves it — out of the environment it leaves, into the new one at the version it serves — in its own pass: the machine says where it is moving (moving_to) until it has, a second or so, and what ran where it left answers until it is up in the new one (moved_from; ten minutes at most). It answers at the address it had too, for good (former_urls; the user's call of 2026-11-02). Its domains of its own move with it, and answer throughout: none of them may be added in the new environment too (domain_in_environment)
|
|
3115
|
+
* Binds the machine to another environment of its project (the user's call of 2026-11-01): it takes that environment's settings, secrets and modules from its next start, and its address names it (<name>-<the environment's ref>). The operator moves it — out of the environment it leaves, into the new one at the version it serves — in its own pass: the machine says where it is moving (moving_to) until it has, a second or so, and what ran where it left answers until it is up in the new one (moved_from; ten minutes at most). It answers at the address it had too, for good (former_urls; the user's call of 2026-11-02). Its domains of its own move with it, and answer throughout: none of them may be added in the new environment too (domain_in_environment); they are the project's, counted across its environments, and take no room there. Its pull requests' previews are closed; a new push opens them in the new environment. The database it is given stays where it is kept, given across environments. Its name is the project's one (name_taken when the new environment holds a machine of that name). It needs the admin role in both environments (environment_role_required); an environment's own token or key moves nothing out of it (environment_not_found).
|
|
3064
3116
|
*/
|
|
3065
3117
|
moveMachine(input: {
|
|
3066
3118
|
path: {
|
|
@@ -3072,7 +3124,7 @@ export declare function client(t: Transport): {
|
|
|
3072
3124
|
/**
|
|
3073
3125
|
* Move a site to another environment of its project
|
|
3074
3126
|
*
|
|
3075
|
-
* Binds the site to another environment of its project (the user's call of 2026-11-01), as a machine moves: the operator copies its files and releases to the new environment while it serves on where it is, then moves it — its releases, its builds, its domains of its own — in one transaction, a few seconds after the request; its address names the new environment from then on (<name>-<the environment's ref>), and it answers at the one it had too, for good (urls; the user's call of 2026-11-02). Its pull requests' previews are closed; a new push opens them in the new environment. A build of it going on is stopped and built again there; the GitHub installation it is built through is linked to the new environment when it is not. Meanwhile a change of it is refused (409 site_moving), and a move to its own environment lets the move go. The new environment must have room for
|
|
3127
|
+
* Binds the site to another environment of its project (the user's call of 2026-11-01), as a machine moves: the operator copies its files and releases to the new environment while it serves on where it is, then moves it — its releases, its builds, its domains of its own — in one transaction, a few seconds after the request; its address names the new environment from then on (<name>-<the environment's ref>), and it answers at the one it had too, for good (urls; the user's call of 2026-11-02). Its pull requests' previews are closed; a new push opens them in the new environment. A build of it going on is stopped and built again there; the GitHub installation it is built through is linked to the new environment when it is not. Meanwhile a change of it is refused (409 site_moving), and a move to its own environment lets the move go. The new environment must have room for a site more (too_many_sites), no site of its name (name_taken) and none of its domains added too (domain_in_environment); its files and its domains are the project's, counted across its environments, and take no room there. A site the platform's operator took down moves nowhere (site_taken_down). It needs the admin role in both environments (environment_role_required); an environment's own token or key moves nothing out of it (environment_not_found). A move that cannot be made is let go of, and the site says why (move_note).
|
|
3076
3128
|
*/
|
|
3077
3129
|
moveSite(input: {
|
|
3078
3130
|
path: {
|
|
@@ -3084,7 +3136,7 @@ export declare function client(t: Transport): {
|
|
|
3084
3136
|
/**
|
|
3085
3137
|
* Move a database to another environment of its project
|
|
3086
3138
|
*
|
|
3087
|
-
* Binds the database to another environment of its project (the user's call of 2026-11-01): what it is — its row, what it is counted and paid for from then on, its address — becomes the new environment's, a few seconds after the request; what holds its data stays where it was made, so nothing is copied and it answers throughout. Its host names the new environment from then on (<name>-<the environment's ref>), and the one it had answers too, for good (former_hosts; the user's call of 2026-11-02); the machines given it are rolled out to the new host, beside the version that serves. Its migrations are the machines' of the environment that keeps it: the machines that run them move with it when with_machines says so — said to move in one step, each after the database — or the move is refused (migrations_where_kept, with the machines). A pull request preview's own database moves with nothing (preview_database); one being resized, restored or archived moves once that is done (database_busy). The new environment must have room for it as for a database opened there (
|
|
3139
|
+
* Binds the database to another environment of its project (the user's call of 2026-11-01): what it is — its row, what it is counted and paid for from then on, its address — becomes the new environment's, a few seconds after the request; what holds its data stays where it was made, so nothing is copied and it answers throughout. Its host names the new environment from then on (<name>-<the environment's ref>), and the one it had answers too, for good (former_hosts; the user's call of 2026-11-02); the machines given it are rolled out to the new host, beside the version that serves. Its migrations are the machines' of the environment that keeps it: the machines that run them move with it when with_machines says so — said to move in one step, each after the database — or the move is refused (migrations_where_kept, with the machines). A pull request preview's own database moves with nothing (preview_database); one being resized, restored or archived moves once that is done (database_busy). The new environment must have room for it as for a database opened there (too_many_databases, size_not_available, backup_days_not_available) and no database of its name (name_taken). Meanwhile a change of it is refused (409 database_moving), and a move to its own environment lets the move go. It needs the admin role in both environments (environment_role_required); an environment's own token or key moves nothing out of it (environment_not_found). A move that cannot be made is let go of, and the database says why (move_note).
|
|
3088
3140
|
*/
|
|
3089
3141
|
moveDatabase(input: {
|
|
3090
3142
|
path: {
|