We provide a new `_mapdata` state which generate a `/tmp/salt_mapdata_dump.yaml` to be validated by `Inspec`.tags/v1.3.0
Manages the system wide ``/etc/ssh/moduli`` file. | Manages the system wide ``/etc/ssh/moduli`` file. | ||||
``openssh._mapdata`` | |||||
^^^^^^^^^^^^^^^^^^ | |||||
Testing state which dumps the ``map.jinja`` values in ``/tmp/salt_mapdata_dump.yaml``. | |||||
This state is not called by any include but is mostly used by kitchen and Inspec infrastructure to validate ``map.jinja``. | |||||
Testing | Testing | ||||
------- | ------- | ||||
# yamllint disable rule:indentation rule:line-length | |||||
# {{ grains.get('osfinger', grains.os) }} | |||||
--- | |||||
{#- use salt.slsutil.serialize to avoid encoding errors on some platforms #} | |||||
{{ salt['slsutil.serialize']( | |||||
'yaml', | |||||
map, | |||||
default_flow_style=False, | |||||
allow_unicode=True, | |||||
) | |||||
| regex_replace("^\s+'$", "'", multiline=True) | |||||
| trim | |||||
}} |
# -*- coding: utf-8 -*- | |||||
# vim: ft=sls | |||||
--- | |||||
{#- Get the `tplroot` from `tpldir` #} | |||||
{%- set tplroot = tpldir.split('/')[0] %} | |||||
{%- from tplroot ~ "/map.jinja" import openssh with context %} | |||||
{%- from tplroot ~ "/map.jinja" import ssh_config with context %} | |||||
{%- from tplroot ~ "/map.jinja" import sshd_config with context %} | |||||
{%- set output_file = '/tmp/salt_mapdata_dump.yaml' %} | |||||
{%- set map = { | |||||
'openssh': openssh, | |||||
'ssh_config': ssh_config, | |||||
'sshd_config': sshd_config, | |||||
} %} | |||||
{%- do salt['log.debug']( map | yaml(False) ) %} | |||||
{{ tplroot }}-mapdata-dump: | |||||
file.managed: | |||||
- name: {{ output_file }} | |||||
- source: salt://{{ tplroot }}/_mapdata/_mapdata.jinja | |||||
- template: jinja | |||||
- context: | |||||
map: {{ map | yaml }} |