Como posso adicionar um usuário a vários grupos no Ansible?

Como posso adicionar um usuário a vários grupos no Ansible?

Não consigo adicionar um usuário a vários grupos, continuo recebendo a mensagem: este módulo requer argumentos chave=valor.

Este é o trecho de código que estou tentando:

- name: make a new user
  user: name=user
        state=present
        groups="group1", "group2", "group3"
        comment="comment"

A documentação diz: Groups= Coloca o usuário nesta lista de grupos delimitada por vírgulas. Quando definido como uma string vazia ('groups='), o usuário é removido de todos os grupos, exceto do grupo principal.

Eu tentei com "grupo", 'grupo' e sem dois pontos e ainda obtive o mesmo erro.

http://docs.ansible.com/user_module.html

Responder1

A sintaxe correta é:

- name: make a new user
  user: name=user
        state=present
        groups="group1, group2, group3"
        comment="comment"

Responder2

Existem dois problemas com o código que você postou:

  1. Para passar vários valores para groups, use valores separados por vírgula sem espaços entre eles:groups: group1,group2
  2. No YAML, ao colocar cada chave em sua própria linha, troque =por:

Aqui está um exemplo de código funcional:

- name: make a new user
  user: 
    name: johnsmith
    state: present
    groups: group1,group2
    comment: "comment"
    append: no # If yes, will only add groups, not set them to just the list in groups.

Responder3

Recebo que o grupo "grupo2" não existe. (Mas sem as aspas, isso mostra o espaço extra).

A maneira correta é

groups={{ group }},{{ sudo_group }}

Responder4

As respostas acima estão incorretas. A maneira certa de definir uma variável:

groups: group1,group2 

Então para usar:

action: user groups={{user.groups}}

informação relacionada