使用SALT-API进入集成开发的简单样例

时间:2023-11-22 13:21:02

测试的时候,可以CURL -K,但真正作集成的时候,却是不可以的。

必须,不可以让TOKEN满天飞吧。

现在进入这个阶段了。写个样例先:

import salt
import salt.auth
import salt.log
import saltapi

opts = salt.client.LocalClient().opts
auth = salt.auth.LoadAuth(opts)
lowstate = {'username':'XXX','password':'XXX','eauth':'pam'}
token = auth.mk_token(lowstate)
api = saltapi.APIClient(opts)
lowstate = {'client':'local',
        'fun':'cmd.run',
        'arg':['ls','/',],
        'tgt':'192.168.11.69',
        'token':token['token']}
res = api.run(lowstate)
for (k,v) in res.items():
    print k,v

输出:

[root@localhost]# python salt-api.py
192.168.11.69 bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var

~~~~~~~~~~~~~~

其它都不用太在意,但lowstate里的fun是salt的功能(test.ping,disk.usage,cmd.run.....)这些。而arg则是可能的参数,注意,如果是远程执行命令时,则参数是以列表的形式提供哟。。