SaltStack学习之路(十):Salt API系统

一.Salt配置文件信息获取


1.获取minion配置文件字典

进入python控制台界面:

[root@120 ~]# python
Python 2.7.5 (default, Nov  6 2016, 00:28:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import salt.config
>>> master_opts = salt.config.client_config('/etc/salt/master')
>>> type(master_opts)

查看字典的全部内容:

master_opts

2.获取master 配置文件字典

进去Python程序交互界面:

>>> import salt.config
>>> minion_opts = salt.config.minion_config('/etc/salt/minion')     
>>> type(minion_opts)
<type 'dict'>
>>>

查看字典全部内容:

>>> minion_opts

 

二.Salt 的 Loader API


通过Loader API加载Salt的执行模块,可以获取Salt的Grains等数据信息,Salt Loader API 提供以下很多函数:

获取Grains信息:

import salt.config
import salt.loader
__opts__ = salt.config.minion_config('/etc/salt/minion')
__grains__ = salt.loader.grains(__opts__)

加载执行模块:

import salt.config
import salt.loader
__opts__ = salt.config.minion_config('/etc/salt/minion')
 __salt__ = salt.loader.minion_mods(__opts__)
__salt__['cmd.run']{"ls /"}

 

三.LocalClient


LocalClient是最为常用和重要的Slat API之一,通过LocalClient的cmd等方法我们可以实现salt执行远程模块的功能。

用local.cmd批量执行远程模块:

>>> import salt.client
>>> local = salt.client.LocalClient()
>>> local.cmd('*', 'test.fib', [10])

cmd函数的参数选项:

发表回复

Your email address will not be published.

名字 *
电子邮件 *
站点