# Interface: ResourceEntry

Internal representation of a resource in the registry. Extends ResourceRequirement with resolution state and plugin ownership.

## Extends[​](#extends "Direct link to Extends")

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

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

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

```ts
alias: string;

```

Human-readable label for UI/display only.

#### Inherited from[​](#inherited-from "Direct link to Inherited from")

[`ResourceRequirement`](./docs/api/appkit/Interface.ResourceRequirement.md).[`alias`](./docs/api/appkit/Interface.ResourceRequirement.md#alias)

***

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

```ts
description: string;

```

Human-readable description of why this resource is needed.

#### Inherited from[​](#inherited-from-1 "Direct link to Inherited from")

[`ResourceRequirement`](./docs/api/appkit/Interface.ResourceRequirement.md).[`description`](./docs/api/appkit/Interface.ResourceRequirement.md#description)

***

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

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

```

Map of field name to field entry. Required at runtime.

#### Inherited from[​](#inherited-from-2 "Direct link to Inherited from")

[`ResourceRequirement`](./docs/api/appkit/Interface.ResourceRequirement.md).[`fields`](./docs/api/appkit/Interface.ResourceRequirement.md#fields)

***

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

```ts
permission: ResourcePermission;

```

Required permission level for the resource (narrowed to union)

#### Inherited from[​](#inherited-from-3 "Direct link to Inherited from")

[`ResourceRequirement`](./docs/api/appkit/Interface.ResourceRequirement.md).[`permission`](./docs/api/appkit/Interface.ResourceRequirement.md#permission)

***

### permissionSources?[​](#permissionsources "Direct link to permissionSources?")

```ts
optional permissionSources: Record<string, ResourcePermission>;

```

Per-plugin permission tracking. Maps plugin name to the permission it originally requested. Populated when multiple plugins share the same resource.

***

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

```ts
plugin: string;

```

Plugin(s) that require this resource (comma-separated if multiple)

***

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

```ts
required: boolean;

```

Whether the resource is mandatory at runtime.

#### Inherited from[​](#inherited-from-4 "Direct link to Inherited from")

[`ResourceRequirement`](./docs/api/appkit/Interface.ResourceRequirement.md).[`required`](./docs/api/appkit/Interface.ResourceRequirement.md#required)

***

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

```ts
resolved: boolean;

```

Whether the resource has been resolved (all field env vars set)

***

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

```ts
resourceKey: string;

```

Stable key for machine use: deduplication, env naming, composite keys, app.yaml.

#### Inherited from[​](#inherited-from-5 "Direct link to Inherited from")

[`ResourceRequirement`](./docs/api/appkit/Interface.ResourceRequirement.md).[`resourceKey`](./docs/api/appkit/Interface.ResourceRequirement.md#resourcekey)

***

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

```ts
type: ResourceType;

```

Type of Databricks resource required (narrowed to enum)

#### Inherited from[​](#inherited-from-6 "Direct link to Inherited from")

[`ResourceRequirement`](./docs/api/appkit/Interface.ResourceRequirement.md).[`type`](./docs/api/appkit/Interface.ResourceRequirement.md#type)

***

### values?[​](#values "Direct link to values?")

```ts
optional values: Record<string, string>;

```

Resolved value per field name. Populated by validate() when all field env vars are set.
