SaltStack netapi模块——Client interfaces客户端开发接口

原文链接: https://docs.saltstack.com/en/latest/topics/netapi/index.html#client-interfaces

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使用的接口相同。 请注意,argkwarg参数被发送到minions,并且使用这些参数调用指定的函数fun

返回:执行模块输出的结果。

##local_async

local_async(*args, **kwargs)

扫描二维码关注公众号,回复: 7627144 查看本文章

异步方式运行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 模块的结果

猜你喜欢

转载自blog.csdn.net/watermelonbig/article/details/102760373