UNPKG

n8n-nodes-librenms

Version:

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

268 lines (267 loc) 8.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.alertRulesFields = exports.alertRulesOperations = void 0; exports.alertRulesOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['alertRules'], }, }, options: [ { name: 'Get All', value: 'getAll', description: 'Get all alert rules', action: 'Get all alert rules', routing: { request: { method: 'GET', url: '/rules', }, output: { postReceive: [ { type: 'rootProperty', properties: { property: 'rules', }, }, ], }, }, }, { name: 'Get', value: 'get', description: 'Get an alert rule by ID', action: 'Get an alert rule', routing: { request: { method: 'GET', url: '=/rules/{{$parameter.ruleId}}', }, output: { postReceive: [ { type: 'rootProperty', properties: { property: 'rules', }, }, ], }, }, }, { name: 'Create', value: 'create', description: 'Create a new alert rule', action: 'Create an alert rule', routing: { request: { method: 'POST', url: '/rules', }, send: { type: 'body', }, }, }, { name: 'Update', value: 'update', description: 'Update an alert rule', action: 'Update an alert rule', routing: { request: { method: 'PUT', url: '/rules', }, send: { type: 'body', }, }, }, { name: 'Delete', value: 'delete', description: 'Delete an alert rule', action: 'Delete an alert rule', routing: { request: { method: 'DELETE', url: '=/rules/{{$parameter.ruleId}}', }, }, }, ], default: 'getAll', }, ]; exports.alertRulesFields = [ // Rule ID for specific operations { displayName: 'Rule ID', name: 'ruleId', type: 'string', required: true, displayOptions: { show: { resource: ['alertRules'], operation: ['get', 'delete'], }, }, default: '', description: 'The alert rule ID', }, // Fields for creating/updating rules { displayName: 'Rule Name', name: 'name', type: 'string', required: true, displayOptions: { show: { resource: ['alertRules'], operation: ['create', 'update'], }, }, default: '', description: 'Name of the alert rule', }, { displayName: 'Devices', name: 'devices', type: 'string', required: true, displayOptions: { show: { resource: ['alertRules'], operation: ['create', 'update'], }, }, default: '-1', placeholder: '-1 for global, or comma-separated device IDs', description: 'Device IDs or -1 for global rule', }, { displayName: 'Rule Builder', name: 'builder', type: 'json', required: true, displayOptions: { show: { resource: ['alertRules'], operation: ['create', 'update'], }, }, default: '{"condition":"AND","rules":[{"id":"devices.status","field":"devices.status","type":"integer","input":"select","operator":"equal","value":"0"}],"valid":true}', description: 'Rule builder JSON object', }, { displayName: 'Severity', name: 'severity', type: 'options', required: true, displayOptions: { show: { resource: ['alertRules'], operation: ['create', 'update'], }, }, options: [ { name: 'OK', value: 'ok' }, { name: 'Warning', value: 'warning' }, { name: 'Critical', value: 'critical' }, ], default: 'critical', description: 'Severity level of the alert', }, // Rule ID for update operation { displayName: 'Rule ID', name: 'rule_id', type: 'string', required: true, displayOptions: { show: { resource: ['alertRules'], operation: ['update'], }, }, default: '', description: 'ID of the rule to update', }, // Additional options for rules { displayName: 'Additional Options', name: 'additionalOptions', type: 'collection', placeholder: 'Add Option', default: {}, displayOptions: { show: { resource: ['alertRules'], operation: ['create', 'update'], }, }, options: [ { displayName: 'Disabled', name: 'disabled', type: 'boolean', default: false, description: 'Whether the rule is disabled', }, { displayName: 'Count', name: 'count', type: 'number', default: 1, description: 'How many polling runs before alert triggers', }, { displayName: 'Delay', name: 'delay', type: 'string', default: '5 m', placeholder: '5 m', description: 'Delay before alerting (e.g., 5 m, 1 h, 1 d)', }, { displayName: 'Interval', name: 'interval', type: 'string', default: '5 m', placeholder: '5 m', description: 'How often to re-issue notifications', }, { displayName: 'Mute', name: 'mute', type: 'boolean', default: false, description: 'If enabled, alert will show in UI but not send notifications', }, { displayName: 'Invert', name: 'invert', type: 'boolean', default: false, description: 'Invert the rule check', }, { displayName: 'Notes', name: 'notes', type: 'string', default: '', description: 'Notes for this rule', }, ], }, ];