Skip to main content
Glama
validation.py1.81 kB
"""Validation schemas for Ludus ranges.""" from pydantic import BaseModel, Field class ValidationError(BaseModel): """Validation error details.""" field: str = Field(..., description="Field that failed validation") message: str = Field(..., description="Error message") severity: str = Field(default="error", description="Severity: error or warning") class ValidationResult(BaseModel): """Result of configuration validation.""" valid: bool = Field(..., description="Whether configuration is valid") errors: list[ValidationError] = Field(default_factory=list, description="Validation errors") warnings: list[ValidationError] = Field(default_factory=list, description="Validation warnings") recommendations: list[str] = Field(default_factory=list, description="Recommendations for improvement") def has_errors(self) -> bool: """Check if there are any errors.""" return len(self.errors) > 0 def has_warnings(self) -> bool: """Check if there are any warnings.""" return len(self.warnings) > 0 class PreviewResult(BaseModel): """Result of scenario preview.""" scenario_key: str = Field(..., description="Scenario identifier") siem_type: str = Field(default="wazuh", description="SIEM type") config: dict = Field(..., description="Full configuration") visualization: str = Field(..., description="ASCII topology visualization") vm_count: int = Field(..., description="Number of VMs") estimated_time: str = Field(..., description="Estimated deployment time") estimated_memory_gb: int = Field(..., description="Estimated memory in GB") estimated_disk_gb: int = Field(..., description="Estimated disk space in GB") deploy_command: str = Field(..., description="Command to deploy this scenario")

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tjnull/Ludus-FastMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server