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

Security privilege assigned to an Aerospike role.

Global privileges use `nil` for `:namespace` and `:set`. Data privileges may
narrow scope to a namespace or namespace/set pair.

# `code`

```elixir
@type code() ::
  :user_admin
  | :sys_admin
  | :data_admin
  | :udf_admin
  | :sindex_admin
  | :read
  | :read_write
  | :read_write_udf
  | :write
  | :truncate
  | :masking_admin
  | :read_masked
  | :write_masked
  | :unknown
```

Known Aerospike privilege identifiers.

`:unknown` preserves privilege entries whose numeric code is not recognized
by this client version.

# `t`

```elixir
@type t() :: %Aerospike.Privilege{
  code: code(),
  namespace: String.t() | nil,
  raw_code: non_neg_integer() | nil,
  set: String.t() | nil
}
```

Privilege metadata returned by role queries.

Global privileges use `nil` for `namespace` and `set`. Namespace-scoped
privileges set `namespace` and leave `set` as `nil`.

---

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