Repository URL to install this package:
|
Version:
4.1.142 ▾
|
import requests, json
from distutils.version import LooseVersion, StrictVersion
def get_latest_version_index(id_list):
latest_api_version = id_list[0]
latest_api_index = 0
for index in range (1, len(id_list)):
if(LooseVersion(id_list[index]) > LooseVersion(latest_api_version)):
latest_api_index = index
latest_api_version = id_list[index]
else:
continue
return latest_api_index
def get_api_version(endpoint_url, cacert):
endpoint = {}
response = requests.get(url=endpoint_url, verify=cacert)
url_json = response.json()
if 'versions' in url_json:
url_list = url_json['versions']['values']
id_list = [ url_list[i]['id'] for i in range(len(url_list))]
latest_api_index = get_latest_version_index(id_list)
endpoint['identity_api_version'] = url_list[latest_api_index]['id']
auth_urls = url_list[latest_api_index]['links']
for entry in auth_urls :
if entry['rel'] == "self":
endpoint['auth_url'] = entry['href']
else:
continue
elif 'version' in url_json:
endpoint['identity_api_version'] = url_json['version']['id']
auth_urls = url_json['version']['links']
for entry in auth_urls:
if entry['rel'] == "self":
endpoint['auth_url'] = entry['href']
else:
continue
else:
endpoint['identity_api_version'] = 3
endpoint['auth_url'] = endpoint_url
return endpoint