n8n-nodes-arubaclearpass
Version:
n8n community node for Aruba ClearPass API integration with comprehensive identity, policy, and enforcement profile management
235 lines (234 loc) • 7.52 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.selfSignedCertProperties = exports.selfSignedCertFields = exports.selfSignedCertOperations = void 0;
exports.selfSignedCertOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a new self-signed certificate on a ClearPass server',
action: 'Create a self-signed certificate',
},
],
default: 'create',
};
exports.selfSignedCertFields = [
// Certificate Type (RSA or ECDSA)
{
displayName: 'Certificate Type',
name: 'certificate_type',
type: 'options',
required: true,
default: 'RSA',
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
operation: ['create'],
},
},
options: [
{ name: 'RSA', value: 'RSA' },
{ name: 'ECDSA', value: 'ECDSA' },
],
description: 'Type of certificate key pair to generate',
},
// Server (hostname or UUID)
{
displayName: 'Server',
name: 'server',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
operation: ['create'],
},
},
typeOptions: {
expressionsEnabled: true,
},
description: 'Hostname or UUID of the ClearPass server that will generate the certificate',
},
// Service type the cert will be used for
{
displayName: 'Service Type',
name: 'type',
type: 'options',
required: true,
default: 'HTTPS(RSA)',
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
operation: ['create'],
},
},
options: [
{ name: 'HTTPS (RSA)', value: 'HTTPS(RSA)' },
{ name: 'HTTPS (ECC)', value: 'HTTPS(ECC)' },
{ name: 'RADIUS', value: 'RADIUS' },
{ name: 'RadSec', value: 'RadSec' },
],
description: 'ClearPass service this certificate will be used for',
},
// Common Name (required)
{
displayName: 'Common Name (CN)',
name: 'subject_CN',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
operation: ['create'],
},
},
typeOptions: {
expressionsEnabled: true,
},
description: 'Common Name for the certificate (typically the server FQDN, e.g. clearpass.example.com)',
},
// Private Key Password (required)
{
displayName: 'Private Key Password',
name: 'private_key_password',
type: 'string',
required: true,
typeOptions: {
password: true,
expressionsEnabled: true,
},
default: '',
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
operation: ['create'],
},
},
description: 'Password to protect the generated private key',
},
// Private Key Type (required)
{
displayName: 'Private Key Type',
name: 'private_key_type',
type: 'options',
required: true,
default: '2048',
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
operation: ['create'],
},
},
options: [
{ name: 'RSA 2048-bit', value: '2048' },
{ name: 'RSA 4096-bit', value: '4096' },
{ name: 'ECDSA P-256', value: 'P-256' },
{ name: 'ECDSA P-384', value: 'P-384' },
],
description: 'Key size (RSA) or named curve (ECDSA) for the private key',
},
// Digest Algorithm (required)
{
displayName: 'Digest Algorithm',
name: 'digest_algorithm',
type: 'options',
required: true,
default: 'SHA-256',
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
operation: ['create'],
},
},
options: [
{ name: 'SHA-256', value: 'SHA-256' },
{ name: 'SHA-384', value: 'SHA-384' },
{ name: 'SHA-512', value: 'SHA-512' },
],
description: 'Hash algorithm used to sign the certificate',
},
// Optional subject fields
{
displayName: 'Additional Subject Fields',
name: 'additionalSubject',
type: 'collection',
placeholder: 'Add Subject Field',
default: {},
displayOptions: {
show: {
domain: ['PlatformCertificates'],
resource: ['SelfSignedCert'],
operation: ['create'],
},
},
options: [
{
displayName: 'Organization (O)',
name: 'subject_O',
type: 'string',
default: '',
description: 'Organization name',
typeOptions: { expressionsEnabled: true },
},
{
displayName: 'Organizational Unit (OU)',
name: 'subject_OU',
type: 'string',
default: '',
description: 'Organizational unit name',
typeOptions: { expressionsEnabled: true },
},
{
displayName: 'Location (L)',
name: 'subject_L',
type: 'string',
default: '',
description: 'City or locality name',
typeOptions: { expressionsEnabled: true },
},
{
displayName: 'State (ST)',
name: 'subject_ST',
type: 'string',
default: '',
description: 'State or province name',
typeOptions: { expressionsEnabled: true },
},
{
displayName: 'Country (C)',
name: 'subject_C',
type: 'string',
default: '',
description: 'Two-letter country code (e.g. US)',
typeOptions: { expressionsEnabled: true },
},
{
displayName: 'Subject Alternate Name (SAN)',
name: 'subject_SAN',
type: 'string',
default: '',
description: 'Subject Alternative Names, comma-separated (e.g. DNS:clearpass.example.com,IP:10.0.0.1)',
typeOptions: { expressionsEnabled: true },
},
],
},
];
exports.selfSignedCertProperties = [exports.selfSignedCertOperations, ...exports.selfSignedCertFields];