# `Aerospike.User`
[🔗](https://github.com/luisgabrielroldan/aerospike_driver/blob/v0.3.1/lib/aerospike/user.ex#L1)

Security user metadata returned by Aerospike user queries.

`read_info` and `write_info` preserve the server's ordered counters so later
server versions can add metrics without changing the result shape.

# `info_counters`

```elixir
@type info_counters() :: [non_neg_integer()]
```

Opaque ordered statistics vector returned by the server.

The client preserves the server order rather than naming individual counters
because available counters vary by server version and configuration.

# `t`

```elixir
@type t() :: %Aerospike.User{
  connections_in_use: non_neg_integer(),
  name: String.t(),
  read_info: info_counters(),
  roles: [String.t()],
  write_info: info_counters()
}
```

Security user metadata returned by user queries.

`roles` contains role names assigned to the user. `read_info`,
`write_info`, and `connections_in_use` are server-reported security
statistics when present in the info response.

---

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