# `Ash.Resource.Attribute`
[🔗](https://github.com/ash-project/ash/blob/v3.23.1/lib/ash/resource/attribute.ex#L5)

Represents an attribute on a resource

# `t`

```elixir
@type t() :: %Ash.Resource.Attribute{
  __spark_metadata__: Spark.Dsl.Entity.spark_meta(),
  allow_nil?: term(),
  always_select?: term(),
  constraints: Keyword.t(),
  default: nil | term() | (-&gt; term()),
  description: term(),
  filterable?: term(),
  generated?: term(),
  match_other_defaults?: term(),
  name: atom(),
  primary_key?: boolean(),
  public?: boolean(),
  select_by_default?: boolean(),
  sensitive?: boolean(),
  sortable?: boolean(),
  source: term(),
  type: Ash.Type.t(),
  update_default:
    nil | term() | (-&gt; term()) | (Ash.Resource.record() -&gt; term()),
  writable?: boolean()
}
```

# `create_timestamp_schema`

# `integer_primary_key_schema`

# `transform`

# `update_timestamp_schema`

# `uuid_primary_key_schema`

# `uuid_v7_primary_key_schema`

---

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