UNPKG

n8n-nodes-netbox

Version:

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

534 lines (533 loc) 16.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.jobsFields = exports.jobsOperations = void 0; const baseProperties_1 = require("../baseProperties"); // Jobs Operations exports.jobsOperations = { ...baseProperties_1.baseProperties, displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { domain: ['core'], resource: ['jobs'], }, }, options: [ { name: 'List', value: 'list', description: 'Get all jobs', action: 'List all jobs', }, { name: 'Get', value: 'get', description: 'Get a job by ID', action: 'Get a job', }, { name: 'Create', value: 'create', description: 'Create a new job', action: 'Create a job', }, { name: 'Update', value: 'update', description: 'Update a job', action: 'Update a job', }, { name: 'Delete', value: 'delete', description: 'Delete a job', action: 'Delete a job', }, { name: 'Execute', value: 'execute', description: 'Execute a job', action: 'Execute a job', }, { name: 'Terminate', value: 'terminate', description: 'Terminate a running job', action: 'Terminate a job', }, ], default: 'list', }; // Jobs Fields exports.jobsFields = [ // List operation fields { ...baseProperties_1.returnAllOption, displayOptions: { show: { domain: ['core'], resource: ['jobs'], operation: ['list'], }, }, }, { ...baseProperties_1.limitOption, displayOptions: { show: { domain: ['core'], resource: ['jobs'], operation: ['list'], returnAll: [false], }, }, }, { displayName: 'Filters', name: 'filters', type: 'collection', placeholder: 'Add Filter', default: {}, displayOptions: { show: { domain: ['core'], resource: ['jobs'], operation: ['list'], }, }, options: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Filter by job name', }, { displayName: 'Name (Contains)', name: 'name__ic', type: 'string', default: '', description: 'Filter by jobs containing name', }, { displayName: 'Status', name: 'status', type: 'options', options: [ { name: 'Pending', value: 'pending' }, { name: 'Scheduled', value: 'scheduled' }, { name: 'Running', value: 'running' }, { name: 'Completed', value: 'completed' }, { name: 'Errored', value: 'errored' }, { name: 'Failed', value: 'failed' }, ], default: '', description: 'Filter by job status', }, { displayName: 'Object Type', name: 'object_type', type: 'string', default: '', description: 'Filter by object type (e.g., dcim.device)', }, { displayName: 'User', name: 'user', type: 'string', default: '', description: 'Filter by username who created the job', }, { displayName: 'Interval', name: 'interval', type: 'options', options: [ { name: 'Hourly', value: 'hourly' }, { name: 'Daily', value: 'daily' }, { name: 'Weekly', value: 'weekly' }, { name: 'Monthly', value: 'monthly' }, ], default: '', description: 'Filter by job interval', }, { displayName: 'Started After', name: 'started__gt', type: 'dateTime', default: '', description: 'Filter by start time (after)', }, { displayName: 'Started Before', name: 'started__lt', type: 'dateTime', default: '', description: 'Filter by start time (before)', }, { displayName: 'Completed After', name: 'completed__gt', type: 'dateTime', default: '', description: 'Filter by completion time (after)', }, { displayName: 'Completed Before', name: 'completed__lt', type: 'dateTime', default: '', description: 'Filter by completion time (before)', }, { displayName: 'Created After', name: 'created__gt', type: 'dateTime', default: '', description: 'Filter by created date (after)', }, { displayName: 'Created Before', name: 'created__lt', type: 'dateTime', default: '', description: 'Filter by created date (before)', }, { 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: 'Status (A-Z)', value: 'status', }, { name: 'Status (Z-A)', value: '-status', }, { name: 'Created (Oldest First)', value: 'created', }, { name: 'Created (Newest First)', value: '-created', }, { name: 'Started (Oldest First)', value: 'started', }, { name: 'Started (Newest First)', value: '-started', }, { name: 'Completed (Oldest First)', value: 'completed', }, { name: 'Completed (Newest First)', value: '-completed', }, ], default: 'name', description: 'Order of the results', }, ], }, // Get operation fields { displayName: 'Job ID', name: 'jobId', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['core'], resource: ['jobs'], operation: ['get', 'update', 'delete', 'execute', 'terminate'], }, }, description: 'ID of the job', }, // Create operation fields { displayName: 'Name', name: 'jobName', type: 'string', required: true, default: '', noDataExpression: false, displayOptions: { show: { domain: ['core'], resource: ['jobs'], operation: ['create'], }, }, description: 'Name of the job', }, { displayName: 'Object Type', name: 'object_type', type: 'string', required: true, default: '', displayOptions: { show: { domain: ['core'], resource: ['jobs'], operation: ['create'], }, }, description: 'Content type of the object this job operates on (e.g., dcim.device)', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['core'], resource: ['jobs'], operation: ['create'], }, }, options: [ { displayName: 'Description', name: 'jobDescription', type: 'string', default: '', noDataExpression: false, description: 'Description of the job', typeOptions: { rows: 3, }, }, { displayName: 'Enabled', name: 'enabled', type: 'boolean', default: true, description: 'Whether the job is enabled', }, { displayName: 'Scheduled', name: 'scheduled', type: 'dateTime', default: '', description: 'When the job should be executed', }, { displayName: 'Interval', name: 'interval', type: 'options', options: [ { name: 'Hourly', value: 'hourly' }, { name: 'Daily', value: 'daily' }, { name: 'Weekly', value: 'weekly' }, { name: 'Monthly', value: 'monthly' }, ], default: '', description: 'Recurring interval for the job', }, { displayName: 'Job Class', name: 'job_class', type: 'string', default: '', description: 'Python class path for the job', }, { displayName: 'Data (JSON)', name: 'data', type: 'json', default: '{}', description: 'Job data as JSON object', }, { displayName: 'Arguments (JSON)', name: 'args', type: 'json', default: '[]', description: 'Job arguments as JSON array', }, { displayName: 'Keyword Arguments (JSON)', name: 'kwargs', type: 'json', default: '{}', description: 'Job keyword arguments as JSON object', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', description: 'Comments about the job', typeOptions: { rows: 3, }, }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tags', }, { displayName: 'Custom Fields (JSON)', 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: ['core'], resource: ['jobs'], operation: ['update'], }, }, options: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Name of the job', }, { displayName: 'Object Type', name: 'object_type', type: 'string', default: '', description: 'Content type of the object this job operates on', }, { displayName: 'Description', name: 'jobDescription', type: 'string', default: '', noDataExpression: false, description: 'Description of the job', typeOptions: { rows: 3, }, }, { displayName: 'Enabled', name: 'enabled', type: 'boolean', default: true, description: 'Whether the job is enabled', }, { displayName: 'Scheduled', name: 'scheduled', type: 'dateTime', default: '', description: 'When the job should be executed', }, { displayName: 'Interval', name: 'interval', type: 'options', options: [ { name: 'Hourly', value: 'hourly' }, { name: 'Daily', value: 'daily' }, { name: 'Weekly', value: 'weekly' }, { name: 'Monthly', value: 'monthly' }, ], default: '', description: 'Recurring interval for the job', }, { displayName: 'Job Class', name: 'job_class', type: 'string', default: '', description: 'Python class path for the job', }, { displayName: 'Data (JSON)', name: 'data', type: 'json', default: '{}', description: 'Job data as JSON object', }, { displayName: 'Arguments (JSON)', name: 'args', type: 'json', default: '[]', description: 'Job arguments as JSON array', }, { displayName: 'Keyword Arguments (JSON)', name: 'kwargs', type: 'json', default: '{}', description: 'Job keyword arguments as JSON object', }, { displayName: 'Comments', name: 'comments', type: 'string', default: '', description: 'Comments about the job', typeOptions: { rows: 3, }, }, { displayName: 'Tags', name: 'tags', type: 'string', default: '', description: 'Comma-separated list of tags', }, { displayName: 'Custom Fields (JSON)', name: 'custom_fields', type: 'json', default: '{}', description: 'Custom fields as JSON object', }, ], }, ];