Кто-нибудь получил пример (если возможно) того, как использовать passthru auth на restful API VMware, пожалуйста?
Я не хочу отправлять пароль в виде простого текста.Я вошел в систему с тем пользователем, которого хочу использовать, поэтому скорее передам его, чем сохраню файл учетных данных на диске.
import requests
from requests.auth import HTTPBasicAuth
import json
from requests.packages.urllib3.exceptions import InsecureRequestWarning
api_url = 'https://10.53.228.11/rest'
api_user = 'administrator@vsphere.local'
api_pass = 'Testpw123!'
def main():
requests.packages.urllib3.disable_warnings(InsecureRequestWarning) #Disable SSL warnings
get_vcenter_health_status()
def get_vcenter_health_status():
resp = get_api_data('{}/appliance/health/system'.format(api_url))
j = resp.json()
print('vCenter Health: {}'.format(j['value']))
def auth_vcenter(username,password):
print('Authenticating to vCenter, user: {}'.format(username))
resp = requests.post('{}/com/vmware/cis/session'.format(api_url),auth=(api_user,api_pass),verify=False)
if resp.status_code != 200:
print('Error! API responded with: {}'.format(resp.status_code))
return
return resp.json()['value']
def get_api_data(req_url):
sid = auth_vcenter(api_user,api_pass)
print('Requesting Page: {}'.format(req_url))
resp = requests.get(req_url,verify=False,headers={'vmware-api-session-id':sid})
if resp.status_code != 200:
print('Error! API responded with: {}'.format(resp.status_code))
return
return resp
main()