下面是salt-ssh类接口调用示例
ssh模式:
from salt.client.ssh.client import SSHClient
client = SSHClient()
ret = client.cmd('*','pillar.items')
print(ret)
agent模式:
如果是agent模式的话
from salt.client import LocalClient
client = LocalClient()
#!/usr/bin/env python # -*- coding:utf-8 -*- """ SaltAPI推送文件 """ # #### 基于SSH:API #### """ from salt.client.ssh.client import SSHClient client = SSHClient() # 执行命令 # result = client.cmd('*', 'cmd.run', ('ls',)) # 调用grains # ret = client.cmd('*','grains.items') # 调用pillar # ret = client.cmd('*','pillar.items') # 执行 state # ret = client.cmd('*','state.sls',('fengfeng','pillar={"xxxx":"luffy"}')) # 发送文件 # ret = client.cmd('*','cp.get_file',('salt://fengfeng/files/test.conf','/data/s1.conf')) # 发送文件 # ret = client.cmd('*','cp.get_url',('http://www.pythonav.com/allstatic/imgs/mv/picture/2.jpeg','/data/s1.jpeg')) """ # #### 基于Master:API #### """ import salt.client local = salt.client.LocalClient() # 执行命令 # result = client.cmd('*', 'cmd.run', ('ls',)) # 调用grains # ret = client.cmd('*','grains.items') # 调用pillar # ret = client.cmd('*','pillar.items') # 执行 state # ret = client.cmd('*','state.sls',('fengfeng','pillar={"xxxx":"luffy"}')) # 发送文件 # ret = client.cmd('*','cp.get_file',('salt://fengfeng/files/test.conf','/data/s1.conf')) # 发送文件 # ret = client.cmd('*','cp.get_url',('http://www.pythonav.com/allstatic/imgs/mv/picture/2.jpeg','/data/s1.jpeg')) """