Saya secara otomatis mengamankan kunci SSL seperti ini:
- 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
Sekarang, untuk setiap item, ada pesan log besar dengan seluruh konten item:
ok: [127.0.0.1] => (item = {u'uid ': 0, u'woth': False, u'mtime ': 1454939377.264, u'inode': 400377, u'isgid ': False, u' ukuran ': 3243, u'roth': Salah, u'isuid ': Salah, u'isreg': Benar, u'gid ': 0, u'ischr': Salah, u'wusr ': Benar, u'xoth ': Salah, u'rusr': Benar, u'nlink ': 1, u'issock': Salah, u'rgrp ': Salah, 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})
Ini sangat tidak dapat dibaca, karena saya hanya ingin tahu jalur item yang sedang diproses (dan mungkin diubah). Dengan sejumlah besar kunci, ini keluar begitu cepat.
Bagaimana saya bisa mengubah permainan ini dengan cara yang hanya item.path
dicetak untuk setiap item?
Saya sudah mencoba no_log: True
, tetapi ini benar-benar menghilangkan output.
no_log: true
dan kembalikan nilaiitem.path
dengan modul debugJawaban:
Kemungkinan 2.2
loop_control.label
untuk ini.sumber
Metode 1
Menggunakan
Ini akan mengembalikan daftar jalur:
Seluruh tugas Anda akan menjadi:
Berhati-hatilah karena Anda hanya dapat memilih satu atribut, itu tidak mungkin digunakan
attribute=['path', 'mode']
atau serupa.Metode 2
Saya berpikir untuk menggunakan ekstrak untuk dapat mengambil beberapa kunci (karena kadang-kadang perlu memiliki kunci kedua untuk suatu
when
kondisi), tetapi tidak berhasil melakukannya, karena saya perlu memetakan daftar dicts, lalu memetakan daftar kunci dict tertentu, yang tampaknya tidak mungkin, karena peta hanya menerima nama fungsi tetapi bukan definisi fungsi / fungsi dirantai. Saya akan berterima kasih atas saran di sini!Ide bagus dari komentar (Terima kasih, Uditha Desilva !):
Metode 3
Atau, filter khusus seperti ini dapat digunakan (itulah yang saya lakukan sebelum saya ketahui
map
):ansible.cfg
:sumber
Kamu tidak bisa Ini semua atau tidak sama sekali (via
no_log: True
)sumber