n8n-nodes-arubacentral
Version:
n8n community node for Aruba Central API integration with comprehensive monitoring, configuration, and management capabilities
101 lines (98 loc) • 3.05 kB
text/typescript
// api/monitoring/monitoring.descriptions.ts
import { INodeProperties } from 'n8n-workflow';
import { apDescriptions } from './ap/ap.descriptions';
import { clientDescriptions } from './client/client.descriptions';
import { siteDescriptions } from './site/site.descriptions';
import { eventsDescriptions } from './events/events.descriptions';
import { switchDescriptions } from './switch/switch.descriptions';
import { gatewayDescriptions } from './gateway/gateway.descriptions';
import { labelDescriptions } from './label/label.descriptions';
import { mobilitycontrollerDescriptions } from './mobilitycontroller/mobilitycontroller.descriptions';
import { networkDescriptions } from './network/network.descriptions';
import { swarmDescriptions } from './swarm/swarm.descriptions';
import { vpnDescriptions } from './vpn/vpn.descriptions';
// Resource selection
const resourceSelector: INodeProperties = {
displayName: 'Resource',
name: 'resource',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['monitoring'],
},
},
options: [
{
name: 'Access Point',
value: 'ap',
description: 'Work with access point information',
},
{
name: 'Client',
value: 'client',
description: 'Work with client information',
},
{
name: 'Events',
value: 'events',
description: 'Work with events information',
},
{
name: 'Gateway',
value: 'gateway',
description: 'Work with gateway information',
},
{
name: 'Label',
value: 'label',
description: 'Work with label information',
},
{
name: 'Mobility Controller',
value: 'mobilitycontroller',
description: 'Work with mobility controller information',
},
{
name: 'Network',
value: 'network',
description: 'Work with network information',
},
{
name: 'Site',
value: 'site',
description: 'Work with site information',
},
{
name: 'Swarm',
value: 'swarm',
description: 'Work with swarm information',
},
{
name: 'Switch',
value: 'switch',
description: 'Work with switch information',
},
{
name: 'VPN',
value: 'vpn',
description: 'Work with VPN information',
},
],
default: 'ap',
};
// Export all descriptions with safety checks
export const monitoringDescriptions: INodeProperties[] = [
resourceSelector,
...(Array.isArray(apDescriptions) ? apDescriptions : []),
...(Array.isArray(clientDescriptions) ? clientDescriptions : []),
...(Array.isArray(eventsDescriptions) ? eventsDescriptions : []),
...(Array.isArray(gatewayDescriptions) ? gatewayDescriptions : []),
...(Array.isArray(labelDescriptions) ? labelDescriptions : []),
...(Array.isArray(mobilitycontrollerDescriptions) ? mobilitycontrollerDescriptions : []),
...(Array.isArray(networkDescriptions) ? networkDescriptions : []),
...(Array.isArray(siteDescriptions) ? siteDescriptions : []),
...(Array.isArray(swarmDescriptions) ? swarmDescriptions : []),
...(Array.isArray(switchDescriptions) ? switchDescriptions : []),
...(Array.isArray(vpnDescriptions) ? vpnDescriptions : []),
];