Ansible - 对输出应用过滤器,然后注册为变量
Posted
技术标签:
【中文标题】Ansible - 对输出应用过滤器,然后注册为变量【英文标题】:Ansible - apply filter on output and then register as a variable 【发布时间】:2018-04-24 05:18:08 【问题描述】:我正在注册操作的输出,然后应用过滤器来显示值。但我也想将该显示的值注册为变量。我无法将其注册为变量。有谁知道这个问题的解决方案吗?
这是我的剧本
---
- name: Filtering output to register in a variable
hosts: localhost
gather_facts: no
tasks:
- name: register filtered output to a variable
uri:
url: https://example.com/api/id
method: GET
user: administrator
password: password
force_basic_auth: yes
validate_certs: no
register: restdata
- name: Display the output
debug: msg=" restdata.json.parameter[1] "
我想知道。岂不是更简单。如果我们先过滤输出,然后将其注册为变量?有人知道怎么做吗?
【问题讨论】:
是的,在较新的版本中。支持。 【参考方案1】:你不能注册一个变量,但你可以设置一个事实(在大多数用例中,包括你的,这将等同于一个变量):
- set_fact:
the_output: " restdata.json.parameter[1] "
- name: Display the output
debug:
var: the_output
【讨论】:
以上是关于Ansible - 对输出应用过滤器,然后注册为变量的主要内容,如果未能解决你的问题,请参考以下文章