【发布时间】:2017-07-11 23:07:08
【问题描述】:
在 Ansible 中,有没有办法将位于 JSON 变量中的键/值对的动态列表转换为可以在 Playbook 中访问而不使用文件系统的变量名称/值?
IE - 如果我在变量中有以下 JSON(在我的情况下,已经从 URI 调用导入):
{
"ansible_facts": {
"list_of_passwords": {
"ansible_password": "abc123",
"ansible_user": "user123",
"blue_server_password": "def456",
"blue_server_user": "user456"
}
}
有没有办法将该 JSON 变量转换为:
vars:
ansible_password: abc123
ansible_user: user123
blue_server_password: def456
blue_server_user: user456
通常,我会将变量写入文件,然后使用vars_files: 将其导入。我们的目标是不将秘密写入文件系统。
【问题讨论】:
-
"不使用文件系统" -- 文件系统?你在说什么?使用像
list_of_passwords.ansible_password这样的虚线路径访问值有什么问题?你问了一个非常笼统的问题,但这个例子太本地化了。您可以使用模板逐个转换结构。 -
我认为我正在努力解决的是您回复的第二部分 - 逐个转换结构。假设我事先不知道变量是什么,我怎么能逐个处理呢?