首页 > 解决方案 > 使用 ansible 编辑 json 文件

问题描述

我正在尝试使用 Ansible 编辑特定的 JSON 文件。该文件存在于必须使用 LDAP 身份验证登录的远程服务器中。

文件路径是/etc/sensu/conf.d/client.json

我要编辑的行如下:

"subscriptions": ["Nginx", "Primus", "B2B", "Docker_Process_Check", "EBS", "base"],

我想"filebeat"在该行中再添加一个值(),之后应该看起来像

"subscriptions": ["Nginx", "Primus", "B2B", "Docker_Process_Check", "EBS", "base","filebeat"],

标签: ansiblefile-manipulation

解决方案


AFAIK 仍然没有用于 JSON 操作的内置模块。

要么使用 3rd-party 模块(如ghetto-json),

或者使用替换模块制作一个复杂的正则表达式(即在关闭之前搜索"subscriptions": [<...>]和放置。您可以使用regex101.com来制作和测试所需的表达式。,"filebeat"]

另请检查答案以获取更多信息。


推荐阅读