n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
653 lines (652 loc) • 24.1 kB
JavaScript
;
// descriptions/monitoring/gateways.descriptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.gatewayFields = exports.gatewayOperations = void 0;
exports.gatewayOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
},
},
default: 'listGateways',
options: [
{
name: 'List Gateways',
value: 'listGateways',
description: 'Retrieves a list of gateways associated to a customer',
action: 'List all gateways',
},
{
name: 'Gateway Details',
value: 'getGatewayDetails',
description: 'Retrieves detailed information about a specific gateway',
action: 'Get gateway details',
},
{
name: 'Gateway Cluster Leader Details',
value: 'getClusterLeaderDetails',
description: 'Retrieves details about the leader of a gateway cluster',
action: 'Get cluster leader details',
},
{
name: 'Gateway Cluster VLAN Mismatch Summary',
value: 'getClusterVlanMismatchSummary',
description: 'Provides VLAN mismatch information within cluster',
action: 'Get cluster VLAN mismatch summary',
},
{
name: 'Gateway Cluster Connectivity Graph',
value: 'getClusterConnectivityGraph',
description: 'Provides cluster connectivity graph data',
action: 'Get cluster connectivity graph',
},
{
name: 'Gateway VLAN Detail',
value: 'getGatewayVlanDetail',
description: 'Retrieves information about a specific VLAN configured in the gateway',
action: 'Get gateway VLAN detail',
},
{
name: 'List Gateway Cluster Members',
value: 'listClusterMembers',
description: 'Lists all members of a gateway cluster',
action: 'List cluster members',
},
{
name: 'Gateway Tunnel Detail',
value: 'getGatewayTunnelDetail',
description: 'Retrieves information about a tunnel configured in gateway',
action: 'Get gateway tunnel detail',
},
{
name: 'List Gateway Wired Interfaces',
value: 'listGatewayWiredInterfaces',
description: 'Retrieves list of wired interfaces for a specific gateway',
action: 'List gateway wired interfaces',
},
{
name: 'List Gateway Cluster Tunnels',
value: 'listClusterTunnels',
description: 'Lists all tunnels within a gateway cluster',
action: 'List cluster tunnels',
},
{
name: 'List Gateway VLANs',
value: 'listGatewayVlans',
description: 'Lists all VLANs configured on a gateway',
action: 'List gateway VLANs',
},
{
name: 'List Gateway LAN Tunnels',
value: 'listGatewayLanTunnels',
description: 'Retrieves a list of LAN tunnels for a specific gateway',
action: 'List gateway LAN tunnels',
},
{
name: 'List Gateway WAN Interfaces',
value: 'listGatewayWanInterfaces',
description: 'Lists WAN interfaces for a gateway',
action: 'List gateway WAN interfaces',
},
{
name: 'Get Gateway CPU Utilization Trend',
value: 'getGatewayCpuUtilizationTrend',
description: 'Retrieves CPU utilization trend data',
action: 'Get gateway CPU utilization trend',
},
{
name: 'Get Gateway Memory Utilization Trend',
value: 'getGatewayMemoryUtilizationTrend',
description: 'Retrieves memory utilization trend data',
action: 'Get gateway memory utilization trend',
},
{
name: 'Get Gateway LAN Tunnel Throughput Trend',
value: 'getGatewayLanTunnelThroughputTrend',
description: 'Provides LAN tunnel throughput metrics over time',
action: 'Get gateway LAN tunnel throughput trend',
},
{
name: 'Get Gateway LAN Tunnel Status Trend',
value: 'getGatewayLanTunnelStatusTrend',
description: 'Provides LAN tunnel status metrics over time',
action: 'Get gateway LAN tunnel status trend',
},
{
name: 'Get Cluster Capacity Trend',
value: 'getClusterCapacityTrend',
description: 'Provides cluster capacity trends over time',
action: 'Get cluster capacity trend',
},
{
name: 'Get Cluster Member Capacity Trend',
value: 'getClusterMemberCapacityTrend',
description: 'Provides individual cluster member capacity trends',
action: 'Get cluster member capacity trend',
},
{
name: 'Get Gateway Interface Throughput Trend',
value: 'getGatewayInterfaceThroughputTrend',
description: 'Provides interface throughput metrics over time',
action: 'Get gateway interface throughput trend',
},
{
name: 'Get Summary of Cluster Tunnel Health',
value: 'getClusterTunnelHealthSummary',
description: 'Provides cluster-wide tunnel health summary',
action: 'Get cluster tunnel health summary',
},
{
name: 'Get Summary of Cluster Tunnel Status',
value: 'getClusterTunnelStatusSummary',
description: 'Provides cluster tunnel status summary',
action: 'Get cluster tunnel status summary',
},
{
name: 'Get Summary of Gateway Tunnel Health',
value: 'getGatewayTunnelHealthSummary',
description: 'Retrieves health summary of LAN tunnels for a gateway',
action: 'Get gateway tunnel health summary',
},
{
name: 'Get Gateway WAN Availability Trend',
value: 'getGatewayWanAvailabilityTrend',
description: 'Retrieves WAN availability trend data',
action: 'Get gateway WAN availability trend',
},
{
name: 'Get Gateway VPN Availability Trend',
value: 'getGatewayVpnAvailabilityTrend',
description: 'Provides VPN availability trends',
action: 'Get gateway VPN availability trend',
},
{
name: 'Get Gateway Port Frames Trend',
value: 'getGatewayPortFramesTrend',
description: 'Provides port frame statistics trends',
action: 'Get gateway port frames trend',
},
{
name: 'Get Gateway Port Frames Errors Trend',
value: 'getGatewayPortFramesErrorsTrend',
description: 'Provides port frame error statistics trends',
action: 'Get gateway port frames errors trend',
},
{
name: 'Get Gateway Port Frames Packets Trend',
value: 'getGatewayPortFramesPacketsTrend',
description: 'Provides port frame packet statistics trends',
action: 'Get gateway port frames packets trend',
},
{
name: 'Get Gateway Tunnel Dropped Packets Trend',
value: 'getGatewayTunnelDroppedPacketsTrend',
description: 'Provides tunnel dropped packet statistics',
action: 'Get gateway tunnel dropped packets trend',
},
{
name: 'List Gateway WAN Tunnels',
value: 'listGatewayWanTunnels',
description: 'Lists WAN tunnels for a gateway',
action: 'List gateway WAN tunnels',
},
{
name: 'Gateway WAN Tunnel Detail',
value: 'getGatewayWanTunnelDetail',
description: 'Provides detailed information about WAN tunnels',
action: 'Get gateway WAN tunnel detail',
},
{
name: 'Get Summary of Gateway WAN Tunnel Health',
value: 'getGatewayWanTunnelHealthSummary',
description: 'Retrieves health summary of WAN tunnels for a gateway',
action: 'Get gateway WAN tunnel health summary',
},
{
name: 'Get Details of Gateway Uplink',
value: 'getGatewayUplinkDetails',
description: 'Provides detailed uplink information',
action: 'Get gateway uplink details',
},
{
name: 'Get Gateway Uplink Throughput Trend',
value: 'getGatewayUplinkThroughputTrend',
description: 'Provides uplink throughput trends',
action: 'Get gateway uplink throughput trend',
},
{
name: 'Get Gateway WAN Compression Trends for Uplink',
value: 'getGatewayWanCompressionTrends',
description: 'Provides WAN compression statistics for uplinks',
action: 'Get gateway WAN compression trends',
},
{
name: 'List Gateway Uplink Probes',
value: 'listGatewayUplinkProbes',
description: 'Lists gateway uplink probes',
action: 'List gateway uplink probes',
},
{
name: 'List Gateway Uplink Performance Trends',
value: 'listGatewayUplinkPerformanceTrends',
description: 'Provides performance trends for specific probe',
action: 'List gateway uplink performance trends',
},
{
name: 'Get Gateway Uplink Modem Stats',
value: 'getGatewayUplinkModemStats',
description: 'Retrieves modem stats for the specified gateway',
action: 'Get gateway uplink modem stats',
},
{
name: 'Get WAN Availability Trends of Gateway Uplink',
value: 'getGatewayUplinkWanAvailabilityTrends',
description: 'Provides WAN availability trends for uplinks',
action: 'Get gateway uplink WAN availability trends',
},
{
name: 'Get VPN Availability Trends of Gateway Uplink',
value: 'getGatewayUplinkVpnAvailabilityTrends',
description: 'Provides VPN availability trends for uplinks',
action: 'Get gateway uplink VPN availability trends',
},
],
};
// Common fields for pagination and filtering
const paginationFields = [
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
displayOptions: {
show: {
returnAll: [false],
},
},
typeOptions: {
minValue: 1,
maxValue: 100,
},
default: 20,
description: 'Max number of results to return',
},
];
// Time range for trend operations
const timeRangeField = {
displayName: 'Time Range',
name: 'timeRange',
type: 'collection',
placeholder: 'Add Time Range',
default: {},
description: 'Optional timestamp range (defaults to last 3 hours)',
options: [
{
displayName: 'Start Time',
name: 'startTime',
type: 'dateTime',
default: '',
description: 'Start time for data retrieval (ISO 8601 format)',
},
{
displayName: 'End Time',
name: 'endTime',
type: 'dateTime',
default: '',
description: 'End time for data retrieval (ISO 8601 format)',
},
],
};
exports.gatewayFields = [
// Serial Number field - required for most operations
{
displayName: 'Serial Number',
name: 'serialNumber',
type: 'string',
default: '',
required: true,
description: 'Gateway serial number',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: [
'getGatewayDetails',
'getGatewayVlanDetail',
'getGatewayTunnelDetail',
'listGatewayWiredInterfaces',
'listGatewayVlans',
'listGatewayLanTunnels',
'listGatewayWanInterfaces',
'getGatewayCpuUtilizationTrend',
'getGatewayMemoryUtilizationTrend',
'getGatewayLanTunnelThroughputTrend',
'getGatewayLanTunnelStatusTrend',
'getGatewayInterfaceThroughputTrend',
'getGatewayTunnelHealthSummary',
'getGatewayWanAvailabilityTrend',
'getGatewayVpnAvailabilityTrend',
'getGatewayPortFramesTrend',
'getGatewayPortFramesErrorsTrend',
'getGatewayPortFramesPacketsTrend',
'getGatewayTunnelDroppedPacketsTrend',
'listGatewayWanTunnels',
'getGatewayWanTunnelDetail',
'getGatewayWanTunnelHealthSummary',
'getGatewayUplinkDetails',
'getGatewayUplinkThroughputTrend',
'getGatewayWanCompressionTrends',
'listGatewayUplinkProbes',
'listGatewayUplinkPerformanceTrends',
'getGatewayUplinkModemStats',
'getGatewayUplinkWanAvailabilityTrends',
'getGatewayUplinkVpnAvailabilityTrends',
'getClusterMemberCapacityTrend',
],
},
},
},
// Site ID field - for Gateway Details and Tunnel Detail operations (required for filter)
{
displayName: 'Site ID',
name: 'siteId',
type: 'string',
default: '',
required: true,
description: 'Site ID to filter gateway details (required by API)',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: [
'getGatewayDetails',
'getGatewayTunnelDetail',
'getGatewayTunnelHealthSummary',
'getGatewayWanTunnelDetail',
],
},
},
},
// Cluster Name field - for cluster operations
{
displayName: 'Cluster Name',
name: 'clusterName',
type: 'string',
default: '',
required: true,
description: 'Gateway cluster name',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: [
'getClusterLeaderDetails',
'getClusterVlanMismatchSummary',
'getClusterConnectivityGraph',
'listClusterMembers',
'listClusterTunnels',
'getClusterCapacityTrend',
'getClusterMemberCapacityTrend',
'getClusterTunnelHealthSummary',
'getClusterTunnelStatusSummary',
],
},
},
},
// VLAN ID field - for VLAN detail operation
{
displayName: 'VLAN ID',
name: 'vlanId',
type: 'string',
default: '',
required: true,
description: 'VLAN ID to retrieve details for',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: ['getGatewayVlanDetail'],
},
},
},
// Tunnel Name field - for tunnel operations
{
displayName: 'Tunnel Name',
name: 'tunnelName',
type: 'string',
default: '',
required: true,
description: 'Tunnel name to retrieve details for',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: [
'getGatewayTunnelDetail',
'getGatewayLanTunnelThroughputTrend',
'getGatewayLanTunnelStatusTrend',
'getGatewayTunnelDroppedPacketsTrend',
'getGatewayWanTunnelDetail',
],
},
},
},
// Link Tag field - for uplink operations
{
displayName: 'Link Tag',
name: 'linkTag',
type: 'string',
default: '',
required: true,
description: 'WAN interface link tag',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: [
'listGatewayUplinkProbes',
'getGatewayUplinkThroughputTrend',
'getGatewayWanCompressionTrends',
'getGatewayUplinkWanAvailabilityTrends',
'getGatewayUplinkDetails',
],
},
},
},
// Port Number field - for interface operations
{
displayName: 'Port Number',
name: 'portNumber',
type: 'string',
default: '',
required: true,
description: 'Gateway port number for interface operations',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: [
'getGatewayInterfaceThroughputTrend',
'getGatewayPortFramesTrend',
'getGatewayPortFramesErrorsTrend',
'getGatewayPortFramesPacketsTrend',
],
},
},
},
// Probe ID field - for specific probe performance trends
{
displayName: 'Probe ID',
name: 'probeId',
type: 'string',
default: '',
description: 'Specific probe ID for performance trends',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: ['listGatewayUplinkPerformanceTrends'],
},
},
},
// VLAN ID field - for VPN uplink availability trends
{
displayName: 'VLAN ID',
name: 'uplinkVlanId',
type: 'string',
default: '',
required: true,
description: 'VLAN ID of the uplink for VPN availability trends',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: ['getGatewayUplinkVpnAvailabilityTrends'],
},
},
},
// Site ID field - for uplink details operation (site-id query parameter)
{
displayName: 'Site ID',
name: 'uplinkSiteId',
type: 'string',
default: '',
required: true,
description: 'Site ID for gateway uplink details (required by API)',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: ['getGatewayUplinkDetails'],
},
},
},
// Pagination fields for list operations
...paginationFields.map((field) => {
var _a;
return ({
...field,
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: ['listGateways'],
...(((_a = field.displayOptions) === null || _a === void 0 ? void 0 : _a.show) || {}),
},
},
});
}),
// Time Range field for trend operations
{
...timeRangeField,
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: [
'getGatewayCpuUtilizationTrend',
'getGatewayMemoryUtilizationTrend',
'getGatewayLanTunnelThroughputTrend',
'getGatewayLanTunnelStatusTrend',
'getClusterCapacityTrend',
'getClusterMemberCapacityTrend',
'getGatewayInterfaceThroughputTrend',
'getGatewayWanAvailabilityTrend',
'getGatewayVpnAvailabilityTrend',
'getGatewayPortFramesTrend',
'getGatewayPortFramesErrorsTrend',
'getGatewayPortFramesPacketsTrend',
'getGatewayTunnelDroppedPacketsTrend',
'getGatewayUplinkThroughputTrend',
'getGatewayWanCompressionTrends',
'listGatewayUplinkProbes',
'listGatewayUplinkPerformanceTrends',
'getGatewayUplinkWanAvailabilityTrends',
'getGatewayUplinkVpnAvailabilityTrends',
],
},
},
},
// Filters for listGateways operation
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['gateways'],
operation: ['listGateways'],
},
},
options: [
{
displayName: 'Filters',
name: 'filters',
type: 'collection',
placeholder: 'Add Filter',
default: {},
options: [
{
displayName: 'Site ID',
name: 'siteId',
type: 'string',
default: '',
description: 'Filter gateways by site ID',
},
{
displayName: 'Model',
name: 'model',
type: 'string',
default: '',
description: 'Filter by gateway model',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
options: [
{ name: 'Online', value: 'ONLINE' },
{ name: 'Offline', value: 'OFFLINE' },
{ name: 'Unknown', value: 'UNKNOWN' },
],
default: '',
description: 'Filter by gateway status',
},
{
displayName: 'Deployment',
name: 'deployment',
type: 'options',
options: [
{ name: 'Campus', value: 'CAMPUS' },
{ name: 'Branch', value: 'BRANCH' },
],
default: '',
description: 'Filter by deployment type',
},
],
},
{
displayName: 'Sort Options',
name: 'sortOptions',
type: 'string',
default: '',
placeholder: 'siteId asc, status desc',
description: 'Comma-separated list of fields to sort by (append "asc" or "desc" for direction)',
},
],
},
];