UNPKG

n8n-nodes-arubacentralnextgen

Version:

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

221 lines (220 loc) 9.62 kB
"use strict"; // ArubaCentralNextGen.node.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.ArubaCentralNextGen = void 0; const n8n_workflow_1 = require("n8n-workflow"); const executeOperation_1 = require("./helpers/executeOperation"); // Monitoring domain imports const monitoring_1 = require("./descriptions/monitoring"); // Configuration domain imports const configuration_1 = require("./descriptions/configuration"); // System domain imports const system_1 = require("./descriptions/system"); // Routing domain imports const routing_1 = require("./descriptions/routing"); // Interfaces domain imports const interfaces_1 = require("./descriptions/interfaces"); // Management domain imports const management_1 = require("./descriptions/management"); // Network Services domain imports const networkServices_1 = require("./descriptions/networkServices"); // Security domain imports const security_1 = require("./descriptions/security"); const baseProperties_1 = require("./descriptions/baseProperties"); const logger = __importStar(require("./helpers/logger")); class ArubaCentralNextGen { constructor() { this.description = { displayName: 'Aruba Central Next Gen', name: 'arubaCentralNextGen', icon: 'file:arubaCentralNextGen.svg', group: ['output'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Consume Aruba Central Next Gen API', defaults: { name: 'Aruba Central Next Gen', }, usableAsTool: true, inputs: ["main" /* NodeConnectionType.Main */], outputs: ["main" /* NodeConnectionType.Main */], credentials: [ { name: 'arubaCentralNextGenOAuth2Api', required: true, }, ], properties: [ // Debug mode option at the top for visibility { displayName: 'Debug Mode', name: 'debugMode', type: 'boolean', default: false, description: 'Whether to enable detailed debug logs for troubleshooting', }, // Base selections - domain and resource baseProperties_1.domainOptions, baseProperties_1.resourceOptions, // Monitoring domain operations monitoring_1.deviceOperations, monitoring_1.apOperations, monitoring_1.clientOperations, monitoring_1.siteOperations, monitoring_1.siteHealthOperations, monitoring_1.gatewayOperations, // Configuration domain operations configuration_1.scopeManagementOperations, configuration_1.apProfileOperations, // VLANs & Networks operations configuration_1.vlansNetworksOperations, // Roles & Policy operations configuration_1.rolesPolicyOperations, // Wireless operations configuration_1.wirelessOperations, // Named Object operations configuration_1.namedObjectOperations, // Configuration Health operations configuration_1.configHealthOperations, // System domain operations system_1.configAssignmentOperations, system_1.ntpOperations, system_1.snmpOperations, system_1.syslogOperations, system_1.dumpServerOperations, // Routing domain operations routing_1.staticRouteOperations, routing_1.ospfv2Operations, routing_1.bgpOperations, routing_1.vrfOperations, // Interfaces domain operations interfaces_1.ethernetInterfaceOperations, interfaces_1.portChannelOperations, interfaces_1.lacpOperations, interfaces_1.loopbackOperations, interfaces_1.lldpOperations, // Management domain operations management_1.configCheckpointOperations, management_1.personaAssignmentOperations, management_1.firmwarePolicyOperations, management_1.haOperations, // Network Services domain operations networkServices_1.dhcpOperations, networkServices_1.qosOperations, // Security domain operations security_1.firewallOperations, security_1.portSecurityOperations, security_1.macAuthOperations, // Monitoring domain fields ...monitoring_1.deviceFields, ...monitoring_1.apFields, ...monitoring_1.clientFields, ...monitoring_1.siteFields, ...monitoring_1.siteHealthFields, ...monitoring_1.gatewayFields, // Configuration domain fields ...configuration_1.scopeManagementFields, ...configuration_1.apProfileFields, // VLANs & Networks fields ...configuration_1.vlansNetworksFields, // Roles & Policy fields ...configuration_1.rolesPolicyFields, // Wireless fields ...configuration_1.wirelessFields, // Named Object fields ...configuration_1.namedObjectFields, // Configuration Health fields ...configuration_1.configHealthFields, // System domain fields ...system_1.configAssignmentFields, ...system_1.ntpFields, ...system_1.snmpFields, ...system_1.syslogFields, ...system_1.dumpServerFields, // Routing domain fields ...routing_1.routingFields, // Interfaces domain fields ...interfaces_1.interfacesFields, // Management domain fields ...management_1.managementFields, // Network Services domain fields ...networkServices_1.networkServicesFields, // Security domain fields ...security_1.securityFields, ], }; } // Execute method remains the same async execute() { var _a; try { // Log execution start if debug mode is enabled const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting node execution', undefined, this); } const result = await executeOperation_1.executeOperation.call(this); if (debugMode) { logger.debug(`Node execution completed successfully`, { itemsReturned: ((_a = result[0]) === null || _a === void 0 ? void 0 : _a.length) || 0, }, this); } return result; } catch (error) { // Improve error handling to handle undefined cases let errorMessage = 'Unknown error in node execution'; if (error) { if (typeof error === 'string') { errorMessage = error; } else if (error instanceof Error) { errorMessage = error.message || 'Error in node 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('Node execution failed', new Error(errorMessage)); throw new n8n_workflow_1.NodeOperationError(this.getNode(), new Error(errorMessage), { itemIndex: 0, description: errorMessage, }); } } } exports.ArubaCentralNextGen = ArubaCentralNextGen;