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 模塊的結果