in servicecatalog_puppet/manifest_utils.py [0:0]
def get_sharing_policies_by_region(self):
sharing_policies_by_region = {}
for account in self.get("accounts"):
account_regions = list()
if account.get("default_region") is None:
raise Exception(
f"Account {account.get('account_id')} has no default_region"
)
account_regions.append(account.get("default_region"))
enabled_regions = (
account.get("enabled", [])
+ account.get("regions_enabled", [])
+ account.get("enabled_regions", [])
)
if len(enabled_regions) == 0:
raise Exception(
f"Account {account.get('account_id')} has no enabled|regions_enabled|enabled_regions"
)
account_regions += enabled_regions
for r in account_regions:
if sharing_policies_by_region.get(r) is None:
sharing_policies_by_region[r] = dict(accounts=[], organizations=[])
if account.get("organization", "") != "":
organization = account.get("organization")
if (
organization
not in sharing_policies_by_region[r]["organizations"]
):
sharing_policies_by_region[r]["organizations"].append(
organization
)
else:
account_id = account.get("account_id")
if account_id not in sharing_policies_by_region[r]["accounts"]:
sharing_policies_by_region[r]["accounts"].append(account_id)
return sharing_policies_by_region