add dict function for services by cloud_env (#46)
Reviewed-on: #46 Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com> Co-authored-by: tischrei <tino.schreiber@t-systems.com> Co-committed-by: tischrei <tino.schreiber@t-systems.com>
This commit is contained in:
@ -475,3 +475,33 @@ class Services(object):
|
|||||||
res.sort(key=lambda x: x.get("service_title", "").lower())
|
res.sort(key=lambda x: x.get("service_title", "").lower())
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
def all_services_by_cloud_environment_as_dict(self, cloud_environment, environments):
|
||||||
|
"""Retrieve all services filtered by cloud_environment
|
||||||
|
Returns a dict keyed by service_type.
|
||||||
|
"""
|
||||||
|
|
||||||
|
res = {}
|
||||||
|
|
||||||
|
if not (environments and cloud_environment):
|
||||||
|
raise Exception(
|
||||||
|
"No cloud_environment or environments specified in function all_services_by_cloud_environment."
|
||||||
|
)
|
||||||
|
|
||||||
|
for srv in self.all_services:
|
||||||
|
for srv_cloud_environment in srv.get("cloud_environments", []):
|
||||||
|
if srv_cloud_environment.get("name") == cloud_environment:
|
||||||
|
for environment in environments:
|
||||||
|
if srv_cloud_environment.get("visibility") == environment:
|
||||||
|
service_type = srv.get("service_type")
|
||||||
|
if service_type:
|
||||||
|
res[service_type] = srv
|
||||||
|
break
|
||||||
|
res = dict(
|
||||||
|
sorted(
|
||||||
|
res.items(),
|
||||||
|
key=lambda item: item[1].get("service_type", "").lower()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
return res
|
||||||
|
Reference in New Issue
Block a user