1. ##
  2. # /srv/pillar/users.sls
  3. #
  4. users:
  5. root:
  6. ssh_authorized_keys:
  7. steve@mba13:
  8. enc: ssh-rsa
  9. key: AAAAB3N...
  10. ...
  11. ##
  12. # salt '*' pillar.data:
  13. #
  14. ...
  15. root:
  16. ----------
  17. ssh_authorized_keys:
  18. ----------
  19. steve@mba13:
  20. ----------
  21. comment:
  22. steve@mba13
  23. enc:
  24. ssh-rsa
  25. key:
  26. AAAAB3N...
  27. ##
  28. # /srv/salt/users/init.sls
  29. #
  30. {% if 'ssh_authorized_keys' in user %}
  31. {% for key in user.ssh_authorized_keys %}
  32. {{ username }}_authorized_key_{{ loop.index }}:
  33. ssh_auth:
  34. - present
  35. - user: {{ username }}
  36. {% if 'enc' in key %}
  37. - enc: {{ key.enc }}
  38. {% endif %}
  39. ...
  40. ##
  41. # salt '*' state.highstate
  42. #
  43. Traceback (most recent call last):
  44. File "/usr/lib/pymodules/python2.7/salt/state.py", line 1944, in render_state
  45. rendered_sls=mods
  46. File "/usr/lib/pymodules/python2.7/salt/template.py", line 69, in compile_template
  47. ret = render(input_data, env, sls, **render_kwargs)
  48. File "/usr/lib/pymodules/python2.7/salt/renderers/jinja.py", line 42, in render
  49. tmp_data.get('data', 'Unknown render error in jinja renderer')
  50. SaltRenderError: Undefined jinja variable; line 372 in template

Trying dict of dict instead...