UNPKG

n8n-nodes-netbox

Version:

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

677 lines (676 loc) 21.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.virtualMachineFields = exports.virtualMachineOperations = void 0; const baseProperties_1 = require("../baseProperties"); // Virtual Machine Operations exports.virtualMachineOperations = { ...baseProperties_1.baseProperties, displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { domain: ['virtualization'], resource: ['virtual-machines'], }, }, options: [ { name: 'List', value: 'list', description: 'Get all virtual machines', action: 'List all virtual machines', }, { name: 'Get', value: 'get', description: 'Get a virtual machine by ID', action: 'Get a virtual machine', }, { name: 'Create', value: 'create', description: 'Create a new virtual machine', action: 'Create a virtual machine', }, { name: 'Update', value: 'update', description: 'Update an existing virtual machine', action: 'Update a virtual machine', }, { name: 'Delete', value: 'delete', description: 'Delete a virtual machine', action: 'Delete a virtual machine', }, { name: 'Get Interfaces', value: 'getInterfaces', description: 'Get interfaces for a virtual machine', action: 'Get VM interfaces', }, ], default: 'list', }; // Virtual Machine Fields exports.virtualMachineFields = [ // List operation fields { ...baseProperties_1.returnAllOption, displayOptions: { show: { domain: ['virtualization'], resource: ['virtual-machines'], operation: ['list'], }, }, }, { ...baseProperties_1.limitOption, displayOptions: { show: { domain: ['virtualization'], resource: ['virtual-machines'], operation: ['list'], returnAll: [false], }, }, }, { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['virtualization'], resource: ['virtual-machines'], operation: ['list'], }, }, options: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by virtual machine name', }, { displayName: 'Name (Contains)', name: 'name__ic', type: 'string', default: '', description: 'Filter by virtual machine names containing this value', }, { displayName: 'Cluster ID', name: 'cluster_id', type: 'string', default: '', description: 'Filter by cluster ID (comma-separated for multiple)', }, { displayName: 'Cluster', name: 'cluster', type: 'string', default: '', description: 'Filter by cluster name (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: '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: 'Role ID', name: 'role_id', type: 'string', default: '', description: 'Filter by device role ID (comma-separated for multiple)', }, { displayName: 'Role', name: 'role', type: 'string', default: '', description: 'Filter by device role slug (comma-separated for multiple)', }, { displayName: 'Platform ID', name: 'platform_id', type: 'string', default: '', description: 'Filter by platform ID (comma-separated for multiple)', }, { displayName: 'Platform', name: 'platform', type: 'string', default: '', description: 'Filter by platform 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: 'Status', name: 'status', type: 'options', options: [ { name: 'Active', value: 'active', }, { name: 'Offline', value: 'offline', }, { name: 'Planned', value: 'planned', }, { name: 'Staged', value: 'staged', }, { name: 'Failed', value: 'failed', }, { name: 'Decommissioning', value: 'decommissioning', }, ], default: 'active', description: 'Operational status of this virtual machine', }, { displayName: 'vCPUs', name: 'vcpus', type: 'string', default: '', description: 'Filter by number of vCPUs (comma-separated for multiple)', }, { displayName: 'Memory', name: 'memory', type: 'string', default: '', description: 'Filter by memory in MB (comma-separated for multiple)', }, { displayName: 'Disk', name: 'disk', type: 'string', default: '', description: 'Filter by disk size in GB (comma-separated for multiple)', }, { displayName: 'Local Context Data', name: 'local_context_data', type: 'boolean', default: false, description: 'Only include VMs with local context data', }, { displayName: 'Has Primary IP', name: 'has_primary_ip', type: 'boolean', default: false, description: 'Only include VMs with a primary IP address', }, { 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 virtual machines matching this query', }, { displayName: 'Ordering', name: 'ordering', type: 'options', options: [ { name: 'Name', value: 'name', }, { name: 'Name (Descending)', value: '-name', }, { name: 'Cluster', value: 'cluster', }, { name: 'Site', value: 'site', }, { name: 'Status', value: 'status', }, { name: 'vCPUs', value: 'vcpus', }, { name: 'Memory', value: 'memory', }, { name: 'Disk', value: 'disk', }, ], default: 'name', description: 'Order of the results', }, ], }, // Get operation fields { displayName: 'Virtual Machine ID', name: 'virtualMachineId', type: 'number', required: true, default: 0, displayOptions: { show: { domain: ['virtualization'], resource: ['virtual-machines'], operation: ['get', 'update', 'delete', 'getInterfaces'], }, }, description: 'Database ID of the virtual machine', }, // Create operation fields { displayName: 'Name', name: 'vmName', type: 'string', required: true, default: '', noDataExpression: false, displayOptions: { show: { domain: ['virtualization'], resource: ['virtual-machines'], operation: ['create'], }, }, description: 'Name of the virtual machine', }, { displayName: 'Cluster', name: 'cluster', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['virtualization'], resource: ['virtual-machines'], operation: ['create'], }, }, description: 'Cluster ID or name', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['virtualization'], resource: ['virtual-machines'], operation: ['create'], }, }, options: [ { displayName: 'Description', name: 'description', type: 'string', default: '', description: 'Virtual machine description', }, { displayName: 'Site', name: 'site', type: 'string', default: '', description: 'Site ID or name/slug', }, { displayName: 'Role', name: 'role', type: 'string', default: '', description: 'Device role ID or name/slug', }, { displayName: 'Platform', name: 'platform', type: 'string', default: '', description: 'Platform ID or name/slug', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Tenant ID or name/slug', }, { displayName: 'Status', name: 'status', type: 'options', options: [ { name: 'Active', value: 'active', }, { name: 'Offline', value: 'offline', }, { name: 'Planned', value: 'planned', }, { name: 'Staged', value: 'staged', }, { name: 'Failed', value: 'failed', }, { name: 'Decommissioning', value: 'decommissioning', }, ], default: 'active', description: 'Operational status of this virtual machine', }, { displayName: 'vCPUs', name: 'vcpus', type: 'number', default: 1, description: 'Number of virtual CPUs (can be decimal, e.g., 1.5)', }, { displayName: 'Memory (MB)', name: 'memory', type: 'number', default: 1024, description: 'Memory allocation in megabytes', }, { displayName: 'Disk (GB)', name: 'disk', type: 'number', default: 10, description: 'Disk allocation in gigabytes', }, { displayName: 'Primary IPv4', name: 'primary_ip4', type: 'string', default: '', description: 'Primary IPv4 address ID or IP address', }, { displayName: 'Primary IPv6', name: 'primary_ip6', type: 'string', default: '', description: 'Primary IPv6 address ID or IP address', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', description: 'Comments about the virtual machine', }, { displayName: 'Local Context Data', name: 'local_context_data', type: 'json', default: '{}', description: 'Local context data as JSON object', }, { 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: ['virtual-machines'], operation: ['update'], }, }, options: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Name of the virtual machine', }, { displayName: 'Cluster', name: 'cluster', type: 'string', default: '', description: 'Cluster ID or name', }, { displayName: 'Description', name: 'description', type: 'string', default: '', description: 'Virtual machine description', }, { displayName: 'Site', name: 'site', type: 'string', default: '', description: 'Site ID or name/slug', }, { displayName: 'Role', name: 'role', type: 'string', default: '', description: 'Device role ID or name/slug', }, { displayName: 'Platform', name: 'platform', type: 'string', default: '', description: 'Platform ID or name/slug', }, { displayName: 'Tenant', name: 'tenant', type: 'string', default: '', description: 'Tenant ID or name/slug', }, { displayName: 'Status', name: 'status', type: 'options', options: [ { name: 'Active', value: 'active', }, { name: 'Offline', value: 'offline', }, { name: 'Planned', value: 'planned', }, { name: 'Staged', value: 'staged', }, { name: 'Failed', value: 'failed', }, { name: 'Decommissioning', value: 'decommissioning', }, ], default: 'active', description: 'Operational status of this virtual machine', }, { displayName: 'vCPUs', name: 'vcpus', type: 'number', default: 1, description: 'Number of virtual CPUs (can be decimal, e.g., 1.5)', }, { displayName: 'Memory (MB)', name: 'memory', type: 'number', default: 1024, description: 'Memory allocation in megabytes', }, { displayName: 'Disk (GB)', name: 'disk', type: 'number', default: 10, description: 'Disk allocation in gigabytes', }, { displayName: 'Primary IPv4', name: 'primary_ip4', type: 'string', default: '', description: 'Primary IPv4 address ID or IP address', }, { displayName: 'Primary IPv6', name: 'primary_ip6', type: 'string', default: '', description: 'Primary IPv6 address ID or IP address', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', description: 'Comments about the virtual machine', }, { displayName: 'Local Context Data', name: 'local_context_data', type: 'json', default: '{}', description: 'Local context data as JSON object', }, { 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', }, ], }, ];