n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
414 lines (413 loc) • 12.7 kB
JavaScript
"use strict";
// descriptions/configuration/apProfiles.descriptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.apProfileFields = exports.apProfileOperations = void 0;
/**
* AP System Profile Configuration Operations
* Manage AP system profiles in Aruba Central
* API Reference: https://developer.arubanetworks.com/new-central-config/reference
*/
exports.apProfileOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
},
},
options: [
{
name: 'Get All AP Profiles',
value: 'getAllAPProfiles',
description: 'Retrieve all AP system profiles',
action: 'Get all AP profiles',
},
{
name: 'Create AP Profile',
value: 'createAPProfile',
description: 'Create a new AP system profile',
action: 'Create AP profile',
},
{
name: 'Update AP Profile',
value: 'updateAPProfile',
description: 'Update an existing AP system profile',
action: 'Update AP profile',
},
{
name: 'Delete AP Profile',
value: 'deleteAPProfile',
description: 'Delete an AP system profile',
action: 'Delete AP profile',
},
],
default: 'getAllAPProfiles',
};
// ============================================================================
// Get All AP Profiles Fields
// ============================================================================
const getAllAPProfilesFields = [
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['getAllAPProfiles'],
},
},
options: [
{
displayName: 'Group Name',
name: 'groupName',
type: 'string',
default: '',
description: 'Filter profiles by group name',
},
],
},
];
// ============================================================================
// Create AP Profile Fields
// ============================================================================
const createAPProfileFields = [
{
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
description: 'Name of the AP system profile',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['createAPProfile'],
},
},
},
{
displayName: 'Group Name',
name: 'groupName',
type: 'string',
required: true,
default: '',
description: 'Name of the group this profile belongs to',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['createAPProfile'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['createAPProfile'],
},
},
options: [
{
displayName: 'Management VLAN',
name: 'enetMgmtVlan',
type: 'number',
default: 1,
description: 'Ethernet management VLAN ID',
typeOptions: {
minValue: 1,
maxValue: 4094,
},
},
{
displayName: 'DNS Server',
name: 'dnsServer',
type: 'string',
default: '',
description: 'DNS server IP address',
placeholder: '8.8.8.8',
},
{
displayName: 'NTP Server',
name: 'ntpServer',
type: 'string',
default: '',
description: 'NTP server address',
placeholder: 'pool.ntp.org',
},
{
displayName: 'Timezone',
name: 'timezone',
type: 'string',
default: '',
description: 'Timezone for the AP',
placeholder: 'America/New_York',
},
{
displayName: 'SSH State',
name: 'sshState',
type: 'options',
options: [
{
name: 'Enabled',
value: 'enabled',
},
{
name: 'Disabled',
value: 'disabled',
},
],
default: 'enabled',
description: 'SSH access state',
},
{
displayName: 'Telnet State',
name: 'telnetState',
type: 'options',
options: [
{
name: 'Enabled',
value: 'enabled',
},
{
name: 'Disabled',
value: 'disabled',
},
],
default: 'disabled',
description: 'Telnet access state',
},
{
displayName: 'USB Port State',
name: 'usbPortState',
type: 'options',
options: [
{
name: 'Enabled',
value: 'enabled',
},
{
name: 'Disabled',
value: 'disabled',
},
],
default: 'disabled',
description: 'USB port state',
},
{
displayName: 'Console Timeout',
name: 'apConsoleTimeout',
type: 'number',
default: 300,
description: 'Console timeout in seconds',
typeOptions: {
minValue: 0,
maxValue: 3600,
},
},
],
},
];
// ============================================================================
// Update AP Profile Fields
// ============================================================================
const updateAPProfileFields = [
{
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
description: 'Name of the AP system profile to update',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['updateAPProfile'],
},
},
},
{
displayName: 'Group Name',
name: 'groupName',
type: 'string',
required: true,
default: '',
description: 'Name of the group this profile belongs to',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['updateAPProfile'],
},
},
},
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['updateAPProfile'],
},
},
options: [
{
displayName: 'Management VLAN',
name: 'enetMgmtVlan',
type: 'number',
default: 1,
description: 'Ethernet management VLAN ID',
typeOptions: {
minValue: 1,
maxValue: 4094,
},
},
{
displayName: 'DNS Server',
name: 'dnsServer',
type: 'string',
default: '',
description: 'DNS server IP address',
},
{
displayName: 'NTP Server',
name: 'ntpServer',
type: 'string',
default: '',
description: 'NTP server address',
},
{
displayName: 'Timezone',
name: 'timezone',
type: 'string',
default: '',
description: 'Timezone for the AP',
},
{
displayName: 'SSH State',
name: 'sshState',
type: 'options',
options: [
{
name: 'Enabled',
value: 'enabled',
},
{
name: 'Disabled',
value: 'disabled',
},
],
default: 'enabled',
description: 'SSH access state',
},
{
displayName: 'Telnet State',
name: 'telnetState',
type: 'options',
options: [
{
name: 'Enabled',
value: 'enabled',
},
{
name: 'Disabled',
value: 'disabled',
},
],
default: 'disabled',
description: 'Telnet access state',
},
{
displayName: 'USB Port State',
name: 'usbPortState',
type: 'options',
options: [
{
name: 'Enabled',
value: 'enabled',
},
{
name: 'Disabled',
value: 'disabled',
},
],
default: 'disabled',
description: 'USB port state',
},
{
displayName: 'Console Timeout',
name: 'apConsoleTimeout',
type: 'number',
default: 300,
description: 'Console timeout in seconds',
typeOptions: {
minValue: 0,
maxValue: 3600,
},
},
],
},
];
// ============================================================================
// Delete AP Profile Fields
// ============================================================================
const deleteAPProfileFields = [
{
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
description: 'Name of the AP system profile to delete',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['deleteAPProfile'],
},
},
},
{
displayName: 'Group Name',
name: 'groupName',
type: 'string',
required: true,
default: '',
description: 'Name of the group this profile belongs to',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['profiles'],
operation: ['deleteAPProfile'],
},
},
},
];
// ============================================================================
// Export all fields
// ============================================================================
exports.apProfileFields = [
...getAllAPProfilesFields,
...createAPProfileFields,
...updateAPProfileFields,
...deleteAPProfileFields,
];