Salt的客户端接口通过制作映射到函数参数的值的字典来对外暴露可执行的功能函数。 这允许仅通过创建数据结构来调用函数。 (而这也正是Salt自己内部的工作方式!)
您也可以参考在Github上维护的这一份技术资料:Client interfaces of netapi modules
class salt.netapi.NetapiClient(opts)
提供一种以low-data数据结构形式访问Salt中各种客户端接口的统一方法。 例如:
>>> client = NetapiClient(__opts__)
>>> lowstate = {'client': 'local', 'tgt': '*', 'fun': 'test.ping', 'arg': ''}
>>> client.run(lowstate)
local
local(*args, **kwargs)
同步方式运行execution modules。
有关所有可用参数,请参见 salt.client.LocalClient.cmd()。
从master主机发送命令到目标minions。 这与Salt自己的CLI使用的接口相同。 请注意,arg
和kwarg
参数被发送到minions,并且使用这些参数调用指定的函数fun
。
返回:执行模块输出的结果。
##local_async
local_async(*args, **kwargs)
异步方式运行execution modules。
是基于salt.client.LocalClient.run_job()客户端接口函数的一个包装实现。
返回:job ID
local_subset
local_subset(*args, **kwargs)
在指定网络子网范围内的minions上运行execution modules。
New in version 2016.3.0.
基于salt.client.LocalClient.cmd_subset()做的包装实现。
runner
runner(fun, timeout=None, full_return=False, **kwargs)
以同步方式执行 runner modules <all-salt.runners> 。
基于 salt.runner.RunnerClient.cmd_sync()的包装实现。
请注意,runner程序函数必须使用关键字参数进行调用。 不支持位置参数。
返回:从运行器模块返回的结果
runner_async
runner_async(fun, **kwargs)
以异步方式执行 runner modules <all-salt.runners> 。
基于 salt.runner.RunnerClient.cmd_async()的包装实现。
请注意,runner程序函数必须使用关键字参数进行调用。 不支持位置参数。
返回:执行的函数的事件数据和job ID
ssh
**ssh(*args, kwargs)
以同步方式执行 salt-ssh 命令。
基于 salt.client.ssh.client.SSHClient.cmd()的包装实现。
返回:执行salt-ssh 命令的结果
wheel
wheel(fun, **kwargs)
以同步方式运行 wheel 模块。
基于 salt.wheel.WheelClient.cmd()
函数的一个封装实现。
请注意,wheel程序函数必须使用关键字参数进行调用。 不支持位置参数。
返回:运行 wheel 模块的结果
wheel_async
wheel_async(fun, **kwargs)
以异步方式运行 wheel 模块。
基于 salt.wheel.WheelClient.cmd_async()
函数的一个封装实现。
请注意,wheel程序函数必须使用关键字参数进行调用。 不支持位置参数。
返回:运行 wheel 模块的结果
来源:https://blog.csdn.net/watermelonbig/article/details/102760373