from enum import Enum


class PolicyConditionOperator(str, Enum):
    CONTAINS_ALL = "CONTAINS_ALL"
    CONTAINS_ANY = "CONTAINS_ANY"
    IS = "IS"
    IS_NOT = "IS_NOT"
    MATCHES = "MATCHES"
    NO_MATCH = "NO_MATCH"
    NUMERIC_EQUAL = "NUMERIC_EQUAL"
    NUMERIC_GREATER_THAN = "NUMERIC_GREATER_THAN"
    NUMERIC_GREATER_THAN_OR_EQUAL = "NUMERIC_GREATER_THAN_OR_EQUAL"
    NUMERIC_LESSER_THAN_OR_EQUAL = "NUMERIC_LESSER_THAN_OR_EQUAL"
    NUMERIC_LESS_THAN = "NUMERIC_LESS_THAN"
    NUMERIC_NOT_EQUAL = "NUMERIC_NOT_EQUAL"

    def __str__(self) -> str:
        return str(self.value)
