# NodePools

Node pools assist in managing heterogeneous resources effectively. A node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or administrator-defined label (for example, key & value). For more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).

## Get the node pool metrics data.

> Retrieve the node pool metrics data by Universally Unique Identifier (UUID).

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"ClusterUuid":{"name":"clusterUuid","in":"path","required":true,"description":"The Universally Unique Identifier (UUID) of the cluster.","schema":{"type":"string","format":"uuid","minLength":1}},"NodepoolPath":{"in":"path","name":"nodepoolName","required":true,"description":"The unique nodepool name.","schema":{"type":"string"}},"StartRequired":{"name":"start","in":"query","description":"Start date of time range to fetch data in ISO 8601 timestamp format.","required":true,"schema":{"type":"string","format":"date-time"}},"EndRequired":{"name":"end","in":"query","description":"End date of time range to fetch data in ISO 8601 timestamp format.","required":true,"schema":{"type":"string","format":"date-time"}},"NumberOfSamples":{"name":"numberOfSamples","in":"query","description":"The number of samples to take in the specified time range.","required":false,"schema":{"type":"integer","maximum":1000,"minimum":0,"default":20}},"MetricsType":{"name":"metricType","in":"query","required":true,"description":"specifies what data to request","explode":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetricsType"}}}},"schemas":{"MetricsType":{"type":"string","description":"specifies what data to request","enum":["TOTAL_GPU_NODES","GPU_UTILIZATION","GPU_UTILIZATION_DISTRIBUTION","GPU_MEMORY_UTILIZATION","CPU_UTILIZATION","CPU_MEMORY_UTILIZATION","TOTAL_GPU","GPU_QUOTA","ALLOCATED_GPU","UNALLOCATED_GPU","AVG_WORKLOAD_WAIT_TIME"]},"MetricsResponse":{"type":"object","required":["measurements"],"properties":{"measurements":{"type":"array","items":{"$ref":"#/components/schemas/MeasurementResponse"}}}},"MeasurementResponse":{"type":"object","required":["type","values"],"properties":{"type":{"type":"string","description":"specifies what data returned"},"labels":{"type":"object","nullable":true,"description":"labels of the metric measurement","additionalProperties":{"type":"string"}},"values":{"type":"array","nullable":true,"items":{"type":"object","required":["value","timestamp"],"properties":{"value":{"type":"string"},"timestamp":{"type":"string","format":"date-time","nullable":true}}}}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/clusters/{clusterUuid}/nodepools/{nodepoolName}/metrics":{"get":{"summary":"Get the node pool metrics data.","description":"Retrieve the node pool metrics data by Universally Unique Identifier (UUID).","operationId":"get_nodepool_metrics","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/ClusterUuid"},{"$ref":"#/components/parameters/NodepoolPath"},{"$ref":"#/components/parameters/StartRequired"},{"$ref":"#/components/parameters/EndRequired"},{"$ref":"#/components/parameters/NumberOfSamples"},{"$ref":"#/components/parameters/MetricsType"}],"responses":{"200":{"description":"Executed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsResponse"}},"text/csv":{}}},"207":{"description":"Partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsResponse"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get nodepools

> Get nodepools

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolsFilterBy":{"name":"filterBy","in":"query","required":false,"description":"Filter results by a parameter. Use the format field-name operator value. Operators are == Equals, != Not equals, <= Less than or equal, >= Greater than or equal, =@ contains, !@ Does not contains, =^ Starts with and =$ Ends with. Dates are in ISO 8601 timestamp format and available for operators ==, !=, <= and >=.","schema":{"type":"array","items":{"type":"string","pattern":"^(name|clusterId|phase|createdAt|updatedAt|gpuNetworkAccelerationDetection|gpuNetworkAccelerationDetected|gpuNetworkAccelerationLabelKey|swapEnabled|nodeLevelSchedulerEnabled)(==|!=|<=|>=|=@|!@|=\\^|=\\$).+$"}},"explode":false},"NodepoolsSortBy":{"name":"sortBy","in":"query","required":false,"description":"Sort results by a parameters.","schema":{"$ref":"#/components/schemas/NodepoolSortFilterFields"}},"SortOrder":{"name":"sortOrder","in":"query","required":false,"description":"Sort results in descending or ascending order.","schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},"Offset":{"name":"offset","in":"query","required":false,"description":"The offset of the first item returned in the collection.","schema":{"type":"integer","format":"int32"}},"Limit":{"name":"limit","in":"query","required":false,"description":"The maximum number of entries to return.","schema":{"type":"integer","format":"int32","default":50,"minimum":1,"maximum":500}}},"schemas":{"NodepoolSortFilterFields":{"type":"string","enum":["name","phase","clusterId","createdAt","updatedAt","gpuNetworkAccelerationDetection","gpuNetworkAccelerationDetected","gpuNetworkAccelerationLabelKey","swapEnabled","nodeLevelSchedulerEnabled"]},"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateResponseFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateResponseFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"NodepoolGPUNetworkAccelerationDetection":{"type":"string","enum":["Use","DontUse","Auto"],"nullable":true,"default":"Auto","description":"GPUNetworkAccelerationDetection is a strategy to use for GPU Network Acceleration detection"},"GPUResourceOptimization":{"type":"object","nullable":true,"properties":{"swapEnabled":{"type":"boolean","description":"Indicates if swap is enabled on the node pool","default":false,"nullable":true},"cpuSwapMemorySize":{"type":"string","description":"Size of the swap cpu memory. Only allowed when swapEnabled is true","default":"100G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"reservedGpuMemoryForSwapOperations":{"type":"string","description":"Reserved GPU memory for swap operations. Only allowed when swapEnabled is true","default":"2G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"nodeLevelSchedulerEnabled":{"type":"boolean","description":"Indicates if node level scheduler is enabled on the node pool. Replaces the deprecated 'overProvisioningRatio' field","default":false,"nullable":true}}},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolSyncUpdateFields"},{"type":"object","properties":{"gpuNetworkAccelerationDetected":{"description":"Signals to all relevant parties about GPUNetworkAcceleration being detected in some nodepool's nodes","type":"boolean"},"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolSyncUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools":{"get":{"summary":"Get nodepools","operationId":"get_nodepools","description":"Get nodepools","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolsFilterBy"},{"$ref":"#/components/parameters/NodepoolsSortBy"},{"$ref":"#/components/parameters/SortOrder"},{"$ref":"#/components/parameters/Offset"},{"$ref":"#/components/parameters/Limit"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","properties":{"nodepools":{"type":"array","items":{"$ref":"#/components/schemas/Nodepool"}}}}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Create nodepool

> Create nodepool

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NodepoolCreateFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string","nullable":true},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"NodepoolGPUNetworkAccelerationDetection":{"type":"string","enum":["Use","DontUse","Auto"],"nullable":true,"default":"Auto","description":"GPUNetworkAccelerationDetection is a strategy to use for GPU Network Acceleration detection"},"GPUResourceOptimization":{"type":"object","nullable":true,"properties":{"swapEnabled":{"type":"boolean","description":"Indicates if swap is enabled on the node pool","default":false,"nullable":true},"cpuSwapMemorySize":{"type":"string","description":"Size of the swap cpu memory. Only allowed when swapEnabled is true","default":"100G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"reservedGpuMemoryForSwapOperations":{"type":"string","description":"Reserved GPU memory for swap operations. Only allowed when swapEnabled is true","default":"2G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"nodeLevelSchedulerEnabled":{"type":"boolean","description":"Indicates if node level scheduler is enabled on the node pool. Replaces the deprecated 'overProvisioningRatio' field","default":false,"nullable":true}}},"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateResponseFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateResponseFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolSyncUpdateFields"},{"type":"object","properties":{"gpuNetworkAccelerationDetected":{"description":"Signals to all relevant parties about GPUNetworkAcceleration being detected in some nodepool's nodes","type":"boolean"},"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolSyncUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools":{"post":{"summary":"Create nodepool","operationId":"create_nodepool","description":"Create nodepool","tags":["NodePools"],"requestBody":{"description":"Nodepool to create.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodepoolCreateFields"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nodepool"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Count nodepools

> Count nodepools

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolsFilterBy":{"name":"filterBy","in":"query","required":false,"description":"Filter results by a parameter. Use the format field-name operator value. Operators are == Equals, != Not equals, <= Less than or equal, >= Greater than or equal, =@ contains, !@ Does not contains, =^ Starts with and =$ Ends with. Dates are in ISO 8601 timestamp format and available for operators ==, !=, <= and >=.","schema":{"type":"array","items":{"type":"string","pattern":"^(name|clusterId|phase|createdAt|updatedAt|gpuNetworkAccelerationDetection|gpuNetworkAccelerationDetected|gpuNetworkAccelerationLabelKey|swapEnabled|nodeLevelSchedulerEnabled)(==|!=|<=|>=|=@|!@|=\\^|=\\$).+$"}},"explode":false}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}}},"paths":{"/api/v1/node-pools/count":{"get":{"summary":"Count nodepools","operationId":"count_nodepools","description":"Count nodepools","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolsFilterBy"}],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer","format":"int64"}},"required":["count"]}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get nodepool

