Current section
Files
Jump to
Current section
Files
lib/aerospike/privilege.ex
defmodule Aerospike.Privilege do
@moduledoc """
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.
"""
@enforce_keys [:code]
defstruct [:code, :raw_code, :namespace, :set]
@typedoc """
Known Aerospike privilege identifiers.
`:unknown` preserves privilege entries whose numeric code is not recognized
by this client version.
"""
@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
@typedoc """
Privilege metadata returned by role queries.
Global privileges use `nil` for `namespace` and `set`. Namespace-scoped
privileges set `namespace` and leave `set` as `nil`.
"""
@type t :: %__MODULE__{
code: code(),
raw_code: non_neg_integer() | nil,
namespace: String.t() | nil,
set: String.t() | nil
}
end