n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
483 lines (482 loc) • 14.9 kB
JavaScript
;
// descriptions/security/security.descriptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.securityFields = exports.macAuthOperations = exports.portSecurityOperations = exports.firewallOperations = void 0;
/**
* Security Domain Descriptions
* Manage Firewall, Port Security, and MAC Authentication profiles
* API Reference: https://developer.arubanetworks.com/new-central-config/reference
*/
// ============================================================================
// Firewall Operations
// ============================================================================
exports.firewallOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['security'],
resource: ['firewall'],
},
},
options: [
{
name: 'Get All Firewall Profiles',
value: 'getAllFirewall',
description: 'Retrieve all firewall profiles',
action: 'Get all firewall profiles',
},
{
name: 'Get Firewall Profile',
value: 'getFirewall',
description: 'Get a specific firewall profile by name',
action: 'Get firewall profile',
},
{
name: 'Create Firewall Profile',
value: 'createFirewall',
description: 'Create a new firewall profile',
action: 'Create firewall profile',
},
{
name: 'Update Firewall Profile',
value: 'updateFirewall',
description: 'Update an existing firewall profile',
action: 'Update firewall profile',
},
{
name: 'Delete Firewall Profile',
value: 'deleteFirewall',
description: 'Delete a firewall profile',
action: 'Delete firewall profile',
},
],
default: 'getAllFirewall',
};
// ============================================================================
// Port Security Operations
// ============================================================================
exports.portSecurityOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['security'],
resource: ['portSecurity'],
},
},
options: [
{
name: 'Get All Port Security Profiles',
value: 'getAllPortSecurity',
description: 'Retrieve all port security profiles',
action: 'Get all port security profiles',
},
{
name: 'Get Port Security Profile',
value: 'getPortSecurity',
description: 'Get a specific port security profile by name',
action: 'Get port security profile',
},
{
name: 'Create Port Security Profile',
value: 'createPortSecurity',
description: 'Create a new port security profile',
action: 'Create port security profile',
},
{
name: 'Update Port Security Profile',
value: 'updatePortSecurity',
description: 'Update an existing port security profile',
action: 'Update port security profile',
},
{
name: 'Delete Port Security Profile',
value: 'deletePortSecurity',
description: 'Delete a port security profile',
action: 'Delete port security profile',
},
],
default: 'getAllPortSecurity',
};
// ============================================================================
// MAC Authentication Operations
// ============================================================================
exports.macAuthOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['security'],
resource: ['macAuth'],
},
},
options: [
{
name: 'Get All MAC Auth Profiles',
value: 'getAllMACAuth',
description: 'Retrieve all MAC authentication profiles',
action: 'Get all MAC auth profiles',
},
{
name: 'Get MAC Auth Profile',
value: 'getMACAuth',
description: 'Get a specific MAC authentication profile by name',
action: 'Get MAC auth profile',
},
{
name: 'Create MAC Auth Profile',
value: 'createMACAuth',
description: 'Create a new MAC authentication profile',
action: 'Create MAC auth profile',
},
{
name: 'Update MAC Auth Profile',
value: 'updateMACAuth',
description: 'Update an existing MAC authentication profile',
action: 'Update MAC auth profile',
},
{
name: 'Delete MAC Auth Profile',
value: 'deleteMACAuth',
description: 'Delete a MAC authentication profile',
action: 'Delete MAC auth profile',
},
],
default: 'getAllMACAuth',
};
// ============================================================================
// Firewall Fields
// ============================================================================
const firewallProfileNameField = {
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
description: 'Name of the firewall profile',
displayOptions: {
show: {
domain: ['security'],
resource: ['firewall'],
operation: ['getFirewall', 'createFirewall', 'updateFirewall', 'deleteFirewall'],
},
},
};
const firewallProfileBodyField = {
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
description: 'JSON configuration body for the firewall profile',
displayOptions: {
show: {
domain: ['security'],
resource: ['firewall'],
operation: ['createFirewall', 'updateFirewall'],
},
},
};
const firewallAdditionalFields = {
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['security'],
resource: ['firewall'],
operation: ['getAllFirewall'],
},
},
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',
},
],
};
// ============================================================================
// Port Security Fields
// ============================================================================
const portSecurityProfileNameField = {
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
description: 'Name of the port security profile',
displayOptions: {
show: {
domain: ['security'],
resource: ['portSecurity'],
operation: ['getPortSecurity', 'createPortSecurity', 'updatePortSecurity', 'deletePortSecurity'],
},
},
};
const portSecurityProfileBodyField = {
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
description: 'JSON configuration body for the port security profile',
displayOptions: {
show: {
domain: ['security'],
resource: ['portSecurity'],
operation: ['createPortSecurity', 'updatePortSecurity'],
},
},
};
const portSecurityAdditionalFields = {
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['security'],
resource: ['portSecurity'],
operation: ['getAllPortSecurity'],
},
},
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',
},
],
};
// ============================================================================
// MAC Authentication Fields
// ============================================================================
const macAuthProfileNameField = {
displayName: 'Profile Name',
name: 'profileName',
type: 'string',
required: true,
default: '',
description: 'Name of the MAC authentication profile',
displayOptions: {
show: {
domain: ['security'],
resource: ['macAuth'],
operation: ['getMACAuth', 'createMACAuth', 'updateMACAuth', 'deleteMACAuth'],
},
},
};
const macAuthProfileBodyField = {
displayName: 'Profile Body',
name: 'profileBody',
type: 'json',
default: '{}',
description: 'JSON configuration body for the MAC authentication profile',
displayOptions: {
show: {
domain: ['security'],
resource: ['macAuth'],
operation: ['createMACAuth', 'updateMACAuth'],
},
},
};
const macAuthAdditionalFields = {
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['security'],
resource: ['macAuth'],
operation: ['getAllMACAuth'],
},
},
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.securityFields = [
// Firewall fields
firewallProfileNameField,
firewallProfileBodyField,
firewallAdditionalFields,
// Port Security fields
portSecurityProfileNameField,
portSecurityProfileBodyField,
portSecurityAdditionalFields,
// MAC Authentication fields
macAuthProfileNameField,
macAuthProfileBodyField,
macAuthAdditionalFields,
];