defmodule Vault.Engine.Adapter do
@moduledoc """
Adapter specificication for Vault Secret Engines
"""
@type vault :: Vault.t()
@type path :: String.t()
@type value :: term
@type token :: String.t()
@type options :: list()
@type data :: term
@type errors :: list()
@type response :: {:ok, data} | {:error, errors}
@callback read(vault, path, options) :: response
@callback write(vault, path, value, options) :: response
@callback list(vault, path, options) :: response
@callback delete(vault, path, options) :: response
end