2022-10-10 06:33:10 +00:00
|
|
|
import imp
|
2022-10-10 05:25:49 +00:00
|
|
|
import json
|
|
|
|
import ng_openstack.openstackRequest
|
2022-10-10 06:33:10 +00:00
|
|
|
import ng_openstack.settings
|
|
|
|
import os
|
2022-10-10 05:25:49 +00:00
|
|
|
|
2022-10-10 06:33:10 +00:00
|
|
|
class Openstack_Keystone():
|
|
|
|
def __init__(self, requestor):
|
|
|
|
self.serviceData={}
|
|
|
|
self.catalogData={}
|
|
|
|
self.projectData={}
|
|
|
|
self.requestor=requestor
|
|
|
|
|
2022-10-10 05:25:49 +00:00
|
|
|
|
|
|
|
|
2022-10-10 06:33:10 +00:00
|
|
|
def getAllProjects(_self):
|
|
|
|
_self.projectData=_self.requestor.make_request("GET", "projects", "",
|
|
|
|
os.getenv("OS_AUTH_URL")).json()
|
|
|
|
return _self.projectData
|
2022-10-10 05:25:49 +00:00
|
|
|
|
2022-10-10 05:29:15 +00:00
|
|
|
|
2022-10-10 06:33:10 +00:00
|
|
|
|
2022-10-13 02:24:30 +00:00
|
|
|
def getCatalog(_self):
|
|
|
|
catalogData=_self.requestor.make_request("GET", "endpoints", "",
|
|
|
|
os.getenv("OS_AUTH_URL")).json()
|
2022-10-10 06:33:10 +00:00
|
|
|
|
2022-10-13 02:24:30 +00:00
|
|
|
serviceData=_self.requestor.make_request("GET", "services", "",
|
|
|
|
os.getenv("OS_AUTH_URL")).json()
|
|
|
|
# print(serviceData)
|
|
|
|
_self.serviceData=serviceData
|
|
|
|
_self.catalogData=catalogData
|
|
|
|
return catalogData
|
|
|
|
|
|
|
|
|
|
|
|
def getServicebyID(_self,id):
|
|
|
|
# print(_self.serviceData)
|
|
|
|
for _service in _self.serviceData['services']:
|
|
|
|
if str(_service['id']).lower()==str(id).lower():
|
|
|
|
# print(_service)
|
|
|
|
return(_service)
|
|
|
|
|
|
|
|
def getServicebyName(_self,name):
|
|
|
|
for _service in _self.serviceData['services']:
|
|
|
|
if str(_service['name']).lower()==str(name).lower():
|
|
|
|
# print(_service)
|
|
|
|
return(_service)
|
|
|
|
|
|
|
|
|
|
|
|
def getEndpointByServiceIDAndInterface(_self,id,interface):
|
2022-10-13 02:25:57 +00:00
|
|
|
for _endpoint in _self.catalogData['endpoints']:
|
|
|
|
if str(_endpoint['service_id']).lower()==str(id).lower():
|
|
|
|
if str(_endpoint['interface']).lower()==str(interface).lower():
|
|
|
|
# print(_endpoint)
|
|
|
|
return(_endpoint)
|
|
|
|
|
|
|
|
def getEndpointByNameIDAndInterface(_self,name,interface):
|
2022-10-13 04:07:43 +00:00
|
|
|
id=_self.getServicebyName(name)['id']
|
2022-10-13 02:25:57 +00:00
|
|
|
for _endpoint in _self.catalogData['endpoints']:
|
|
|
|
if str(_endpoint['service_id']).lower()==str(id).lower():
|
|
|
|
if str(_endpoint['interface']).lower()==str(interface).lower():
|
|
|
|
# print(_endpoint)
|
|
|
|
return(_endpoint)
|