Source code for idem_vault.exec.vault.secrets.kv_v1.secret
from typing import Dict
import dict_tools.data
[docs]async def get(hub, ctx, path: str) -> Dict:
"""
Retrieves KV_v1 secret data-source.
Args:
path (str):
The full logical path to write the data. This should be prefixed 'with secret/'.
Request Syntax:
.. code-block:: sls
[Idem-state-name]:
exec.run:
- path: vault.secrets.kv_v1.secret.get
- kwargs:
path: 'string'
Examples:
.. code-block:: sls
my-secret:
exec.run:
- path: vault.secrets.kv_v1.secret.get
- kwargs:
path: secret/test
"""
result = dict(comment=[], ret=None, result=True)
read_ret = await hub.exec.hvac.client.secrets.kv.v1.read_secret(ctx, path=path)
if not read_ret["result"]:
result["result"] = False
result["comment"] += list(read_ret["comment"])
return result
result["changes"] = hub.tool.vault.secret.calculate_changes(
new_state=read_ret["ret"]
)
result["ret"] = {
"path": path,
"data": dict_tools.data.SafeNamespaceDict(read_ret["ret"]["data"]),
}
return result