gpt4 book ai didi

ansible - 如何将字典传递给 ansible ad-hoc 命令?

转载 作者:行者123 更新时间:2023-12-01 05:51:30 24 4
gpt4 key购买 nike

如果我有一个需要字典或列表值参数的 ansible ad-hoc 命令,例如 queries论据 postgresql_query ,我如何在 ansible 中调用它临时命令?

我必须编写一个单一命令的剧本吗?我正在寻找一种方法来最小化所涉及的令人困惑的引用(shell、yaml/json 等)的层数。

ansible 文档提到接受变量的结构化形式。所以我尝试了参数的 yaml 和 json 语法:

ansible -m postgresql_query -sU postgres -a '{"queries":["SELECT 1", "SELECT 2"]}'

...但得到了 ERROR! this task 'postgresql_query' has extra params, which is only allowed in the following modules: ... .

如果我 @include 也是如此包含 yaml 或 json 内容的文件,例如
cat > 'query.yml' <<'__END__'
queries:
- "SELECT 1"
- "SELECT 2"
__END__
ansible -m postgresql_query -sU postgres -a @queries.yml

最佳答案

您可以在 JSON 变量中定义一个字典,然后将其作为参数传递:

ansible -m module_name -e '{"dict": {"key": "value"}}' -a "param={{ dict }}" 

(参数位置任意)

关于ansible - 如何将字典传递给 ansible ad-hoc 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53597644/

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