如何在Ansible中使用调试仅从var中获取值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Ansible中使用调试仅从var中获取值相关的知识,希望对你有一定的参考价值。

当前正在通过使用debug var stmt获取设备计数。我试图只获取值,但输出确实随变量一起出现。

- name: get number of device on each rack blades
      #set_fact:
        #devices_count: "{{ result.ansible_facts.blades.{{item}}.device|length }}"

      debug: var=result.ansible_facts.blades.{{item}}.device|length
      register: devices_count
      with_sequence:
        - start=0 end="{{ blades_count|int - 1 }}"

当前从上述代码获取的输出:


    TASK [get number of device on each rack blades] *************************************************************************************************
    ok: [localhost] => (item=0) => {
        "item": "0",
        "result.ansible_facts.blades.0.device|length": "10"
    }
    ok: [localhost] => (item=1) => {
        "item": "1",
        "result.ansible_facts.blades.1.device|length": "8"
    }
    ok: [localhost] => (item=2) => {
        "item": "2",
        "result.ansible_facts.blades.2.device|length": "4"
    }

我如何仅获得价值部分IE,即10、8、4。

有没有一种方法可以过滤或获取.value部分或使用某些正则表达式?

请提供帮助。.>

当前正在通过使用debug var stmt获取设备计数。我试图只获取值,但输出确实随变量一起出现。 -名称:获取每个机架刀片上的设备编号#...

答案

Q:“ ...获取设备数量...我如何只获取值部分,即10、8、4?”

另一答案

var的[debug module选项期望使用字符串作为变量的名称。

以上是关于如何在Ansible中使用调试仅从var中获取值的主要内容,如果未能解决你的问题,请参考以下文章

Ansible 调试消息到变量

在使用调试模块时,对主机执行 Ansible ssh

Ansible中playbook的变量

Ansible — 编程 — Variables

如何使用 Flutter 仅从 firebase 实时数据库中的给定数字中获取时间范围?

Ansible11:变量详解