n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
327 lines (326 loc) • 9.62 kB
JavaScript
;
// descriptions/networkServices/networkServices.descriptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.networkServicesFields = exports.qosOperations = exports.dhcpOperations = void 0;
/**
* Network Services Domain Descriptions
* Manage DHCP and QoS profiles via the New Central Config API
* API Reference: https://developer.arubanetworks.com/new-central-config/reference
*/
// ============================================================================
// DHCP Operations
// ============================================================================
exports.dhcpOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['networkServices'],
resource: ['dhcp'],
},
},
options: [
{
name: 'Get All DHCP Profiles',
value: 'getAllDHCP',
description: 'Retrieve all DHCP profiles',
action: 'Get all DHCP profiles',
},
{
name: 'Get DHCP Profile',
value: 'getDHCP',
description: 'Get a specific DHCP profile by name',
action: 'Get DHCP profile',
},
{
name: 'Create DHCP Profile',
value: 'createDHCP',
description: 'Create a new DHCP profile',
action: 'Create DHCP profile',
},
{
name: 'Update DHCP Profile',
value: 'updateDHCP',
description: 'Update an existing DHCP profile',
action: 'Update DHCP profile',
},
{
name: 'Delete DHCP Profile',
value: 'deleteDHCP',
description: 'Delete a DHCP profile',
action: 'Delete DHCP profile',
},
],
default: 'getAllDHCP',
};
// ============================================================================
// QoS Operations
// ============================================================================
exports.qosOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['networkServices'],
resource: ['qos'],
},
},
options: [
{
name: 'Get All QoS Profiles',
value: 'getAllQoS',
description: 'Retrieve all QoS profiles',
action: 'Get all QoS profiles',
},
{
name: 'Get QoS Profile',
value: 'getQoS',
description: 'Get a specific QoS profile by name',
action: 'Get QoS profile',
},
{
name: 'Create QoS Profile',
value: 'createQoS',
description: 'Create a new QoS profile',
action: 'Create QoS profile',
},
{
name: 'Update QoS Profile',
value: 'updateQoS',
description: 'Update an existing QoS profile',
action: 'Update QoS profile',
},
{
name: 'Delete QoS Profile',
value: 'deleteQoS',
description: 'Delete a QoS profile',
action: 'Delete QoS profile',
},
],
default: 'getAllQoS',
};
// ============================================================================
// DHCP Fields
// ============================================================================
const dhcpProfileNameField = {
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
description: 'Name of the DHCP profile',
displayOptions: {
show: {
domain: ['networkServices'],
resource: ['dhcp'],
operation: ['getDHCP', 'createDHCP', 'updateDHCP', 'deleteDHCP'],
},
},
};
const dhcpProfileBodyField = {
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
description: 'JSON configuration body for the DHCP profile',
displayOptions: {
show: {
domain: ['networkServices'],
resource: ['dhcp'],
operation: ['createDHCP', 'updateDHCP'],
},
},
};
const dhcpAdditionalFields = {
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['networkServices'],
resource: ['dhcp'],
operation: ['getAllDHCP'],
},
},
options: [
{
displayName: 'View Type',
name: 'viewType',
type: 'string',
default: '',
description: 'View type filter for the request',
},
{
displayName: 'Object Type',
name: 'objectType',
type: 'string',
default: '',
description: 'Object type filter for the request',
},
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
default: '',
description: 'Scope ID to filter results',
},
{
displayName: 'Persona',
name: 'persona',
type: 'string',
default: '',
description: 'Persona filter for the request',
},
{
displayName: 'Effective',
name: 'effective',
type: 'boolean',
default: false,
description: 'Whether to return effective configuration',
},
{
displayName: 'Detailed',
name: 'detailed',
type: 'boolean',
default: false,
description: 'Whether to return detailed configuration',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 100,
description: 'Maximum number of results to return',
},
{
displayName: 'Offset',
name: 'offset',
type: 'number',
default: 0,
description: 'Number of results to skip for pagination',
},
],
};
// ============================================================================
// QoS Fields
// ============================================================================
const qosProfileNameField = {
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
description: 'Name of the QoS profile',
displayOptions: {
show: {
domain: ['networkServices'],
resource: ['qos'],
operation: ['getQoS', 'createQoS', 'updateQoS', 'deleteQoS'],
},
},
};
const qosProfileBodyField = {
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
description: 'JSON configuration body for the QoS profile',
displayOptions: {
show: {
domain: ['networkServices'],
resource: ['qos'],
operation: ['createQoS', 'updateQoS'],
},
},
};
const qosAdditionalFields = {
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['networkServices'],
resource: ['qos'],
operation: ['getAllQoS'],
},
},
options: [
{
displayName: 'View Type',
name: 'viewType',
type: 'string',
default: '',
description: 'View type filter for the request',
},
{
displayName: 'Object Type',
name: 'objectType',
type: 'string',
default: '',
description: 'Object type filter for the request',
},
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
default: '',
description: 'Scope ID to filter results',
},
{
displayName: 'Persona',
name: 'persona',
type: 'string',
default: '',
description: 'Persona filter for the request',
},
{
displayName: 'Effective',
name: 'effective',
type: 'boolean',
default: false,
description: 'Whether to return effective configuration',
},
{
displayName: 'Detailed',
name: 'detailed',
type: 'boolean',
default: false,
description: 'Whether to return detailed configuration',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 100,
description: 'Maximum number of results to return',
},
{
displayName: 'Offset',
name: 'offset',
type: 'number',
default: 0,
description: 'Number of results to skip for pagination',
},
],
};
// ============================================================================
// Export all fields
// ============================================================================
exports.networkServicesFields = [
// DHCP fields
dhcpProfileNameField,
dhcpProfileBodyField,
dhcpAdditionalFields,
// QoS fields
qosProfileNameField,
qosProfileBodyField,
qosAdditionalFields,
];