salt-master: 2016.11.5 (Carbon)
salt-api: 2016.11.5 (Carbon)
salt-minion 2016.11.5 (Carbon)
cherrypy: 10.2.2
使用以下方式设置 salt-api 后本教程我已经能够通过 curl 成功使用该 API。例如,我可以移动文件。但是,{"success": true}
只要某个命令确实发送到 minion,salt-api 似乎就会返回。
有没有办法获取发送给 minion 的指令的任何输出(例如,以 json 或任何其他格式,只要它是有用的数据)?例如,当我尝试移动文件时,如果文件不存在,salt-api 就会默默失败并返回{"success": true}
。有没有办法让输出告诉我实际指令是通过还是失败?
我找到了salt.output.json_out,这似乎只会将 的输出更改{"success": true}
为另一种格式....这对我没什么用。有没有我尚未找到的文档可以帮助我返回除 之外的其他内容{"success": true}
?
编辑
需要澄清的是,我的最终目标是用 C# 编写一个程序,可以调用 salt-api,并让它返回 minion 上的命令是否成功。
我从输出中知道存在具有实际布尔salt-master -l debug
值retcode
的,但我不知道如何得到它。
答案1
如果你要用 Java 实现客户端,你可以找到一些 API 客户端和示例这里必须有用。
我只用过这个 API 来获取 minion 的 Grain。我已经在 SaltStack 上工作了一个多月,它真的很棒。
答案2
我在问题中使用的教程是使用 webhook 设置 salt-api 的教程。这是一种即发即弃的方法。事实证明,默认情况下,只需找到标准的 salt-api 配置,我想要的所有数据都会被发送回来这里。