Jinja2 filter

  • hosts: test
    gather_facts: False
    vars:
    list: [1,2,3,4,5]
    one: "1"
    str: "string"
    tasks:shell

    • name: run commands
      shell: df -h
      register: infoapi

    • name: debug pprint filter
      debug: msg="{{ info.stdout | pprint }}"dom

    • name: debug conditionals filter
      debug: msg="The run commands status is changed"
      when: info|changedide

    • name: debug int capitalize filter
      debug: msg="The int value {{ one | int }} the lower value is {{ str | capitalize }}"debug

    • name: debug default filter
      debug: msg="The Variable value is {{ ansible | default('ansible is not define') }}"blog

    • name: debug list max and min filter
      debug: msg="The list max value is {{ list | max }} The list min value is {{ list | min }}"string

    • name: debug random filter
      debug: msg="the list ramdom value is {{ list | random }} and generate a random value is {{ 1000 | random(1,10) }}"it

    • name: debug join filter
      debug: msg="the join filter value is {{ list | join("+") }}"io

    • name: debug replace and regex_replace filter
      debug: msg="The replace value is {{ str | replace('t','T') }} The regex_replace value is {{ str | regex_replace('.tr(.)$','\1') }}"

第1個info.stdout結果使用pprint filter進行格式化
第2個是對info的執行狀態使用changed filter進行判斷
第3個是對one的值進行int轉變,而後對str的值進行capitalize格式化
第4個是對ansible變量進行判斷,若是該變量定義了就引用它的值,若是沒有定義就使用default內值
第5個是對list內的值進行最大值max和最小值取值
第6個是對list內的值使用random filter隨機挑選一個,而後隨機生成1000之內的數字,step是10
第7個是對list內的值使用join filter鏈接在一塊兒.
第8個是對str值使用replace與regex_replace替換
Jinja2 filterclass

相關文章
相關標籤/搜索