UNPKG

n8n-nodes-netbox

Version:

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

468 lines (467 loc) 14.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.vrfFields = exports.vrfOperations = void 0; const baseProperties_1 = require("../baseProperties"); // VRF Operations exports.vrfOperations = { ...baseProperties_1.baseProperties, displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { domain: ['ipam'], resource: ['vrfs'], }, }, options: [ { name: 'List', value: 'list', description: 'Get all VRFs', action: 'List all VRFs', }, { name: 'Get', value: 'get', description: 'Get a specific VRF by ID, name, or RD', action: 'Get a VRF', }, { name: 'Create', value: 'create', description: 'Create a new VRF', action: 'Create a VRF', }, { name: 'Update', value: 'update', description: 'Update an existing VRF', action: 'Update a VRF', }, { name: 'Delete', value: 'delete', description: 'Delete a VRF', action: 'Delete a VRF', }, ], default: 'list', }; // VRF Fields exports.vrfFields = [ // List operation fields { ...baseProperties_1.returnAllOption, displayOptions: { show: { domain: ['ipam'], resource: ['vrfs'], operation: ['list'], }, }, }, { ...baseProperties_1.limitOption, displayOptions: { show: { domain: ['ipam'], resource: ['vrfs'], operation: ['list'], returnAll: [false], }, }, }, { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['ipam'], resource: ['vrfs'], operation: ['list'], }, }, options: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by VRF name', }, { displayName: 'Name (Contains)', name: 'name__ic', type: 'string', default: '', description: 'Filter by VRFs containing this name', }, { displayName: 'Name (Exact Match)', name: 'name__ie', type: 'string', default: '', description: 'Filter by exact VRF name', }, { displayName: 'Route Distinguisher (RD)', name: 'rd', type: 'string', default: '', description: 'Filter by route distinguisher', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Filter by tenant name or ID', }, { displayName: 'Tenant ID', name: 'tenant_id', type: 'string', default: '', description: 'Filter by tenant ID (comma-separated for multiple)', }, { displayName: 'Enforce Unique', name: 'enforce_unique', type: 'boolean', default: false, description: 'Filter by enforce unique space setting', }, { displayName: 'Import Target', name: 'import_target', type: 'string', default: '', description: 'Filter by import target name or ID', }, { displayName: 'Import Target ID', name: 'import_target_id', type: 'string', default: '', description: 'Filter by import target ID (comma-separated for multiple)', }, { displayName: 'Export Target', name: 'export_target', type: 'string', default: '', description: 'Filter by export target name or ID', }, { displayName: 'Export Target ID', name: 'export_target_id', type: 'string', default: '', description: 'Filter by export target ID (comma-separated for multiple)', }, { displayName: 'ID', name: 'id', type: 'string', default: '', description: 'Filter by VRF ID (comma-separated for multiple)', }, { displayName: 'Created Before', name: 'created__lt', type: 'dateTime', default: '', description: 'Filter by created date (before)', }, { displayName: 'Created After', name: 'created__gt', type: 'dateTime', default: '', description: 'Filter by created date (after)', }, { displayName: 'Last Updated Before', name: 'last_updated__lt', type: 'dateTime', default: '', description: 'Filter by last updated date (before)', }, { displayName: 'Last Updated After', name: 'last_updated__gt', type: 'dateTime', default: '', description: 'Filter by last updated date (after)', }, { displayName: 'Tag', name: 'tag', type: 'string', default: '', description: 'Filter by tag (comma-separated for multiple)', }, { displayName: 'Search Query', name: 'q', type: 'string', default: '', description: 'Search query', }, { displayName: 'Ordering', name: 'ordering', type: 'options', options: [ { name: 'Name (A-Z)', value: 'name', }, { name: 'Name (Z-A)', value: '-name', }, { name: 'RD (A-Z)', value: 'rd', }, { name: 'RD (Z-A)', value: '-rd', }, { name: 'Created (Oldest First)', value: 'created', }, { name: 'Created (Newest First)', value: '-created', }, { name: 'Last Updated (Oldest First)', value: 'last_updated', }, { name: 'Last Updated (Newest First)', value: '-last_updated', }, ], default: 'name', description: 'Order of the results', }, ], }, // Get operation fields { displayName: 'VRF ID, Name, or RD', name: 'vrfId', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['ipam'], resource: ['vrfs'], operation: ['get', 'update', 'delete'], }, }, description: 'ID of the VRF, VRF name, or route distinguisher (RD)', }, // Create operation fields { displayName: 'Name', name: 'vrfName', type: 'string', required: true, default: '', noDataExpression: false, displayOptions: { show: { domain: ['ipam'], resource: ['vrfs'], operation: ['create'], }, }, description: 'Name of the VRF', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['ipam'], resource: ['vrfs'], operation: ['create'], }, }, options: [ { displayName: 'Route Distinguisher (RD)', name: 'rd', type: 'string', default: '', description: 'Unique route distinguisher (as defined in RFC 4364). Format: ASN:NN or IP:NN', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Tenant name or ID', }, { displayName: 'Enforce Unique Space', name: 'enforce_unique', type: 'boolean', default: false, description: 'Whether to prevent duplicate prefixes/IP addresses within this VRF', }, { displayName: 'Description', name: 'vrfDescription', type: 'string', default: '', noDataExpression: false, description: 'Description of the VRF', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', typeOptions: { rows: 4, }, description: 'Comments about the VRF', }, { displayName: 'Import Targets', name: 'import_targets', type: 'string', default: '', description: 'Comma-separated list of route target IDs or names to import', }, { displayName: 'Export Targets', name: 'export_targets', type: 'string', default: '', description: 'Comma-separated list of route target IDs or names to export', }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tag IDs or tag names', }, { 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: ['vrfs'], operation: ['update'], }, }, options: [ { displayName: 'Name', name: 'vrfName', type: 'string', default: '', noDataExpression: false, description: 'Name of the VRF', }, { displayName: 'Route Distinguisher (RD)', name: 'rd', type: 'string', default: '', description: 'Unique route distinguisher (as defined in RFC 4364). Format: ASN:NN or IP:NN', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Tenant name or ID', }, { displayName: 'Enforce Unique Space', name: 'enforce_unique', type: 'boolean', default: false, description: 'Whether to prevent duplicate prefixes/IP addresses within this VRF', }, { displayName: 'Description', name: 'vrfDescription', type: 'string', default: '', noDataExpression: false, description: 'Description of the VRF', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', typeOptions: { rows: 4, }, description: 'Comments about the VRF', }, { displayName: 'Import Targets', name: 'import_targets', type: 'string', default: '', description: 'Comma-separated list of route target IDs or names to import', }, { displayName: 'Export Targets', name: 'export_targets', type: 'string', default: '', description: 'Comma-separated list of route target IDs or names to export', }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tag IDs or tag names', }, { displayName: 'Custom Fields', name: 'custom_fields', type: 'json', default: '{}', description: 'Custom fields as JSON object', }, ], }, ];