Estou tentando procurar todas as variáveis em minha configuração do Ansible que terminam com “senha” nos nomes das variáveis. Então eu gostaria de acessar os valores das variáveis de senha e verificar o comprimento dos caracteres.
Posso pesquisar todas as minhas variáveis de senha, lookup(‚varnames‘, ‚password‘)
mas como faço para percorrer a lista de resultados e obter seus valores?
Tentei:
- name: Show passwords
ansible.builtin.debug:
msg: "{{ item }}"
with_items: "{{ lookup('ansible.builtin.varnames', 'password') }}"
Mas o que estou recebendo é o próprio nome da variável:
ok: [host1] => (item=test_password,test_password_default,admin_password,ldap_password) => { "msg": "test_password,test_password_default,admin_password,ldap_password" }
Gostaria de obter os valores das variáveis e, em seguida, fazer uma afirmação do comprimento dos caracteres.
Por padrão, a
varnames
pesquisa produz uma única sequência delimitada por vírgula. Adicionarwantlist=true
:Ou use
query
em vez delookup
(query
sempre retorna uma lista):(Ambas as soluções acima estão documentadas aqui ).
Por último, você pode usar a
vars
pesquisa para obter o valor da variável:Observe que a
vars
pesquisa retorna apenas "nomes de variáveis de nível superior". Se você realmente deseja valores de fato, pode ser necessário procurá-los por meiohostvars
de.