UNPKG

n8n-nodes-arubaclearpass

Version:

n8n community node for Aruba ClearPass API integration with comprehensive identity, policy, and enforcement profile management

362 lines (361 loc) 11.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.enforcementProfileProperties = exports.enforcementProfileFields = exports.enforcementProfileOperations = void 0; // Define operations for EnforcementProfile resource exports.enforcementProfileOperations = { displayName: 'Operation', name: 'operation', type: 'options', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], }, }, options: [ { name: 'Create', value: 'create', description: 'Create a new enforcement profile', action: 'Create an enforcement profile', }, { name: 'Delete', value: 'delete', description: 'Delete an enforcement profile', action: 'Delete an enforcement profile', }, { name: 'Get', value: 'get', description: 'Get an enforcement profile by ID', action: 'Get an enforcement profile', }, { name: 'Get By Name', value: 'getByName', description: 'Get an enforcement profile by name', action: 'Get an enforcement profile by name', }, { name: 'List', value: 'list', description: 'Get all enforcement profiles', action: 'List all enforcement profiles', }, { name: 'Update', value: 'update', description: 'Update an enforcement profile', action: 'Update an enforcement profile', }, { name: 'Replace', value: 'replace', description: 'Replace an enforcement profile', action: 'Replace an enforcement profile', }, { name: 'Delete By Name', value: 'deleteByName', description: 'Delete an enforcement profile by name', action: 'Delete an enforcement profile by name', }, { name: 'Update By Name', value: 'updateByName', description: 'Update an enforcement profile by name', action: 'Update an enforcement profile by name', }, { name: 'Replace By Name', value: 'replaceByName', description: 'Replace an enforcement profile by name', action: 'Replace an enforcement profile by name', }, ], default: 'list', }; // Define fields for EnforcementProfile resource exports.enforcementProfileFields = [ // Fields for ID-based operations { displayName: 'Enforcement Profile ID', name: 'enforcementProfileId', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['get', 'update', 'delete', 'replace'], }, }, description: 'The ID of the enforcement profile', }, // Fields for name-based operations { displayName: 'Name', name: 'name', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['getByName', 'deleteByName', 'updateByName', 'replaceByName'], }, }, description: 'The unique name of the enforcement profile', }, // Basic fields for create and replace operations { displayName: 'Name', name: 'name', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['create', 'replace', 'replaceByName'], }, }, description: 'Name of the enforcement profile', }, { displayName: 'Type', name: 'type', type: 'options', options: [ { name: 'RADIUS', value: 'RADIUS' }, { name: 'TACACS', value: 'TACACS' }, { name: 'SNMP', value: 'SNMP' }, { name: 'Application', value: 'Application' }, { name: 'Agent', value: 'Agent' }, { name: 'CLI', value: 'CLI' }, { name: 'HTTP', value: 'HTTP' }, { name: 'RADIUS Dynamic Authorization', value: 'RADIUS_DynAuthZ' }, { name: 'Post Authentication', value: 'Post_Authentication' }, { name: 'Aruba DUR', value: 'Aruba_DUR' }, ], required: true, default: 'RADIUS', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['create', 'replace', 'replaceByName'], }, }, description: 'Type of the enforcement profile', }, { displayName: 'Description', name: 'description', type: 'string', default: '', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['create', 'replace', 'replaceByName'], }, }, description: 'Description of the enforcement profile', }, { displayName: 'Action', name: 'action', type: 'options', options: [ { name: 'Accept', value: 'Accept' }, { name: 'Reject', value: 'Reject' }, { name: 'Drop', value: 'Drop' }, ], default: 'Accept', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['create', 'replace', 'replaceByName'], }, }, description: 'Action of the enforcement profile', }, // Complex configuration as JSON for create/replace { displayName: 'Profile Configuration', name: 'profileConfig', type: 'json', default: '{}', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['create', 'replace', 'replaceByName'], }, }, description: 'JSON configuration for the profile including attributes, device groups, and template-specific settings', placeholder: `{ "device_group_list": ["Default"], "attributes": [ { "type": "RADIUS", "name": "Filter-Id", "value": "my-filter" } ] }`, }, // Update fields { displayName: 'Update Fields', name: 'updateFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['update', 'updateByName'], }, }, options: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Name of the enforcement profile', }, { displayName: 'Description', name: 'description', type: 'string', default: '', description: 'Description of the enforcement profile', }, { displayName: 'Type', name: 'type', type: 'options', options: [ { name: 'RADIUS', value: 'RADIUS' }, { name: 'TACACS', value: 'TACACS' }, { name: 'SNMP', value: 'SNMP' }, { name: 'Application', value: 'Application' }, { name: 'Agent', value: 'Agent' }, { name: 'CLI', value: 'CLI' }, { name: 'HTTP', value: 'HTTP' }, { name: 'RADIUS Dynamic Authorization', value: 'RADIUS_DynAuthZ' }, { name: 'Post Authentication', value: 'Post_Authentication' }, { name: 'Aruba DUR', value: 'Aruba_DUR' }, ], default: 'RADIUS', description: 'Type of the enforcement profile', }, { displayName: 'Action', name: 'action', type: 'options', options: [ { name: 'Accept', value: 'Accept' }, { name: 'Reject', value: 'Reject' }, { name: 'Drop', value: 'Drop' }, ], default: 'Accept', description: 'Action of the enforcement profile', }, { displayName: 'Profile Configuration', name: 'profileConfig', type: 'json', default: '{}', description: 'JSON configuration for the profile including attributes, device groups, and template-specific settings', }, ], }, // Fields for list operation { displayName: 'Return All', name: 'returnAll', type: 'boolean', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['list'], }, }, default: false, description: 'Whether to return all results or only up to a given limit', }, { displayName: 'Limit', name: 'limit', type: 'number', displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['list'], returnAll: [false], }, }, typeOptions: { minValue: 1, maxValue: 1000, }, default: 100, description: 'Max number of results to return', }, { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['EnforcementProfile'], resource: ['EnforcementProfile'], operation: ['list'], }, }, options: [ { displayName: 'Filter', name: 'filter', type: 'string', default: '', description: 'JSON filter expression specifying the items to return', placeholder: '{"name": {"$contains": "RADIUS"}}', }, { displayName: 'Sort', name: 'sort', type: 'string', default: '+id', description: 'Sort ordering for returned items (default +id)', placeholder: '+name or -created_at', }, { displayName: 'Calculate Count', name: 'calculate_count', type: 'boolean', default: false, description: 'Whether to calculate the total item count', }, ], }, ]; // Export combined properties for use in index.ts exports.enforcementProfileProperties = [ exports.enforcementProfileOperations, ...exports.enforcementProfileFields, ];