import { ICredentialType, IDisplayOptions, NodePropertyTypes, } from 'n8n-workflow'; export class RabbitMQ implements ICredentialType { name = 'rabbitmq'; displayName = 'RabbitMQ'; documentationUrl = 'rabbitmq'; properties = [ { displayName: 'Hostname', name: 'hostname', type: 'string' as NodePropertyTypes, default: '', placeholder: 'localhost', }, { displayName: 'Port', name: 'port', type: 'number' as NodePropertyTypes, default: 5672, }, { displayName: 'User', name: 'username', type: 'string' as NodePropertyTypes, default: '', placeholder: 'guest', }, { displayName: 'Password', name: 'password', type: 'string' as NodePropertyTypes, typeOptions: { password: true, }, default: '', placeholder: 'guest', }, { displayName: 'Vhost', name: 'vhost', type: 'string' as NodePropertyTypes, default: '/', }, { displayName: 'SSL', name: 'ssl', type: 'boolean' as NodePropertyTypes, default: false, }, { displayName: 'Passwordless', name: 'passwordless', type: 'boolean' as NodePropertyTypes, displayOptions: { show: { ssl: [ true, ], }, }, default: false, description: 'Passwordless connection with certificates (SASL mechanism EXTERNAL)', }, { displayName: 'CA Certificates', name: 'ca', type: 'string' as NodePropertyTypes, typeOptions: { password: true, }, displayOptions: { show: { ssl: [ true, ], }, }, default: '', description: 'SSL CA Certificates to use.', }, { displayName: 'Client Certificate', name: 'cert', type: 'string' as NodePropertyTypes, typeOptions: { password: true, }, displayOptions: { show: { ssl: [ true, ], passwordless: [ true, ], }, } as IDisplayOptions, default: '', description: 'SSL Client Certificate to use.', }, { displayName: 'Client Key', name: 'key', type: 'string' as NodePropertyTypes, typeOptions: { password: true, }, displayOptions: { show: { ssl: [ true, ], passwordless: [ true, ], }, }, default: '', description: 'SSL Client Key to use.', }, { displayName: 'Passphrase', name: 'passphrase', type: 'string' as NodePropertyTypes, typeOptions: { password: true, }, displayOptions: { show: { ssl: [ true, ], passwordless: [ true, ], }, }, default: '', description: 'SSL passphrase to use.', }, // { // displayName: 'Client ID', // name: 'clientId', // type: 'string' as NodePropertyTypes, // default: '', // placeholder: 'my-app', // }, // { // displayName: 'Brokers', // name: 'brokers', // type: 'string' as NodePropertyTypes, // default: '', // placeholder: 'kafka1:9092,kafka2:9092', // }, // { // displayName: 'Username', // name: 'username', // type: 'string' as NodePropertyTypes, // default: '', // description: 'Optional username if authenticated is required.', // }, // { // displayName: 'Password', // name: 'password', // type: 'string' as NodePropertyTypes, // typeOptions: { // password: true, // }, // default: '', // description: 'Optional password if authenticated is required.', // }, ]; }