n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
258 lines (257 loc) • 8.02 kB
JavaScript
"use strict";
// descriptions/monitoring/clients.descriptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.clientFields = exports.clientOperations = void 0;
exports.clientOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
},
},
default: 'getAllClients',
options: [
{
name: 'Get All Clients',
value: 'getAllClients',
description: 'Get a list of all client devices',
action: 'Get all clients',
},
],
};
exports.clientFields = [
// Return all option
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 100,
description: 'Max number of results to return (max 1000)',
typeOptions: {
minValue: 1,
maxValue: 1000,
},
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
returnAll: [false],
},
},
},
// Site filters (both optional)
{
displayName: 'Site ID',
name: 'siteId',
type: 'string',
default: '',
description: 'Filter clients by site ID',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
},
},
},
{
displayName: 'Site Name',
name: 'siteName',
type: 'string',
default: '',
description: 'Filter clients by site name',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
},
},
},
// Serial Number (optional)
{
displayName: 'Serial Number',
name: 'serialNumber',
type: 'string',
default: '',
description: 'Filter by the serial number of the connected device',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
},
},
},
// Time Range — RFC 3339 format
{
displayName: 'Time Range',
name: 'timeRange',
type: 'collection',
placeholder: 'Add Time Range',
default: {},
description: 'Time range for client data (defaults to last 3 hours; interval must be ≤ 1 month)',
options: [
{
displayName: 'Start Time (RFC 3339)',
name: 'startAt',
type: 'string',
default: '',
placeholder: '2025-07-10T08:00:00.000Z',
description: 'Start timestamp in RFC 3339 format',
},
{
displayName: 'End Time (RFC 3339)',
name: 'endAt',
type: 'string',
default: '',
placeholder: '2025-07-10T11:00:00.000Z',
description: 'End timestamp in RFC 3339 format (defaults to current time)',
},
],
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
},
},
},
// OData Filters
{
displayName: 'Filters',
name: 'filters',
type: 'collection',
placeholder: 'Add Filter',
default: {},
description: 'OData v4.0 filter criteria (supports only AND conjunction)',
options: [
{
displayName: 'Connection Type',
name: 'clientConnectionType',
type: 'options',
options: [
{ name: 'Wired', value: 'Wired' },
{ name: 'Wireless', value: 'Wireless' },
],
default: '',
description: 'Filter by client connection type',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
options: [
{ name: 'Connected', value: 'Connected' },
{ name: 'Disconnected', value: 'Disconnected' },
{ name: 'Failed', value: 'Failed' },
{ name: 'Connecting', value: 'Connecting' },
{ name: 'Blocked', value: 'Blocked' },
{ name: 'Unknown', value: 'Unknown' },
],
default: '',
description: 'Filter by client status',
},
{
displayName: 'WLAN Name',
name: 'wlanName',
type: 'string',
default: '',
description: 'Filter by SSID / WLAN name',
},
{
displayName: 'VLAN ID',
name: 'vlanId',
type: 'string',
default: '',
description: 'Filter by VLAN ID',
},
{
displayName: 'Tunnel Type',
name: 'tunnelType',
type: 'options',
options: [
{ name: 'Port-based', value: 'Port-based' },
{ name: 'User-based', value: 'User-based' },
{ name: 'Overlay', value: 'Overlay' },
],
default: '',
description: 'Filter by tunnel type',
},
{
displayName: 'Role',
name: 'role',
type: 'string',
default: '',
description: 'Filter by client role',
},
],
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
},
},
},
// Sorting
{
displayName: 'Sort',
name: 'sort',
type: 'string',
default: '',
placeholder: 'clientName asc',
description: 'Sort field followed by asc or desc. Supported fields: clientName, status, clientConnectionType, macAddress, ipv4, ipv6, connectedDeviceSerial, connectedTo, lastSeenAt, port, role, wlanName, vlanId, tunnelType, tunnelId, connectedAt',
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
},
},
},
// Manual pagination cursor (only shown when not returning all)
{
displayName: 'Pagination',
name: 'pagination',
type: 'collection',
placeholder: 'Add Pagination Option',
default: {},
options: [
{
displayName: 'Next Page Cursor',
name: 'next',
type: 'string',
default: '',
description: 'Pagination cursor value returned by a previous request',
},
],
displayOptions: {
show: {
domain: ['monitoring'],
resource: ['clients'],
operation: ['getAllClients'],
returnAll: [false],
},
},
},
];