Skip to content

Create a node pool

POST
/api/v1/organizations/{orgID}/clusters/{clusterID}/nodepools
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 }'

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.

orgID
required
string format: uuid

Organization UUID.

clusterID
required
string format: uuid

Cluster UUID.

Media type application/json
object
name
required
string
vcpus
required
integer
>= 1 <= 128
memory_gb
required
integer
>= 1 <= 512
disk_gb
required
integer
>= 1 <= 2048
min_nodes
integer | null
max_nodes
integer | null
desired_nodes
integer | null
Example generated
{
"name": "example",
"vcpus": 1,
"memory_gb": 1,
"disk_gb": 1,
"min_nodes": 1,
"max_nodes": 1,
"desired_nodes": 1
}

Node pool accepted for provisioning.

Media type application/json
object
id
required
string format: uuid
cluster_id
required
string format: uuid
name
required
string
vcpus
required
integer
memory_gb
required
integer
disk_gb
required
integer
min_nodes
required
integer
max_nodes
required
integer
desired_nodes
required
integer
current_nodes
required
integer
first_ready_at
string | null format: date-time
status
required
string
Allowed values: provisioning ready scaling deleting failed
status_message
string | null
created_at
required
string format: date-time
updated_at
required
string format: date-time
Example
{
"status": "provisioning"
}

Missing or invalid credentials.

Media type application/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}

The requested resource was not found.

Media type application/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}

The resource already exists or conflicts with current state.

Media type application/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}

Request validation failed.

Media type application/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}