in cfn-lint-serverless/cfn_lint_serverless/rules/lambda_.py [0:0]
def _get_principals(self, properties) -> List[str]:
"""
Retrieve principals from assume role policy documents
"""
principals = []
for statement in properties.get("AssumeRolePolicyDocument", {}).get("Statement", []):
if "Service" not in statement.get("Principal", {}):
continue
services = statement.get("Principal", {}).get("Service")
if isinstance(services, str):
principals.append(services)
elif isinstance(services, list):
principals.extend(services)
# Ignored for now if it's not a list of str
return principals