from enum import Enum


class NotificationRuleNotifyOnItem(str, Enum):
    ANALYZER = "ANALYZER"
    BOM_CONSUMED = "BOM_CONSUMED"
    BOM_PROCESSED = "BOM_PROCESSED"
    BOM_PROCESSING_FAILED = "BOM_PROCESSING_FAILED"
    BOM_VALIDATION_FAILED = "BOM_VALIDATION_FAILED"
    CONFIGURATION = "CONFIGURATION"
    DATASOURCE_MIRRORING = "DATASOURCE_MIRRORING"
    FILE_SYSTEM = "FILE_SYSTEM"
    INDEXING_SERVICE = "INDEXING_SERVICE"
    INTEGRATION = "INTEGRATION"
    NEW_POLICY_VIOLATIONS_SUMMARY = "NEW_POLICY_VIOLATIONS_SUMMARY"
    NEW_VULNERABILITIES_SUMMARY = "NEW_VULNERABILITIES_SUMMARY"
    NEW_VULNERABILITY = "NEW_VULNERABILITY"
    NEW_VULNERABLE_DEPENDENCY = "NEW_VULNERABLE_DEPENDENCY"
    POLICY_VIOLATION = "POLICY_VIOLATION"
    PROJECT_AUDIT_CHANGE = "PROJECT_AUDIT_CHANGE"
    PROJECT_CREATED = "PROJECT_CREATED"
    REPOSITORY = "REPOSITORY"
    USER_CREATED = "USER_CREATED"
    USER_DELETED = "USER_DELETED"
    VEX_CONSUMED = "VEX_CONSUMED"
    VEX_PROCESSED = "VEX_PROCESSED"

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