# `Diffo.Provider.BaseRelationship`
[🔗](https://github.com/diffo-dev/diffo/blob/v0.9.0/lib/diffo/provider/components/base_relationship.ex#L5)

Ash Resource Fragment which is the shared foundation for TMF Relationship resources.

Provides the common attributes, relationships, validations, and actions shared
between `Diffo.Provider.Relationship` (TMF service/resource relationships) and
`Diffo.Provider.AssignedToRelationship` (pool assignment relationships).

## Common attributes

- `id` — uuid4 primary key
- `type` — relationship type atom
- `target_href` — denormalised target href (set by the `DetailRelationship` change)
- `target_type` — denormalised target type (`:service` or `:resource`)
- `created_at`, `updated_at` — timestamps

## Common Ash relationships

- `belongs_to :source, Diffo.Provider.Instance`
- `belongs_to :target, Diffo.Provider.Instance`

# `extensions`

# `opts`

# `persisted`

# `spark_dsl_config`

# `validate_sections`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
