FerricStore.Management.ACL behaviour (ferricstore v0.7.5)

Copy Markdown View Source

Stable ACL management contract for FerricStore control planes.

The default implementation is intentionally unsupported. Deployments can provide a configured implementation through application config.

Summary

Types

acl_rule()

@type acl_rule() :: binary()

result()

@type result() :: :ok | {:ok, term()} | {:error, term()}

username()

@type username() :: binary()

Callbacks

del_user(username, keyword)

@callback del_user(
  username(),
  keyword()
) :: result()

get_user(username, keyword)

@callback get_user(
  username(),
  keyword()
) :: result()

list_users(keyword)

@callback list_users(keyword()) :: result()

save(keyword)

@callback save(keyword()) :: result()

set_user(username, list, keyword)

@callback set_user(username(), [acl_rule()], keyword()) :: result()

Functions

del_user(username, opts \\ [])

@spec del_user(
  username(),
  keyword()
) :: result()

get_user(username, opts \\ [])

@spec get_user(
  username(),
  keyword()
) :: result()

list_users(opts \\ [])

@spec list_users(keyword()) :: result()

save(opts \\ [])

@spec save(keyword()) :: result()

set_user(username, rules, opts \\ [])

@spec set_user(username(), [acl_rule()], keyword()) :: result()