我需要以yml wtith ansible角色创建一些配置文件。这个例子是我想要的:
filebeat.inputs:
- type: log
paths:
- /var/log/system.log
- /var/log/wifi.log
在“模板”目录中的反目录结构中,我有带有以下文本的文件:
filebeat.inputs:
- type: {{filebeat_input.type}}
{{ filebeat_input.paths | to_yaml}}
在目录默认值中,我有这样的main.yml: filebeat_create_config:是
filebeat_input:
type: log
paths:
- "/var/log/*.log"
- "/var/somelog/*.log"
当我m run ansible-playbook with this role i
知道了这一点时:
filebeat.inputs:
- type: log
[/var/log/*.log, /var/sdfsadf]
我错了哪里?我需要改变什么地方以及什么地方才能得到我想要的东西(请参见上面的示例)。 感谢您的帮助!
答案 0 :(得分:0)
filebeat_input.paths
是一个列表,因此当您将其传递给to_yaml
时会得到一个列表。您只需要构建YAML模板即可将列表放在正确的位置,例如:
filebeat.inputs:
- type: {{filebeat_input.type}}
paths: {{ filebeat_input.paths | to_yaml}}
请注意:
paths: [/var/log/*.log, /var/sdfsadf]
完全等同于:
paths:
- /var/log/*.log
- /var/sdfsadf