Puncte:3

Variabilă Ansible fără ghilimele

drapel cn
raw

Pentru a folosi o variabilă adunată din json, am nevoie să fie brută, fără ghilimele:

eu am

ok: [dispozitiv] => {
    „fapt”: {
        "int": "7"
    },
}

Vreau

ok: [dispozitiv] => {
    „fapt”: {
        „int”: 7
    },
}

Chestia este că ghilimelele nu fac parte din variabilă, așa că nu pot folosi | int sau | a inlocui pentru a elimina ghilimele.

Există vreo cale?

Puncte:6
drapel br

Rezultatul a Jinja expresia este întotdeauna un șir. Nu poți obține un număr întreg. Ceea ce vrei cu adevărat, cred, este valoarea atributului int în dicționar fapt a fi un număr întreg. Testați valoarea curentă, de ex.

        - depanare:
            var: fapt.int
        - depanare:
            var: fact.int|type_debug

Dacă valoarea atributului int este un șir pe care îl vei obține (prescurtat)

  fact.int: '7'
  fact.int|type_debug: AnsibleUnicode

Puteți converti șirul într-un număr întreg, de ex.

        - set_fact:
            fapt: „{{ fapt|combină({'int': _int|int}) }}”
          vars:
            _int: „{{ fact.int }}”
        - depanare:
            var: fapt.int
        - depanare:
            var: fact.int|type_debug

vei primi (prescurtat)

  fact.int: '7'
  fact.int|type_debug: int

Acum, valoarea atributului int este un număr întreg. Dar, rezultatul expresiei Jinja var: fapt.int este încă o sfoară fact.int: '7'.


Note

  • Fiți conștienți de faptul că var opțiunea de depanare modul rulează deja în contextul Jinja2 și are o împachetare implicită {{ }}.

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.