n8n-nodes-ionos
Version:
n8n nodes for IONOS DNS, Domain, SSL/Certificate management, Cloud AI, Cloud Infrastructure, Container Registry, Database as a Service, CDN, VPN Gateway, Activity Log, Billing, Logging, Monitoring, Object Storage Management, Network File Storage, Identity
1,377 lines (1,376 loc) • 108 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IonosCloudDbaas = void 0;
class IonosCloudDbaas {
description = {
displayName: 'IONOS Cloud DBaaS',
name: 'ionosCloudDbaas',
icon: 'file:ionos.svg',
group: ['transform'],
version: 1,
subtitle: '={{ $parameter["operation"] + ": " + $parameter["resource"] }}',
description: 'Manage IONOS Cloud Database as a Service (PostgreSQL, MongoDB, MariaDB, Redis). Developped with Love by Ascenzia (ascenzia.fr)',
defaults: {
name: 'IONOS Cloud DBaaS',
},
inputs: ['main'],
outputs: ['main'],
credentials: [
{
name: 'ionosCloud',
required: true,
},
],
properties: [
{
displayName: 'Database Type',
name: 'resource',
type: 'options',
noDataExpression: true,
options: [
{
name: 'PostgreSQL',
value: 'postgresql',
description: 'Manage PostgreSQL database clusters',
},
{
name: 'MongoDB',
value: 'mongodb',
description: 'Manage MongoDB database clusters',
},
{
name: 'MariaDB',
value: 'mariadb',
description: 'Manage MariaDB database clusters',
},
{
name: 'Redis',
value: 'redis',
description: 'Manage Redis In-Memory database replica sets',
},
],
default: 'postgresql',
},
{
displayName: 'Resource',
name: 'postgresqlResource',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['postgresql'],
},
},
options: [
{
name: 'Cluster',
value: 'cluster',
description: 'Manage PostgreSQL clusters',
},
{
name: 'User',
value: 'user',
description: 'Manage PostgreSQL users',
},
{
name: 'Database',
value: 'database',
description: 'Manage PostgreSQL databases',
},
{
name: 'Backup',
value: 'backup',
description: 'Manage PostgreSQL backups',
},
{
name: 'Log',
value: 'log',
description: 'Get PostgreSQL logs',
},
],
default: 'cluster',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['cluster'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a PostgreSQL cluster',
action: 'Create a PostgreSQL cluster',
},
{
name: 'Get',
value: 'get',
description: 'Get a PostgreSQL cluster',
action: 'Get a PostgreSQL cluster',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many PostgreSQL clusters',
action: 'Get many PostgreSQL clusters',
},
{
name: 'Update',
value: 'update',
description: 'Update a PostgreSQL cluster',
action: 'Update a PostgreSQL cluster',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a PostgreSQL cluster',
action: 'Delete a PostgreSQL cluster',
},
{
name: 'Restore',
value: 'restore',
description: 'Restore PostgreSQL cluster from backup',
action: 'Restore PostgreSQL cluster from backup',
},
],
default: 'create',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['user'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a PostgreSQL user',
action: 'Create a PostgreSQL user',
},
{
name: 'Get',
value: 'get',
description: 'Get a PostgreSQL user',
action: 'Get a PostgreSQL user',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many PostgreSQL users',
action: 'Get many PostgreSQL users',
},
{
name: 'Update',
value: 'update',
description: 'Update a PostgreSQL user',
action: 'Update a PostgreSQL user',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a PostgreSQL user',
action: 'Delete a PostgreSQL user',
},
],
default: 'create',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['database'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a PostgreSQL database',
action: 'Create a PostgreSQL database',
},
{
name: 'Get',
value: 'get',
description: 'Get a PostgreSQL database',
action: 'Get a PostgreSQL database',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many PostgreSQL databases',
action: 'Get many PostgreSQL databases',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a PostgreSQL database',
action: 'Delete a PostgreSQL database',
},
],
default: 'create',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['backup'],
},
},
options: [
{
name: 'Get',
value: 'get',
description: 'Get a PostgreSQL backup',
action: 'Get a PostgreSQL backup',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many PostgreSQL backups',
action: 'Get many PostgreSQL backups',
},
],
default: 'getMany',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['log'],
},
},
options: [
{
name: 'Get',
value: 'get',
description: 'Get PostgreSQL logs',
action: 'Get PostgreSQL logs',
},
],
default: 'get',
},
{
displayName: 'Resource',
name: 'mongodbResource',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mongodb'],
},
},
options: [
{
name: 'Cluster',
value: 'cluster',
description: 'Manage MongoDB clusters',
},
{
name: 'User',
value: 'user',
description: 'Manage MongoDB users',
},
{
name: 'Snapshot',
value: 'snapshot',
description: 'Manage MongoDB snapshots',
},
{
name: 'Template',
value: 'template',
description: 'Get MongoDB templates',
},
{
name: 'Log',
value: 'log',
description: 'Get MongoDB logs',
},
],
default: 'cluster',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['cluster'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a MongoDB cluster',
action: 'Create a MongoDB cluster',
},
{
name: 'Get',
value: 'get',
description: 'Get a MongoDB cluster',
action: 'Get a MongoDB cluster',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many MongoDB clusters',
action: 'Get many MongoDB clusters',
},
{
name: 'Update',
value: 'update',
description: 'Update a MongoDB cluster',
action: 'Update a MongoDB cluster',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a MongoDB cluster',
action: 'Delete a MongoDB cluster',
},
{
name: 'Restore',
value: 'restore',
description: 'Restore MongoDB cluster from snapshot',
action: 'Restore MongoDB cluster from snapshot',
},
],
default: 'create',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['user'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a MongoDB user',
action: 'Create a MongoDB user',
},
{
name: 'Get',
value: 'get',
description: 'Get a MongoDB user',
action: 'Get a MongoDB user',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many MongoDB users',
action: 'Get many MongoDB users',
},
{
name: 'Update',
value: 'update',
description: 'Update a MongoDB user',
action: 'Update a MongoDB user',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a MongoDB user',
action: 'Delete a MongoDB user',
},
],
default: 'create',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['snapshot'],
},
},
options: [
{
name: 'Get Many',
value: 'getMany',
description: 'Get many MongoDB snapshots',
action: 'Get many MongoDB snapshots',
},
],
default: 'getMany',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['template'],
},
},
options: [
{
name: 'Get Many',
value: 'getMany',
description: 'Get many MongoDB templates',
action: 'Get many MongoDB templates',
},
],
default: 'getMany',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['log'],
},
},
options: [
{
name: 'Get',
value: 'get',
description: 'Get MongoDB logs',
action: 'Get MongoDB logs',
},
],
default: 'get',
},
{
displayName: 'Resource',
name: 'mariadbResource',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mariadb'],
},
},
options: [
{
name: 'Cluster',
value: 'cluster',
description: 'Manage MariaDB clusters',
},
{
name: 'Backup',
value: 'backup',
description: 'Manage MariaDB backups',
},
],
default: 'cluster',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mariadb'],
mariadbResource: ['cluster'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a MariaDB cluster',
action: 'Create a MariaDB cluster',
},
{
name: 'Get',
value: 'get',
description: 'Get a MariaDB cluster',
action: 'Get a MariaDB cluster',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many MariaDB clusters',
action: 'Get many MariaDB clusters',
},
{
name: 'Update',
value: 'update',
description: 'Update a MariaDB cluster',
action: 'Update a MariaDB cluster',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a MariaDB cluster',
action: 'Delete a MariaDB cluster',
},
{
name: 'Restore',
value: 'restore',
description: 'Restore MariaDB cluster from backup',
action: 'Restore MariaDB cluster from backup',
},
],
default: 'create',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['mariadb'],
mariadbResource: ['backup'],
},
},
options: [
{
name: 'Get',
value: 'get',
description: 'Get a MariaDB backup',
action: 'Get a MariaDB backup',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many MariaDB backups',
action: 'Get many MariaDB backups',
},
],
default: 'getMany',
},
{
displayName: 'Resource',
name: 'redisResource',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['redis'],
},
},
options: [
{
name: 'ReplicaSet',
value: 'replicaset',
description: 'Manage Redis replica sets',
},
{
name: 'Snapshot',
value: 'snapshot',
description: 'Manage Redis snapshots',
},
],
default: 'replicaset',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['redis'],
redisResource: ['replicaset'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a Redis replica set',
action: 'Create a Redis replica set',
},
{
name: 'Get',
value: 'get',
description: 'Get a Redis replica set',
action: 'Get a Redis replica set',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many Redis replica sets',
action: 'Get many Redis replica sets',
},
{
name: 'Delete',
value: 'delete',
action: 'Delete a Redis replica set',
},
],
default: 'create',
},
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['redis'],
redisResource: ['snapshot'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a Redis snapshot',
action: 'Create a Redis snapshot',
},
{
name: 'Get',
value: 'get',
description: 'Get a Redis snapshot',
action: 'Get a Redis snapshot',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get many Redis snapshots',
action: 'Get many Redis snapshots',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a Redis snapshot',
action: 'Delete a Redis snapshot',
},
{
name: 'Restore',
value: 'restore',
description: 'Restore Redis replica set from snapshot',
action: 'Restore Redis replica set from snapshot',
},
],
default: 'create',
},
{
displayName: 'Cluster ID',
name: 'clusterId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['cluster'],
operation: ['get', 'update', 'delete', 'restore'],
},
},
default: '',
description: 'The unique ID of the PostgreSQL cluster',
},
{
displayName: 'Cluster ID',
name: 'clusterId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['cluster'],
operation: ['get', 'update', 'delete', 'restore'],
},
},
default: '',
description: 'The unique ID of the MongoDB cluster',
},
{
displayName: 'Cluster ID',
name: 'clusterId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['mariadb'],
mariadbResource: ['cluster'],
operation: ['get', 'update', 'delete', 'restore'],
},
},
default: '',
description: 'The unique ID of the MariaDB cluster',
},
{
displayName: 'Cluster ID',
name: 'clusterId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['user', 'database', 'backup', 'log'],
},
},
default: '',
description: 'The unique ID of the PostgreSQL cluster',
},
{
displayName: 'Cluster ID',
name: 'clusterId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['user', 'database'],
},
},
default: '',
description: 'The unique ID of the MongoDB cluster',
},
{
displayName: 'ReplicaSet ID',
name: 'replicasetId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['redis'],
redisResource: ['replicaset'],
operation: ['get', 'delete'],
},
},
default: '',
description: 'The unique ID of the replica set',
},
{
displayName: 'Snapshot ID',
name: 'snapshotId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['redis'],
redisResource: ['snapshot'],
operation: ['get', 'delete', 'restore'],
},
},
default: '',
description: 'The unique ID of the snapshot',
},
{
displayName: 'Backup ID',
name: 'backupId',
type: 'string',
required: true,
displayOptions: {
show: {
postgresqlResource: ['backup'],
operation: ['get'],
},
},
default: '',
description: 'The unique ID of the backup',
},
{
displayName: 'Backup ID',
name: 'backupId',
type: 'string',
required: true,
displayOptions: {
show: {
mariadbResource: ['backup'],
operation: ['get'],
},
},
default: '',
description: 'The unique ID of the backup',
},
{
displayName: 'Username',
name: 'username',
type: 'string',
required: true,
displayOptions: {
show: {
postgresqlResource: ['user'],
operation: ['get', 'update', 'delete'],
},
},
default: '',
description: 'The username',
},
{
displayName: 'New Password',
name: 'password',
type: 'string',
typeOptions: {
password: true,
},
required: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['user'],
operation: ['update'],
},
},
default: '',
description: 'The new password for the PostgreSQL user (10-63 characters)',
},
{
displayName: 'Username',
name: 'username',
type: 'string',
required: true,
displayOptions: {
show: {
mongodbResource: ['user'],
operation: ['get', 'update', 'delete'],
},
},
default: '',
description: 'The username',
},
{
displayName: 'New Password',
name: 'password',
type: 'string',
typeOptions: {
password: true,
},
required: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['user'],
operation: ['update'],
},
},
default: '',
description: 'The new password for the MongoDB user (10-63 characters)',
},
{
displayName: 'Database Name',
name: 'databaseName',
type: 'string',
required: true,
displayOptions: {
show: {
postgresqlResource: ['database'],
operation: ['get', 'delete'],
},
},
default: '',
description: 'The database name',
},
{
displayName: 'Display Name',
name: 'displayName',
type: 'string',
required: true,
displayOptions: {
show: {
operation: ['create'],
},
hide: {
postgresqlResource: ['user', 'database', 'backup', 'log'],
mongodbResource: ['user', 'database'],
mariadbResource: ['backup'],
},
},
default: '',
description: 'The display name of the cluster/replica set',
},
{
displayName: 'PostgreSQL Version',
name: 'postgresVersion',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['cluster'],
operation: ['create'],
},
},
default: '15',
description: 'The PostgreSQL version (e.g., 12, 13, 14, 15, 16)',
},
{
displayName: 'MongoDB Version',
name: 'mongoVersion',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['cluster'],
operation: ['create'],
},
},
default: '6.0',
description: 'The MongoDB version (e.g., 5.0, 6.0, 7.0)',
},
{
displayName: 'Template ID',
name: 'templateId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['mongodb'],
mongodbResource: ['cluster'],
operation: ['create'],
},
},
default: '',
placeholder: 'e.g., 6b78d3d3-3381-4493-8c04-76f4f034d20e',
description: 'The unique ID of the template which specifies cores, storage size, and memory. Use /templates to get available templates.',
},
{
displayName: 'MariaDB Version',
name: 'mariadbVersion',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['mariadb'],
mariadbResource: ['cluster'],
operation: ['create'],
},
},
default: '10.6',
description: 'The MariaDB version (e.g., 10.6, 10.11)',
},
{
displayName: 'Redis Version',
name: 'redisVersion',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['redis'],
redisResource: ['replicaset'],
operation: ['create'],
},
},
default: '7.2',
description: 'The Redis version (e.g., 7.0, 7.2)',
},
{
displayName: 'Instances',
name: 'instances',
type: 'number',
required: true,
displayOptions: {
show: {
operation: ['create'],
},
hide: {
resource: ['redis'],
postgresqlResource: ['user', 'database', 'backup', 'log'],
mongodbResource: ['user', 'database'],
mariadbResource: ['backup'],
},
},
default: 1,
typeOptions: {
minValue: 1,
maxValue: 5,
},
description: 'The number of instances in the cluster (1-5)',
},
{
displayName: 'Replicas',
name: 'replicas',
type: 'number',
required: true,
displayOptions: {
show: {
resource: ['redis'],
redisResource: ['replicaset'],
operation: ['create'],
},
},
default: 1,
typeOptions: {
minValue: 1,
maxValue: 5,
},
description: 'The number of replicas (1 = standalone, >1 = leader-follower)',
},
{
displayName: 'Cores',
name: 'cores',
type: 'number',
displayOptions: {
show: {
operation: ['create'],
},
},
default: 4,
description: 'The number of CPU cores (not used for MongoDB - templates control resources)',
},
{
displayName: 'RAM (MB)',
name: 'ram',
type: 'number',
required: true,
displayOptions: {
show: {
operation: ['create'],
},
hide: {
resource: ['mariadb', 'redis'],
postgresqlResource: ['user', 'database', 'backup', 'log'],
mongodbResource: ['user', 'database', 'cluster'],
},
},
typeOptions: {
minValue: 1024,
},
default: 4096,
description: 'The amount of RAM in MB',
},
{
displayName: 'RAM (MB)',
name: 'ram',
type: 'number',
required: true,
displayOptions: {
show: {
operation: ['create'],
resource: ['mariadb'],
mariadbResource: ['cluster'],
},
},
typeOptions: {
minValue: 1024,
},
default: 4096,
description: 'The amount of RAM in MB',
},
{
displayName: 'RAM (MB)',
name: 'ram',
type: 'number',
required: true,
displayOptions: {
show: {
operation: ['create'],
resource: ['redis'],
redisResource: ['replicaset'],
},
},
typeOptions: {
minValue: 256,
maxValue: 256,
},
default: 256,
description: 'The amount of RAM in MB (fixed at 256 MB for Redis)',
},
{
displayName: 'Storage Size (MB)',
name: 'storageSize',
type: 'number',
required: true,
displayOptions: {
show: {
operation: ['create'],
},
hide: {
resource: ['redis', 'mariadb'],
postgresqlResource: ['user', 'database', 'backup', 'log'],
mongodbResource: ['user', 'database', 'cluster'],
},
},
typeOptions: {
minValue: 5120,
},
default: 20480,
description: 'The storage size in MB',
},
{
displayName: 'Storage Size (MB)',
name: 'storageSize',
type: 'number',
required: true,
displayOptions: {
show: {
operation: ['create'],
resource: ['mariadb'],
mariadbResource: ['cluster'],
},
},
typeOptions: {
minValue: 10240,
},
default: 10240,
description: 'The storage size in MB (min 10 GB / 10240 MB)',
},
{
displayName: 'Location',
name: 'location',
type: 'options',
required: true,
displayOptions: {
show: {
operation: ['create', 'get', 'getMany', 'update', 'delete'],
},
hide: {
postgresqlResource: ['user', 'database', 'backup', 'log'],
mongodbResource: ['user', 'database'],
mariadbResource: ['backup'],
},
},
options: [
{
name: 'Frankfurt, Germany (de/fra)',
value: 'de/fra',
},
{
name: 'Frankfurt 2, Germany (de/fra/2)',
value: 'de/fra/2',
},
{
name: 'Berlin, Germany (de/txl)',
value: 'de/txl',
},
{
name: 'Logroño, Spain (es/vit)',
value: 'es/vit',
},
{
name: 'Paris, France (fr/par)',
value: 'fr/par',
},
{
name: 'Birmingham, UK (gb/bhx)',
value: 'gb/bhx',
},
{
name: 'London, UK (gb/lhr)',
value: 'gb/lhr',
},
{
name: 'Newark, USA (us/ewr)',
value: 'us/ewr',
},
{
name: 'Las Vegas, USA (us/las)',
value: 'us/las',
},
{
name: 'Lenexa, USA (us/mci)',
value: 'us/mci',
},
],
default: 'de/fra',
description: 'The location/region for the database',
},
{
displayName: 'Storage Type',
name: 'storageType',
type: 'options',
required: true,
displayOptions: {
show: {
operation: ['create'],
},
hide: {
resource: ['mariadb', 'redis'],
postgresqlResource: ['user', 'database', 'backup', 'log'],
mongodbResource: ['user', 'database', 'cluster'],
},
},
options: [
{
name: 'HDD',
value: 'HDD',
},
{
name: 'SSD Standard',
value: 'SSD Standard',
},
{
name: 'SSD Premium',
value: 'SSD Premium',
},
],
default: 'SSD Standard',
description: 'The storage type for the database cluster',
},
{
displayName: 'Username',
name: 'credentialsUsername',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['cluster'],
operation: ['create'],
},
},
default: '',
placeholder: 'admin',
description: 'The initial username for database access',
},
{
displayName: 'Password',
name: 'credentialsPassword',
type: 'string',
required: true,
typeOptions: {
password: true,
},
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['cluster'],
operation: ['create'],
},
},
default: '',
description: 'The initial password for database access (min 10 characters)',
},
{
displayName: 'Username',
name: 'credentialsUsername',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['mariadb'],
mariadbResource: ['cluster'],
operation: ['create'],
},
},
default: '',
placeholder: 'admin',
description: 'The initial username for database access',
},
{
displayName: 'Password',
name: 'credentialsPassword',
type: 'string',
required: true,
typeOptions: {
password: true,
},
displayOptions: {
show: {
resource: ['mariadb'],
mariadbResource: ['cluster'],
operation: ['create'],
},
},
default: '',
description: 'The initial password for database access (min 10 characters)',
},
{
displayName: 'Username',
name: 'credentialsUsername',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['redis'],
redisResource: ['replicaset'],
operation: ['create'],
},
},
default: '',
description: 'The initial username for database access',
},
{
displayName: 'Password',
name: 'credentialsPassword',
type: 'string',
typeOptions: {
password: true,
},
required: true,
displayOptions: {
show: {
resource: ['redis'],
redisResource: ['replicaset'],
operation: ['create'],
},
},
default: '',
description: 'The initial password for database access (min 10 characters)',
},
{
displayName: 'Synchronization Mode',
name: 'synchronizationMode',
type: 'options',
required: true,
displayOptions: {
show: {
resource: ['postgresql'],
postgresqlResource: ['cluster'],
operation: ['create'],
},
},
options: [
{
name: 'Asynchronous',
value: 'ASYNCHRONOUS',
description: 'Asynchronous replication - faster but may lose data on failure',
},
{
name: 'Synchronous',
value: 'SYNCHRONOUS',
description: 'Synchronous replication - balanced performance and durability',
},
{
name: 'Strictly Synchronous',
value: 'STRICTLY_SYNCHRONOUS',
description: 'Strictly synchronous - highest durability but slower',
},
],
default: 'ASYNCHRONOUS',
description: 'The synchronization mode for PostgreSQL replication',
},
{
displayName: 'Synchronization Mode',
name: 'synchronizationMode',
type: 'options',
required: true,
displayOptions: {
show: {
resource: ['mariadb'],
mariadbResource: ['cluster'],
operation: ['create'],
},
},
options: [
{
name: 'Asynchronous',