Puncte:0

Înlocuiți substituentul listei cu Ansible

drapel th

Am un manual foarte simplu, care arată astfel:

- gazde: myhost
  sarcini:
  - include_vars:
      fișier: ./resolved.yml

  - nume: rezolvă substituenții
    tag-uri: rezoluție
    șablon:
      src: "./placeholders.yml"
      dest: „/tmp/res.yml”

Având în vedere următorul YAML cu substituenți:

---
Test:
  config: {{ prop.resolveme }}

și următorul fișier secret YAML:

---
recuzită:
  rezolva:
    - 8.8.8.8
    - 1.1.1.1
    - 192.168.0.1

Fișierul YAML rezolvat rezultat arată după cum urmează:

---
Test:
  config: [u'8.8.8.8', u'1.1.1.1', u'192.168.0.1']

(Notă: dacă folosesc pur și simplu o listă separată prin virgulă, funcționează conform intenției).

De ce se întâmplă asta? Nu găsesc nimic în specificația YAML care să explice acest comportament, așa că mă gândesc că trebuie să fie ceva ce face analizatorul Ansible (se pare că este legat de unicode?). Este posibil să obțin structura de listă dorită folosind interpolarea parametrilor Ansible sau ar trebui să prefer listele de articole separate prin virgulă?

Puncte:1
drapel br

Nu vă pot reproduce problema în Linux și ansible [nucleul 2.11.6] cu versiunea python = 3.8.5 și versiunea jinja = 3.0.1. Încercați conversia explicită în şir. Șablonul de mai jos

---
Test:
  config: {{ prop.resolveme }}
  config: {{ prop.resolveme|map('șir') }}

---
Test:
  config: ['8.8.8.8', '1.1.1.1', '192.168.0.1']
  config: ['8.8.8.8', '1.1.1.1', '192.168.0.1']

Dacă acest lucru nu ajută, puteți încerca forța brută

---
Test:
    config: [{% pentru i în prop.resolveme %}'{{ "%s"|format(i) }}'{% dacă nu loop.last %}, {% endif%}{% endfor %}]

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.