UNPKG

n8n-nodes-netbox

Version:

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

590 lines (589 loc) 17.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.vmInterfaceFields = exports.vmInterfaceOperations = void 0; const baseProperties_1 = require("../baseProperties"); // VM Interface Operations exports.vmInterfaceOperations = { ...baseProperties_1.baseProperties, displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], }, }, options: [ { name: 'List', value: 'list', description: 'Get all VM interfaces', action: 'List all VM interfaces', }, { name: 'Get', value: 'get', description: 'Get a VM interface by ID', action: 'Get a VM interface', }, { name: 'Create', value: 'create', description: 'Create a new VM interface', action: 'Create a VM interface', }, { name: 'Update', value: 'update', description: 'Update an existing VM interface', action: 'Update a VM interface', }, { name: 'Delete', value: 'delete', description: 'Delete a VM interface', action: 'Delete a VM interface', }, ], default: 'list', }; // VM Interface Fields exports.vmInterfaceFields = [ // List operation fields { ...baseProperties_1.returnAllOption, displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], operation: ['list'], }, }, }, { ...baseProperties_1.limitOption, displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], operation: ['list'], returnAll: [false], }, }, }, { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], operation: ['list'], }, }, options: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by interface name', }, { displayName: 'Name (Contains)', name: 'name__ic', type: 'string', default: '', description: 'Filter by interface names containing this value', }, { displayName: 'Virtual Machine ID', name: 'virtual_machine_id', type: 'string', default: '', description: 'Filter by virtual machine ID (comma-separated for multiple)', }, { displayName: 'Virtual Machine', name: 'virtual_machine', type: 'string', default: '', description: 'Filter by virtual machine name (comma-separated for multiple)', }, { displayName: 'Type', name: 'type', type: 'options', options: [ { name: 'Virtual', value: 'virtual', }, { name: 'Bridge', value: 'bridge', }, { name: 'LAG', value: 'lag', }, { name: 'Other', value: 'other', }, ], default: 'virtual', description: 'Interface type', }, { displayName: 'Enabled', name: 'enabled', type: 'boolean', default: true, description: 'Filter by interface enabled status', }, { displayName: 'MTU', name: 'mtu', type: 'string', default: '', description: 'Filter by MTU value (comma-separated for multiple)', }, { displayName: 'MAC Address', name: 'mac_address', type: 'string', default: '', description: 'Filter by MAC address', }, { displayName: 'Parent Interface ID', name: 'parent_id', type: 'string', default: '', description: 'Filter by parent interface ID (comma-separated for multiple)', }, { displayName: 'Bridge Interface ID', name: 'bridge_id', type: 'string', default: '', description: 'Filter by bridge interface ID (comma-separated for multiple)', }, { displayName: 'VLAN ID', name: 'vlan_id', type: 'string', default: '', description: 'Filter by untagged VLAN ID (comma-separated for multiple)', }, { displayName: 'VLAN', name: 'vlan', type: 'string', default: '', description: 'Filter by untagged VLAN (comma-separated for multiple)', }, { 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 for VM interfaces matching this query', }, { displayName: 'Ordering', name: 'ordering', type: 'options', options: [ { name: 'Name', value: 'name', }, { name: 'Name (Descending)', value: '-name', }, { name: 'Virtual Machine', value: 'virtual_machine', }, { name: 'Type', value: 'type', }, { name: 'Enabled', value: 'enabled', }, { name: 'MTU', value: 'mtu', }, ], default: 'name', description: 'Order of the results', }, ], }, // Get operation fields { displayName: 'VM Interface ID', name: 'vmInterfaceId', type: 'number', required: true, default: 0, displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], operation: ['get', 'update', 'delete'], }, }, description: 'Database ID of the VM interface', }, // Create operation fields { displayName: 'Virtual Machine', name: 'virtual_machine', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], operation: ['create'], }, }, description: 'Virtual machine ID or name', }, { displayName: 'Name', name: 'vmInterfaceName', type: 'string', required: true, default: '', noDataExpression: false, displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], operation: ['create'], }, }, description: 'Interface name', }, { displayName: 'Type', name: 'type', type: 'options', options: [ { name: 'Virtual', value: 'virtual', }, { name: 'Bridge', value: 'bridge', }, { name: 'LAG', value: 'lag', }, { name: 'Other', value: 'other', }, ], default: 'virtual', displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], operation: ['create'], }, }, description: 'Interface type', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['virtualization'], resource: ['vm-interfaces'], operation: ['create'], }, }, options: [ { displayName: 'Description', name: 'description', type: 'string', default: '', description: 'Interface description', }, { displayName: 'Enabled', name: 'enabled', type: 'boolean', default: true, description: 'Enable this interface', }, { displayName: 'Parent Interface', name: 'parent', type: 'string', default: '', description: 'Parent interface ID or name', }, { displayName: 'Bridge Interface', name: 'bridge', type: 'string', default: '', description: 'Bridge interface ID or name', }, { displayName: 'MTU', name: 'mtu', type: 'number', default: 1500, description: 'Maximum transmission unit', }, { displayName: 'MAC Address', name: 'mac_address', type: 'string', default: '', description: 'MAC address (leave empty for auto-generation)', }, { displayName: 'Untagged VLAN', name: 'untagged_vlan', type: 'string', default: '', description: 'Untagged VLAN ID or name', }, { displayName: 'Tagged VLANs', name: 'tagged_vlans', type: 'string', default: '', description: 'Comma-separated list of tagged VLAN IDs or names', }, { displayName: 'Mode', name: 'mode', type: 'options', options: [ { name: 'Access', value: 'access', }, { name: 'Tagged', value: 'tagged', }, { name: 'Tagged All', value: 'tagged-all', }, ], default: 'access', description: 'Interface mode', }, { displayName: 'VRF', name: 'vrf', type: 'string', default: '', description: 'VRF ID or name', }, { 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: ['virtualization'], resource: ['vm-interfaces'], operation: ['update'], }, }, options: [ { displayName: 'Virtual Machine', name: 'virtual_machine', type: 'string', default: '', description: 'Virtual machine ID or name', }, { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Interface name', }, { displayName: 'Type', name: 'type', type: 'options', options: [ { name: 'Virtual', value: 'virtual', }, { name: 'Bridge', value: 'bridge', }, { name: 'LAG', value: 'lag', }, { name: 'Other', value: 'other', }, ], default: 'virtual', description: 'Interface type', }, { displayName: 'Description', name: 'description', type: 'string', default: '', description: 'Interface description', }, { displayName: 'Enabled', name: 'enabled', type: 'boolean', default: true, description: 'Enable this interface', }, { displayName: 'Parent Interface', name: 'parent', type: 'string', default: '', description: 'Parent interface ID or name', }, { displayName: 'Bridge Interface', name: 'bridge', type: 'string', default: '', description: 'Bridge interface ID or name', }, { displayName: 'MTU', name: 'mtu', type: 'number', default: 1500, description: 'Maximum transmission unit', }, { displayName: 'MAC Address', name: 'mac_address', type: 'string', default: '', description: 'MAC address', }, { displayName: 'Untagged VLAN', name: 'untagged_vlan', type: 'string', default: '', description: 'Untagged VLAN ID or name', }, { displayName: 'Tagged VLANs', name: 'tagged_vlans', type: 'string', default: '', description: 'Comma-separated list of tagged VLAN IDs or names', }, { displayName: 'Mode', name: 'mode', type: 'options', options: [ { name: 'Access', value: 'access', }, { name: 'Tagged', value: 'tagged', }, { name: 'Tagged All', value: 'tagged-all', }, ], default: 'access', description: 'Interface mode', }, { displayName: 'VRF', name: 'vrf', type: 'string', default: '', description: 'VRF ID or name', }, { 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', }, ], }, ];