# Resource pools and budgets

Resource pools are the cost-centre units of Nuvolos. Every resource pool holds a budget against which mapped resources account their usage. Resource pools are associated with the [organisational hierarchy](/features/nuvolos-basic-concepts/organisational-hierarchy.md) — organisations, spaces, or individual resource types within a space can be mapped to a pool.

{% hint style="info" %}
Resource pools cannot be created in self-service. Contact support to create a new resource pool — we will discuss your use case and suggest the most efficient layout.
{% endhint %}

## Resource pool mappings

Associations between resource pools and Nuvolos objects are called *mappings*. The following objects can be mapped:

* **Organisations** — all resource usage in the organisation is billed against the mapped pool.
* **Spaces** — all usage in the space is billed against the mapped pool.
* **Specific resources in a space** — a particular resource type (e.g. HPC computation) can be mapped to a different pool than the rest of the space's resources.

{% hint style="info" %}
Mapping a specific resource type across all spaces in an organisation is not supported — this must be done space by space.
{% endhint %}

### Resource types

The following resource types can be mapped (the list may evolve as our offering grows):

* **File system storage** — storage on the [Nuvolos file system](/features/file-system-and-storage.md). Monitor usage via [file system limits and capacities](/administration/monitoring-resource-usage/file-system-limits-and-capacities.md).
* **Database storage** — storage in the Nuvolos [Scientific Data Warehouse](/features/nuvolos-basic-concepts/data-integration.md).
* **Database computation** — compute used by querying the Scientific Data Warehouse.
* **HPC interactive computation** — usage generated by [credit-based application sizes](/features/applications/application-resources.md#size-and-price-of-an-application).
* **Professional services** — services carried out by the Nuvolos team on agreed terms.
* **Nuvolos Compute Units** — general application runs counted against the [CU quota](/pricing-and-billing/nuvolos-compute-units-ncus.md) in your service agreement.

{% hint style="warning" %}
Resource mappings are atomic — you cannot split the usage of a single resource type in a space across multiple pools. For example, you cannot bill part of your file system storage to one pool and the rest to another, or split HPC costs by node pool. If you need that granularity, create separate spaces.
{% endhint %}

## Resource pool roles

The resource pool role structure builds on the [Nuvolos role hierarchy](/administration/roles.md) and adds one additional administrative role. Each role has different capabilities with respect to resource consumption and pool management:

| Role                  | Can generate usage      | Can view pool budget | Can view detailed space usage        | Can modify mappings |
| --------------------- | ----------------------- | -------------------- | ------------------------------------ | ------------------- |
| Instance viewer       | No                      | Overview only        | No                                   | No                  |
| Instance editor       | Yes                     | Overview only        | No                                   | No                  |
| Space administrator   | Yes                     | Yes                  | Own spaces + redacted info on others | No                  |
| Organisation faculty  | Yes (can create spaces) | Yes                  | Own spaces                           | No                  |
| Organisation manager  | Yes (can create spaces) | Yes                  | Own spaces                           | No                  |
| Resource pool manager | Yes                     | Yes                  | All spaces                           | Yes                 |

For a full description of the base roles, see [Roles and permissions](/administration/roles.md).

{% hint style="info" %}
To find your resource pool manager, click the **i** info icon next to the resource pool name on the [monitoring dashboard](/administration/monitoring-resource-usage.md).
{% endhint %}

## Mapping spaces to resource pools

Users who are both a **space administrator** of a space and a **resource pool manager** of a pool can map extra services in that space to their pool. This is particularly useful for researchers who have a personal budget but normally work in a shared organisation pool.

The mapping covers:

* **HPC interactive computation** — scaled application runs (see [application resources](/features/applications/application-resources.md)).
* **Database computation** — query compute time in the Scientific Data Warehouse.
* **Database storage** — database storage held by the space.

{% hint style="info" %}
The mapping does not affect regular provisions such as CU capacity for included-size application runs and file system storage.
{% endhint %}

### Mapping a space during space lifetime

To change the resource pool mapping of extra services for an existing space:

1. Navigate to the space overview.
2. Open **Project Configuration**.
3. Select the target resource pool in the **Resource Pool selection** menu.

You must hold both **space administrator** and **resource pool manager** rights in the target pool.

{% hint style="warning" %}
Previous resource usage is not re-mapped when you change a space's pool. To reconcile historical usage, contact support.
{% endhint %}

### Enabling services (resource pool level)

Nuvolos supports additional services — video library, high-performance computing, and database tables — that can be toggled at three levels: resource pool, [organisation](/administration/organisation-management.md), and [space](/administration/enabling-extra-services.md). Resource pool managers control the pool-level settings.

{% hint style="info" %}
Pool-level services can only be enabled if your contract allows additional services. Contact support if you need a service that is not currently available on your contract.
{% endhint %}

To review or change service settings:

1. Open the [monitoring dashboard](/administration/monitoring-resource-usage.md).
2. Click the toggle button for the service you want to enable.

{% hint style="warning" %}
Pool-level services cannot be disabled in self-service. Contact support to disable a service.
{% endhint %}

## Budgets

You can create budgets for colleagues who share funding by setting up a resource pool per budget. Below are standard patterns.

### Multiple organisations in one resource pool

A single pool shared by multiple [organisations](/features/nuvolos-basic-concepts/organisational-hierarchy.md#organisations). Useful when:

* The subscriber is large and splits its layout into several organisations.
* The subscriber is a conglomerate of loosely related sub-units.

### Research team with personal budgets

* The research team has its own organisation.
* Each member has a personal resource pool mapped to their spaces only.

### Research team with shared resources and a personal budget on one resource type

* The team shares a main resource pool for general usage.
* Each member's space maps a specific resource type (typically [HPC computation](/features/applications/application-resources.md) or database storage) to a personal pool.

### Transferring credits between resource pools

Credits can be transferred between pools via the Nuvolos UI. Self-service transfers are allowed **between pools where you are a resource pool manager in both**.

1. Open the [monitoring dashboard](/administration/monitoring-resource-usage.md).
2. On the **Current balance** tile, click **Transfer credits**.
3. Select the target pool and enter the amount.

To transfer credits to a pool you do not manage, contact support.

{% hint style="info" %}
We recommend designating one or more team members as resource pool managers across all related pools so they can redistribute credits in self-service.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nuvolos.com/pricing-and-billing/resource-pools-and-budgets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
