n8n-nodes-proxmox
Version:
n8n community node for Proxmox Virtual Environment (VE) API integration with VM, container, storage, and cluster management capabilities
156 lines (155 loc) • 4.72 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.clusterFields = exports.clusterOperations = void 0;
const baseProperties_1 = require("./baseProperties");
exports.clusterOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['cluster'],
},
},
options: [
{
name: 'Get Version',
value: 'getVersion',
description: 'Get ProxMox VE version information (no special permissions required)',
action: 'Get version',
},
{
name: 'Get Status',
value: 'getStatus',
description: 'Get cluster status information (requires Sys.Audit permission)',
action: 'Get cluster status',
},
{
name: 'Get Resources',
value: 'getResources',
description: 'List all cluster resources',
action: 'Get cluster resources',
},
{
name: 'Get Nodes',
value: 'getNodes',
description: 'List all cluster nodes',
action: 'Get cluster nodes',
},
{
name: 'Get Tasks',
value: 'getTasks',
description: 'List cluster tasks',
action: 'Get cluster tasks',
},
{
name: 'Get Config',
value: 'getConfig',
description: 'Get cluster configuration',
action: 'Get cluster configuration',
},
],
default: 'getVersion',
};
exports.clusterFields = [
// Get Resources fields
{
displayName: 'Resource Type',
name: 'resourceType',
type: 'options',
options: [
{ name: 'All', value: '' },
{ name: 'VM', value: 'vm' },
{ name: 'Storage', value: 'storage' },
{ name: 'Node', value: 'node' },
],
default: '',
description: 'Filter resources by type',
displayOptions: {
show: {
resource: ['cluster'],
operation: ['getResources'],
},
},
},
{
displayName: baseProperties_1.returnAllOption.displayName,
name: baseProperties_1.returnAllOption.name,
type: baseProperties_1.returnAllOption.type,
default: baseProperties_1.returnAllOption.default,
description: baseProperties_1.returnAllOption.description,
displayOptions: {
show: {
resource: ['cluster'],
operation: ['getResources', 'getTasks', 'getNodes'],
},
},
},
{
displayName: baseProperties_1.limitOption.displayName,
name: baseProperties_1.limitOption.name,
type: baseProperties_1.limitOption.type,
typeOptions: baseProperties_1.limitOption.typeOptions,
default: baseProperties_1.limitOption.default,
description: baseProperties_1.limitOption.description,
displayOptions: {
show: {
resource: ['cluster'],
operation: ['getResources', 'getTasks', 'getNodes'],
returnAll: [false],
},
},
},
// Get Tasks fields
{
displayName: 'Running Only',
name: 'runningOnly',
type: 'boolean',
default: false,
description: 'Show only running tasks',
displayOptions: {
show: {
resource: ['cluster'],
operation: ['getTasks'],
},
},
},
// Additional options for various operations
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: ['cluster'],
operation: ['getTasks', 'getResources'],
},
},
options: [
{
displayName: 'Node',
name: 'node',
type: 'string',
default: '',
description: 'Filter by specific node',
},
{
displayName: 'VM ID',
name: 'vmid',
type: 'number',
default: '',
description: 'Filter by specific VM/Container ID',
},
{
displayName: 'User',
name: 'user',
type: 'string',
default: '',
description: 'Filter by user who started the task',
},
],
},
];