# Resource Management

### Resource Types

In Rembrandt, resource types can be **created** at the "Types" page in the *Organization* component. When a new resource type should be created, several things can be configured:

1. A name for the new resource type.
2. The parent type. Used to built up the resource type hierarchy. All attributes of the parent class will be inherited. Each new type must at least be a sub-type of the root-class *Resource*.
3. Choose if the class should be *abstract*. Abstract classes can not have any resources (resource instances). They are only used to refine the hierarchy, non-abstract sub-types of this type can have resource instances again.
4. Set the attributes for the type. For each attribute, a data type can be selected. Additionally, it can be marked as *required*, meaning there can be no resource instance without a value for this attribute. Also, one attribute of the type can be defined as *naming*. When resource instances of this type are displayed, the value of the attribute marked as *naming* will be used instead of the resource id (e.g. for *Human*, the attribute *name* could be used).

Resource types can not be **modified**, to ensure a consistent structure of all resource instances of this type or sub-types. To **delete** resource types, open the respective detail-view and click *Delete Type*. Resource types can not deleted if there are sub-types defined or resource instances of this type.

![The detail-view of a resource type.](/files/-LmJmL-0ryD8H0tKkmvF)

### Resource Instances

New resource instances can be **created** from either the detail-view of a resource type, or at the "Resources" page in the *Organization* component. The steps for creating a new resource are as follows:

1. Select the resource type the new resource instance should be of. (Skipped if the resource is created from a resource type detail-view.)
2. Fill in the attribute values. The attributes marked as *required* in the resource type will be enforced.

To **modify** or **delete** resource instances, open the detail-view of the resource instance and select the appropriate action.

<div align="center"><img src="/files/-LmJlEZ1hX5oT5ZwtzO2" alt="The detail-view of a resource instance, including resource type, attribute values and possible actions."></div>


---

# 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://rembrandt.gitbook.io/docs/user-guide-1/resource-management.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.
