首页 > 解决方案 > 如何在索引中引用变量值

问题描述

当我对值进行硬编码时,它可以正常工作。例如-

- name: display number
  debug:
    msg: "{{ ansible_facts.partition[2] }}"

输出

ok: [host] => {
    "msg": "786"
}

但是当我动态地找到变量的值并引用该值时,它就不起作用了。

- name: display number
  debug:
    msg: "{{ ansible_facts.partition[number] }}"

## Where: number = 2, finding this value dynamically and setting as fact

输出

 The error was: 'list object' has no attribute u'2'

我还尝试使用将数字变量转换为整数

set_fact:
   number: "{{ number | int }}"

但没有运气。任何人都可以提供帮助将不胜感激。

标签: pythonjsonindexingansiblejinja2

解决方案


尝试如下:

- name: display number
  debug:
    msg: "{{ ansible_facts.partition[number|int] }}"

推荐阅读