UNPKG

n8n-nodes-librenms

Version:

n8n community node for LibreNMS network monitoring system integration with comprehensive device management and monitoring capabilities

290 lines (289 loc) 8.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.servicesFields = exports.servicesOperations = void 0; exports.servicesOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['services'], }, }, options: [ { name: 'Get All', value: 'getAll', description: 'Get all services', action: 'Get all services', routing: { request: { method: 'GET', url: '/services', }, output: { postReceive: [ { type: 'rootProperty', properties: { property: 'services', }, }, ], }, }, }, { name: 'Get for Device', value: 'getForDevice', description: 'Get services for a specific device', action: 'Get services for device', routing: { request: { method: 'GET', url: '=/services/{{$parameter.deviceId}}', }, output: { postReceive: [ { type: 'rootProperty', properties: { property: 'services', }, }, ], }, }, }, { name: 'Create', value: 'create', description: 'Add a service for a device', action: 'Create a service', routing: { request: { method: 'POST', url: '=/services/{{$parameter.deviceId}}', }, send: { type: 'body', }, }, }, { name: 'Update', value: 'update', description: 'Update a service', action: 'Update a service', routing: { request: { method: 'PATCH', url: '=/services/{{$parameter.serviceId}}', }, send: { type: 'body', }, }, }, { name: 'Delete', value: 'delete', description: 'Delete a service', action: 'Delete a service', routing: { request: { method: 'DELETE', url: '=/services/{{$parameter.serviceId}}', }, }, }, ], default: 'getAll', }, ]; exports.servicesFields = [ // Device ID for device-specific operations { displayName: 'Device', name: 'deviceId', type: 'string', required: true, displayOptions: { show: { resource: ['services'], operation: ['getForDevice', 'create'], }, }, default: '', placeholder: 'hostname or device ID', description: 'Device hostname or ID', }, // Service ID for specific operations { displayName: 'Service ID', name: 'serviceId', type: 'string', required: true, displayOptions: { show: { resource: ['services'], operation: ['update', 'delete'], }, }, default: '', description: 'The service ID', }, // Fields for creating services { displayName: 'Service Type', name: 'type', type: 'string', required: true, displayOptions: { show: { resource: ['services'], operation: ['create'], }, }, default: '', placeholder: 'ping, http, tcp, etc.', description: 'Type of service to monitor', }, { displayName: 'IP Address', name: 'ip', type: 'string', required: true, displayOptions: { show: { resource: ['services'], operation: ['create'], }, }, default: '', description: 'IP address of the service', }, { displayName: 'Description', name: 'desc', type: 'string', required: true, displayOptions: { show: { resource: ['services'], operation: ['create'], }, }, default: '', description: 'Description for the service', }, // Additional options for creating services { displayName: 'Additional Options', name: 'additionalOptions', type: 'collection', placeholder: 'Add Option', default: {}, displayOptions: { show: { resource: ['services'], operation: ['create'], }, }, options: [ { displayName: 'Parameters', name: 'param', type: 'string', default: '', description: 'Parameters for the service check', }, { displayName: 'Ignore', name: 'ignore', type: 'boolean', default: false, description: 'Ignore the service for checks', }, ], }, // Update options { displayName: 'Update Fields', name: 'updateFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['services'], operation: ['update'], }, }, options: [ { displayName: 'Service Disabled', name: 'service_disabled', type: 'boolean', default: false, description: 'Whether the service is disabled', }, { displayName: 'Service Ignore', name: 'service_ignore', type: 'boolean', default: false, description: 'Whether to ignore the service', }, ], }, // Filters for getAll and getForDevice { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { resource: ['services'], operation: ['getAll', 'getForDevice'], }, }, options: [ { displayName: 'State', name: 'state', type: 'options', options: [ { name: 'OK', value: '0' }, { name: 'Warning', value: '1' }, { name: 'Critical', value: '2' }, ], default: '', description: 'Filter by service state', routing: { send: { type: 'query', property: 'state', }, }, }, { displayName: 'Type', name: 'type', type: 'string', default: '', description: 'Filter by service type (uses SQL LIKE)', routing: { send: { type: 'query', property: 'type', }, }, }, ], }, ];