Models¶
guard_core.models
¶
DynamicRules
¶
Bases: BaseModel
blocked_cloud_providers = Field(default_factory=set, description='Cloud providers to block')
class-attribute
instance-attribute
¶
blocked_countries = Field(default_factory=list, description='Countries to block')
class-attribute
instance-attribute
¶
blocked_user_agents = Field(default_factory=list, description='User agents to block')
class-attribute
instance-attribute
¶
emergency_mode = Field(default=False, description='Emergency lockdown mode')
class-attribute
instance-attribute
¶
emergency_whitelist = Field(default_factory=list, description='Emergency whitelist IPs')
class-attribute
instance-attribute
¶
enable_ip_banning = Field(default=None, description='Override IP banning setting')
class-attribute
instance-attribute
¶
enable_penetration_detection = Field(default=None, description='Override penetration detection setting')
class-attribute
instance-attribute
¶
enable_rate_limiting = Field(default=None, description='Override rate limiting setting')
class-attribute
instance-attribute
¶
endpoint_rate_limits = Field(default_factory=dict, description='Per-endpoint rate limits {endpoint: (requests, window)}')
class-attribute
instance-attribute
¶
expires_at = Field(default=None, description='Rule expiration time')
class-attribute
instance-attribute
¶
global_rate_limit = Field(default=None, description='Global rate limit')
class-attribute
instance-attribute
¶
global_rate_window = Field(default=None, description='Global rate window')
class-attribute
instance-attribute
¶
ip_ban_duration = Field(default=3600, description='Ban duration in seconds')
class-attribute
instance-attribute
¶
ip_blacklist = Field(default_factory=list, description='IPs to ban')
class-attribute
instance-attribute
¶
ip_whitelist = Field(default_factory=list, description='IPs to allow')
class-attribute
instance-attribute
¶
model_config = ConfigDict(arbitrary_types_allowed=True)
class-attribute
instance-attribute
¶
rule_id = Field(description='Unique rule ID')
class-attribute
instance-attribute
¶
suspicious_patterns = Field(default_factory=list, description='Additional suspicious patterns')
class-attribute
instance-attribute
¶
timestamp = Field(description='Rule creation/update timestamp')
class-attribute
instance-attribute
¶
ttl = Field(default=300, description='Cache TTL in seconds')
class-attribute
instance-attribute
¶
version = Field(description='Rule version number')
class-attribute
instance-attribute
¶
whitelist_countries = Field(default_factory=list, description='Countries to allow')
class-attribute
instance-attribute
¶
SecurityConfig
¶
Bases: BaseModel