UNPKG

n8n-nodes-arubacentralnextgen

Version:

n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities

420 lines (419 loc) 23.3 kB
"use strict"; // helpers/executeOperation.ts var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.executeOperation = executeOperation; // Monitoring domain imports const devices_1 = require("../methods/monitoring/devices"); const clients_1 = require("../methods/monitoring/clients"); const accessPoints_1 = require("../methods/monitoring/accessPoints"); const sites_1 = require("../methods/monitoring/sites"); const siteHealth_1 = require("../methods/monitoring/siteHealth"); const gateways_1 = require("../methods/monitoring/gateways"); // Configuration domain imports const scopeManagementMethods = __importStar(require("../methods/configuration/scopeManagement.methods")); const apProfiles_methods_1 = require("../methods/configuration/apProfiles.methods"); // VLANs & Networks domain imports const vlansNetworksMethods = __importStar(require("../methods/configuration/vlansNetworks.methods")); // Roles & Policy domain imports const rolesPolicyMethods = __importStar(require("../methods/configuration/rolesPolicy.methods")); // Wireless domain imports const wirelessMethods = __importStar(require("../methods/configuration/wireless.methods")); // Named Object domain imports const namedObjectMethods = __importStar(require("../methods/configuration/namedObject.methods")); // Configuration Health domain imports const configHealthMethods = __importStar(require("../methods/configuration/configHealth.methods")); // Network Services domain imports const networkServicesMethods = __importStar(require("../methods/networkServices/networkServices.methods")); // Security domain imports const securityMethods = __importStar(require("../methods/security/security.methods")); // System domain imports const configAssignment_1 = require("../methods/system/configAssignment"); // Interfaces domain imports const interfacesMethods = __importStar(require("../methods/interfaces/interfaces.methods")); // Routing domain imports const routingMethods = __importStar(require("../methods/routing/routing.methods")); // System domain expanded imports const ntpMethods = __importStar(require("../methods/system/ntp")); const snmpMethods = __importStar(require("../methods/system/snmp")); const syslogMethods = __importStar(require("../methods/system/syslog")); const dumpServerMethods = __importStar(require("../methods/system/dumpServer")); // Management domain imports const managementMethods = __importStar(require("../methods/management/management.methods")); // Import logger directly to avoid circular dependencies const logger = __importStar(require("./logger")); async function executeOperation() { try { const debugMode = logger.isDebugMode(this); const domain = this.getNodeParameter('domain', 0); const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); if (debugMode) { logger.debug('Executing operation', { domain, resource, operation }, this); } const handlers = { monitoring: { devices: { getAllDevices: devices_1.getAllDevices, getDeviceInventory: devices_1.getDeviceInventory, }, clients: { getAllClients: clients_1.getAllClients, }, aps: { getAllAPs: accessPoints_1.getAllAPs, getAPDetails: accessPoints_1.getAPDetails, getTopAPsByWirelessUsage: accessPoints_1.getTopAPsByWirelessUsage, getAPThroughputTrends: accessPoints_1.getAPThroughputTrends, getAPCPUUtilization: accessPoints_1.getAPCPUUtilization, getAPMemoryUtilization: accessPoints_1.getAPMemoryUtilization, getAPPowerConsumption: accessPoints_1.getAPPowerConsumption, getRadioDetails: accessPoints_1.getRadioDetails, getRadioPerformance: accessPoints_1.getRadioPerformance, getAPsWithIssues: accessPoints_1.getAPsWithIssues, getAPPortFrameTrends: accessPoints_1.getAPPortFrameTrends, getAllRadios: accessPoints_1.getAllRadios, getRadioChannelUtilization: accessPoints_1.getRadioChannelUtilization, getRadioChannelQuality: accessPoints_1.getRadioChannelQuality, getRadioNoiseFloor: accessPoints_1.getRadioNoiseFloor, getRadioTransmissionInfo: accessPoints_1.getRadioTransmissionInfo, getAPPortCRCErrors: accessPoints_1.getAPPortCRCErrors, getAPPortCollisionErrors: accessPoints_1.getAPPortCollisionErrors, getAPRadioThroughputTrend: accessPoints_1.getAPRadioThroughputTrend, getAPPortThroughputTrend: accessPoints_1.getAPPortThroughputTrend, getAPRadiosList: accessPoints_1.getAPRadiosList, getAPPortsList: accessPoints_1.getAPPortsList, getAllWLANs: accessPoints_1.getAllWLANs, getWLANByName: accessPoints_1.getWLANByName, getAPWLANsList: accessPoints_1.getAPWLANsList, getAPWLANThroughputTrend: accessPoints_1.getAPWLANThroughputTrend, getAPTunnelsList: accessPoints_1.getAPTunnelsList, getAPTunnelDetails: accessPoints_1.getAPTunnelDetails, getAPTunnelThroughputTrend: accessPoints_1.getAPTunnelThroughputTrend, getAPTunnelPacketLossTrend: accessPoints_1.getAPTunnelPacketLossTrend, getAPTunnelJitterTrend: accessPoints_1.getAPTunnelJitterTrend, getAPTunnelLatencyTrend: accessPoints_1.getAPTunnelLatencyTrend, getAPTunnelMOSScoreTrend: accessPoints_1.getAPTunnelMOSScoreTrend, getWLANThroughputTrend: accessPoints_1.getWLANThroughputTrend, }, sites: { getAllSites: sites_1.getAllSites, }, siteHealth: { listSitesHealthOverview: siteHealth_1.listSitesHealthOverview, getSiteInformation: siteHealth_1.getSiteInformation, listSitesDeviceHealth: siteHealth_1.listSitesDeviceHealth, getDeviceHealthOverview: siteHealth_1.getDeviceHealthOverview, }, gateways: { listGateways: gateways_1.listGateways, getGatewayDetails: gateways_1.getGatewayDetails, getClusterLeaderDetails: gateways_1.getClusterLeaderDetails, getClusterVlanMismatchSummary: gateways_1.getClusterVlanMismatchSummary, getClusterConnectivityGraph: gateways_1.getClusterConnectivityGraph, getGatewayVlanDetail: gateways_1.getGatewayVlanDetail, listClusterMembers: gateways_1.listClusterMembers, getGatewayTunnelDetail: gateways_1.getGatewayTunnelDetail, listGatewayWiredInterfaces: gateways_1.listGatewayWiredInterfaces, listClusterTunnels: gateways_1.listClusterTunnels, listGatewayVlans: gateways_1.listGatewayVlans, listGatewayLanTunnels: gateways_1.listGatewayLanTunnels, listGatewayWanInterfaces: gateways_1.listGatewayWanInterfaces, getGatewayCpuUtilizationTrend: gateways_1.getGatewayCpuUtilizationTrend, getGatewayMemoryUtilizationTrend: gateways_1.getGatewayMemoryUtilizationTrend, getGatewayLanTunnelThroughputTrend: gateways_1.getGatewayLanTunnelThroughputTrend, getGatewayLanTunnelStatusTrend: gateways_1.getGatewayLanTunnelStatusTrend, getClusterCapacityTrend: gateways_1.getClusterCapacityTrend, getClusterMemberCapacityTrend: gateways_1.getClusterMemberCapacityTrend, getGatewayInterfaceThroughputTrend: gateways_1.getGatewayInterfaceThroughputTrend, getClusterTunnelHealthSummary: gateways_1.getClusterTunnelHealthSummary, getClusterTunnelStatusSummary: gateways_1.getClusterTunnelStatusSummary, getGatewayTunnelHealthSummary: gateways_1.getGatewayTunnelHealthSummary, getGatewayWanAvailabilityTrend: gateways_1.getGatewayWanAvailabilityTrend, getGatewayVpnAvailabilityTrend: gateways_1.getGatewayVpnAvailabilityTrend, getGatewayPortFramesTrend: gateways_1.getGatewayPortFramesTrend, getGatewayPortFramesErrorsTrend: gateways_1.getGatewayPortFramesErrorsTrend, getGatewayPortFramesPacketsTrend: gateways_1.getGatewayPortFramesPacketsTrend, getGatewayTunnelDroppedPacketsTrend: gateways_1.getGatewayTunnelDroppedPacketsTrend, listGatewayWanTunnels: gateways_1.listGatewayWanTunnels, getGatewayWanTunnelDetail: gateways_1.getGatewayWanTunnelDetail, getGatewayWanTunnelHealthSummary: gateways_1.getGatewayWanTunnelHealthSummary, getGatewayUplinkDetails: gateways_1.getGatewayUplinkDetails, getGatewayUplinkThroughputTrend: gateways_1.getGatewayUplinkThroughputTrend, getGatewayWanCompressionTrends: gateways_1.getGatewayWanCompressionTrends, listGatewayUplinkProbes: gateways_1.listGatewayUplinkProbes, listGatewayUplinkPerformanceTrends: gateways_1.listGatewayUplinkPerformanceTrends, getGatewayUplinkModemStats: gateways_1.getGatewayUplinkModemStats, getGatewayUplinkWanAvailabilityTrends: gateways_1.getGatewayUplinkWanAvailabilityTrends, getGatewayUplinkVpnAvailabilityTrends: gateways_1.getGatewayUplinkVpnAvailabilityTrends, }, }, configuration: { scopeManagement: scopeManagementMethods, profiles: { getAllAPProfiles: apProfiles_methods_1.getAllAPProfiles, createAPProfile: apProfiles_methods_1.createAPProfile, updateAPProfile: apProfiles_methods_1.updateAPProfile, deleteAPProfile: apProfiles_methods_1.deleteAPProfile, }, // VLANs & Networks resource vlansNetworks: vlansNetworksMethods, // Roles & Policy resource rolesPolicy: rolesPolicyMethods, // Wireless resource wireless: wirelessMethods, // Named Object resource namedObject: namedObjectMethods, // Configuration Health resource configHealth: configHealthMethods, }, system: { configAssignment: { listConfigAssignments: configAssignment_1.listConfigAssignments, getConfigAssignment: configAssignment_1.getConfigAssignment, createConfigAssignment: configAssignment_1.createConfigAssignment, deleteConfigAssignment: configAssignment_1.deleteConfigAssignment, }, ntp: { getAllNTP: ntpMethods.getAllNTP, getNTP: ntpMethods.getNTP, createNTP: ntpMethods.createNTP, updateNTP: ntpMethods.updateNTP, deleteNTP: ntpMethods.deleteNTP, }, snmp: { getAllSNMP: snmpMethods.getAllSNMP, getSNMP: snmpMethods.getSNMP, createSNMP: snmpMethods.createSNMP, updateSNMP: snmpMethods.updateSNMP, deleteSNMP: snmpMethods.deleteSNMP, }, syslog: { getAllSyslog: syslogMethods.getAllSyslog, getSyslog: syslogMethods.getSyslog, createSyslog: syslogMethods.createSyslog, updateSyslog: syslogMethods.updateSyslog, deleteSyslog: syslogMethods.deleteSyslog, }, dumpServer: { getAllDumpServer: dumpServerMethods.getAllDumpServer, getDumpServer: dumpServerMethods.getDumpServer, createDumpServer: dumpServerMethods.createDumpServer, updateDumpServer: dumpServerMethods.updateDumpServer, deleteDumpServer: dumpServerMethods.deleteDumpServer, }, }, routing: { staticRoute: { getAllStaticRoute: routingMethods.getAllStaticRoute, getStaticRoute: routingMethods.getStaticRoute, createStaticRoute: routingMethods.createStaticRoute, updateStaticRoute: routingMethods.updateStaticRoute, deleteStaticRoute: routingMethods.deleteStaticRoute, }, ospfv2: { getAllOSPFv2: routingMethods.getAllOSPFv2, getOSPFv2: routingMethods.getOSPFv2, createOSPFv2: routingMethods.createOSPFv2, updateOSPFv2: routingMethods.updateOSPFv2, deleteOSPFv2: routingMethods.deleteOSPFv2, }, bgp: { getAllBGP: routingMethods.getAllBGP, getBGP: routingMethods.getBGP, createBGP: routingMethods.createBGP, updateBGP: routingMethods.updateBGP, deleteBGP: routingMethods.deleteBGP, }, vrf: { getAllVRF: routingMethods.getAllVRF, getVRF: routingMethods.getVRF, createVRF: routingMethods.createVRF, updateVRF: routingMethods.updateVRF, deleteVRF: routingMethods.deleteVRF, }, }, management: { configCheckpoint: { getAllConfigCheckpoint: managementMethods.getAllConfigCheckpoint, getConfigCheckpoint: managementMethods.getConfigCheckpoint, createConfigCheckpoint: managementMethods.createConfigCheckpoint, updateConfigCheckpoint: managementMethods.updateConfigCheckpoint, deleteConfigCheckpoint: managementMethods.deleteConfigCheckpoint, }, personaAssignment: { getAllPersonaAssignment: managementMethods.getAllPersonaAssignment, getPersonaAssignment: managementMethods.getPersonaAssignment, createPersonaAssignment: managementMethods.createPersonaAssignment, updatePersonaAssignment: managementMethods.updatePersonaAssignment, deletePersonaAssignment: managementMethods.deletePersonaAssignment, }, firmwarePolicy: { getAllFirmwarePolicy: managementMethods.getAllFirmwarePolicy, getFirmwarePolicy: managementMethods.getFirmwarePolicy, createFirmwarePolicy: managementMethods.createFirmwarePolicy, updateFirmwarePolicy: managementMethods.updateFirmwarePolicy, deleteFirmwarePolicy: managementMethods.deleteFirmwarePolicy, }, ha: { getAllHA: managementMethods.getAllHA, getHA: managementMethods.getHA, createHA: managementMethods.createHA, updateHA: managementMethods.updateHA, deleteHA: managementMethods.deleteHA, }, }, networkServices: { dhcp: { getAllDHCP: networkServicesMethods.getAllDHCP, getDHCP: networkServicesMethods.getDHCP, createDHCP: networkServicesMethods.createDHCP, updateDHCP: networkServicesMethods.updateDHCP, deleteDHCP: networkServicesMethods.deleteDHCP, }, qos: { getAllQoS: networkServicesMethods.getAllQoS, getQoS: networkServicesMethods.getQoS, createQoS: networkServicesMethods.createQoS, updateQoS: networkServicesMethods.updateQoS, deleteQoS: networkServicesMethods.deleteQoS, }, }, security: { firewall: { getAllFirewall: securityMethods.getAllFirewall, getFirewall: securityMethods.getFirewall, createFirewall: securityMethods.createFirewall, updateFirewall: securityMethods.updateFirewall, deleteFirewall: securityMethods.deleteFirewall, }, portSecurity: { getAllPortSecurity: securityMethods.getAllPortSecurity, getPortSecurity: securityMethods.getPortSecurity, createPortSecurity: securityMethods.createPortSecurity, updatePortSecurity: securityMethods.updatePortSecurity, deletePortSecurity: securityMethods.deletePortSecurity, }, macAuth: { getAllMACAuth: securityMethods.getAllMACAuth, getMACAuth: securityMethods.getMACAuth, createMACAuth: securityMethods.createMACAuth, updateMACAuth: securityMethods.updateMACAuth, deleteMACAuth: securityMethods.deleteMACAuth, }, }, interfaces: { ethernetInterface: { getAllEthernetInterface: interfacesMethods.getAllEthernetInterface, getEthernetInterface: interfacesMethods.getEthernetInterface, createEthernetInterface: interfacesMethods.createEthernetInterface, updateEthernetInterface: interfacesMethods.updateEthernetInterface, deleteEthernetInterface: interfacesMethods.deleteEthernetInterface, }, portChannel: { getAllPortChannel: interfacesMethods.getAllPortChannel, getPortChannel: interfacesMethods.getPortChannel, createPortChannel: interfacesMethods.createPortChannel, updatePortChannel: interfacesMethods.updatePortChannel, deletePortChannel: interfacesMethods.deletePortChannel, }, lacp: { getAllLACP: interfacesMethods.getAllLACP, getLACP: interfacesMethods.getLACP, createLACP: interfacesMethods.createLACP, updateLACP: interfacesMethods.updateLACP, deleteLACP: interfacesMethods.deleteLACP, }, loopback: { getAllLoopback: interfacesMethods.getAllLoopback, getLoopback: interfacesMethods.getLoopback, createLoopback: interfacesMethods.createLoopback, updateLoopback: interfacesMethods.updateLoopback, deleteLoopback: interfacesMethods.deleteLoopback, }, lldp: { getAllLLDP: interfacesMethods.getAllLLDP, getLLDP: interfacesMethods.getLLDP, createLLDP: interfacesMethods.createLLDP, updateLLDP: interfacesMethods.updateLLDP, deleteLLDP: interfacesMethods.deleteLLDP, }, }, }; if (!handlers[domain]) { const error = `Domain "${domain}" is not implemented`; logger.error(error); throw new Error(error); } if (!handlers[domain][resource]) { const error = `Resource "${resource}" is not implemented for domain "${domain}"`; logger.error(error); throw new Error(error); } if (!handlers[domain][resource][operation]) { const error = `Operation "${operation}" is not implemented for resource "${resource}" in domain "${domain}"`; logger.error(error); throw new Error(error); } if (debugMode) { logger.debug(`Executing handler for ${domain}/${resource}/${operation}`, undefined, this); } const result = await handlers[domain][resource][operation].call(this); if (debugMode) { logger.debug(`Handler execution complete`, { itemCount: result.length, }, this); } return [result]; } catch (error) { // Fix error handling to properly handle undefined cases let errorMessage = 'Unknown error in operation execution'; if (error) { if (typeof error === 'string') { errorMessage = error; } else if (error instanceof Error) { errorMessage = error.message || 'Error in operation execution'; } else if (typeof error === 'object' && error !== null) { // Try to extract a message from the error object errorMessage = error.message || JSON.stringify(error); } } logger.error('Error in operation execution', new Error(errorMessage)); throw new Error(errorMessage); } }