n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
432 lines (431 loc) • 14.9 kB
JavaScript
"use strict";
// descriptions/routing/routing.descriptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.routingFields = exports.vrfOperations = exports.bgpOperations = exports.ospfv2Operations = exports.staticRouteOperations = void 0;
/**
* Routing Domain Operations
* Covers: Static Routes, OSPFv2, BGP, VRF
* API Reference: https://developer.arubanetworks.com/new-central-config/reference
* Base Path: /network-config/v1alpha1/
*/
// ============================================================================
// Static Route Operations
// ============================================================================
exports.staticRouteOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['routing'],
resource: ['staticRoute'],
},
},
options: [
{
name: 'Get All Static Routes',
value: 'getAllStaticRoute',
description: 'Retrieve all static route profiles',
action: 'Get all static routes',
},
{
name: 'Get Static Route',
value: 'getStaticRoute',
description: 'Get a specific static route profile by name',
action: 'Get static route',
},
{
name: 'Create Static Route',
value: 'createStaticRoute',
description: 'Create a new static route profile',
action: 'Create static route',
},
{
name: 'Update Static Route',
value: 'updateStaticRoute',
description: 'Update an existing static route profile',
action: 'Update static route',
},
{
name: 'Delete Static Route',
value: 'deleteStaticRoute',
description: 'Delete a static route profile',
action: 'Delete static route',
},
],
default: 'getAllStaticRoute',
};
// ============================================================================
// OSPFv2 Operations
// ============================================================================
exports.ospfv2Operations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['routing'],
resource: ['ospfv2'],
},
},
options: [
{
name: 'Get All OSPFv2',
value: 'getAllOSPFv2',
description: 'Retrieve all OSPFv2 profiles',
action: 'Get all OSPFv2 profiles',
},
{
name: 'Get OSPFv2',
value: 'getOSPFv2',
description: 'Get a specific OSPFv2 profile by name',
action: 'Get OSPFv2 profile',
},
{
name: 'Create OSPFv2',
value: 'createOSPFv2',
description: 'Create a new OSPFv2 profile',
action: 'Create OSPFv2 profile',
},
{
name: 'Update OSPFv2',
value: 'updateOSPFv2',
description: 'Update an existing OSPFv2 profile',
action: 'Update OSPFv2 profile',
},
{
name: 'Delete OSPFv2',
value: 'deleteOSPFv2',
description: 'Delete an OSPFv2 profile',
action: 'Delete OSPFv2 profile',
},
],
default: 'getAllOSPFv2',
};
// ============================================================================
// BGP Operations
// ============================================================================
exports.bgpOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['routing'],
resource: ['bgp'],
},
},
options: [
{
name: 'Get All BGP',
value: 'getAllBGP',
description: 'Retrieve all BGP profiles',
action: 'Get all BGP profiles',
},
{
name: 'Get BGP',
value: 'getBGP',
description: 'Get a specific BGP profile by name',
action: 'Get BGP profile',
},
{
name: 'Create BGP',
value: 'createBGP',
description: 'Create a new BGP profile',
action: 'Create BGP profile',
},
{
name: 'Update BGP',
value: 'updateBGP',
description: 'Update an existing BGP profile',
action: 'Update BGP profile',
},
{
name: 'Delete BGP',
value: 'deleteBGP',
description: 'Delete a BGP profile',
action: 'Delete BGP profile',
},
],
default: 'getAllBGP',
};
// ============================================================================
// VRF Operations
// ============================================================================
exports.vrfOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['routing'],
resource: ['vrf'],
},
},
options: [
{
name: 'Get All VRF',
value: 'getAllVRF',
description: 'Retrieve all VRF profiles',
action: 'Get all VRF profiles',
},
{
name: 'Get VRF',
value: 'getVRF',
description: 'Get a specific VRF profile by name',
action: 'Get VRF profile',
},
{
name: 'Create VRF',
value: 'createVRF',
description: 'Create a new VRF profile',
action: 'Create VRF profile',
},
{
name: 'Update VRF',
value: 'updateVRF',
description: 'Update an existing VRF profile',
action: 'Update VRF profile',
},
{
name: 'Delete VRF',
value: 'deleteVRF',
description: 'Delete a VRF profile',
action: 'Delete VRF profile',
},
],
default: 'getAllVRF',
};
// ============================================================================
// Routing Fields (all 4 resources)
// ============================================================================
exports.routingFields = [
// --------------------------------------------------------------------------
// Static Route Fields
// --------------------------------------------------------------------------
{
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
domain: ['routing'],
resource: ['staticRoute'],
operation: ['getStaticRoute', 'updateStaticRoute', 'deleteStaticRoute'],
},
},
description: 'Name of the static route profile',
},
{
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
displayOptions: {
show: {
domain: ['routing'],
resource: ['staticRoute'],
operation: ['createStaticRoute', 'updateStaticRoute'],
},
},
description: 'JSON configuration body for the static route profile',
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['routing'],
resource: ['staticRoute'],
operation: ['getAllStaticRoute'],
},
},
options: [
{ displayName: 'View Type', name: 'viewType', type: 'string', default: '' },
{ displayName: 'Object Type', name: 'objectType', type: 'string', default: '' },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
{ displayName: 'Effective', name: 'effective', type: 'boolean', default: false },
{ displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false },
{ displayName: 'Limit', name: 'limit', type: 'number', default: 100 },
{ displayName: 'Offset', name: 'offset', type: 'number', default: 0 },
],
},
// --------------------------------------------------------------------------
// OSPFv2 Fields
// --------------------------------------------------------------------------
{
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
domain: ['routing'],
resource: ['ospfv2'],
operation: ['getOSPFv2', 'updateOSPFv2', 'deleteOSPFv2'],
},
},
description: 'Name of the OSPFv2 profile',
},
{
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
displayOptions: {
show: {
domain: ['routing'],
resource: ['ospfv2'],
operation: ['createOSPFv2', 'updateOSPFv2'],
},
},
description: 'JSON configuration body for the OSPFv2 profile',
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['routing'],
resource: ['ospfv2'],
operation: ['getAllOSPFv2'],
},
},
options: [
{ displayName: 'View Type', name: 'viewType', type: 'string', default: '' },
{ displayName: 'Object Type', name: 'objectType', type: 'string', default: '' },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
{ displayName: 'Effective', name: 'effective', type: 'boolean', default: false },
{ displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false },
{ displayName: 'Limit', name: 'limit', type: 'number', default: 100 },
{ displayName: 'Offset', name: 'offset', type: 'number', default: 0 },
],
},
// --------------------------------------------------------------------------
// BGP Fields
// --------------------------------------------------------------------------
{
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
domain: ['routing'],
resource: ['bgp'],
operation: ['getBGP', 'updateBGP', 'deleteBGP'],
},
},
description: 'Name of the BGP profile',
},
{
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
displayOptions: {
show: {
domain: ['routing'],
resource: ['bgp'],
operation: ['createBGP', 'updateBGP'],
},
},
description: 'JSON configuration body for the BGP profile',
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['routing'],
resource: ['bgp'],
operation: ['getAllBGP'],
},
},
options: [
{ displayName: 'View Type', name: 'viewType', type: 'string', default: '' },
{ displayName: 'Object Type', name: 'objectType', type: 'string', default: '' },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
{ displayName: 'Effective', name: 'effective', type: 'boolean', default: false },
{ displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false },
{ displayName: 'Limit', name: 'limit', type: 'number', default: 100 },
{ displayName: 'Offset', name: 'offset', type: 'number', default: 0 },
],
},
// --------------------------------------------------------------------------
// VRF Fields
// --------------------------------------------------------------------------
{
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
domain: ['routing'],
resource: ['vrf'],
operation: ['getVRF', 'updateVRF', 'deleteVRF'],
},
},
description: 'Name of the VRF profile',
},
{
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
displayOptions: {
show: {
domain: ['routing'],
resource: ['vrf'],
operation: ['createVRF', 'updateVRF'],
},
},
description: 'JSON configuration body for the VRF profile',
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['routing'],
resource: ['vrf'],
operation: ['getAllVRF'],
},
},
options: [
{ displayName: 'View Type', name: 'viewType', type: 'string', default: '' },
{ displayName: 'Object Type', name: 'objectType', type: 'string', default: '' },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
{ displayName: 'Effective', name: 'effective', type: 'boolean', default: false },
{ displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false },
{ displayName: 'Limit', name: 'limit', type: 'number', default: 100 },
{ displayName: 'Offset', name: 'offset', type: 'number', default: 0 },
],
},
];