The examples on this page show common ways to use the APC API. They’re not a complete API reference. For the full, interactive API documentation, including every query, mutation, and type, go to
https://houston.<your-base-domain>/v1, and click the Docs tab. See Develop and test APC API queries for more on using the built-in GraphQL explorer.Astro Private Cloud 2.2This feature was introduced in Astro Private Cloud 2.2. To access this feature, upgrade your Astro Private Cloud installation to 2.2 or later.
system.nodePools.* or cluster.nodePools.* permissions. See Permissions.
List node pools on a cluster
workerQueueCount is how many worker queues reference the pool. capacity.overCommitted is true when those queues, counted at their maximum worker counts, request more than the pool’s total. Over-commitment is a warning, not a block.
capacity accepts an excludeDeploymentId argument, so a client editing one Deployment can show the pool’s committed total without double-counting that Deployment’s queues.
To see which queues are on a pool, request workerQueueClaims. The field returns null for a caller without node pool read permission:
Create a node pool
InputNodePool fields
Each
max* value must be a whole number greater than zero. Leaving one unset means the pool imposes no ceiling on that dimension, and only the platform resource limits apply.
InputToleration fields
Update a node pool
name and nodeSelector are non-null on InputNodePool, so every update must resend both. A call that sends only { "maxCpu": null } fails schema validation.
The optional fields behave as a partial patch, unlike InputWorkerQueue on upsertDeployment:
- An optional field you omit keeps its stored value.
- An optional field you set to
nullis cleared.
null. This is the only way to fix a mis-set ceiling, because a pool that’s in use can’t be deleted and recreated.
Renaming a pool is safe. Worker queues reference a pool by its identifier, so a rename can’t orphan them. A name that collides with another pool on the same cluster is refused.
Converge Deployments after a placement change
ChangingnodeSelector or tolerations doesn’t reach Deployments that already use the pool until you rebuild each one. pendingConvergenceDeploymentIds reports which Deployments aren’t running the pool’s current placement, without reading resources back from the cluster.
Rebuild exactly those Deployments:
Delete a node pool
Errors
Exceeding a pool’s total budget doesn’t produce an error. It sets
capacity.overCommitted to true.