in src/services/modular_helpers.py [0:0]
def build_parents(payload: ResolveParentsPayload,
parent_service: ParentService, application_id: str,
customer_id: str, type_: ParentType, created_by: str,
description: str = 'Rule Engine auto-created parent',
meta: dict | None = None) -> set[Parent]:
"""
:param payload:
:param parent_service:
:param application_id:
:param customer_id:
:param type_:
:param created_by:
:param description:
:param meta:
:return:
"""
meta = meta or {}
ps = parent_service
to_create = set()
for tenant in payload.tenant_names:
to_create.add(ps.create_tenant_scope(
application_id=application_id,
customer_id=customer_id,
type_=type_,
tenant_name=tenant,
disabled=False,
created_by=created_by,
is_deleted=False,
description=description,
meta=meta,
))
for tenant in payload.exclude_tenants:
to_create.add(ps.create_tenant_scope(
application_id=application_id,
customer_id=customer_id,
type_=type_,
tenant_name=tenant,
disabled=True,
created_by=created_by,
is_deleted=False,
description=description,
meta=meta,
))
if payload.all_tenants:
if payload.clouds:
for cloud in payload.clouds:
to_create.add(ps.create_all_scope(
application_id=application_id,
customer_id=customer_id,
type_=type_,
created_by=created_by,
is_deleted=False,
description=description,
meta=meta,
cloud=cloud
))
else:
to_create.add(ps.create_all_scope(
application_id=application_id,
customer_id=customer_id,
type_=type_,
created_by=created_by,
is_deleted=False,
description=description,
meta=meta,
))
return to_create