# Interface: ResourceRequirement

Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements().

## Extended by[​](#extended-by "Direct link to Extended by")

* [`ResourceEntry`](/appkit/docs/api/appkit/Interface.ResourceEntry.md)

## Properties[​](#properties "Direct link to Properties")

### alias[​](#alias "Direct link to alias")

```ts
alias: string;

```

Unique alias for this resource within the plugin (e.g., 'warehouse', 'secrets'). Used for UI/display.

***

### description[​](#description "Direct link to description")

```ts
description: string;

```

Human-readable description of why this resource is needed

***

### fields[​](#fields "Direct link to fields")

```ts
fields: Record<string, ResourceFieldEntry>;

```

Map of field name to env and optional description. Single-value types use one key (e.g. id); multi-value (database, secret) use multiple keys.

***

### permission[​](#permission "Direct link to permission")

```ts
permission: ResourcePermission;

```

Required permission level for the resource

***

### required[​](#required "Direct link to required")

```ts
required: boolean;

```

Whether this resource is required (true) or optional (false)

***

### resourceKey[​](#resourcekey "Direct link to resourceKey")

```ts
resourceKey: string;

```

Stable key for machine use (env naming, composite keys, app.yaml). Required.

***

### type[​](#type "Direct link to type")

```ts
type: ResourceType;

```

Type of Databricks resource required
