UNPKG

n8n-nodes-netbox

Version:

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

394 lines (393 loc) 10.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.l2vpnsFields = exports.l2vpnFiltersField = exports.l2vpnLimitField = exports.l2vpnReturnAllField = exports.l2vpnUpdateFields = exports.l2vpnAdditionalFields = exports.l2vpnTypeField = exports.l2vpnIdentifierField = exports.l2vpnNameField = exports.l2vpnIdField = exports.l2vpnsOperations = void 0; const baseProperties_1 = require("../baseProperties"); exports.l2vpnsOperations = { ...baseProperties_1.baseProperties, displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], }, }, options: [ { name: 'List', value: 'list', description: 'Get all L2VPNs', action: 'List all L2VPNs', }, { name: 'Get', value: 'get', description: 'Get an L2VPN by ID', action: 'Get an L2VPN', }, { name: 'Create', value: 'create', description: 'Create a new L2VPN', action: 'Create an L2VPN', }, { name: 'Update', value: 'update', description: 'Update an L2VPN', action: 'Update an L2VPN', }, { name: 'Delete', value: 'delete', description: 'Delete an L2VPN', action: 'Delete an L2VPN', }, ], default: 'list', }; // ID field for get, update, and delete operations exports.l2vpnIdField = { displayName: 'L2VPN ID', name: 'l2vpnId', type: 'string', required: true, displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['get', 'update', 'delete'], }, }, default: '', description: 'The ID of the L2VPN', noDataExpression: false, }; // Name field for create operation exports.l2vpnNameField = { displayName: 'Name', name: 'l2vpnName', type: 'string', required: true, displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['create'], }, }, default: '', description: 'Name of the L2VPN', noDataExpression: false, }; // Identifier field for create operation exports.l2vpnIdentifierField = { displayName: 'Identifier', name: 'identifier', type: 'number', required: true, displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['create'], }, }, default: 1, description: 'L2VPN identifier (VPN ID)', noDataExpression: false, }; // Type field for create operation exports.l2vpnTypeField = { displayName: 'Type', name: 'type', type: 'options', required: true, displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['create'], }, }, options: [ { name: 'VPWS (Virtual Private Wire Service)', value: 'vpws', }, { name: 'VPLS (Virtual Private LAN Service)', value: 'vpls', }, ], default: 'vpws', description: 'L2VPN type', noDataExpression: false, }; // Additional fields for create operation exports.l2vpnAdditionalFields = { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['create'], }, }, options: [ { displayName: 'Import Targets', name: 'import_targets', type: 'string', default: '', description: 'Comma-separated list of route target names or IDs for import', }, { displayName: 'Export Targets', name: 'export_targets', type: 'string', default: '', description: 'Comma-separated list of route target names or IDs for export', }, { displayName: 'Description', name: 'l2vpnDescription', type: 'string', default: '', description: 'Description of the L2VPN', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', description: 'Comments for the L2VPN', }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tag names or IDs', }, { displayName: 'Custom Fields', name: 'custom_fields', type: 'string', default: '', description: 'Custom fields as JSON object', }, ], }; // Update fields for update operation exports.l2vpnUpdateFields = { displayName: 'Update Fields', name: 'updateFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['update'], }, }, options: [ { displayName: 'Name', name: 'l2vpnName', type: 'string', default: '', description: 'Name of the L2VPN', }, { displayName: 'Identifier', name: 'identifier', type: 'number', default: 1, description: 'L2VPN identifier (VPN ID)', }, { displayName: 'Type', name: 'type', type: 'options', options: [ { name: 'VPWS (Virtual Private Wire Service)', value: 'vpws', }, { name: 'VPLS (Virtual Private LAN Service)', value: 'vpls', }, ], default: 'vpws', description: 'L2VPN type', }, { displayName: 'Import Targets', name: 'import_targets', type: 'string', default: '', description: 'Comma-separated list of route target names or IDs for import', }, { displayName: 'Export Targets', name: 'export_targets', type: 'string', default: '', description: 'Comma-separated list of route target names or IDs for export', }, { displayName: 'Description', name: 'l2vpnDescription', type: 'string', default: '', description: 'Description of the L2VPN', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', description: 'Comments for the L2VPN', }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tag names or IDs', }, { displayName: 'Custom Fields', name: 'custom_fields', type: 'string', default: '', description: 'Custom fields as JSON object', }, ], }; // Return All field for list operation exports.l2vpnReturnAllField = { displayName: 'Return All', name: 'returnAll', type: 'boolean', displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['list'], }, }, default: false, description: 'Whether to return all results or only up to the limit', noDataExpression: false, }; // Limit field for list operation exports.l2vpnLimitField = { displayName: 'Limit', name: 'limit', type: 'number', displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['list'], returnAll: [false], }, }, typeOptions: { minValue: 1, }, default: 50, description: 'Max number of results to return', noDataExpression: false, }; // Filters for list operation exports.l2vpnFiltersField = { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['vpn'], resource: ['l2vpns'], operation: ['list'], }, }, options: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by name', }, { displayName: 'Identifier', name: 'identifier', type: 'number', default: '', description: 'Filter by identifier', }, { displayName: 'Type', name: 'type', type: 'options', options: [ { name: 'VPWS (Virtual Private Wire Service)', value: 'vpws', }, { name: 'VPLS (Virtual Private LAN Service)', value: 'vpls', }, ], default: '', description: 'Filter by L2VPN type', }, { displayName: 'Tag', name: 'tag', type: 'string', default: '', description: 'Filter by tag name', }, { displayName: 'Created', name: 'created', type: 'dateTime', default: '', description: 'Filter by creation date', }, { displayName: 'Last Updated', name: 'last_updated', type: 'dateTime', default: '', description: 'Filter by last update date', }, ], }; exports.l2vpnsFields = [ exports.l2vpnIdField, exports.l2vpnNameField, exports.l2vpnIdentifierField, exports.l2vpnTypeField, exports.l2vpnAdditionalFields, exports.l2vpnUpdateFields, exports.l2vpnReturnAllField, exports.l2vpnLimitField, exports.l2vpnFiltersField, ];