feat(macro): to use in several state
This commit is contained in:
parent
00480b992c
commit
70e66c97be
2 changed files with 29 additions and 0 deletions
22
sudoers/macros.sls
Normal file
22
sudoers/macros.sls
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{%- macro sudoers(for_user, sudo, config, priority='20', state='present') -%}
|
||||||
|
{%- set filename = priority ~ '-' ~ for_user|replace('.','-') ~ '-' ~ sudo %}
|
||||||
|
|
||||||
|
{% if state == 'present' %}
|
||||||
|
/etc/sudoers.d/{{ filename }}:
|
||||||
|
file.managed:
|
||||||
|
- user: root
|
||||||
|
- group: root
|
||||||
|
- mode: 440
|
||||||
|
- template: jinja
|
||||||
|
- source: salt://sudoers/templates/sudoers.jinja
|
||||||
|
- context:
|
||||||
|
for_user: {{ for_user }}
|
||||||
|
sudo: {{ sudo }}
|
||||||
|
config: {{ config }}
|
||||||
|
|
||||||
|
{% elif state == 'absent' %}
|
||||||
|
/etc/sudoers.d/{{ filename }}:
|
||||||
|
file.absent
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{%- endmacro %}
|
7
sudoers/templates/sudoers.jinja
Normal file
7
sudoers/templates/sudoers.jinja
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{%- if config.command is string -%}
|
||||||
|
{{ for_user }} {{ config.privileges }}: {{ config.command }}
|
||||||
|
{%- else -%}
|
||||||
|
{% for command in config.command -%}
|
||||||
|
{{ for_user }} {{ config.privileges }}: {{ command }}
|
||||||
|
{% endfor %}
|
||||||
|
{%- endif -%}
|
Loading…
Reference in a new issue