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: $.