Create a node pool
const url = 'https://api.aetherplatform.cloud/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/nodepools';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","vcpus":1,"memory_gb":1,"disk_gb":1,"min_nodes":1,"max_nodes":1,"desired_nodes":1,"min_vcpus":1,"max_vcpus":1,"min_memory_gb":1,"max_memory_gb":1,"node_labels":{"additionalProperty":"example"},"node_taints":[{"key":"example","value":"example","effect":"NoSchedule"}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.aetherplatform.cloud/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/nodepools \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "vcpus": 1, "memory_gb": 1, "disk_gb": 1, "min_nodes": 1, "max_nodes": 1, "desired_nodes": 1, "min_vcpus": 1, "max_vcpus": 1, "min_memory_gb": 1, "max_memory_gb": 1, "node_labels": { "additionalProperty": "example" }, "node_taints": [ { "key": "example", "value": "example", "effect": "NoSchedule" } ] }'Creates a node pool. Autoscaling is permitted; when min_nodes, desired_nodes, and max_nodes are equal the pool is fixed-size. Omitted bounds default to desired_nodes (which defaults to 1). Returns 202 while the pool provisions.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Organization UUID.
Cluster UUID.
Request Body required
Section titled “Request Body required ”object
Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling.
Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling.
Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling.
Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling.
Labels applied to the pool’s nodes at bootstrap. Reserved key prefixes (aether.cloud/, kubernetes.io/, k8s.io/, node-role.kubernetes.io/, node.kubernetes.io/) are rejected.
object
Taints applied to the pool’s nodes at bootstrap (create-only; immutable thereafter). Reserved key prefixes (aether.cloud/, kubernetes.io/, k8s.io/, node-role.kubernetes.io/, node.kubernetes.io/) are rejected, and a cluster must retain at least one pool with no NoSchedule/NoExecute taint.
object
Responses
Section titled “ Responses ”Node pool accepted for provisioning.
object
Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling.
Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling.
Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling.
Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling.
Labels applied to the pool’s nodes at bootstrap.
object
Taints applied to the pool’s nodes at bootstrap (set at create; immutable).
object
Example
{ "node_taints": [ { "effect": "NoSchedule" } ], "status": "provisioning"}Invalid request. Includes no_schedulable_pool when the new pool’s taints would leave the cluster with no pool that can schedule workloads (a cluster must retain at least one pool with no NoSchedule/NoExecute taint).
object
object
A stable, machine-readable error code.
object
Example generated
{ "error": { "code": "example", "message": "example", "details": [ { "field": "example", "code": "example", "message": "example" } ] }}Missing or invalid credentials.
object
object
A stable, machine-readable error code.
object
Example generated
{ "error": { "code": "example", "message": "example", "details": [ { "field": "example", "code": "example", "message": "example" } ] }}The requested resource was not found.
object
object
A stable, machine-readable error code.
object
Example generated
{ "error": { "code": "example", "message": "example", "details": [ { "field": "example", "code": "example", "message": "example" } ] }}The resource already exists or conflicts with current state.
object
object
A stable, machine-readable error code.
object
Example generated
{ "error": { "code": "example", "message": "example", "details": [ { "field": "example", "code": "example", "message": "example" } ] }}Request validation failed.
object
object
A stable, machine-readable error code.
object
Example generated
{ "error": { "code": "example", "message": "example", "details": [ { "field": "example", "code": "example", "message": "example" } ] }}