ansible - 尝试在剧本中注册输出时未定义变量
问题描述
我正在尝试将带有输出的变量注册到 F5 池的查询中,但出现此错误:
"<type 'list'>": "VARIABLE IS NOT DEFINED!",
我做错了什么?任何帮助表示赞赏。谢谢!
---
- name: GRAB F5 FACTS
hosts: f5
connection: local
gather_facts: no
tasks:
- name: Collect BIG-IP facts
bigip_device_facts:
gather_subset: ltm-pools
provider: "{{ prov }}"
register: bigip_device_facts
- name: FACTS OUTPUT
debug:
var: "{{ item.members | rejectattr('state', 'match', '^present$') | map(attribute='name') | list }}"
register: jkout
with_items: "{{ bigip_device_facts.ltm_pools }}"
when: item.full_path == "/Common/mypool"
- name: Set a variable
debug:
msg: "jkvar={{ jkout }}"
解决方案
您正在使用debug:
带有选项的模块,var:
这需要一个变量,而不是 jinja2 模板。
因此,要么将其更改为:
debug:
var: item.members
或者
debug:
msg: "{{ item.members }}"
推荐阅读
- angular - 我想用 Angular 更改“li”背景颜色
- r - 创建百分比ggplot2图
- php - Processwire 无法编辑根页面
- eclipse - 是否可以将 java 类排除在测试范围之外?
- c++ - C++ 重载决议总是求助于别名 arg。超过其他人作为arg。对所有人有效
- c++ - 如何让 gmock 将所有警告/失败视为错误?
- botframework - 如何在 botframework oauth 中使用多个资源 url?
- typo3 - TYPO3:如何在打字稿中访问 slug url 的 GET/POST 参数?
- sql-server - SlashDB 和 Azure SQL DB 的连接超时
- php - Laravel 控制器不会将参数传递给服务