haproxy_frontend_list
Retrieve and manage all HAProxy frontends configured on OPNSense firewalls for efficient load balancing and traffic routing optimization.
Instructions
List all HAProxy frontends
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- Core handler function that executes the logic to list all HAProxy frontends. Calls OPNsense API endpoint '/haproxy/settings/searchFrontends' and parses response using parseFrontend helper.async listFrontends(): Promise<HAProxyFrontend[]> { try { const response = await this.client.get('/haproxy/settings/searchFrontends'); if (!response.rows || !Array.isArray(response.rows)) { return []; } return response.rows.map((row: any) => this.parseFrontend(row)); } catch (error) { throw new Error(`Failed to list HAProxy frontends: ${error}`); } }
- Type schema/definition for HAProxyFrontend objects returned by the listFrontends handler.export interface HAProxyFrontend { uuid?: string; name: string; bind: string; bindOptions?: { ssl?: boolean; certificates?: string[]; }; mode: 'http' | 'tcp'; backend: string; acls?: HAProxyACL[]; actions?: HAProxyAction[]; description?: string; enabled?: boolean; }
- Helper function that parses raw API response data into structured HAProxyFrontend objects for the listFrontends handler.private parseFrontend(data: any): HAProxyFrontend { return { uuid: data.uuid, name: data.name, bind: data.bind || '', mode: data.mode || 'http', backend: data.defaultBackend || '', description: data.description, enabled: data.enabled === '1', acls: [], actions: [], bindOptions: { ssl: data.ssl === '1', certificates: data.certificates ? data.certificates.split(',') : [] } };