Add role inference calls, domains
Also rework get_by_name_or_uuid method to work with multiple keys
and add get_by_name_or_uuid decorator for role assign, unassgin and check.
Change-Id: I808ce0c1aa1a7231875256ae6f22e986d78f8f00
Related-Issue: PROD-21388
diff --git a/_modules/keystonev3/services.py b/_modules/keystonev3/services.py
index f917cbf..546e3a0 100644
--- a/_modules/keystonev3/services.py
+++ b/_modules/keystonev3/services.py
@@ -1,4 +1,5 @@
-from keystonev3.common import get_by_name_or_uuid, send
+from keystonev3.common import send
+from keystonev3.arg_converter import get_by_name_or_uuid_multiple
try:
from urllib.parse import urlencode
@@ -6,20 +7,14 @@
from urllib import urlencode
-@send('get')
-def service_list(**kwargs):
- url = '/services?{}'.format(urlencode(kwargs))
- return url, None
-
-
-@get_by_name_or_uuid(service_list, 'services', 'service_id')
+@get_by_name_or_uuid_multiple([('service', 'service_id')])
@send('get')
def service_get_details(service_id, **kwargs):
url = '/services/{}?{}'.format(service_id, urlencode(kwargs))
return url, None
-@get_by_name_or_uuid(service_list, 'services', 'service_id')
+@get_by_name_or_uuid_multiple([('service', 'service_id')])
@send('patch')
def service_update(service_id, **kwargs):
url = '/services/{}'.format(service_id)
@@ -29,7 +24,7 @@
return url, json
-@get_by_name_or_uuid(service_list, 'services', 'service_id')
+@get_by_name_or_uuid_multiple([('service', 'service_id')])
@send('delete')
def service_delete(service_id, **kwargs):
url = '/services/{}'.format(service_id)