gpt4 book ai didi

Ansible INI 查找

转载 作者:行者123 更新时间:2023-12-02 07:23:10 27 4
gpt4 key购买 nike

我正在使用 Ansible 的查找功能查找 INI 文件中的值。这是文档中的示例:

- debug: msg="User in integration is {{ lookup('ini', 'user section=integration file=users.ini') }}"

这是我的任务:

- set_fact: aws_access_var = "{{ lookup('ini', 'AWS_ACCESS_KEY_ID section=Credentials file=/etc/boto.cfg') }}"

它们在语法上看起来相同,但我的任务失败了:

fatal: [localhost]: FAILED! => {"failed": true, "msg": "template error while templating string: unexpected char u\"'\" at 18. String: \"{{ lookup('ini', 'AWS_ACCESS_KEY_ID section"}

知道它有什么问题吗?

最佳答案

删除等号周围的空格,因为ansible将如何解析参数。以下工作正常:

---
- hosts: 127.0.0.1
tasks:
- set_fact: aws_access_var="{{ lookup('ini', 'AWS_ACCESS_KEY_ID section=Credentials file=boto.cfg') }}"
- debug: msg="var is {{ aws_access_var }} "

或者不使用旧样式的模块调用,而是使用 YAML 样式的参数传递。它通常不太容易出错。这是多行 YAML 版本:

---
- hosts: 127.0.0.1
tasks:
- set_fact:
aws_access_var: "{{ lookup('ini', 'AWS_ACCESS_KEY_ID section=Credentials file=boto.cfg') }}"
- debug:
msg: "var is {{ aws_access_var }} "

或者单行 JSON 样式:

---
- hosts: 127.0.0.1
tasks:
- set_fact: { aws_access_var: "{{ lookup('ini', 'AWS_ACCESS_KEY_ID section=Credentials file=boto.cfg') }}" }
- debug: { msg: "var is {{ aws_access_var }} " }

以上所有的 playbook 本质上是等价的并且返回相同的消息

关于Ansible INI 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37549334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com