n8n-nodes-librenms
Version:
n8n community node for LibreNMS network monitoring system integration with comprehensive device management and monitoring capabilities
217 lines (216 loc) • 6.54 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.alertsFields = exports.alertsOperations = void 0;
exports.alertsOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['alerts'],
},
},
options: [
{
name: 'Get All',
value: 'getAll',
description: 'Get all alerts',
action: 'Get all alerts',
routing: {
request: {
method: 'GET',
url: '/alerts',
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'alerts',
},
},
],
},
},
},
{
name: 'Get',
value: 'get',
description: 'Get an alert by ID',
action: 'Get an alert',
routing: {
request: {
method: 'GET',
url: '=/alerts/{{$parameter.alertId}}',
},
output: {
postReceive: [
{
type: 'rootProperty',
properties: {
property: 'alerts',
},
},
],
},
},
},
{
name: 'Acknowledge',
value: 'acknowledge',
description: 'Acknowledge an alert',
action: 'Acknowledge an alert',
routing: {
request: {
method: 'PUT',
url: '=/alerts/{{$parameter.alertId}}',
},
send: {
type: 'body',
},
},
},
{
name: 'Unmute',
value: 'unmute',
description: 'Unmute an alert',
action: 'Unmute an alert',
routing: {
request: {
method: 'PUT',
url: '=/alerts/unmute/{{$parameter.alertId}}',
},
},
},
],
default: 'getAll',
},
];
exports.alertsFields = [
// Alert ID for specific operations
{
displayName: 'Alert ID',
name: 'alertId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['alerts'],
operation: ['get', 'acknowledge', 'unmute'],
},
},
default: '',
description: 'The alert ID',
},
// Acknowledge options
{
displayName: 'Acknowledge Options',
name: 'ackOptions',
type: 'collection',
placeholder: 'Add Option',
default: {},
displayOptions: {
show: {
resource: ['alerts'],
operation: ['acknowledge'],
},
},
options: [
{
displayName: 'Note',
name: 'note',
type: 'string',
default: '',
description: 'Note to add to the alert',
},
{
displayName: 'Until Clear',
name: 'until_clear',
type: 'boolean',
default: true,
description: 'Whether to re-alert if it gets worse/better or changes',
},
],
},
// Filters for getAll
{
displayName: 'Filters',
name: 'filters',
type: 'collection',
placeholder: 'Add Filter',
default: {},
displayOptions: {
show: {
resource: ['alerts'],
operation: ['getAll'],
},
},
options: [
{
displayName: 'State',
name: 'state',
type: 'options',
options: [
{ name: 'OK', value: '0' },
{ name: 'Alert', value: '1' },
{ name: 'Acknowledged', value: '2' },
],
default: '',
description: 'Filter alerts by state',
routing: {
send: {
type: 'query',
property: 'state',
},
},
},
{
displayName: 'Severity',
name: 'severity',
type: 'options',
options: [
{ name: 'OK', value: 'ok' },
{ name: 'Warning', value: 'warning' },
{ name: 'Critical', value: 'critical' },
],
default: '',
description: 'Filter alerts by severity',
routing: {
send: {
type: 'query',
property: 'severity',
},
},
},
{
displayName: 'Alert Rule ID',
name: 'alert_rule',
type: 'string',
default: '',
description: 'Filter by alert rule ID',
routing: {
send: {
type: 'query',
property: 'alert_rule',
},
},
},
{
displayName: 'Order',
name: 'order',
type: 'string',
default: '',
placeholder: 'timestamp DESC',
description: 'Order results',
routing: {
send: {
type: 'query',
property: 'order',
},
},
},
],
},
];