Î: "Cum se utilizează ieșirea comenzii în valoarea Ansible ini_file?"
R: Înregistrați rezultatul comenzii și utilizați-l ca valoare, de ex.
- gazde: test_24
gather_facts: false
sarcini:
- coajă: „data | md5sum | tăiați -d" " -f1'
înregistrare: rezultat
check_mode: false
- depanare:
var: rezultat
- nume: Înlocuiți ID hardware cu noul MD5
ini_file:
cale: etc/app/config.ini
secțiunea: DEFAULT
opțiune: hardware_token
valoare: „{{ result.stdout }}”
dă (rulează cu --check --diff)
SARCINA [Înlocuiți ID hardware cu noul MD5] ************************************
--- înainte de: etc/app/config.ini (conținut)
+++ după: etc/app/config.ini (conținut)
@@ -0,0 +1,3 @@
+
+[IMPLICIT]
+token_hardware = ba3f11c4f1ecfe9d1e805dc8c8c8b149
schimbat: [test_24]
Este mai ușor să utilizați Ansible facts dacă doriți să utilizați datele și timpul ca intrare. De exemplu, dicționarul ansible_date_time păstrează data și ora dacă adunați faptele. În cartea de joc, am stabilit gather_facts: false
. âDe aceea dicționarul nu este definit
- depanare:
var: ansible_date_time.iso8601
dă
ok: [test_24] =>
ansible_date_time.iso8601: VARIABILA NU ESTE DEFINITĂ!
Va trebui fie să adunați faptele gather_facts: adevărat
când începi jocul sau alergi înființat
, de exemplu.
- înființat:
gather_subset: min
- depanare:
var: ansible_date_time.iso8601
dă
ok: [test_24] =>
ansible_date_time.iso8601: '2021-07-29T21:32:26Z'
Acest lucru nu este foarte practic deoarece pentru a obține ora curentă trebuie să alergați înființat
. În schimb, filtrul strftime vă oferă întotdeauna ora curentă, de ex.
- depanare:
msg: "{{ '%Y-%m-%d %H:%M:%S' | strftime }}"
- nume: Înlocuiți ID hardware cu noul MD5
ini_file:
cale: etc/app/config.ini
secțiunea: DEFAULT
opțiune: hardware_token
valoare: „{{'%Y-%m-%d' | strftime | hash('md5') }}"
dă
SARCINA [depanare] ************************************************ ****************
ok: [test_24] =>
mesaj: '2021-07-29'
SARCINA [Înlocuiți ID hardware cu noul MD5] *************************************
--- înainte de: etc/app/config.ini (conținut)
+++ după: etc/app/config.ini (conținut)
@@ -0,0 +1,3 @@
+
+[IMPLICIT]
+hardware_token = 5847924805aa614957022ed73d517e7e
Ca o notă secundară: utilizarea acestui hash ar putea fi o căutare foarte rapidă dacă data-ora (în granularitate de secunde) este indexul.