UNPKG

n8n-nodes-netbox

Version:

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

617 lines (616 loc) 18.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.vlanFields = exports.vlanOperations = void 0; const baseProperties_1 = require("../baseProperties"); // VLAN Operations exports.vlanOperations = { ...baseProperties_1.baseProperties, displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], }, }, options: [ { name: 'List', value: 'list', description: 'Get all VLANs', action: 'List all VLANs', }, { name: 'Get by ID', value: 'getById', description: 'Get a VLAN by database ID', action: 'Get a VLAN by ID', }, { name: 'Get by Name', value: 'getByName', description: 'Get a VLAN by name', action: 'Get a VLAN by name', }, { name: 'Get by VID', value: 'getByVid', description: 'Get a VLAN by VLAN ID (VID)', action: 'Get a VLAN by VID', }, { name: 'Create', value: 'create', description: 'Create a new VLAN', action: 'Create a VLAN', }, { name: 'Update', value: 'update', description: 'Update an existing VLAN', action: 'Update a VLAN', }, { name: 'Delete', value: 'delete', description: 'Delete a VLAN', action: 'Delete a VLAN', }, { name: 'Add Tag', value: 'addTag', description: 'Add a tag to a VLAN', action: 'Add a tag to a VLAN', }, { name: 'Remove Tag', value: 'removeTag', description: 'Remove a tag from a VLAN', action: 'Remove a tag from a VLAN', }, ], default: 'list', }; // VLAN Fields exports.vlanFields = [ // List operation fields { ...baseProperties_1.returnAllOption, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['list'], }, }, }, { ...baseProperties_1.limitOption, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['list'], returnAll: [false], }, }, }, { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['list'], }, }, options: [ { displayName: 'VID', name: 'vid', type: 'string', default: '', description: 'Filter by VLAN ID (comma-separated for multiple)', }, { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by VLAN name', }, { displayName: 'Name (Contains)', name: 'name__ic', type: 'string', default: '', description: 'Filter by VLAN names containing this value', }, { displayName: 'Group', name: 'group', type: 'string', default: '', description: 'Filter by VLAN group name or slug (comma-separated for multiple)', }, { displayName: 'Group ID', name: 'group_id', type: 'string', default: '', description: 'Filter by VLAN Group ID (comma-separated for multiple)', }, { displayName: 'Site ID', name: 'site_id', type: 'string', default: '', description: 'Filter by site ID (comma-separated for multiple)', }, { displayName: 'Site', name: 'site', type: 'string', default: '', description: 'Filter by site slug (comma-separated for multiple)', }, { displayName: 'Tenant ID', name: 'tenant_id', type: 'string', default: '', description: 'Filter by tenant ID (comma-separated for multiple)', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Filter by tenant slug (comma-separated for multiple)', }, { displayName: 'Role ID', name: 'role_id', type: 'string', default: '', description: 'Filter by role ID (comma-separated for multiple)', }, { displayName: 'Role', name: 'role', type: 'string', default: '', description: 'Filter by role slug (comma-separated for multiple)', }, { displayName: 'Status', name: 'status', type: 'options', options: [ { name: 'Active', value: 'active', }, { name: 'Deprecated', value: 'deprecated', }, { name: 'Reserved', value: 'reserved', }, ], default: 'active', description: 'Operational status of this VLAN', }, { displayName: 'Tag', name: 'tag', type: 'string', default: '', description: 'Filter by tag (comma-separated for multiple)', }, { displayName: 'Region ID', name: 'region_id', type: 'string', default: '', description: 'Filter by region ID (comma-separated for multiple)', }, { displayName: 'Region', name: 'region', type: 'string', default: '', description: 'Filter by region name or slug (comma-separated for multiple)', }, { displayName: 'Search Query', name: 'q', type: 'string', default: '', description: 'Search for VLANs matching this query', }, { displayName: 'Available on Device', name: 'available_on_device', type: 'string', default: '', description: 'Filter by VLANs available on device (device ID)', }, { displayName: 'Available on VM', name: 'available_on_virtualmachine', type: 'string', default: '', description: 'Filter by VLANs available on VM (VM ID)', }, { displayName: 'Ordering', name: 'ordering', type: 'options', options: [ { name: 'VID', value: 'vid', }, { name: 'VID (Descending)', value: '-vid', }, { name: 'Name', value: 'name', }, { name: 'Name (Descending)', value: '-name', }, { name: 'Status', value: 'status', }, { name: 'Group', value: 'group', }, { name: 'Site', value: 'site', }, ], default: 'vid', description: 'Order of the results', }, ], }, // Get by ID operation fields { displayName: 'VLAN ID', name: 'vlanId', type: 'number', required: true, default: 0, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['getById', 'update', 'delete'], }, }, description: 'Database ID of the VLAN', }, // Alternative ID parameter for flexibility { displayName: 'ID', name: 'id', type: 'number', default: 0, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['update'], }, }, description: 'Alternative database ID of the VLAN (used as fallback if VLAN ID is not provided)', }, // Get by Name operation fields { displayName: 'VLAN Name', name: 'vlanName', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['getByName'], }, }, description: 'Name of the VLAN', }, // Get by VID operation fields { displayName: 'VLAN VID', name: 'vlanVid', type: 'number', required: true, default: 0, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['getByVid'], }, }, description: 'VLAN ID (VID) of the VLAN', }, // Create operation fields { displayName: 'VID', name: 'vid', type: 'number', required: true, default: 100, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['create'], }, }, description: 'VLAN ID (1-4094)', }, { displayName: 'Name', name: 'vlanName', type: 'string', required: true, default: '', noDataExpression: false, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['create'], }, }, description: 'Name of the VLAN', }, { displayName: 'Status', name: 'status', type: 'options', options: [ { name: 'Active', value: 'active', }, { name: 'Deprecated', value: 'deprecated', }, { name: 'Reserved', value: 'reserved', }, ], default: 'active', displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['create'], }, }, description: 'Operational status of this VLAN', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['create'], }, }, options: [ { displayName: 'Description', name: 'vlanDescription', type: 'string', default: '', noDataExpression: false, description: 'VLAN description', }, { displayName: 'Group', name: 'group', type: 'string', default: '', description: 'VLAN group ID or name/slug', }, { displayName: 'Site', name: 'site', type: 'string', default: '', description: 'Site ID or name/slug', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Tenant ID or name/slug', }, { displayName: 'Role', name: 'role', type: 'string', default: '', description: 'Role ID or name/slug', }, { 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: ['vlans'], operation: ['update'], }, }, options: [ { displayName: 'VID', name: 'vid', type: 'number', default: '', description: 'VLAN ID (1-4094)', }, { displayName: 'Name', name: 'vlanName', type: 'string', default: '', noDataExpression: false, description: 'Name of the VLAN', }, { displayName: 'Status', name: 'status', type: 'options', options: [ { name: 'Active', value: 'active', }, { name: 'Deprecated', value: 'deprecated', }, { name: 'Reserved', value: 'reserved', }, ], default: 'active', description: 'Operational status of this VLAN', }, { displayName: 'Description', name: 'vlanDescription', type: 'string', default: '', noDataExpression: false, description: 'VLAN description', }, { displayName: 'Group', name: 'group', type: 'string', default: '', description: 'VLAN group ID or name/slug', }, { displayName: 'Site', name: 'site', type: 'string', default: '', description: 'Site ID or name/slug', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Tenant ID or name/slug', }, { displayName: 'Role', name: 'role', type: 'string', default: '', description: 'Role ID or name/slug', }, { 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', }, ], }, // Add/Remove Tag operation fields { displayName: 'VLAN ID', name: 'vlanId', type: 'number', required: true, default: 0, displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['addTag', 'removeTag'], }, }, description: 'Database ID of the VLAN', }, { displayName: 'Tag Name or ID', name: 'tagIdentifier', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['ipam'], resource: ['vlans'], operation: ['addTag', 'removeTag'], }, }, description: 'Name, slug, or ID of the tag to add or remove', }, ];