#!/bin/bash


sudo_file=/etc/sudoers


# Add Command Aliases
add_cmd_alias() {
    {% for sudo in sudo_alias %}
    if $(grep '^Cmnd_Alias {{ sudo.name }}' ${sudo_file} &> /dev/null); then
        sed -i 's@^Cmnd_Alias.*{{ sudo.name }}.*@Cmnd_Alias {{ sudo.name }} = {{ sudo.commands }}@g' ${sudo_file}
    else
        echo "Cmnd_Alias {{ sudo.name }} = {{ sudo.commands }}" >> ${sudo_file}
    fi
    {% endfor %}
}


add_role_chosen() {
    {% for role, sudos in role_chosen_aliase.items %}
        {% for sudo in sudos %}
        if $(grep '^{{ role }}.*sudo.name' ${sudo_file} &> /dev/null); then
            sed -i 's@^{{ role }}.*sudo.name@{{ role }} ALL = ({{ sudo.runas }}) NOPASSWD: {{ sudo.name }}@g' ${sudo_file}
        else
            echo "{{ role }} ALL = ({{ sudo.runas }}) NOPASSWD: {{ sudo.name }}"  >> ${sudo_file}
        fi
        {% endfor %}
    {% endfor %}
}


add_cmd_alias
add_role_chosen