Estou protegendo automaticamente chaves SSL assim:
- name: Find ssl keys
find: paths="/etc/ssl/" patterns="*.key" recurse=yes
register: secure_ssl_keys_result
- name: Secure ssl keys
file: path={{ item.path }} user=root group=root mode=600
with_items: secure_ssl_keys_result.files
Agora, para cada item, há uma enorme mensagem de log com todo o conteúdo do item:
ok: [127.0.0.1] => (item = {u'uid ': 0, u'woth': False, u'mtime ': 1454939377.264, u'inode': 400377, u'isgid ': False, u' size ': 3243, u'roth': False, u'isuid ': False, u'isreg': True, u'gid ': 0, u'ischr': False, u'wusr ': True, u'xoth ': False, u'rusr': True, u'nlink ': 1, u'issock': False, u'rgrp ': False, u'path': u '/ etc / ssl / foo.key', u 'xusr': False, u'atime ': 1454939377.264, u'isdir': False, u'ctime ': 1454939657.116, u'isblk': False, u'xgrp ': False, u'dev': 65025, u ' wgrp ': False, u'isfifo': False, u'mode ': u'0600', u'islnk ': False})
Isso é incrivelmente ilegível, pois eu só quero saber o caminho do item que está sendo processado (e talvez alterado). Com um grande número de teclas, isso fica fora de controle muito rápido.
Como posso alterar esse jogo de maneira que apenas o item.path
item esteja sendo impresso para cada item?
Eu já tentei no_log: True
, mas isso omite completamente a saída, é claro.
no_log: true
e retornar o valor deitem.path
com módulo de depuraçãoRespostas:
A versão 2.2 tem
loop_control.label
para isso.fonte
Método 1
Usar
Ele retornará uma lista de caminhos:
Toda a sua tarefa se tornaria:
Lembre-se de que você pode selecionar apenas um único atributo, não é possível usar
attribute=['path', 'mode']
ou semelhante.Método 2
Pensei em usar o extrato para buscar várias chaves (porque às vezes é necessário ter uma segunda chave para uma
when
condição), mas não consegui fazê-lo, pois precisaria mapear a lista de dictos e, em seguida, mapear a lista de chaves sobre o ditado específico, o que não parece possível, pois o mapa aceita apenas um nome de função, mas não uma definição de função / funções encadeadas. Ficaria muito grato por uma sugestão aqui!Uma ótima idéia dos comentários (Obrigado, Uditha Desilva !):
Método 3
Como alternativa, um filtro personalizado como esse poderia ser usado (foi o que eu fiz antes de descobrir
map
):ansible.cfg
:fonte
Você não pode. É tudo ou nada (via
no_log: True
)fonte