n8n-nodes-librenms
Version:
n8n community node for LibreNMS network monitoring system integration with comprehensive device management and monitoring capabilities
195 lines (194 loc) • 7.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LibreNms = void 0;
// Import resource modules
const system_1 = require("./resources/system");
const devices_1 = require("./resources/devices");
const alerts_1 = require("./resources/alerts");
const alertRules_1 = require("./resources/alertRules");
const ports_1 = require("./resources/ports");
const services_1 = require("./resources/services");
const routing_1 = require("./resources/routing");
const bills_1 = require("./resources/bills");
const switching_1 = require("./resources/switching");
const logs_1 = require("./resources/logs");
const arp_1 = require("./resources/arp");
const deviceGroups_1 = require("./resources/deviceGroups");
const inventory_1 = require("./resources/inventory");
const locations_1 = require("./resources/locations");
const pollerGroups_1 = require("./resources/pollerGroups");
const portGroups_1 = require("./resources/portGroups");
class LibreNms {
constructor() {
this.description = {
displayName: 'LibreNMS',
name: 'libreNms',
icon: 'file:librenms.svg',
group: ['transform'],
version: 1,
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
description: 'Interact with LibreNMS network monitoring system',
defaults: {
name: 'LibreNMS',
color: '#33aa55',
},
inputs: ['main'],
outputs: ['main'],
usableAsTool: true,
credentials: [
{
name: 'libreNmsApi',
required: true,
},
],
requestDefaults: {
baseURL: '={{$credentials.url.replace(/\\/$/, "")}}/api/v0',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
skipSslCertificateValidation: '={{$credentials.allowUnauthorizedCerts}}',
},
properties: [
{
displayName: 'Resource',
name: 'resource',
type: 'options',
noDataExpression: true,
options: [
{
name: 'Alerts',
value: 'alerts',
description: 'Manage alerts',
},
{
name: 'Alert Rules',
value: 'alertRules',
description: 'Manage alert rules',
},
{
name: 'ARP',
value: 'arp',
description: 'ARP table entries',
},
{
name: 'Bills',
value: 'bills',
description: 'Billing information',
},
{
name: 'Devices',
value: 'devices',
description: 'Manage network devices',
},
{
name: 'Device Groups',
value: 'deviceGroups',
description: 'Device group management',
},
{
name: 'Inventory',
value: 'inventory',
description: 'Device inventory information',
},
{
name: 'Locations',
value: 'locations',
description: 'Location management',
},
{
name: 'Logs',
value: 'logs',
description: 'System logs',
},
{
name: 'Poller Groups',
value: 'pollerGroups',
description: 'Poller group information',
},
{
name: 'Ports',
value: 'ports',
description: 'Manage device ports',
},
{
name: 'Port Groups',
value: 'portGroups',
description: 'Port group management',
},
{
name: 'Routing',
value: 'routing',
description: 'BGP, OSPF, and routing information',
},
{
name: 'Services',
value: 'services',
description: 'Monitor services',
},
{
name: 'Switching',
value: 'switching',
description: 'VLANs, links, and switching data',
},
{
name: 'System',
value: 'system',
description: 'LibreNMS system information',
},
],
default: 'system',
},
// System operations
...system_1.systemOperations,
...system_1.systemFields,
// Devices operations
...devices_1.devicesOperations,
...devices_1.devicesFields,
// Alerts operations
...alerts_1.alertsOperations,
...alerts_1.alertsFields,
// Alert Rules operations
...alertRules_1.alertRulesOperations,
...alertRules_1.alertRulesFields,
// Ports operations
...ports_1.portsOperations,
...ports_1.portsFields,
// Services operations
...services_1.servicesOperations,
...services_1.servicesFields,
// Routing operations
...routing_1.routingOperations,
...routing_1.routingFields,
// Bills operations
...bills_1.billsOperations,
...bills_1.billsFields,
// Switching operations
...switching_1.switchingOperations,
...switching_1.switchingFields,
// Logs operations
...logs_1.logsOperations,
...logs_1.logsFields,
// ARP operations
...arp_1.arpOperations,
...arp_1.arpFields,
// Device Groups operations
...deviceGroups_1.deviceGroupsOperations,
...deviceGroups_1.deviceGroupsFields,
// Inventory operations
...inventory_1.inventoryOperations,
...inventory_1.inventoryFields,
// Locations operations
...locations_1.locationsOperations,
...locations_1.locationsFields,
// Poller Groups operations
...pollerGroups_1.pollerGroupsOperations,
...pollerGroups_1.pollerGroupsFields,
// Port Groups operations
...portGroups_1.portGroupsOperations,
...portGroups_1.portGroupsFields,
],
};
}
}
exports.LibreNms = LibreNms;