openapi: 3.2.0 info: version: latest description: '# Introduction The NVIDIA Run:ai Control-Plane API reference is a guide that provides an easy-to-use programming interface for adding various tasks to your application, including workload submission, resource management, and administrative operations.' title: NVIDIA Run:ai Node Pools API x-logo: url: https://api.redocly.com/registry/raw/runai-xq8/saas/latest/public/runai-logo-api.png altText: NVIDIA Run:ai href: https://run.ai license: name: NVIDIA Run:ai url: https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-software-license-agreement/ servers: - url: https://app.run.ai security: - bearerAuth: [] tags: - name: Node Pools description: '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.' 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: - Node Pools 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' /api/v1/node-pools: post: summary: Create nodepool operationId: create_nodepool tags: - Node Pools 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' get: summary: Get nodepools operationId: get_nodepools tags: - Node Pools 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' /api/v1/node-pools/count: get: summary: Count nodepools operationId: count_nodepools tags: - Node Pools 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' /api/v1/node-pools/{nodepoolId}: delete: summary: Delete nodepool operationId: delete_nodepool tags: - Node Pools 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' put: summary: Update nodepool operationId: update_nodepool tags: - Node Pools 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' patch: summary: Patch nodepool fields operationId: patch_nodepool description: Update only specific fields of a nodepool tags: - Node Pools 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: summary: Get nodepool operationId: get_nodepool tags: - Node Pools 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' /v1/k8s/clusters/{clusterId}/node-pools: get: tags: - Node Pools 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' post: tags: - Node Pools 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' /v1/k8s/clusters/{clusterId}/node-pools/{id}/labels: put: tags: - Node Pools 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' /v1/k8s/clusters/{clusterId}/node-pools/{id}: delete: tags: - Node Pools 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' put: tags: - Node Pools 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' components: responses: 404NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 404 message: Resource id not found. 500InternalServerError: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 500 message: Something went wrong. Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' 503ServiceUnavailable: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 503 message: Please try again in few minutes. 204NoContent: description: No Content. NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/Error1' BadRequest: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/Error' 400BadRequest: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Required parameter is missing 202Accepted: description: Accepted. content: application/json: schema: $ref: '#/components/schemas/HttpResponse' example: code: 202 message: Request has been accepted. 403Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: You do not have sufficient permissions. Conflict: description: conflict error content: application/json: schema: $ref: '#/components/schemas/Error' serviceUnavailable: description: unexpected error content: application/json: schema: $ref: '#/components/schemas/Error1' 401Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 401 message: Issuer is not familiar. parameters: 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 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 example: '2023-06-07T12:09:18.211Z' NodepoolPath: in: path name: nodepoolName required: true description: The unique nodepool name. schema: type: string example: default NodepoolId: name: nodepoolId in: path required: true description: The unique id identifying the Node Pool. schema: type: string example: 17 MetricsType: name: metricType in: query required: true description: specifies what data to request explode: false schema: type: array items: $ref: '#/components/schemas/MetricsType' NumberOfSamples: name: numberOfSamples in: query description: The number of samples to take in the specified time range. required: false schema: type: integer example: 20 maximum: 1000 minimum: 0 default: 20 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 example: '2023-06-06T12:09:18.211Z' 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|networkTopologyName|gpuNetworkAccelerationDetected|gpuNetworkAccelerationLabelKey|swapEnabled|nodeLevelSchedulerEnabled)(==|!=|<=|>=|=@|!@|=\^|=\$).+$ example: - name!=some-name explode: false SortOrder: name: sortOrder in: query required: false description: Sort results in descending or ascending order. schema: type: string enum: - asc - desc default: asc NodepoolsSortBy: name: sortBy in: query required: false description: Sort results by a parameters. schema: $ref: '#/components/schemas/NodepoolSortFilterFields' ClusterUuid: name: clusterUuid in: path required: true description: The Universally Unique Identifier (UUID) of the cluster. schema: type: string format: uuid minLength: 1 example: 9f55255e-11ed-47c7-acef-fc4054768dbc Offset: name: offset in: query required: false description: The offset of the first item returned in the collection. schema: type: integer format: int32 example: 100 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 - WORKLOADS_COUNT NodepoolGPUNetworkAccelerationDetection: type: - string - 'null' enum: - Use - DontUse - Auto default: Auto description: GPUNetworkAccelerationDetection is a strategy to use for GPU Network Acceleration detection UpdateNodePoolRequest: properties: labelKey: type: string description: key of node label for pool example: node-type labelValue: type: string description: value of node label for pool example: type-x overProvisioningRatio: type: integer example: 1 default: 1 placementStrategy: $ref: '#/components/schemas/PlacementStrategy1' Nodepool: allOf: - $ref: '#/components/schemas/NodepoolCreateResponseFields' - $ref: '#/components/schemas/NodepoolSyncFields' - $ref: '#/components/schemas/NodepoolCalculatedFields' NodepoolCreateFields: type: object required: - name - labelKey - labelValue - clusterId properties: name: type: string example: v100 minLength: 1 labelKey: type: string description: Label key for associated nodes to the Node Pool (with value as in labelValue) example: node-type minLength: 1 labelValue: type: string description: Label value for associated nodes to the Node Pool (with key as in labelKey) example: type-x minLength: 1 clusterId: type: string format: uuid example: d73a738f-fab3-430a-8fa3-5241493d7128 overProvisioningRatio: type: - integer - 'null' example: 1 minimum: 1 maximum: 5 default: 1 deprecated: true placementStrategy: deprecated: true 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 - 'null' gpuNetworkAccelerationDetection: $ref: '#/components/schemas/NodepoolGPUNetworkAccelerationDetection' gpuResourceOptimization: $ref: '#/components/schemas/GPUResourceOptimization' schedulingConfiguration: $ref: '#/components/schemas/SchedulingConfiguration' networkTopologyId: $ref: '#/components/schemas/NetworkTopologyIdOptional' NodepoolCalculatedFields: type: object required: - id - tenantId - clusterName - createdBy - createdAt - updatedBy - updatedAt - isDefault properties: id: type: string description: The NodePool id readOnly: true example: 5 tenantId: description: The id of the tenant. type: integer example: 1 format: int32 clusterName: type: string example: prod-cluster createdBy: type: string example: user@lab.com createdAt: type: string format: date-time updatedBy: type: string example: user@lab.com updatedAt: type: string format: date-time deletedBy: type: string example: user@lab.com deletedAt: type: - string - 'null' format: date-time isDefault: type: boolean description: Is the Node Pool is the cluster default example: false NodepoolSyncFields: type: object required: - name properties: name: type: string example: v100 phase: $ref: '#/components/schemas/NodepoolPhase' phaseMessage: type: string description: Message for status of Node Pool example: all nodes are down status: allOf: - $ref: '#/components/schemas/NodepoolSyncUpdateFields' - type: object properties: conditions: type: array items: $ref: '#/components/schemas/NodepoolConditionDetails' gpuNetworkAccelerationDetected: description: Signals to all relevant parties about GPUNetworkAcceleration being detected in some nodepool's nodes type: boolean nodes: type: array items: type: string example: node1 NodePool1: allOf: - $ref: '#/components/schemas/NodePoolCreateRequest' - properties: id: type: number description: Node Pool unique id readOnly: true example: 5 clusterId: type: string format: uuid description: Node Pool cluster id example: 71f69d83-ba66-4822-adf5-55ce55efd210 createdAt: type: string description: Node Pool creation time format: date-time example: '2021-12-14T16:04:15.099Z' updatedAt: type: string description: Node Pool update time format: date-time example: '2021-12-14T16:04:15.099Z' deletedAt: type: string description: Node Pool delete time format: date-time example: '2021-12-14T16:04:15.099Z' status: type: string enum: - Creating - Updating - Deleting - Empty - Unschedulable - Ready - Deleted description: Node Pool status example: Creating statusMessage: type: string description: Node Pool status details example: all nodes are down nodes: type: string description: List of Nodes that are assigned to this nodepool - as json string example: - node-a - node-b createdBy: type: string description: Node Pool creator example: user@run.ai updatedBy: type: string description: Node Pool updater example: user@run.ai isDefault: type: boolean description: Is the Node Pool the default Node Pool for all nodes not assigned to any other Node Pool example: false SchedulingConfiguration: type: - object - 'null' properties: placementStrategy: description: Scheduling strategy per resource properties: cpu: $ref: '#/components/schemas/PlacementStrategy' gpu: $ref: '#/components/schemas/PlacementStrategy' minGuaranteedRuntime: description: Minimum duration (e.g., 5d8h40m) that a preemptible workload is guaranteed to run once scheduled and bound to a node. During this period, it is considered non-preemptible even if a higher-priority workload becomes eligible. Defaults to 0 (immediate preemption allowed). type: - string - 'null' example: 5d8h40m pattern: ^(0|[+]?((\d+(\.\d+)?)(ns|us|µs|μs|ms|s|m|h|d|w))+$) NodepoolConditionDetails: type: object required: - type - reason properties: type: type: string description: Type of Nodepool condition. reason: type: string description: (brief) reason for the condition's last transition. example: TopologyMismatch message: type: string description: Human readable message indicating details about last transition. example: Network Topology labels mismatch status: type: string description: The status of the condition, can be True or False enum: - 'True' - 'False' nodes: type: array description: Names of the nodes related to the nodepool condition items: type: string example: - node1 - node2 x-schema-name: NodepoolConditionDetails Error: required: - code - message properties: code: type: integer minimum: 100 maximum: 599 message: type: string details: type: string example: code: 400 message: Bad request - Resource should have a name MeasurementResponse: type: object required: - type - values properties: type: type: string description: specifies what data returned example: ALLOCATED_GPU labels: type: - object - 'null' description: labels of the metric measurement example: '{''gpu'': ''3''}' additionalProperties: type: string values: type: - array - 'null' items: type: object required: - value - timestamp properties: value: type: string example: '85' timestamp: type: - string - 'null' format: date-time example: '2023-06-06 12:09:18.211' PlacementStrategy: type: - string - 'null' enum: - spread - binpack example: spread Error1: required: - code - message properties: code: type: integer format: int32 message: type: string NodePoolLabelsRequest: properties: labelKey: type: string description: key of node label for pool example: node-type labelValue: type: string description: value of node label for pool example: type-x NodepoolSortFilterFields: type: string enum: - name - phase - clusterId - createdAt - updatedAt - networkTopologyName - gpuNetworkAccelerationDetection - gpuNetworkAccelerationDetected - gpuNetworkAccelerationLabelKey - swapEnabled - nodeLevelSchedulerEnabled NodePoolCreateRequest: properties: name: type: string description: Node Pool Name example: node-pool-a overProvisioningRatio: type: integer example: 1 default: 1 labelKey: type: string description: Label key for associated nodes to the Node Pool (with value as in labelValue) example: node-type labelValue: type: string description: Label value for associated nodes to the Node Pool (with key as in labelKey) example: type-x placementStrategy: $ref: '#/components/schemas/PlacementStrategy1' NodepoolUpdateFields: type: object properties: labelKey: type: - string - 'null' description: Label key for associated nodes to the Node Pool (with value as in labelValue) example: node-type minLength: 1 labelValue: type: - string - 'null' description: Label value for associated nodes to the Node Pool (with key as in labelKey) example: type-x minLength: 1 overProvisioningRatio: type: - integer - 'null' example: 1 minimum: 1 maximum: 5 default: 1 deprecated: true placementStrategy: deprecated: true 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 - 'null' gpuNetworkAccelerationDetection: $ref: '#/components/schemas/NodepoolGPUNetworkAccelerationDetection' gpuResourceOptimization: $ref: '#/components/schemas/GPUResourceOptimization' schedulingConfiguration: $ref: '#/components/schemas/SchedulingConfiguration' networkTopologyId: $ref: '#/components/schemas/NetworkTopologyIdOptional' NodepoolCreateResponseFields: type: object required: - name - labelKey - labelValue - clusterId properties: name: type: string example: v100 minLength: 1 labelKey: type: string description: Label key for associated nodes to the Node Pool (with value as in labelValue) example: node-type minLength: 1 labelValue: type: string description: Label value for associated nodes to the Node Pool (with key as in labelKey) example: type-x minLength: 1 clusterId: type: string format: uuid example: d73a738f-fab3-430a-8fa3-5241493d7128 overProvisioningRatio: type: - integer - 'null' example: 1 minimum: 1 maximum: 5 default: 1 deprecated: true placementStrategy: deprecated: true 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' networkTopologyName: $ref: '#/components/schemas/NetworkTopologyNameOptional' networkTopologyId: $ref: '#/components/schemas/NetworkTopologyIdOptional' gpuResourceOptimization: $ref: '#/components/schemas/GPUResourceOptimization' schedulingConfiguration: $ref: '#/components/schemas/SchedulingConfiguration' GPUResourceOptimization: type: - object - 'null' properties: swapEnabled: type: - boolean - 'null' description: Indicates if swap is enabled on the node pool example: true default: false cpuSwapMemorySize: type: - string - 'null' description: Size of the swap cpu memory. Only allowed when swapEnabled is true example: 10000M default: 100G pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$ reservedGpuMemoryForSwapOperations: type: - string - 'null' description: Reserved GPU memory for swap operations. Only allowed when swapEnabled is true example: 10G default: 2G pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$ nodeLevelSchedulerEnabled: type: - boolean - 'null' description: Indicates if node level scheduler is enabled on the node pool. Replaces the deprecated 'overProvisioningRatio' field example: true default: false NetworkTopologyNameOptional: type: - string - 'null' description: Name of the network topology maxLength: 63 minLength: 1 pattern: ^[a-z]([a-z0-9-]*[a-z0-9])?$ example: default-topology PlacementStrategy1: properties: cpu: type: string enum: - spread - binpack description: scheduling strategy for cpu example: spread gpu: type: string enum: - spread - binpack description: scheduling strategy for gpu example: binpack MetricsResponse: type: object required: - measurements properties: measurements: type: array items: $ref: '#/components/schemas/MeasurementResponse' NetworkTopologyIdOptional: type: - string - 'null' format: uuid description: The unique identifier for the network topology example: 123e4567-e89b-12d3-a456-426614174000 HttpResponse: required: - code - message properties: code: type: integer minimum: 100 maximum: 599 message: 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 - 'null' description: Label key for associated nodes to the Node Pool (with value as in labelValue) example: node-type minLength: 1 labelValue: type: - string - 'null' description: Label value for associated nodes to the Node Pool (with key as in labelKey) example: type-x minLength: 1 overProvisioningRatio: type: - integer - 'null' example: 1 minimum: 1 maximum: 5 default: 1 deprecated: true placementStrategy: description: scheduling strategy per resource deprecated: true 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' schedulingConfiguration: $ref: '#/components/schemas/SchedulingConfiguration' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: Bearer authentication x-tagGroups: - name: Organizations tags: - Clusters - Departments - Reports - NodePools - Nodes - Projects - Tenant - Logo - Researcher Command Line Interface - Researcher Command Line Interface Deprecated - Administrator Command Line Interface - Network Topologies - name: Authentication and Authorization tags: - Access Keys - Access rules - Permissions - Applications - Service Accounts - Roles - Tokens - Users - User Applications - Idps - Me - Settings - Org unit - name: Audit tags: - AuditLogs - name: Datavolumes tags: - Datavolumes - name: Workloads tags: - Events - Pods - Workloads - Workloads V2 - NVIDIA NIM - Workspaces - Trainings - Inferences - Revisions - Distributed - Workloads batch - Workload properties - Workload templates - Distributed Inferences - name: Workload assets tags: - Compute - Credentials - Datasources - Environment - Storage Classes - Storage Class Configuration - Git - HostPath - NFS - PVC - Registry - S3 - ConfigMap - Secret - Template - name: Policies tags: - Policy - name: Notifications tags: - Notification State - Notification Types - NotificationChannels - Subscriptions - name: AI Applications tags: - AI Applications