Update a node pool
const url = 'https://api.aetherplatform.cloud/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/nodepools/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PUT', 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,"drain_timeout_seconds":1,"scale_down_delay_seconds":1,"scale_down_utilization_percent":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.aetherplatform.cloud/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/nodepools/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --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, "drain_timeout_seconds": 1, "scale_down_delay_seconds": 1, "scale_down_utilization_percent": 1 }'Partial update. Any omitted field keeps its stored value. The merged result must satisfy min_nodes <= desired_nodes <= max_nodes.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Organization UUID.
Cluster UUID.
Node pool UUID.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling. A non-zero minimum must cover at least one node; set BOTH min_vcpus and min_memory_gb to 0 (with the maxima set) to let the pool scale to zero nodes.
Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling.
Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling. A non-zero minimum must cover at least one node; set BOTH min_vcpus and min_memory_gb to 0 (with the maxima set) to let the pool scale to zero nodes.
Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling.
How long to drain a node in this pool before deleting it anyway. Omitting the field leaves whatever the pool already has, and an explicit null is accepted but treated identically (no change) rather than as a reset — a configured timeout cannot be cleared back to the platform default through this endpoint. 0 is rejected — see CreateNodePoolRequest.
How long a node in this pool must stay underutilised before the autoscaler removes it. Omitting the field leaves whatever the pool already has, and an explicit null is accepted but treated identically (no change) rather than as a reset — a configured value cannot be cleared back to the platform default through this endpoint. See CreateNodePoolRequest for the meaning and the accepted range.
A node counts as underutilised when its CPU and memory requests are both below this share of allocatable capacity. Omitting the field (or sending null) leaves whatever the pool already has; there is no way to clear back to the platform default through this endpoint.
Examplegenerated
{ "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, "drain_timeout_seconds": 1, "scale_down_delay_seconds": 1, "scale_down_utilization_percent": 1}Responses
Section titled “Responses”The updated node pool.
object
Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling. A non-zero minimum must cover at least one node; set BOTH min_vcpus and min_memory_gb to 0 (with the maxima set) to let the pool scale to zero nodes.
Optional per-pool CPU autoscaling budget (total pool vCPUs); max > min ⇒ autoscaling.
Optional per-pool memory autoscaling budget (total pool GB); max > min ⇒ autoscaling. A non-zero minimum must cover at least one node; set BOTH min_vcpus and min_memory_gb to 0 (with the maxima set) to let the pool scale to zero nodes.
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
How long the platform drains a node in this pool before deleting it anyway. Omitted when the pool has none configured, which means the platform default of 600s applies (and keeps applying if that default changes).
How long a node in this pool must stay underutilised before the autoscaler removes it. Omitted when the pool has none configured, which means the platform default of 600s applies (and keeps applying if that default changes). Acts on the scale-down DECISION; drain_timeout_seconds bounds the removal once it is decided. Only autoscaling pools have an autoscaler node group, so on a fixed pool the value is stored and reported but has no effect.
A node counts as underutilised when its CPU and memory requests are both below this share of allocatable capacity. Omitted when the pool has none configured, which means the platform default of 50 applies.
Example
{ "node_taints": [ { "effect": "NoSchedule" } ], "status": "provisioning"}Missing or invalid credentials.
object
object
A stable, machine-readable error code.
object
Examplegenerated
{ "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
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": [ { "field": "example", "code": "example", "message": "example" } ] }}Request validation failed.
object
object
A stable, machine-readable error code.
object
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": [ { "field": "example", "code": "example", "message": "example" } ] }}