New service function #36

Merged
tischrei merged 3 commits from services into main 2025-08-04 09:36:24 +00:00
Showing only changes of commit 3c4a2a73fe - Show all commits

View File

@ -13,6 +13,7 @@
import copy
import warnings
import json
import otc_metadata.data
@ -453,3 +454,26 @@ class Services(object):
res.sort(key=lambda x: x.get("name", "").lower())
return res
def all_services_by_cloud_environment(self, cloud_environment, environments):
"""Retrieve all services filtered by cloud_environment
"""
res = []
for srv in self.all_services:
if environments and cloud_environment:
for srv_cloud_environment in srv["cloud_environments"]:
if srv_cloud_environment["name"] == cloud_environment:
for environment in environments:
if srv_cloud_environment["visibility"] == environment:
res.append(srv)
else:
continue
else:
raise Exception("No cloud_environment or environments " \
"specified in function all_services_by_cloud_environment.")
# Sort services
res.sort(key=lambda x: x.get("service_title", "").lower())
return res