【问题标题】:Filtering ansible output过滤 ansible 输出
【发布时间】:2021-07-02 05:47:50
【问题描述】:

我正在尝试从以下输出中过滤属性列表。需要列出 selection 和 value 属性。 输出:

    ok: [192.0.0.3] => {
        "allow": "GET, PUT", 
        "attempts": 1, 
        "invocation": {
            }
        }, 
        "json": {
            "body": [
                {
                    "selection": "fqdn", 
                    "value": "airbus3.org"
                }, 
                {
                   "selection": "fqdn", 
                   "value": "airbus4.org"
                }
            ], 
            "key": "ntp_servers", 
            "meta": {
                "transaction": "/api/transaction"
            }
       }, 
    }

我正在尝试使用以下任务进行过滤,但它不起作用。

    - set_fact:
        ntp_details: "{{ item.selection }}"
      with_items: "{{ reg_ntp.json.body | json_query('[*]') }}"

请指教..

【问题讨论】:

  • 大括号不平衡。确保它是 valid JSON,尤其是在您手动编辑时。

标签: json ansible filtering


【解决方案1】:

例如

    - set_fact:
        ntp_details: "{{ reg_ntp.json.body|json_query('[].selection') }}"

应该给

  ntp_details:
  - fqdn
  - fqdn

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-03
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2022-01-12
    • 1970-01-01
    相关资源
    最近更新 更多