# SLA target reference

In this section the format of target definitions is specified.

## Target restrictions model

Unless otherwise specified, each target type may be expressed as a set of consecutive restrictions:

* total-guaranteed  - the guaranteed quantity of a resource to be granted to the user group in total &#x20;
* total-limit  - the limit a resource for the user group in total &#x20;
* instance-guaranteed- the guaranteed quantity of a resource to be granted to each instance (virtual machine or Docker container in case of compute service type)
* instance-limit - the limit of a resource for each instance
* user-guaranteed - the guaranteed quantity of a resource to be granted to each user
* user-limit  - the limit of a resource for each user

If a restriction is not speciffied, we assume following default values:

* total-guaranteed -  0 (no guarantees for group)
* total-limit - inf (no limit for group)
* instance-guaranteed - 0 (no guarantees per instance)
* instance-limit - inf (no limit per instance)
* user-guaranteed - 0 (no guarantees for a user)
* user-limit  - inf (no limit for a user)

  Compute service target types reference

## Target types conforming to the restrictions model

| Type                 | Unit | Description                                             |
| -------------------- | ---- | ------------------------------------------------------- |
| computing\_time      | h    | Computing time restrictions in hours                    |
| num\_cpus            | none | CPU number restrictions                                 |
| mem\_size            | MB   | Operating memory (RAM) size restrictions in megabytes   |
| disk\_size           | MB   | Storage memory size restrictions in megabytes           |
| public\_ip           | none | Number of IP adresses restrictions                      |
| upload\_bandwith     | Mbps | Upload bandwidth restrictions in megebytes per second   |
| download\_bandwith   | Mbps | Download bandwidth restrictions in megebytes per second |
| upload\_aggregated   | MB   | Total uploaded data size restrictions in megabytes      |
| download\_aggregated | MB   | Total downloaded data size restrictions in megabytes    |

## Target types not conforming to the restrictions model

| Type           | Unit | Description                                        | Restrictions                            |
| -------------- | ---- | -------------------------------------------------- | --------------------------------------- |
| costs          | EUR  | Compute service costs restriction.                 | limit-total, limit-instance, limit-user |
| cpu\_frequency | ?    | Restrictions for frequency of virtualized CPU unit | none                                    |

## Samples

```javascript
targets: [
    {
      type: computing_time,
      unit: h,
      restrictions: {    
        guaranteed-total: 10, // 10 computing hours is guaranteed to be granted to the user group
        limit-total: 100, // the user group can use up to 100 computing hours
        guaranteed-instance: 2, // 2 computing hours is guaranteed to be granted to each virtual machine or Docker container (instance)
        limit-instance: 100, // each virtual machine or Docker container (instance) can use up to 100 computing hours
        guaranteed-user: 4, // 4 computing hours is guaranteed to be granted to each user belonging to the group (across all instances owned by the user)
        limit-user: 100 // each user in the group can use up to 100 computing hours (in this case each user can use the whole computing time quota of a group)
      }
    },
    {
      type: num_cpus,
      unit: null,
      restrictions: {    
        limit-total: 50, // the user group can use up to 50 cpu units at the same time
        limit-instance: 4, //  a virtual machine/container can use up to 4 cpu units at the same time
        limit-user: 6  // a single user can use up to 6 cpu units at the same time
      }
    }
}
```


---

# 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://indigo-dc.gitbook.io/slam/targets.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.
