使用python request可以创建如下函数:import requests
import os
def accept_salt_clientkey(keyname):
url = 'https://saltmaster:8000'
headers = {'Accept':'application/json'}
login_payload = {'username':'saltuser','password':'saltpasswd','eauth':'pam'}
accept_key_payload = {'fun': 'key.accept','client':'wheel','tgt':'*','match':keyname}
login_request = requests.post(os.path.join(url,'login'),headers=headers,data=login_payload)
request = requests.post(url,headers=headers,data=accept_key_payload,cookies=login_request.cookies)
keytype = request.json()['return'][0]['data']['return']
if keytype:
for key,value in keytype.iteritems():
if value[0] == keyname:
return True
break
else:
raise Exception('{} does not match!'.format(keyname))
else:
raise Exception('{} key does not exist in master until now...'.format(keyname))
您可以使用主机名(应该是keyname)作为参数来调用它:
^{pr2}$
当然,您可以将用户名/密码存储在配置.py文件或其他方式取决于你如何称呼它,但这可能会给你一个大致的想法。在