问题描述
我正在尝试将在复杂数据结构中描述的 NFS 导出 转换为 nfs-server 守护进程接受的配置选项,然后在 ansible 中使用。 >
我有:
nfs_exports:
- path: /export/home
state: present
options:
- clients: "192.168.0.0/24"
permissions:
- "rw"
- "sync"
- "no_root_squash"
- "fsid=0"
- path: /export/public
state: present
options:
- clients: "192.168.0.0/24"
permissions:
- "rw"
- "sync"
- "root_squash"
- "fsid=0"
- clients: "*"
permissions:
- "ro"
- "async"
- "all_squash"
- "fsid=1"
必须变成:
[
{
"options": "192.168.0.0/24(rw,sync,no_root_squash,fsid=0)","path": "/export/home","state": "present"
},{
"options": "192.168.0.0/24(rw,root_squash,fsid=0) *(ro,async,all_squash,fsid=1)","path": "/export/public","state": "present"
}
]
到目前为止,我可以使用 {{ nfs_exports | json_query(query) }}
query: "[].{path:path,state:state,options:options.join(` `,[].join(``,[clients,`(`,join(`,`,permissions),`)`]))}"
得到
{
"options": "192.168.0.0/24(rw,"state": "present"
},{
"options": "192.168.0.0/24(rw,fsid=0)*(ro,"state": "present"
}
这可能很简单,但我无法通过最后一个选项加入,空格 ' ' 被删除。 因此,如果有人知道正确的查询,我们将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)