PlaceableDatacenters
The datacenter choices this deployment offers for app creation, plus the two facts a caller needs to interpret an empty list.
type PlaceableDatacenters {
datacenters: [PlaceableDatacenter!]!
placementEnforced: Boolean!
servedBy: String
}
Fields
PlaceableDatacenters.datacenters ● [PlaceableDatacenter!]! non-null object
Every datacenter this deployment knows how to route to, sorted by code, including any that cannot currently hold an app. EMPTY means the control plane has never pushed a datacenter topology here, in which case createApp refuses every datacenter and the remedy is a change order (pg:upsert_datacenter_topology) rather than a different argument.
PlaceableDatacenters.placementEnforced ● Boolean! non-null scalar
Whether this deployment actually places apps by datacenter. True on any Citus tier: the datacenter is verified at creation and an unknown or empty one is refused. False on a single-node deployment (a developer machine, the CI database), where there is exactly one place an app can be, the argument is still required but cannot be verified, and the single entry returned is a formality. A caller should present a choice when this is true and need not when it is false.
PlaceableDatacenters.servedBy ● String scalar
The datacenter of the instance that answered this call, or null if it was not told its own. Present so a picker can SAY which datacenter it is talking to; deliberately NOT a default. The published origin is a multivalue record over every datacenter's load balancer, so the instance answering is whichever one DNS picked, and defaulting to it would place apps by exactly the accident createApp's required argument exists to remove.
Returned By
placeableDatacenters query