python - 从 python 代码获取 highstate 的输出

标签 python salt-stack

我是 salt 新手。如何使用 python 获取 state.highstate 的输出?我可以使用 LocalClient 将输出显示为字符串吗?似乎我需要在 Salt 中调用 salt.output.highstate.output 但如何在 python 中执行此操作?

这是我尝试过的:

import salt.client
local = salt.client.LocalClient()
ret = local.cmd('*', 'output.highstate.output')

我得到的返回只是说output.highstate.output不可用。有没有其他方法可以直接从 python 代码中获取输出? 谢谢。

最佳答案

有多种方法可以通过 Python 与 Salt 进行交互。一般来说,它为您提供了一个字典生成器,但不会为您格式化它。

替代方法似乎没有记录 - 如果可以的话,请坚持使用 local.cmd()

以下是 cmd_full_return 的示例 ( source ):

来源

from pprint import pprint
import salt.client
local = salt.client.LocalClient()
pprint( local.cmd_full_return(
    '*', 'test.ping', verbose=True,
    ) )

输出

Executing job with jid 20140825132240132013
-------------------------------------------

{'palabras': {'ret': True, 'success': True}}

关于python - 从 python 代码获取 highstate 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25492521/

相关文章:

mysql - 如何使用salt state执行mysql查询

python - 使用 Python 更新 MongoDB 集合

python - 为什么套接字实现比请求慢?

python - 如何将两个只有一个公共(public)维度(批量大小)的 3D 张量传递给 dynamic_lstm?

python - 改变 pandas 数据框的结构

python - paramiko 中的 ftplib retrbinary?

git - 为什么 SaltStack pkg.installed 命令无法识别 CentOS 6.6 上已安装的软件包

testing - saltstack 测试 : render as each host in turn

docker - SaltStack Docker-py 端口将 tcp 和 udp 绑定(bind)到同一端口的问题

python - 使用 Salt Stack 运行 CREATE EXTENSION 的推荐方法是什么?