【发布时间】:2022-01-10 05:24:33
【问题描述】:
我想在运行下面的剧本后填充下面的nifi.web.https.host。我是 ansible jinja/yaml 的新手,所以我不确定为什么不起作用。
{% set external_ip = 'curl 169.254.169.254/2009-04-04/meta-data/public-ipv4' %}
- hosts: localhost
become: yes
roles:
- my.nifi
vars:
nifi_properties:
# HTTPS properties
nifi.web.https.host: 'external_ip'
nifi.web.https.port: 8443
nifi.web.https.network.interface.default: eth0
运行 playbook 后出现此错误:
{% set external_ip = 'curl 169.254.169.254/2009-04-04/meta-data/public-ipv4' %}
^这里
【问题讨论】:
-
Playbook 是用 YAML 语法编写的。请参阅此intro。你不能在剧本中有直接的 Jinja 语句,这就是错误所在。您需要为此运行任务 (
pre_tasks) 和register输出。 -
谢谢。这有助于我理解什么是必要的。