n8n-nodes-proxmox
Version:
n8n community node for Proxmox Virtual Environment (VE) API integration with VM, container, storage, and cluster management capabilities
106 lines (105 loc) • 3.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProxMoxApi = void 0;
class ProxMoxApi {
constructor() {
this.name = 'proxMoxApi';
this.displayName = 'ProxMox VE API';
this.documentationUrl = 'https://pve.proxmox.com/wiki/Proxmox_VE_API';
this.properties = [
{
displayName: 'Host',
name: 'host',
type: 'string',
default: '',
placeholder: 'proxmox.example.com',
required: true,
description: 'The hostname or IP address of your ProxMox VE server',
},
{
displayName: 'Port',
name: 'port',
type: 'number',
default: 8006,
required: true,
description: 'The port of your ProxMox VE server (default: 8006)',
},
{
displayName: 'Authentication Method',
name: 'authMethod',
type: 'options',
options: [
{
name: 'API Token',
value: 'apiToken',
description: 'Use API Token authentication (recommended)',
},
{
name: 'Username/Password',
value: 'userPass',
description: 'Use username and password authentication',
},
],
default: 'apiToken',
required: true,
},
{
displayName: 'User',
name: 'username',
type: 'string',
default: '',
placeholder: 'root@pam',
required: true,
displayOptions: {
show: {
authMethod: ['userPass'],
},
},
description: 'Username with realm (e.g., root@pam, user@pve)',
},
{
displayName: 'Password',
name: 'password',
type: 'string',
typeOptions: { password: true },
default: '',
required: true,
displayOptions: {
show: {
authMethod: ['userPass'],
},
},
description: 'Password for the user',
},
{
displayName: 'API Token ID',
name: 'tokenId',
type: 'string',
default: '',
placeholder: 'PVEAPIToken=user@realm!tokenid=uuid',
required: true,
displayOptions: {
show: {
authMethod: ['apiToken'],
},
},
description: 'Full API Token in format: PVEAPIToken=USER@REALM!TOKENID=UUID',
},
{
displayName: 'Skip SSL Verification',
name: 'skipSslVerify',
type: 'boolean',
default: false,
description: 'Whether to skip SSL certificate verification. Use with caution.',
},
{
displayName: 'Timeout',
name: 'timeout',
type: 'number',
default: 30000,
description: 'Request timeout in milliseconds',
},
];
}
}
exports.ProxMoxApi = ProxMoxApi;