Eu encontrei uma solução, mais ou menos. Meu papel agora se parece com isso e funciona:
- name: "brew favourites"
homebrew: name={{ item }} state=present
with_items:
- htop
- nmap
- telnet
- wget
- nginx
Notas estendidas
Eu realmente não sei qual mecanismo é responsável por esse trabalho. Eu sinto que é fora do Ansible e é na verdade um pitonismo (isso é um Lamda?). Seja o que for, poderia servir de modelo para uma solução geral para esse tipo de coisa.
Eu tentei o acima, depois de ver algo semelhante descrito para definir uma lista de pacotes do apt, essa abordagem se parece com:
- name: "Asserting apt packages"
apt: pkg={{ item }} state=installed
with_items:
- aptitude
- vim
- htop
- nmap
- curl
- screen
- open-vm-tools
Assim, note que no módulo apt , eu queria ter muitos pacotes listados para o pkg . No contexto módulos homebrew ', não era pkg , mas sim nome .
Similarmente, ambos os módulos Ansible possuem um parâmetro state, mas para o apt o valor apropriado foi instalado , e com o homebrew está presente .
Então, acho que esse tipo de sintaxe se aplica ao Ansible em um contexto global. E os módulos precisam ter consciência zero ou suporte explícito disso. Poderoso.