+class AllowListACL(SetBasedACL):
+ """Convenience subclass for a list that only allows known items.
+ i.e. a 'allowlist'
+ """
+
+ def __init__(self, *, allow_set: Optional[Set[Any]]) -> None:
+ super().__init__(
+ allow_set=allow_set,
+ order_to_check_allow_deny=Order.ALLOW_DENY,
+ default_answer=False,
+ )
+
+
+class DenyListACL(SetBasedACL):
+ """Convenience subclass for a list that only disallows known items.
+ i.e. a 'blocklist'
+ """
+
+ def __init__(self, *, deny_set: Optional[Set[Any]]) -> None:
+ super().__init__(
+ deny_set=deny_set,
+ order_to_check_allow_deny=Order.ALLOW_DENY,
+ default_answer=True,
+ )
+
+
+class BlockListACL(SetBasedACL):
+ """Convenience subclass for a list that only disallows known items.
+ i.e. a 'blocklist'
+ """
+
+ def __init__(self, *, deny_set: Optional[Set[Any]]) -> None:
+ super().__init__(
+ deny_set=deny_set,
+ order_to_check_allow_deny=Order.ALLOW_DENY,
+ default_answer=True,
+ )
+
+