Scaleway · Capability
Kubernetes API — Pools
Kubernetes API — Pools. 9 operations. Lead operation: List Pools in a Cluster. Self-contained Naftiko capability covering one Scaleway business surface.
What You Can Do
GET
Listpools
— List Pools in a Cluster
/v1/k8s/v1/regions/{region}/clusters/{cluster-id}/pools
POST
Createpool
— Create a new Pool in a Cluster
/v1/k8s/v1/regions/{region}/clusters/{cluster-id}/pools
GET
Getpool
— Get a Pool in a Cluster
/v1/k8s/v1/regions/{region}/pools/{pool-id}
PATCH
Updatepool
— Update a Pool in a Cluster
/v1/k8s/v1/regions/{region}/pools/{pool-id}
DELETE
Deletepool
— Delete a Pool in a Cluster
/v1/k8s/v1/regions/{region}/pools/{pool-id}
PUT
Setpoollabels
— Set a list of labels for a specific pool
/v1/k8s/v1/regions/{region}/pools/{pool-id}/set-labels
PUT
Setpoolstartuptaints
— Set a list of startup taints for a specific pool
/v1/k8s/v1/regions/{region}/pools/{pool-id}/set-startup-taints
PUT
Setpooltaints
— Set a list of taints for a specific pool
/v1/k8s/v1/regions/{region}/pools/{pool-id}/set-taints
POST
Upgradepool
— Upgrade a Pool in a Cluster
/v1/k8s/v1/regions/{region}/pools/{pool-id}/upgrade
MCP Tools
list-pools-cluster
List Pools in a Cluster
read-only
idempotent
create-new-pool-cluster
Create a new Pool in a Cluster
get-pool-cluster
Get a Pool in a Cluster
read-only
idempotent
update-pool-cluster
Update a Pool in a Cluster
idempotent
delete-pool-cluster
Delete a Pool in a Cluster
idempotent
set-list-labels-specific-pool
Set a list of labels for a specific pool
idempotent
set-list-startup-taints-specific
Set a list of startup taints for a specific pool
idempotent
set-list-taints-specific-pool
Set a list of taints for a specific pool
idempotent
upgrade-pool-cluster
Upgrade a Pool in a Cluster
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Kubernetes API — Pools
description: 'Kubernetes API — Pools. 9 operations. Lead operation: List Pools in a Cluster. Self-contained Naftiko capability
covering one Scaleway business surface.'
tags:
- Scaleway
- Pools
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SCALEWAY_API_KEY: SCALEWAY_API_KEY
capability:
consumes:
- type: http
namespace: kubernetes-pools
baseUri: https://api.scaleway.com
description: Kubernetes API — Pools business capability. Self-contained, no shared references.
resources:
- name: k8s-v1-regions-region-clusters-cluster_id-pools
path: /k8s/v1/regions/{region}/clusters/{cluster_id}/pools
operations:
- name: listpools
method: GET
description: List Pools in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: cluster_id
in: path
type: string
description: ID of the cluster whose pools will be listed.
required: true
- name: order_by
in: query
type: string
description: Sort order of returned pools.
- name: page
in: query
type: integer
description: Page number for the returned pools.
- name: page_size
in: query
type: integer
description: Maximum number of pools per page.
- name: name
in: query
type: string
description: Name to filter on, only pools containing this substring in their name will be returned.
- name: status
in: query
type: string
description: Status to filter on, only pools with this status will be returned.
- name: createpool
method: POST
description: Create a new Pool in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: cluster_id
in: path
type: string
description: Cluster ID to which the pool will be attached.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: k8s-v1-regions-region-pools-pool_id
path: /k8s/v1/regions/{region}/pools/{pool_id}
operations:
- name: getpool
method: GET
description: Get a Pool in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: pool_id
in: path
type: string
description: ID of the requested pool.
required: true
- name: updatepool
method: PATCH
description: Update a Pool in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: pool_id
in: path
type: string
description: ID of the pool to update.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletepool
method: DELETE
description: Delete a Pool in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: pool_id
in: path
type: string
description: ID of the pool to delete.
required: true
- name: k8s-v1-regions-region-pools-pool_id-set-labels
path: /k8s/v1/regions/{region}/pools/{pool_id}/set-labels
operations:
- name: setpoollabels
method: PUT
description: Set a list of labels for a specific pool
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: pool_id
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: k8s-v1-regions-region-pools-pool_id-set-startup-taints
path: /k8s/v1/regions/{region}/pools/{pool_id}/set-startup-taints
operations:
- name: setpoolstartuptaints
method: PUT
description: Set a list of startup taints for a specific pool
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: pool_id
in: path
type: string
description: ID of the pool to update.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: k8s-v1-regions-region-pools-pool_id-set-taints
path: /k8s/v1/regions/{region}/pools/{pool_id}/set-taints
operations:
- name: setpooltaints
method: PUT
description: Set a list of taints for a specific pool
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: pool_id
in: path
type: string
description: ID of the pool to update.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: k8s-v1-regions-region-pools-pool_id-upgrade
path: /k8s/v1/regions/{region}/pools/{pool_id}/upgrade
operations:
- name: upgradepool
method: POST
description: Upgrade a Pool in a Cluster
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: pool_id
in: path
type: string
description: ID of the pool to upgrade.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: X-Auth-Token
value: '{{env.SCALEWAY_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: kubernetes-pools-rest
port: 8080
description: REST adapter for Kubernetes API — Pools. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/k8s/v1/regions/{region}/clusters/{cluster-id}/pools
name: k8s-v1-regions-region-clusters-cluster-id-pools
description: REST surface for k8s-v1-regions-region-clusters-cluster_id-pools.
operations:
- method: GET
name: listpools
description: List Pools in a Cluster
call: kubernetes-pools.listpools
with:
region: rest.region
cluster_id: rest.cluster_id
order_by: rest.order_by
page: rest.page
page_size: rest.page_size
name: rest.name
status: rest.status
outputParameters:
- type: object
mapping: $.
- method: POST
name: createpool
description: Create a new Pool in a Cluster
call: kubernetes-pools.createpool
with:
region: rest.region
cluster_id: rest.cluster_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/k8s/v1/regions/{region}/pools/{pool-id}
name: k8s-v1-regions-region-pools-pool-id
description: REST surface for k8s-v1-regions-region-pools-pool_id.
operations:
- method: GET
name: getpool
description: Get a Pool in a Cluster
call: kubernetes-pools.getpool
with:
region: rest.region
pool_id: rest.pool_id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatepool
description: Update a Pool in a Cluster
call: kubernetes-pools.updatepool
with:
region: rest.region
pool_id: rest.pool_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletepool
description: Delete a Pool in a Cluster
call: kubernetes-pools.deletepool
with:
region: rest.region
pool_id: rest.pool_id
outputParameters:
- type: object
mapping: $.
- path: /v1/k8s/v1/regions/{region}/pools/{pool-id}/set-labels
name: k8s-v1-regions-region-pools-pool-id-set-labels
description: REST surface for k8s-v1-regions-region-pools-pool_id-set-labels.
operations:
- method: PUT
name: setpoollabels
description: Set a list of labels for a specific pool
call: kubernetes-pools.setpoollabels
with:
region: rest.region
pool_id: rest.pool_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/k8s/v1/regions/{region}/pools/{pool-id}/set-startup-taints
name: k8s-v1-regions-region-pools-pool-id-set-startup-taints
description: REST surface for k8s-v1-regions-region-pools-pool_id-set-startup-taints.
operations:
- method: PUT
name: setpoolstartuptaints
description: Set a list of startup taints for a specific pool
call: kubernetes-pools.setpoolstartuptaints
with:
region: rest.region
pool_id: rest.pool_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/k8s/v1/regions/{region}/pools/{pool-id}/set-taints
name: k8s-v1-regions-region-pools-pool-id-set-taints
description: REST surface for k8s-v1-regions-region-pools-pool_id-set-taints.
operations:
- method: PUT
name: setpooltaints
description: Set a list of taints for a specific pool
call: kubernetes-pools.setpooltaints
with:
region: rest.region
pool_id: rest.pool_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/k8s/v1/regions/{region}/pools/{pool-id}/upgrade
name: k8s-v1-regions-region-pools-pool-id-upgrade
description: REST surface for k8s-v1-regions-region-pools-pool_id-upgrade.
operations:
- method: POST
name: upgradepool
description: Upgrade a Pool in a Cluster
call: kubernetes-pools.upgradepool
with:
region: rest.region
pool_id: rest.pool_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: kubernetes-pools-mcp
port: 9090
transport: http
description: MCP adapter for Kubernetes API — Pools. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-pools-cluster
description: List Pools in a Cluster
hints:
readOnly: true
destructive: false
idempotent: true
call: kubernetes-pools.listpools
with:
region: tools.region
cluster_id: tools.cluster_id
order_by: tools.order_by
page: tools.page
page_size: tools.page_size
name: tools.name
status: tools.status
outputParameters:
- type: object
mapping: $.
- name: create-new-pool-cluster
description: Create a new Pool in a Cluster
hints:
readOnly: false
destructive: false
idempotent: false
call: kubernetes-pools.createpool
with:
region: tools.region
cluster_id: tools.cluster_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-pool-cluster
description: Get a Pool in a Cluster
hints:
readOnly: true
destructive: false
idempotent: true
call: kubernetes-pools.getpool
with:
region: tools.region
pool_id: tools.pool_id
outputParameters:
- type: object
mapping: $.
- name: update-pool-cluster
description: Update a Pool in a Cluster
hints:
readOnly: false
destructive: false
idempotent: true
call: kubernetes-pools.updatepool
with:
region: tools.region
pool_id: tools.pool_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-pool-cluster
description: Delete a Pool in a Cluster
hints:
readOnly: false
destructive: true
idempotent: true
call: kubernetes-pools.deletepool
with:
region: tools.region
pool_id: tools.pool_id
outputParameters:
- type: object
mapping: $.
- name: set-list-labels-specific-pool
description: Set a list of labels for a specific pool
hints:
readOnly: false
destructive: false
idempotent: true
call: kubernetes-pools.setpoollabels
with:
region: tools.region
pool_id: tools.pool_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: set-list-startup-taints-specific
description: Set a list of startup taints for a specific pool
hints:
readOnly: false
destructive: false
idempotent: true
call: kubernetes-pools.setpoolstartuptaints
with:
region: tools.region
pool_id: tools.pool_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: set-list-taints-specific-pool
description: Set a list of taints for a specific pool
hints:
readOnly: false
destructive: false
idempotent: true
call: kubernetes-pools.setpooltaints
with:
region: tools.region
pool_id: tools.pool_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: upgrade-pool-cluster
description: Upgrade a Pool in a Cluster
hints:
readOnly: false
destructive: false
idempotent: false
call: kubernetes-pools.upgradepool
with:
region: tools.region
pool_id: tools.pool_id
body: tools.body
outputParameters:
- type: object
mapping: $.