from enum import Enum
class PolicyCategory(Enum):
"""策略类型枚举"""
FLOW = "FLOW"
ADMISSION = "ADMISSION"
"""以下预留"""
DEGRADE = "DEGRADE"
AUTHORITY = "AUTHORITY"
SYSTEM = "SYSTEM"
ISOLATION = "ISOLATION"
NET = "NET"
RETRY = "RETRY"
TIMELIMITER = "TIMELIMITER"
@classmethod
def from_string(cls, name: str):
if name is None:
return None
for category in cls:
if category.name.lower() == name.lower():
return category
return None
@classmethod
def is_admission(cls, category_str: str):
"""检查是否为准入策略"""
category = cls.from_string(category_str)
return category == cls.ADMISSION if category else False