# 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.](https://2302517564-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LeJ6kGUyZS2zT96wHZ3%2F-LmJm19yattuZg9bJyju%2F-LmJmL-0ryD8H0tKkmvF%2F2019-08-06%20\(9\)%20small.png?alt=media\&token=f8a1f107-eaf4-442c-b77c-52d03ee02b5a)

### 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="https://2302517564-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LeJ6kGUyZS2zT96wHZ3%2F-LmJl6aEWGjxTFdAr-uc%2F-LmJlEZ1hX5oT5ZwtzO2%2F2019-08-06%20(5).png?alt=media&#x26;token=256371cb-8644-44ca-882b-daaac4a5f9db" alt="The detail-view of a resource instance, including resource type, attribute values and possible actions."></div>
