in azext_edge/edge/providers/orchestration/permissions.py [0:0]
def _calculate_action(self, permission: dict, valid_permissions: frozenset) -> PermissionState:
action_result = False
negate_action_result = False
for action in permission.get("actions", []):
if action.lower() in valid_permissions:
action_result = True
break
for not_action in permission.get("notActions", []):
if not_action.lower() in valid_permissions:
negate_action_result = True
break
if action_result and not negate_action_result:
return PermissionState.ActionAllowed
if negate_action_result:
return PermissionState.ActionDenied
return PermissionState.ActionUndefined