On Thu, 28 Oct 2021 05:28:27 -0700 (PDT)
Suresh Karpurapu <[email protected]> wrote:

> # grep AllowGroups /etc/ssh/sshd_config   
> AllowGroups x y z
> 
> # grep AllowGroups /etc/ssh/sshd_config   
> AllowGroups x y z a                 <-----group "a" needs to be added at 
> the end of the line

Enable *backrefs* and create non-greedy capture group in front of the
potentially existent "a" group

    - lineinfile:
        path: /etc/ssh/sshd_config
        backrefs: true
        regexp: '^\s*AllowGroups\s+(.*?)(\s+a)*$'
        line: 'AllowGroups \1 a'

The task is idempotent. Quoting from *regexp*
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/lineinfile_module.html#parameter-regexp

  "When modifying a line the regexp should typically match both the
  initial state of the line as well as its state after replacement by
  line to ensure idempotence."

-- 
Vladimir Botka

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/20211028145056.604ca80b%40gmail.com.

Attachment: pgpvgZGgkryjP.pgp
Description: OpenPGP digital signature

Reply via email to