# IResourceAnnotation

Term type: API interface

The .NET interface for typed metadata attached to an Aspire resource to describe configuration or behavior.

Also known as: resource annotation, annotation

Annotations store strongly typed metadata on resources. Built-in annotations describe concerns such as endpoints, environment settings, and startup waits; integration authors can define custom annotation types.

`IResourceAnnotation` is a .NET extensibility interface. TypeScript AppHost configuration methods manage the underlying metadata without exposing arbitrary .NET annotation implementations as a direct authoring pattern.

## Practical example

An integration attaches endpoint or environment annotations to a resource so orchestration and publishing can interpret them later.

## Learn more

- [Customize resources with annotations](https://aspire.dev/fundamentals/annotations-overview/)

## Related terms

- [Lifecycle events](https://aspire.dev/hub/glossary/lifecycle-events/)

- [Resource](https://aspire.dev/hub/glossary/resource/)

- [WithAnnotation](https://aspire.dev/hub/glossary/withannotation/)