首页 > 解决方案 > 使用带有 netbox.netbox.nb_lookup 的 api_filter 中的变量时出现问题

问题描述

我有一个从 Tower 调查中设置的变量,我正在使用它来检索 netbox 中的关联 IP 地址。当我使用方括号和使用 {{ 或 ' 或 " 时,我无法让它匹配,并且所有内容都匹配并返回了我的整个 IPAM 数据库。

vars:
    location: "{{ LOCATION }}"
    c_description: "{{CIRCUIT_DESC}}"
    prefix_length: "{{PREFIX}}"
  
  tasks:

  - name: "Print IP"
      debug:
        msg: "{{ query('netbox.netbox.nb_lookup', 'ip-addresses', api_filter= 'description=
              [c_description]', api_endpoint='http://netbox', token='', validate_certs='False') }}"

这是我的输出:

TASK [Print IP] ****************************************************************

ok: [localhost] => {
    "msg": []
}

标签: ansiblenetbox

解决方案


使用 tilda 在另一个论坛中解决:

- name: "Print IP"
  debug:
     msg: "{{ query('netbox.netbox.nb_lookup', 'ip-addresses', api_filter='description=' ~ c_description, 
              api_endpoint='http://netbox.', token='', validate_certs='False') }}"

推荐阅读