Utilizzo di filtri più avanzati con un module di configuration appropriato

Sono nuovo al senso, ma non posso trovare la risposta a questa domanda che credo sembra abbastanza semplice ..

Nei playbook, è ansible get i fatti in maniera utile usando esempio {{ ansible_eth0["ipv4"]["address"] }} o {{ ansible_eth0.ipv4.address }} .

  • Come faccio a evitare di mostrare i compiti che sono saltati?
  • Programmaticamente channing ansible_ssh_user durante un gioco
  • Come eseguire la sostituzione di regex in un file utilizzando il metodo Ansible?
  • Riutilizzare i compiti in modo appropriato
  • Possibile: errore quando si cerca di deselect un .tar.gz recuperato tramite il module "get_url"
  • le connesse con_items non printingno l'integer elemento
  • Come faccio a prendere le stesse informazioni come un command solo di informazioni usando qualcosa come l' ansible all -m setup -a "filter=???"

    Come filter , ho provato entrambe le syntax che si desidera utilizzare nei playbook, e alcuni più esotici con la combinazione di * .

    È anche questo il modo giusto per raccogliere dati come questo?

  • Evitate di ripetere 'con_items' nel ruolo anonimo
  • Possibile: posso utilizzare vars_files quando alcuni file non esistono
  • Come impostare il nome utente / la password predefiniti per la connessione SSH?
  • Installare RVM con le possibili
  • Possibile errore SSH anche se standard ssh sta funzionando
  • Come crittografare i file binari in Ansible?
  • One Solution collect form web for “Utilizzo di filtri più avanzati con un module di configuration appropriato”

    Purtroppo, questo non è supportto. Dalla documentazione in linea :

    L'opzione filter filtra solo la sottochiave del primo livello sotto i fasi_di_spossibili.

    Poiché l' ansible_interface è una sottochiave di primo livello nella struttura del documento JSON, il minimo che è ansible accedere è qualcosa di simile:

     # ansible localhost -m setup -a 'filter=ansible_p5p1' localhost | success >> { "ansible_facts": { "ansible_p5p1": { "active": true, "device": "p5p1", "ipv4": { "address": "10.0.0.2", "netmask": "255.255.255.0", "network": "10.0.0.0" }, "ipv6": [ { "address": "fd6c:xxxx:xxxx::2", "prefix": "64", "scope": "global" }, { "address": "fe80::xxxx:xxxx:xxxx:5a56", "prefix": "64", "scope": "link" } ], "macaddress": "xx:xx:xx:xx:xx:xx", "module": "foo", "mtu": 1500, "promisc": false, "type": "ether" } }, "changed": false } 

    Se i tuoi sisthemes sono facter o installati, è ansible accedere alle stesse informazioni da eventuali:

     # ansible localhost -m setup -a 'filter=facter_ipaddress_p5p1' localhost | success >> { "ansible_facts": { "facter_ipaddress_p5p1": "10.0.0.2" }, "changed": false } 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.