generate_config_from_description
Create Ludus cyber range configurations from natural language descriptions. This tool interprets conversational inputs to generate deployable YAML configurations for security training environments.
Instructions
Generate a complete Ludus range configuration from natural language description.
This is an enhanced AI-powered version of build_range_from_description that provides:
Better natural language understanding beyond simple regex matching
Intelligent clarification requests for ambiguous or incomplete inputs
Multiple configuration suggestions and alternatives
Educational explanations of design decisions and best practices
Args: description: Natural language description of the desired cyber range. Can be conversational and doesn't need to follow strict formatting. include_suggestions: Whether to include enhancement suggestions (default: True) include_clarifications: Whether to request clarifications for missing info (default: True)
Returns: Dictionary containing: - status: "success" or "needs_clarification" - configuration: Complete Ludus YAML configuration dict - metadata: VM count, complexity, resource profile info - parsed_requirements: Structured understanding of the prompt - suggestions: Optional enhancements (if include_suggestions=True) - educational_notes: Explanations of design choices - clarifications: Questions to ask if critical info missing - next_steps: What to do with the generated config
Examples: # Simple Active Directory lab result = await generate_config_from_description( "I need an Active Directory lab with a domain controller " "and 3 Windows 10 workstations for practicing lateral movement" )
Notes: - If the description is ambiguous or missing critical info, status will be "needs_clarification" with specific questions - You can then provide answers and call this function again with more details added to the description - The generated config is ready to deploy with deploy_range() - Consider reviewing suggestions for additional capabilities
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | ||
| include_suggestions | No | ||
| include_clarifications | No |