n8n-nodes-arubaclearpass 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/credentials/ClearPassApi.credentials.d.ts +7 -0
- package/dist/credentials/ClearPassApi.credentials.js +69 -0
- package/dist/credentials/ClearPassOAuth2Api.credentials.d.ts +10 -0
- package/dist/credentials/ClearPassOAuth2Api.credentials.js +55 -0
- package/dist/nodes/ArubaCentral/clearpass.svg +4 -0
- package/dist/nodes/ArubaClearPass/ArubaClearPass.node.d.ts +5 -0
- package/dist/nodes/ArubaClearPass/ArubaClearPass.node.js +173 -0
- package/dist/nodes/ArubaClearPass/descriptions/EnforcementProfile/EnforcementProfile.descriptions.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/descriptions/EnforcementProfile/EnforcementProfile.descriptions.js +361 -0
- package/dist/nodes/ArubaClearPass/descriptions/EnforcementProfile/index.d.ts +2 -0
- package/dist/nodes/ArubaClearPass/descriptions/EnforcementProfile/index.js +11 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/ApiClient.descriptions.d.ts +0 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/ApiClient.descriptions.js +0 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/DenyListedUsers.descriptions.d.ts +0 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/DenyListedUsers.descriptions.js +0 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/Device.descriptions.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/Device.descriptions.js +668 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/Endpoint.descriptions.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/Endpoint.descriptions.js +255 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/ExternalAccount.descriptions.d.ts +0 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/ExternalAccount.descriptions.js +0 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/GuestUser.descriptions.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/GuestUser.descriptions.js +477 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/LocalUser.descriptions.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/LocalUser.descriptions.js +384 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/StaticHostList.descriptions.d.ts +0 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/StaticHostList.descriptions.js +0 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/index.d.ts +2 -0
- package/dist/nodes/ArubaClearPass/descriptions/Identities/index.js +23 -0
- package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/EnforcementPolicy.descriptions.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/EnforcementPolicy.descriptions.js +432 -0
- package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/Role.descriptions.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/Role.descriptions.js +263 -0
- package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/RoleMapping.descriptions.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/RoleMapping.descriptions.js +365 -0
- package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/index.d.ts +2 -0
- package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/index.js +19 -0
- package/dist/nodes/ArubaClearPass/helpers/apiRequest.d.ts +9 -0
- package/dist/nodes/ArubaClearPass/helpers/apiRequest.js +72 -0
- package/dist/nodes/ArubaClearPass/helpers/errorHandler.d.ts +4 -0
- package/dist/nodes/ArubaClearPass/helpers/errorHandler.js +31 -0
- package/dist/nodes/ArubaClearPass/helpers/executeOperation.d.ts +5 -0
- package/dist/nodes/ArubaClearPass/helpers/executeOperation.js +164 -0
- package/dist/nodes/ArubaClearPass/helpers/responseFormatter.d.ts +5 -0
- package/dist/nodes/ArubaClearPass/helpers/responseFormatter.js +17 -0
- package/dist/nodes/ArubaClearPass/helpers/tokenManager.d.ts +5 -0
- package/dist/nodes/ArubaClearPass/helpers/tokenManager.js +63 -0
- package/dist/nodes/ArubaClearPass/methods/EnforcementProfile/EnforcementProfile.methods.d.ts +41 -0
- package/dist/nodes/ArubaClearPass/methods/EnforcementProfile/EnforcementProfile.methods.js +395 -0
- package/dist/nodes/ArubaClearPass/methods/Identities/Device.methods.d.ts +41 -0
- package/dist/nodes/ArubaClearPass/methods/Identities/Device.methods.js +409 -0
- package/dist/nodes/ArubaClearPass/methods/Identities/Endpoint.methods.d.ts +33 -0
- package/dist/nodes/ArubaClearPass/methods/Identities/Endpoint.methods.js +212 -0
- package/dist/nodes/ArubaClearPass/methods/Identities/GuestUser.methods.d.ts +41 -0
- package/dist/nodes/ArubaClearPass/methods/Identities/GuestUser.methods.js +589 -0
- package/dist/nodes/ArubaClearPass/methods/Identities/LocalUser.methods.d.ts +41 -0
- package/dist/nodes/ArubaClearPass/methods/Identities/LocalUser.methods.js +407 -0
- package/dist/nodes/ArubaClearPass/methods/PolicyElements/EnforcementPolicy.methods.d.ts +41 -0
- package/dist/nodes/ArubaClearPass/methods/PolicyElements/EnforcementPolicy.methods.js +361 -0
- package/dist/nodes/ArubaClearPass/methods/PolicyElements/Role.methods.d.ts +41 -0
- package/dist/nodes/ArubaClearPass/methods/PolicyElements/Role.methods.js +298 -0
- package/dist/nodes/ArubaClearPass/methods/PolicyElements/RoleMapping.methods.d.ts +41 -0
- package/dist/nodes/ArubaClearPass/methods/PolicyElements/RoleMapping.methods.js +358 -0
- package/dist/nodes/ArubaClearPass/types/EnforcementProfile/EnforcementProfile.types.d.ts +131 -0
- package/dist/nodes/ArubaClearPass/types/EnforcementProfile/EnforcementProfile.types.js +2 -0
- package/dist/nodes/ArubaClearPass/types/Identities/Device.types.d.ts +55 -0
- package/dist/nodes/ArubaClearPass/types/Identities/Device.types.js +2 -0
- package/dist/nodes/ArubaClearPass/types/Identities/Endpoint.types.d.ts +12 -0
- package/dist/nodes/ArubaClearPass/types/Identities/Endpoint.types.js +2 -0
- package/dist/nodes/ArubaClearPass/types/Identities/GuestUser.types.d.ts +31 -0
- package/dist/nodes/ArubaClearPass/types/Identities/GuestUser.types.js +2 -0
- package/dist/nodes/ArubaClearPass/types/Identities/LocalUser.types.d.ts +51 -0
- package/dist/nodes/ArubaClearPass/types/Identities/LocalUser.types.js +2 -0
- package/dist/nodes/ArubaClearPass/types/PolicyElements/EnforcementPolicy.types.d.ts +37 -0
- package/dist/nodes/ArubaClearPass/types/PolicyElements/EnforcementPolicy.types.js +2 -0
- package/dist/nodes/ArubaClearPass/types/PolicyElements/Role.types.d.ts +15 -0
- package/dist/nodes/ArubaClearPass/types/PolicyElements/Role.types.js +2 -0
- package/dist/nodes/ArubaClearPass/types/PolicyElements/RoleMapping.types.d.ts +63 -0
- package/dist/nodes/ArubaClearPass/types/PolicyElements/RoleMapping.types.js +2 -0
- package/package.json +72 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClearPassApi = void 0;
|
|
4
|
+
class ClearPassApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'clearPassApi';
|
|
7
|
+
this.displayName = 'ClearPass API';
|
|
8
|
+
this.documentationUrl = 'https://www.arubanetworks.com/products/network-management-operations/clearpass/';
|
|
9
|
+
// Properties shown in the credential dialog
|
|
10
|
+
this.properties = [
|
|
11
|
+
{
|
|
12
|
+
displayName: 'URL',
|
|
13
|
+
name: 'url',
|
|
14
|
+
type: 'string',
|
|
15
|
+
default: 'https://clearpass.example.com',
|
|
16
|
+
required: true,
|
|
17
|
+
description: 'The URL of the ClearPass server (without trailing slash)',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
displayName: 'Authentication Type',
|
|
21
|
+
name: 'authType',
|
|
22
|
+
type: 'options',
|
|
23
|
+
options: [
|
|
24
|
+
{
|
|
25
|
+
name: 'Client ID & Secret',
|
|
26
|
+
value: 'clientCredentials',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'OAuth2',
|
|
30
|
+
value: 'oauth2',
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
default: 'clientCredentials',
|
|
34
|
+
required: true,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
displayName: 'Client ID',
|
|
38
|
+
name: 'clientId',
|
|
39
|
+
type: 'string',
|
|
40
|
+
default: '',
|
|
41
|
+
required: true,
|
|
42
|
+
description: 'The client ID for accessing the ClearPass API',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
displayName: 'Client Secret',
|
|
46
|
+
name: 'clientSecret',
|
|
47
|
+
type: 'string',
|
|
48
|
+
typeOptions: { password: true },
|
|
49
|
+
default: '',
|
|
50
|
+
required: true,
|
|
51
|
+
description: 'The client secret for accessing the ClearPass API',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
displayName: 'Access Token URL',
|
|
55
|
+
name: 'accessTokenUrl',
|
|
56
|
+
type: 'string',
|
|
57
|
+
default: 'https://clearpass.example.com/api/oauth',
|
|
58
|
+
required: true,
|
|
59
|
+
displayOptions: {
|
|
60
|
+
show: {
|
|
61
|
+
authType: ['oauth2'],
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
description: 'The URL to get the access token (OAuth2 only)',
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.ClearPassApi = ClearPassApi;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ICredentialType, INodeProperties, IDataObject } from 'n8n-workflow';
|
|
2
|
+
export declare class ClearPassOAuth2Api implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
extends: string[];
|
|
7
|
+
properties: INodeProperties[];
|
|
8
|
+
getAuthUrl(credentials: IDataObject): string;
|
|
9
|
+
getAccessTokenUrl(credentials: IDataObject): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClearPassOAuth2Api = void 0;
|
|
4
|
+
class ClearPassOAuth2Api {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'clearPassOAuth2Api';
|
|
7
|
+
this.displayName = 'ClearPass OAuth2 API';
|
|
8
|
+
this.documentationUrl = 'https://www.arubanetworks.com/products/network-management-operations/clearpass/';
|
|
9
|
+
this.extends = ['oAuth2Api'];
|
|
10
|
+
this.properties = [
|
|
11
|
+
{
|
|
12
|
+
displayName: 'URL',
|
|
13
|
+
name: 'url',
|
|
14
|
+
type: 'string',
|
|
15
|
+
default: 'https://clearpass.example.com',
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
displayName: 'Authorization URL',
|
|
20
|
+
name: 'authUrl',
|
|
21
|
+
type: 'hidden',
|
|
22
|
+
default: '={{$self.getAuthUrl($credentials)}}',
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
displayName: 'Access Token URL',
|
|
27
|
+
name: 'accessTokenUrl',
|
|
28
|
+
type: 'hidden',
|
|
29
|
+
default: '={{$self.getAccessTokenUrl($credentials)}}',
|
|
30
|
+
required: true,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
displayName: 'Auth URI Query Parameters',
|
|
34
|
+
name: 'authQueryParameters',
|
|
35
|
+
type: 'hidden',
|
|
36
|
+
default: '',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
displayName: 'Authentication',
|
|
40
|
+
name: 'authentication',
|
|
41
|
+
type: 'hidden',
|
|
42
|
+
default: 'body',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
// Method to dynamically generate the authorization URL
|
|
47
|
+
getAuthUrl(credentials) {
|
|
48
|
+
return `${credentials.url}/api/oauth`;
|
|
49
|
+
}
|
|
50
|
+
// Method to dynamically generate the access token URL
|
|
51
|
+
getAccessTokenUrl(credentials) {
|
|
52
|
+
return `${credentials.url}/api/oauth`;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.ClearPassOAuth2Api = ClearPassOAuth2Api;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path fill="#FF8300" fill-rule="evenodd" d="M12.1099561,17.3015551 C9.03598293,17.3015551 6.50849391,14.8423766 6.50849391,11.836714 C6.50849391,8.83105139 9.03598293,6.37187289 12.1099561,6.37187289 C15.1839292,6.37187289 17.7114182,8.83105139 17.7114182,11.836714 C17.7114182,14.8423766 15.1839292,17.3015551 12.1099561,17.3015551 L12.1099561,17.3015551 Z M12.1099561,2 C6.50849391,2 2,6.4401834 2,11.836714 C2,17.3015551 6.50849391,21.673428 12.1099561,21.673428 C14.4325135,21.673428 16.5501395,20.9220123 18.2579023,19.6241126 C19.28256,21.3318754 22.2199121,21.673428 22.2199121,21.673428 L22.2199121,11.836714 C22.2199121,6.4401834 17.7114182,2 12.1099561,2 L12.1099561,2 Z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class ArubaClearPass implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArubaClearPass = void 0;
|
|
4
|
+
const executeOperation_1 = require("./helpers/executeOperation");
|
|
5
|
+
//
|
|
6
|
+
// Add more domain description inports here
|
|
7
|
+
//
|
|
8
|
+
// ⚠️ IMPORTANT: The class MUST be named "index" for n8n to load it correctly
|
|
9
|
+
class ArubaClearPass {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.description = {
|
|
12
|
+
displayName: 'Aruba ClearPass',
|
|
13
|
+
name: 'arubaClearPass',
|
|
14
|
+
icon: 'file:clearpass.svg',
|
|
15
|
+
group: ['transform'],
|
|
16
|
+
version: 1,
|
|
17
|
+
subtitle: '={{$parameter["domain"] + ": " + $parameter["resource"] + " - " + $parameter["operation"]}}',
|
|
18
|
+
description: 'Interact with Aruba ClearPass API',
|
|
19
|
+
defaults: {
|
|
20
|
+
name: 'Aruba ClearPass',
|
|
21
|
+
},
|
|
22
|
+
usableAsTool: true,
|
|
23
|
+
inputs: ['main'],
|
|
24
|
+
outputs: ['main'],
|
|
25
|
+
credentials: [
|
|
26
|
+
{
|
|
27
|
+
name: 'clearPassApi',
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
properties: [
|
|
32
|
+
{
|
|
33
|
+
displayName: 'Domain',
|
|
34
|
+
name: 'domain',
|
|
35
|
+
type: 'options',
|
|
36
|
+
options: [
|
|
37
|
+
{
|
|
38
|
+
name: 'Identities',
|
|
39
|
+
value: 'Identities',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Policy Elements',
|
|
43
|
+
value: 'PolicyElements',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Enforcement Profile',
|
|
47
|
+
value: 'EnforcementProfile',
|
|
48
|
+
},
|
|
49
|
+
// Other domains can be added here when implemented
|
|
50
|
+
],
|
|
51
|
+
default: 'Identities',
|
|
52
|
+
required: true,
|
|
53
|
+
description: 'API domain to access',
|
|
54
|
+
},
|
|
55
|
+
// Resource selection property for Identities domain
|
|
56
|
+
{
|
|
57
|
+
displayName: 'Resource',
|
|
58
|
+
name: 'resource',
|
|
59
|
+
type: 'options',
|
|
60
|
+
displayOptions: {
|
|
61
|
+
show: {
|
|
62
|
+
domain: ['Identities'],
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
options: [
|
|
66
|
+
{
|
|
67
|
+
name: 'Devices',
|
|
68
|
+
value: 'Device',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Endpoints',
|
|
72
|
+
value: 'Endpoint',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Guest Users',
|
|
76
|
+
value: 'GuestUser',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'Local Users',
|
|
80
|
+
value: 'LocalUser',
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
default: 'Endpoint',
|
|
84
|
+
required: true,
|
|
85
|
+
description: 'Resource to consume',
|
|
86
|
+
},
|
|
87
|
+
// Resource selection property for PolicyElements domain
|
|
88
|
+
{
|
|
89
|
+
displayName: 'Resource',
|
|
90
|
+
name: 'resource',
|
|
91
|
+
type: 'options',
|
|
92
|
+
displayOptions: {
|
|
93
|
+
show: {
|
|
94
|
+
domain: ['PolicyElements'],
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
options: [
|
|
98
|
+
{
|
|
99
|
+
name: 'Roles',
|
|
100
|
+
value: 'Role',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'Role Mappings',
|
|
104
|
+
value: 'RoleMapping',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'Enforcement Policies',
|
|
108
|
+
value: 'EnforcementPolicy',
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
default: 'Role',
|
|
112
|
+
required: true,
|
|
113
|
+
description: 'Resource to consume',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
displayName: 'Resource',
|
|
117
|
+
name: 'resource',
|
|
118
|
+
type: 'options',
|
|
119
|
+
displayOptions: {
|
|
120
|
+
show: {
|
|
121
|
+
domain: ['EnforcementProfile'],
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
options: [
|
|
125
|
+
{
|
|
126
|
+
name: 'Enforcement Profiles',
|
|
127
|
+
value: 'EnforcementProfile',
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
default: 'EnforcementProfile',
|
|
131
|
+
required: true,
|
|
132
|
+
description: 'Resource to consume',
|
|
133
|
+
},
|
|
134
|
+
// Import the properties from the descriptions
|
|
135
|
+
...require('./descriptions/Identities/Device.descriptions').deviceProperties,
|
|
136
|
+
...require('./descriptions/Identities/Endpoint.descriptions').endpointProperties,
|
|
137
|
+
...require('./descriptions/Identities/GuestUser.descriptions').guestUserProperties,
|
|
138
|
+
...require('./descriptions/Identities/LocalUser.descriptions').localUserProperties,
|
|
139
|
+
...require('./descriptions/PolicyElements/Role.descriptions').roleProperties,
|
|
140
|
+
...require('./descriptions/PolicyElements/RoleMapping.descriptions').roleMappingProperties,
|
|
141
|
+
...require('./descriptions/PolicyElements/EnforcementPolicy.descriptions')
|
|
142
|
+
.enforcementPolicyProperties,
|
|
143
|
+
...require('./descriptions/EnforcementProfile/EnforcementProfile.descriptions')
|
|
144
|
+
.enforcementProfileProperties,
|
|
145
|
+
///
|
|
146
|
+
// Add imports for other descriptions here
|
|
147
|
+
///
|
|
148
|
+
],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
async execute() {
|
|
152
|
+
console.log('\n\n========== CLEARPASS NODE EXECUTION STARTED ==========');
|
|
153
|
+
try {
|
|
154
|
+
const result = await executeOperation_1.executeOperation.call(this);
|
|
155
|
+
// Add some debugging information
|
|
156
|
+
console.log(`Operation executed successfully, returning ${result.length} items`);
|
|
157
|
+
return [result]; // Return the result wrapped in an array
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
console.log('ERROR in node execution:');
|
|
161
|
+
console.log(error);
|
|
162
|
+
if (this.continueOnFail()) {
|
|
163
|
+
console.log('Continue on fail is enabled, returning error as output');
|
|
164
|
+
return [[{ json: { error: error.message } }]];
|
|
165
|
+
}
|
|
166
|
+
throw error;
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
console.log('========== CLEARPASS NODE EXECUTION COMPLETED ==========\n\n');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.ArubaClearPass = ArubaClearPass;
|