UNPKG

n8n-nodes-netbox

Version:

n8n community node for NetBox API integration with comprehensive DCIM, IPAM, Virtualization, Circuits, Wireless, and data center management operations

386 lines (385 loc) 11.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.aggregateFields = exports.aggregateOperations = void 0; const baseProperties_1 = require("../baseProperties"); // Aggregate Operations exports.aggregateOperations = { ...baseProperties_1.baseProperties, displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], }, }, options: [ { name: 'List', value: 'list', description: 'Get all aggregates', action: 'List all aggregates', }, { name: 'Get', value: 'get', description: 'Get a specific aggregate by ID or prefix', action: 'Get an aggregate', }, { name: 'Create', value: 'create', description: 'Create a new aggregate', action: 'Create an aggregate', }, { name: 'Update', value: 'update', description: 'Update an existing aggregate', action: 'Update an aggregate', }, { name: 'Delete', value: 'delete', description: 'Delete an aggregate', action: 'Delete an aggregate', }, ], default: 'list', }; // Aggregate Fields exports.aggregateFields = [ // List operation fields { ...baseProperties_1.returnAllOption, displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], operation: ['list'], }, }, }, { ...baseProperties_1.limitOption, displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], operation: ['list'], returnAll: [false], }, }, }, { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], operation: ['list'], }, }, options: [ { displayName: 'Prefix', name: 'prefix', type: 'string', default: '', description: 'Filter by aggregate prefix (CIDR)', }, { displayName: 'Prefix (Contains)', name: 'prefix__ic', type: 'string', default: '', description: 'Filter by prefixes containing this value', }, { displayName: 'Family', name: 'family', type: 'options', options: [ { name: 'IPv4', value: '4', }, { name: 'IPv6', value: '6', }, ], default: '', description: 'Filter by IP family', }, { displayName: 'RIR', name: 'rir', type: 'string', default: '', description: 'Filter by RIR name or slug (comma-separated for multiple)', }, { displayName: 'RIR ID', name: 'rir_id', type: 'string', default: '', description: 'Filter by RIR ID (comma-separated for multiple)', }, { displayName: 'Date Added', name: 'date_added', type: 'string', default: '', description: 'Filter by date added (YYYY-MM-DD)', }, { displayName: 'Date Added Before', name: 'date_added__lt', type: 'string', default: '', description: 'Filter by date added before this date (YYYY-MM-DD)', }, { displayName: 'Date Added After', name: 'date_added__gt', type: 'string', default: '', description: 'Filter by date added after this date (YYYY-MM-DD)', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Filter by tenant name or slug (comma-separated for multiple)', }, { displayName: 'Tenant ID', name: 'tenant_id', type: 'string', default: '', description: 'Filter by tenant ID (comma-separated for multiple)', }, { displayName: 'Search Query', name: 'q', type: 'string', default: '', description: 'Search for aggregates matching this query', }, { displayName: 'Tag', name: 'tag', type: 'string', default: '', description: 'Filter by tag (comma-separated for multiple)', }, { displayName: 'Ordering', name: 'ordering', type: 'options', options: [ { name: 'Prefix', value: 'prefix', }, { name: 'Prefix (Descending)', value: '-prefix', }, { name: 'RIR', value: 'rir', }, { name: 'Date Added', value: 'date_added', }, { name: 'Date Added (Descending)', value: '-date_added', }, { name: 'Family', value: 'family', }, ], default: 'prefix', description: 'Order of the results', }, ], }, // Get operation fields { displayName: 'Aggregate ID or Prefix', name: 'aggregateId', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], operation: ['get', 'update', 'delete'], }, }, description: 'ID of the aggregate or prefix (e.g., 10.0.0.0/8)', }, // Create operation fields { displayName: 'Prefix', name: 'prefix', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], operation: ['create'], }, }, description: 'IPv4 or IPv6 network with mask (e.g., 10.0.0.0/8)', }, { displayName: 'RIR', name: 'rir', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], operation: ['create'], }, }, description: 'Regional Internet Registry ID, name, or slug', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], operation: ['create'], }, }, options: [ { displayName: 'Date Added', name: 'date_added', type: 'dateTime', default: '', description: 'Date this aggregate was added', }, { displayName: 'Description', name: 'aggregateDescription', type: 'string', default: '', description: 'Description of the aggregate', noDataExpression: false, }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Tenant ID, name, or slug', }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tag names or IDs', }, { displayName: 'Custom Fields', name: 'custom_fields', type: 'json', default: '{}', description: 'Custom fields as JSON object', }, ], }, // Update operation fields { displayName: 'Update Fields', name: 'updateFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['ipam'], resource: ['aggregates'], operation: ['update'], }, }, options: [ { displayName: 'Prefix', name: 'prefix', type: 'string', default: '', description: 'IPv4 or IPv6 network with mask (e.g., 10.0.0.0/8)', }, { displayName: 'RIR', name: 'rir', type: 'string', default: '', description: 'Regional Internet Registry ID, name, or slug', }, { displayName: 'Date Added', name: 'date_added', type: 'dateTime', default: '', description: 'Date this aggregate was added', }, { displayName: 'Description', name: 'aggregateDescription', type: 'string', default: '', description: 'Description of the aggregate', noDataExpression: false, }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Tenant ID, name, or slug', }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tag names or IDs', }, { displayName: 'Custom Fields', name: 'custom_fields', type: 'json', default: '{}', description: 'Custom fields as JSON object', }, ], }, ];