Estoy asegurando automáticamente las claves SSL de esta manera:
- 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
Ahora, para cada elemento, hay un gran mensaje de registro con todo el contenido del elemento:
ok: [127.0.0.1] => (item = {u'uid ': 0, u'woth': False, u'mtime ': 1454939377.264, u'inode': 400377, u'isgid ': False, u' tamaño ': 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})
Esto es increíblemente ilegible, ya que solo quiero saber la ruta del elemento que se está procesando (y tal vez modificado). Con una gran cantidad de teclas, esto se sale de control realmente rápido.
¿Cómo puedo cambiar esta jugada de una manera que solo item.path
se imprima para cada elemento?
Ya lo he intentado no_log: True
, pero esto omite por completo la salida, por supuesto.
no_log: true
y devolver el valoritem.path
con el módulo de depuraciónRespuestas:
Ansible 2.2 tiene
loop_control.label
para esto.fuente
Método 1
Utilizar
Devolverá una lista de rutas:
Toda tu tarea se convertiría en:
Tenga en cuenta que solo puede seleccionar un solo atributo, no es posible usarlo
attribute=['path', 'mode']
o algo similar.Método 2
Pensé en usar el extracto para poder obtener varias claves (porque a veces es necesario tener una segunda clave para una
when
condición), pero no pude hacerlo, ya que tendría que asignar la lista de dictados, luego asignar la lista de teclas sobre el dict específico, que no parece posible, ya que map solo acepta un nombre de función pero no una definición de función / funciones encadenadas. Estaría agradecido por una sugerencia aquí!Una gran idea de los comentarios (¡Gracias, Uditha Desilva !):
Método 3
Alternativamente, se podría usar un filtro personalizado como este (eso es lo que hice antes de descubrirlo
map
):ansible.cfg
:fuente
No puedes Es todo o nada (vía
no_log: True
)fuente