generate_topology
Determine required firewall rules by providing server names, their services, and product name. Returns port mappings between all specified servers.
Instructions
Resolve server topology — given named servers and their services, returns all port mappings between them as human-readable text.
Use this when the user describes their server layout and wants to know what firewall rules are needed between servers.
Args: product_name: Exact product name (e.g. 'VBR v13', 'VB365') servers_json: JSON array of server definitions. Each object must have 'name' (server label) and 'services' (list of service names this server provides). Example: [ {"name": "VBR", "services": ["Backup server"]}, {"name": "Proxy", "services": ["Backup proxy"]}, {"name": "ESXi", "services": ["ESXi host"]} ] include_loopback: Include ports where source and target are the same server (default: false) exclude_subsections: Subsection names to exclude from results (e.g. ["CDP Components"]). Accepts a list or JSON string. exclude_ports: Port numbers to exclude from results (e.g. ["33035"]). Accepts a list or JSON string. format: Output format — 'json' (default), 'csv', or 'markdown'. csv and markdown return the raw content as text.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| product_name | Yes | ||
| servers_json | Yes | ||
| include_loopback | No | ||
| exclude_subsections | No | ||
| exclude_ports | No | ||
| format | No | json |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |