Skip to content

Update Node Pool Labels and Taints

PUT
/tenant_clusters/{tenant_cluster_id}/node-pools/{node_pool_id}/config/
curl --request PUT \
--url 'https://api.e2enetworks.com/myaccount/api/v1/gpu/tenant_clusters/{tenant_cluster_id}/node-pools/{node_pool_id}/config/?project_id=<PROJECT_ID>&location=<LOCATION>&apikey=<API_KEY>' \
--header 'Authorization: Bearer <API_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"labels": [
{
"key": "team",
"value": "ml"
}
],
"taints": [
{
"key": "dedicated",
"value": "training",
"effect": "NoSchedule"
}
]
}'

Replaces a worker pool’s node labels and taints. Send both lists: a list you leave out is cleared. The changes apply to the pool’s existing nodes in place, and no node is replaced; running pods are affected only by NoExecute taints.

The pool must be ready, and the cluster ready or worker_joined. Pods use the full key, for example a nodeSelector of node.e2enetworks.com/team: ml.

tenant_cluster_id
required
integer

Kubernetes cluster ID, as returned by List Kubernetes Clusters.

node_pool_id
required
integer

Worker node pool ID, from the cluster’s node_pools list.

project_id
required
integer

Project ID

active_iam
integer

Active IAM ID (To access contact person account) Find your Active IAM ID here

location
required
string
Allowed values: Delhi Chennai

Location

Media typeapplication/json
object
labels

The pool’s labels. Keys must be unique.

Array<object>
<= 20 items
object
key
required

The key without the node.e2enetworks.com/ prefix, which the platform adds. Up to 63 letters, numbers, -, _, or ., starting and ending with a letter or number.

string
<= 63 characters
value
required

Required. The same characters as the key.

string
<= 63 characters
taints

The pool’s taints. Each key and effect pair must be unique.

Array<object>
<= 10 items
object
key
required

The key without the node.e2enetworks.com/ prefix, which the platform adds. Up to 63 letters, numbers, -, _, or ., starting and ending with a letter or number.

string
<= 63 characters
value

May be empty.

string
<= 63 characters
effect
required

NoExecute evicts running pods that do not tolerate the taint.

string
Allowed values: NoSchedule PreferNoSchedule NoExecute

Example

{
"labels": [
{
"key": "team",
"value": "ml"
}
],
"taints": [
{
"key": "dedicated",
"value": "training",
"effect": "NoSchedule"
}
]
}

The labels and taints are updated.

Media typeapplication/json
object
code
integer
data
object
id
integer
tenant_cluster_id
integer
name
string
role
string
Allowed values: control_plane worker
status

resizing while the pool moves to a new fixed size, scaling while its autoscaler changes the node count.

string
Allowed values: queued joining ready resizing scaling failed deleting
replicas

The node count the pool is set to.

integer
ready_replicas

The pool’s nodes that are up and ready.

integer
labels
Array<object>
object
key
required

The key without the node.e2enetworks.com/ prefix, which the platform adds. Up to 63 letters, numbers, -, _, or ., starting and ending with a letter or number.

string
<= 63 characters
value
required

Required. The same characters as the key.

string
<= 63 characters
taints
Array<object>
object
key
required

The key without the node.e2enetworks.com/ prefix, which the platform adds. Up to 63 letters, numbers, -, _, or ., starting and ending with a letter or number.

string
<= 63 characters
value

May be empty.

string
<= 63 characters
effect
required

NoExecute evicts running pods that do not tolerate the taint.

string
Allowed values: NoSchedule PreferNoSchedule NoExecute
sku_details

The computing resource and pricing plan a node pool runs on.

object
specs
object
sku_id
integer
name
string
series
string
cpu
integer
memory
integer
plan
object
sku_item_price_id
integer
sku_type

hourly or committed.

string
committed_days
integer
unit_price
number
currency
string
committed_info

Set only for a pool on a committed plan.

object
updation_policy
string
Allowed values: auto_renew convert_to_hourly_billing
next_sku_item_price

The computing resource and pricing plan a node pool runs on.

object
specs
object
sku_id
integer
name
string
series
string
cpu
integer
memory
integer
plan
object
sku_item_price_id
integer
sku_type

hourly or committed.

string
committed_days
integer
unit_price
number
currency
string
end_date
string format: date-time
nullable
autoscaling

The pool’s size bounds. A min_replicas lower than max_replicas means the pool is autoscaled; equal values are a fixed size.

object
min_replicas
integer
max_replicas
integer
created_at
string format: date-time
updated_at
string format: date-time
errors
object
message
string

Example

{
"code": 200,
"data": {
"id": 22,
"tenant_cluster_id": 103,
"name": "app-workers",
"role": "control_plane",
"status": "queued",
"replicas": 2,
"ready_replicas": 2,
"labels": [
{
"key": "team",
"value": "ml"
}
],
"taints": [
{
"key": "dedicated",
"value": "gpu",
"effect": "NoSchedule"
}
],
"sku_details": {
"specs": {
"sku_id": 101,
"name": "C3.8GB",
"series": "CPU",
"cpu": 4,
"memory": 8
},
"plan": {
"sku_item_price_id": 1001,
"sku_type": "hourly",
"committed_days": 0,
"unit_price": 4.5,
"currency": "INR"
}
},
"committed_info": {
"updation_policy": "auto_renew",
"next_sku_item_price": {
"specs": {
"sku_id": 101,
"name": "C3.8GB",
"series": "CPU",
"cpu": 4,
"memory": 8
},
"plan": {
"sku_item_price_id": 1001,
"sku_type": "hourly",
"committed_days": 0,
"unit_price": 4.5,
"currency": "INR"
}
},
"end_date": "2026-11-20T10:15:00Z"
},
"autoscaling": {
"min_replicas": 2,
"max_replicas": 2
},
"created_at": "2026-10-20T10:15:00Z",
"updated_at": "2026-10-20T10:42:00Z"
},
"errors": {},
"message": "Node pool labels and taints updated successfully"
}