> Get nodepool

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolId":{"name":"nodepoolId","in":"path","required":true,"description":"The unique id identifying the Node Pool.","schema":{"type":"string"}}},"schemas":{"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateResponseFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateResponseFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"NodepoolGPUNetworkAccelerationDetection":{"type":"string","enum":["Use","DontUse","Auto"],"nullable":true,"default":"Auto","description":"GPUNetworkAccelerationDetection is a strategy to use for GPU Network Acceleration detection"},"GPUResourceOptimization":{"type":"object","nullable":true,"properties":{"swapEnabled":{"type":"boolean","description":"Indicates if swap is enabled on the node pool","default":false,"nullable":true},"cpuSwapMemorySize":{"type":"string","description":"Size of the swap cpu memory. Only allowed when swapEnabled is true","default":"100G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"reservedGpuMemoryForSwapOperations":{"type":"string","description":"Reserved GPU memory for swap operations. Only allowed when swapEnabled is true","default":"2G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"nodeLevelSchedulerEnabled":{"type":"boolean","description":"Indicates if node level scheduler is enabled on the node pool. Replaces the deprecated 'overProvisioningRatio' field","default":false,"nullable":true}}},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolSyncUpdateFields"},{"type":"object","properties":{"gpuNetworkAccelerationDetected":{"description":"Signals to all relevant parties about GPUNetworkAcceleration being detected in some nodepool's nodes","type":"boolean"},"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolSyncUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools/{nodepoolId}":{"get":{"summary":"Get nodepool","operationId":"get_nodepool","description":"Get nodepool","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolId"}],"responses":{"200":{"description":"Requested nodepool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nodepool"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Update nodepool

> Update nodepool

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolId":{"name":"nodepoolId","in":"path","required":true,"description":"The unique id identifying the Node Pool.","schema":{"type":"string"}}},"schemas":{"NodepoolUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string","nullable":true},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"NodepoolGPUNetworkAccelerationDetection":{"type":"string","enum":["Use","DontUse","Auto"],"nullable":true,"default":"Auto","description":"GPUNetworkAccelerationDetection is a strategy to use for GPU Network Acceleration detection"},"GPUResourceOptimization":{"type":"object","nullable":true,"properties":{"swapEnabled":{"type":"boolean","description":"Indicates if swap is enabled on the node pool","default":false,"nullable":true},"cpuSwapMemorySize":{"type":"string","description":"Size of the swap cpu memory. Only allowed when swapEnabled is true","default":"100G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"reservedGpuMemoryForSwapOperations":{"type":"string","description":"Reserved GPU memory for swap operations. Only allowed when swapEnabled is true","default":"2G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"nodeLevelSchedulerEnabled":{"type":"boolean","description":"Indicates if node level scheduler is enabled on the node pool. Replaces the deprecated 'overProvisioningRatio' field","default":false,"nullable":true}}},"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateResponseFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateResponseFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolSyncUpdateFields"},{"type":"object","properties":{"gpuNetworkAccelerationDetected":{"description":"Signals to all relevant parties about GPUNetworkAcceleration being detected in some nodepool's nodes","type":"boolean"},"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolSyncUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools/{nodepoolId}":{"put":{"summary":"Update nodepool","operationId":"update_nodepool","description":"Update nodepool","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolId"}],"requestBody":{"description":"Nodepool to update.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodepoolUpdateFields"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nodepool"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Delete nodepool

> Delete nodepool

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolId":{"name":"nodepoolId","in":"path","required":true,"description":"The unique id identifying the Node Pool.","schema":{"type":"string"}}},"responses":{"202Accepted":{"description":"Accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpResponse"}}}},"204NoContent":{"description":"No Content."},"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"HttpResponse":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}}},"paths":{"/api/v1/node-pools/{nodepoolId}":{"delete":{"summary":"Delete nodepool","operationId":"delete_nodepool","description":"Delete nodepool","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolId"}],"responses":{"202":{"$ref":"#/components/responses/202Accepted"},"204":{"$ref":"#/components/responses/204NoContent"},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Patch nodepool fields

> Update only specific fields of a nodepool

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"parameters":{"NodepoolId":{"name":"nodepoolId","in":"path","required":true,"description":"The unique id identifying the Node Pool.","schema":{"type":"string"}}},"schemas":{"NodepoolUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string","nullable":true},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"PlacementStrategy":{"type":"string","enum":["spread","binpack"],"nullable":true},"NodepoolGPUNetworkAccelerationDetection":{"type":"string","enum":["Use","DontUse","Auto"],"nullable":true,"default":"Auto","description":"GPUNetworkAccelerationDetection is a strategy to use for GPU Network Acceleration detection"},"GPUResourceOptimization":{"type":"object","nullable":true,"properties":{"swapEnabled":{"type":"boolean","description":"Indicates if swap is enabled on the node pool","default":false,"nullable":true},"cpuSwapMemorySize":{"type":"string","description":"Size of the swap cpu memory. Only allowed when swapEnabled is true","default":"100G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"reservedGpuMemoryForSwapOperations":{"type":"string","description":"Reserved GPU memory for swap operations. Only allowed when swapEnabled is true","default":"2G","nullable":true,"pattern":"^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"},"nodeLevelSchedulerEnabled":{"type":"boolean","description":"Indicates if node level scheduler is enabled on the node pool. Replaces the deprecated 'overProvisioningRatio' field","default":false,"nullable":true}}},"Nodepool":{"allOf":[{"$ref":"#/components/schemas/NodepoolCreateResponseFields"},{"$ref":"#/components/schemas/NodepoolSyncFields"},{"$ref":"#/components/schemas/NodepoolCalculatedFields"}]},"NodepoolCreateResponseFields":{"type":"object","required":["name","labelKey","labelValue","clusterId"],"properties":{"name":{"type":"string","minLength":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1},"clusterId":{"type":"string","format":"uuid"},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"NodepoolSyncFields":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"phase":{"$ref":"#/components/schemas/NodepoolPhase"},"phaseMessage":{"type":"string","description":"Message for status of Node Pool"},"status":{"allOf":[{"$ref":"#/components/schemas/NodepoolSyncUpdateFields"},{"type":"object","properties":{"gpuNetworkAccelerationDetected":{"description":"Signals to all relevant parties about GPUNetworkAcceleration being detected in some nodepool's nodes","type":"boolean"},"nodes":{"type":"array","items":{"type":"string"}}}}]}}},"NodepoolPhase":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Phase of Node Pool"},"NodepoolSyncUpdateFields":{"type":"object","properties":{"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)","minLength":1,"nullable":true},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)","minLength":1,"nullable":true},"overProvisioningRatio":{"type":"integer","minimum":1,"maximum":5,"default":1,"nullable":true,"deprecated":true},"placementStrategy":{"description":"scheduling strategy per resource","properties":{"cpu":{"$ref":"#/components/schemas/PlacementStrategy"},"gpu":{"$ref":"#/components/schemas/PlacementStrategy"}}},"gpuNetworkAccelerationLabelKey":{"description":"Label key by which to determine GPUNetworkAccelerationDetection nodes","type":"string"},"gpuNetworkAccelerationDetection":{"$ref":"#/components/schemas/NodepoolGPUNetworkAccelerationDetection"},"gpuResourceOptimization":{"$ref":"#/components/schemas/GPUResourceOptimization"}}},"NodepoolCalculatedFields":{"type":"object","required":["id","tenantId","clusterName","createdBy","createdAt","updatedBy","updatedAt","isDefault"],"properties":{"id":{"type":"string","description":"The NodePool id","readOnly":true},"tenantId":{"description":"The id of the tenant.","type":"integer","format":"int32"},"clusterName":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedBy":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"deletedBy":{"type":"string"},"deletedAt":{"type":"string","nullable":true,"format":"date-time"},"isDefault":{"type":"boolean","description":"Is the Node Pool is the cluster default"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"400BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500InternalServerError":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503ServiceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/api/v1/node-pools/{nodepoolId}":{"patch":{"summary":"Patch nodepool fields","operationId":"patch_nodepool","description":"Update only specific fields of a nodepool","tags":["NodePools"],"parameters":[{"$ref":"#/components/parameters/NodepoolId"}],"requestBody":{"description":"Fields to update.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodepoolUpdateFields"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nodepool"}}}},"400":{"$ref":"#/components/responses/400BadRequest"},"401":{"$ref":"#/components/responses/401Unauthorized"},"403":{"$ref":"#/components/responses/403Forbidden"},"404":{"$ref":"#/components/responses/404NotFound"},"500":{"$ref":"#/components/responses/500InternalServerError"},"503":{"$ref":"#/components/responses/503ServiceUnavailable"}}}}}}
```

## Get the cluster's Node Pools.

> Retrieve all the node pools with details from the cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NodePool1":{"allOf":[{"$ref":"#/components/schemas/NodePoolCreateRequest"},{"properties":{"id":{"type":"number","description":"Node Pool unique id","readOnly":true},"clusterId":{"type":"string","format":"uuid","description":"Node Pool cluster id"},"createdAt":{"type":"string","description":"Node Pool creation time","format":"date-time"},"updatedAt":{"type":"string","description":"Node Pool update time","format":"date-time"},"deletedAt":{"type":"string","description":"Node Pool delete time","format":"date-time"},"status":{"type":"string","enum":["Creating","Updating","Deleting","Empty","Unschedulable","Ready","Deleted"],"description":"Node Pool status"},"statusMessage":{"type":"string","description":"Node Pool status details"},"nodes":{"type":"string","description":"List of Nodes that are assigned to this nodepool - as json string"},"createdBy":{"type":"string","description":"Node Pool creator"},"updatedBy":{"type":"string","description":"Node Pool updater"},"isDefault":{"type":"boolean","description":"Is the Node Pool the default Node Pool for all nodes not assigned to any other Node Pool"}}}]},"NodePoolCreateRequest":{"properties":{"name":{"type":"string","description":"Node Pool Name"},"overProvisioningRatio":{"type":"integer","default":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)"},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)"},"placementStrategy":{"$ref":"#/components/schemas/PlacementStrategy1"}}},"PlacementStrategy1":{"properties":{"cpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for cpu"},"gpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for gpu"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}},"Error1":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools":{"get":{"tags":["NodePools"],"summary":"Get the cluster's Node Pools.","description":"Retrieve all the node pools with details from the cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.","deprecated":true,"operationId":"getNodePools","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Node pools returned successfully.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NodePool1"}}}}},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"default":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Create a Node Pool.

> Use to create a node pool in a cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NodePoolCreateRequest":{"properties":{"name":{"type":"string","description":"Node Pool Name"},"overProvisioningRatio":{"type":"integer","default":1},"labelKey":{"type":"string","description":"Label key for associated nodes to the Node Pool (with value as in labelValue)"},"labelValue":{"type":"string","description":"Label value for associated nodes to the Node Pool (with key as in labelKey)"},"placementStrategy":{"$ref":"#/components/schemas/PlacementStrategy1"}}},"PlacementStrategy1":{"properties":{"cpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for cpu"},"gpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for gpu"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Conflict":{"description":"conflict error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools":{"post":{"tags":["NodePools"],"summary":"Create a Node Pool.","description":"Use to create a node pool in a cluster by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools instead.","deprecated":true,"operationId":"createNodePool","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodePoolCreateRequest"}}}},"responses":{"201":{"description":"Created"},"400":{"$ref":"#/components/responses/BadRequest"},"409":{"$ref":"#/components/responses/Conflict"},"default":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Update labels of a Node Pool.

> Use to update the labels of a node pool. Deprecated, please use PATCH /api/v1/node-pools/{id} instead.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"NodePoolLabelsRequest":{"properties":{"labelKey":{"type":"string","description":"key of node label for pool"},"labelValue":{"type":"string","description":"value of node label for pool"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}},"Error1":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}},"serviceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools/{id}/labels":{"put":{"tags":["NodePools"],"summary":"Update labels of a Node Pool.","description":"Use to update the labels of a node pool. Deprecated, please use PATCH /api/v1/node-pools/{id} instead.","deprecated":true,"operationId":"updateNodePoolLabels","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"id","schema":{"type":"integer"},"required":true,"description":"The unique id identifying the Node Pool."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodePoolLabelsRequest"}}},"required":true},"responses":{"202":{"description":"Node Pool update accepted."},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/serviceUnavailable"}}}}}}
```

## Update a Node Pool.

> Use to update the details of a node pool by Universally Unique Identifier (UUID). Deprecated, please use PATCH /api/v1/node-pools/{id} instead.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"schemas":{"UpdateNodePoolRequest":{"properties":{"labelKey":{"type":"string","description":"key of node label for pool"},"labelValue":{"type":"string","description":"value of node label for pool"},"overProvisioningRatio":{"type":"integer","default":1},"placementStrategy":{"$ref":"#/components/schemas/PlacementStrategy1"}}},"PlacementStrategy1":{"properties":{"cpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for cpu"},"gpu":{"type":"string","enum":["spread","binpack"],"description":"scheduling strategy for gpu"}}},"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}},"Error1":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}},"serviceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools/{id}":{"put":{"tags":["NodePools"],"summary":"Update a Node Pool.","description":"Use to update the details of a node pool by Universally Unique Identifier (UUID). Deprecated, please use PATCH /api/v1/node-pools/{id} instead.","deprecated":true,"operationId":"updateNodePool","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"id","schema":{"type":"integer"},"required":true,"description":"The unique id identifying the Node Pool."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNodePoolRequest"}}},"required":true},"responses":{"202":{"description":"Node Pool update accepted."},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/serviceUnavailable"}}}}}}
```

## Delete a Node Pool by id.§

> Use to delete a node pool by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools/{id} instead.

```json
{"openapi":"3.0.3","info":{"title":"NVIDIA Run:ai","version":"2.22"},"tags":[{"name":"NodePools","description":"Node pools assist in managing heterogeneous resources effectively. \nA node pool is a set of nodes grouped into a bucket of resources using a predefined (for example, GPU-Type) or \nadministrator-defined label (for example, key & value). \nFor more information, see [Node Pools](https://run-ai-docs.nvidia.com/self-hosted/2.22/platform-management/aiinitiatives/resources/node-pools/#introduction).\n"}],"servers":[{"url":"https://app.run.ai"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Bearer authentication"}},"responses":{"BadRequest":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}},"serviceUnavailable":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error1"}}}}},"schemas":{"Error":{"required":["code","message"],"properties":{"code":{"type":"integer","minimum":100,"maximum":599},"message":{"type":"string"},"details":{"type":"string"}}},"Error1":{"required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}}},"paths":{"/v1/k8s/clusters/{clusterId}/node-pools/{id}":{"delete":{"tags":["NodePools"],"summary":"Delete a Node Pool by id.§","description":"Use to delete a node pool by Universally Unique Identifier (UUID). Deprecated, please use /api/v1/node-pools/{id} instead.","deprecated":true,"operationId":"deleteNodePool","parameters":[{"name":"clusterId","in":"path","description":"Unique identifier of the cluster","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"id","schema":{"type":"integer"},"required":true,"description":"The unique id identifying the Node Pool."}],"responses":{"202":{"description":"Node Pool deletion accepted"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/serviceUnavailable"}}}}}}
```
