@rockcarver/frodo-lib 0.19.0 → 0.19.2
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/CHANGELOG.md +32 -1
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/cloud/LogApi.js +39 -4
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/ops/PolicyOps.js +105 -47
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicyOps.test.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +102 -51
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.test.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js +57 -137
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +1 -6
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/esm/api/cloud/LogApi.mjs +42 -4
- package/esm/ops/PolicyOps.mjs +77 -27
- package/esm/ops/PolicyOps.test.mjs +21 -7
- package/esm/ops/PolicySetOps.mjs +80 -36
- package/esm/ops/PolicySetOps.test.mjs +12 -4
- package/esm/ops/cloud/LogOps.mjs +35 -116
- package/esm/ops/utils/ExportImportUtils.mjs +1 -5
- package/package.json +1 -1
- package/types/api/ApiTypes.d.ts +23 -0
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/cloud/LogApi.d.ts +28 -5
- package/types/api/cloud/LogApi.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts +23 -11
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts +21 -13
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/cloud/LogOps.d.ts +30 -7
- package/types/ops/cloud/LogOps.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +0 -1
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
package/cjs/ops/PolicySetOps.js
CHANGED
|
@@ -52,7 +52,7 @@ function getPolicySets() {
|
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
54
|
* Get policy set
|
|
55
|
-
* @param {string}
|
|
55
|
+
* @param {string} policySetName policy set name
|
|
56
56
|
* @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object
|
|
57
57
|
*/
|
|
58
58
|
function _getPolicySets2() {
|
|
@@ -73,8 +73,8 @@ function getPolicySet(_x) {
|
|
|
73
73
|
* @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object
|
|
74
74
|
*/
|
|
75
75
|
function _getPolicySet2() {
|
|
76
|
-
_getPolicySet2 = _asyncToGenerator(function* (
|
|
77
|
-
return (0, _PolicySetApi.getPolicySet)(
|
|
76
|
+
_getPolicySet2 = _asyncToGenerator(function* (policySetName) {
|
|
77
|
+
return (0, _PolicySetApi.getPolicySet)(policySetName);
|
|
78
78
|
});
|
|
79
79
|
return _getPolicySet2.apply(this, arguments);
|
|
80
80
|
}
|
|
@@ -97,7 +97,7 @@ function updatePolicySet(_x3) {
|
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* Delete policy set
|
|
100
|
-
* @param {string}
|
|
100
|
+
* @param {string} policySetName policy set name
|
|
101
101
|
* @returns {Promise<PolicySetSkeleton>} Promise resolvig to a policy set object
|
|
102
102
|
*/
|
|
103
103
|
function _updatePolicySet2() {
|
|
@@ -110,29 +110,28 @@ function deletePolicySet(_x4) {
|
|
|
110
110
|
return _deletePolicySet2.apply(this, arguments);
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
|
-
* Helper function to export
|
|
114
|
-
* @param {
|
|
115
|
-
* @param {PolicySetExportOptions} options export options
|
|
113
|
+
* Helper function to export prerequisites of a policy set
|
|
114
|
+
* @param {PolicySetSkeleton} policySetData policy set object
|
|
116
115
|
* @param {PolicySetExportInterface} exportData export data
|
|
117
116
|
*/
|
|
118
117
|
function _deletePolicySet2() {
|
|
119
|
-
_deletePolicySet2 = _asyncToGenerator(function* (
|
|
120
|
-
return (0, _PolicySetApi.deletePolicySet)(
|
|
118
|
+
_deletePolicySet2 = _asyncToGenerator(function* (policySetName) {
|
|
119
|
+
return (0, _PolicySetApi.deletePolicySet)(policySetName);
|
|
121
120
|
});
|
|
122
121
|
return _deletePolicySet2.apply(this, arguments);
|
|
123
122
|
}
|
|
124
|
-
function
|
|
125
|
-
return
|
|
123
|
+
function exportPolicySetPrerequisites(_x5, _x6) {
|
|
124
|
+
return _exportPolicySetPrerequisites.apply(this, arguments);
|
|
126
125
|
}
|
|
127
126
|
/**
|
|
128
|
-
*
|
|
129
|
-
* @param {
|
|
127
|
+
* Helper function to export dependencies of a policy set
|
|
128
|
+
* @param {PolicySetSkeleton} policySetData policy set object
|
|
130
129
|
* @param {PolicySetExportOptions} options export options
|
|
131
|
-
* @
|
|
130
|
+
* @param {PolicySetExportInterface} exportData export data
|
|
132
131
|
*/
|
|
133
|
-
function
|
|
134
|
-
|
|
135
|
-
(0, _Console.debugMessage)("PolicySetOps.
|
|
132
|
+
function _exportPolicySetPrerequisites() {
|
|
133
|
+
_exportPolicySetPrerequisites = _asyncToGenerator(function* (policySetData, exportData) {
|
|
134
|
+
(0, _Console.debugMessage)("PolicySetOps.exportPolicySetPrerequisites: start [policySet=".concat(policySetData['name'], "]"));
|
|
136
135
|
var errors = [];
|
|
137
136
|
// resource types
|
|
138
137
|
for (var resourceTypeUuid of policySetData.resourceTypeUuids) {
|
|
@@ -144,6 +143,27 @@ function _exportPolicySetDependencies() {
|
|
|
144
143
|
errors.push(error);
|
|
145
144
|
}
|
|
146
145
|
}
|
|
146
|
+
if (errors.length) {
|
|
147
|
+
var errorMessages = errors.map(error => error.message).join('\n');
|
|
148
|
+
throw new Error("Export dependencies error:\n".concat(errorMessages));
|
|
149
|
+
}
|
|
150
|
+
(0, _Console.debugMessage)("PolicySetOps.exportPolicySetPrerequisites: end");
|
|
151
|
+
});
|
|
152
|
+
return _exportPolicySetPrerequisites.apply(this, arguments);
|
|
153
|
+
}
|
|
154
|
+
function exportPolicySetDependencies(_x7, _x8, _x9) {
|
|
155
|
+
return _exportPolicySetDependencies.apply(this, arguments);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Export policy set
|
|
159
|
+
* @param {string} policySetName policy set name
|
|
160
|
+
* @param {PolicySetExportOptions} options export options
|
|
161
|
+
* @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object
|
|
162
|
+
*/
|
|
163
|
+
function _exportPolicySetDependencies() {
|
|
164
|
+
_exportPolicySetDependencies = _asyncToGenerator(function* (policySetData, options, exportData) {
|
|
165
|
+
(0, _Console.debugMessage)("PolicySetOps.exportPolicySetDependencies: start [policySet=".concat(policySetData['name'], "]"));
|
|
166
|
+
var errors = [];
|
|
147
167
|
// policies
|
|
148
168
|
try {
|
|
149
169
|
var policies = yield (0, _PolicyOps.getPoliciesByPolicySet)(policySetData.name);
|
|
@@ -174,7 +194,7 @@ function _exportPolicySetDependencies() {
|
|
|
174
194
|
});
|
|
175
195
|
return _exportPolicySetDependencies.apply(this, arguments);
|
|
176
196
|
}
|
|
177
|
-
function exportPolicySet(
|
|
197
|
+
function exportPolicySet(_x10) {
|
|
178
198
|
return _exportPolicySet.apply(this, arguments);
|
|
179
199
|
}
|
|
180
200
|
/**
|
|
@@ -183,15 +203,31 @@ function exportPolicySet(_x8, _x9) {
|
|
|
183
203
|
* @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object
|
|
184
204
|
*/
|
|
185
205
|
function _exportPolicySet() {
|
|
186
|
-
_exportPolicySet = _asyncToGenerator(function* (
|
|
206
|
+
_exportPolicySet = _asyncToGenerator(function* (policySetName) {
|
|
207
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
208
|
+
deps: true,
|
|
209
|
+
prereqs: false,
|
|
210
|
+
useStringArrays: true
|
|
211
|
+
};
|
|
187
212
|
(0, _Console.debugMessage)("PolicySetOps.exportPolicySet: start");
|
|
188
213
|
var exportData = createPolicySetExportTemplate();
|
|
189
214
|
var errors = [];
|
|
190
215
|
try {
|
|
191
|
-
var policySetData = yield getPolicySet(
|
|
216
|
+
var policySetData = yield getPolicySet(policySetName);
|
|
192
217
|
exportData.policyset[policySetData.name] = policySetData;
|
|
218
|
+
if (options.prereqs) {
|
|
219
|
+
try {
|
|
220
|
+
yield exportPolicySetPrerequisites(policySetData, exportData);
|
|
221
|
+
} catch (error) {
|
|
222
|
+
errors.push(error);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
193
225
|
if (options.deps) {
|
|
194
|
-
|
|
226
|
+
try {
|
|
227
|
+
yield exportPolicySetDependencies(policySetData, options, exportData);
|
|
228
|
+
} catch (error) {
|
|
229
|
+
errors.push(error);
|
|
230
|
+
}
|
|
195
231
|
}
|
|
196
232
|
} catch (error) {
|
|
197
233
|
errors.push(error);
|
|
@@ -205,16 +241,21 @@ function _exportPolicySet() {
|
|
|
205
241
|
});
|
|
206
242
|
return _exportPolicySet.apply(this, arguments);
|
|
207
243
|
}
|
|
208
|
-
function exportPolicySets(
|
|
244
|
+
function exportPolicySets() {
|
|
209
245
|
return _exportPolicySets.apply(this, arguments);
|
|
210
246
|
}
|
|
211
247
|
/**
|
|
212
|
-
* Helper function to import
|
|
248
|
+
* Helper function to import prerequisites of a policy set (resource types)
|
|
213
249
|
* @param {PolicySetSkeleton} policySetData policy set data
|
|
214
250
|
* @param {PolicySetExportInterface} exportData export data
|
|
215
251
|
*/
|
|
216
252
|
function _exportPolicySets() {
|
|
217
|
-
_exportPolicySets = _asyncToGenerator(function* (
|
|
253
|
+
_exportPolicySets = _asyncToGenerator(function* () {
|
|
254
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
255
|
+
deps: true,
|
|
256
|
+
prereqs: false,
|
|
257
|
+
useStringArrays: true
|
|
258
|
+
};
|
|
218
259
|
(0, _Console.debugMessage)("PolicySetOps.exportPolicySet: start");
|
|
219
260
|
var exportData = createPolicySetExportTemplate();
|
|
220
261
|
var errors = [];
|
|
@@ -222,6 +263,13 @@ function _exportPolicySets() {
|
|
|
222
263
|
var policySets = yield getPolicySets();
|
|
223
264
|
for (var policySetData of policySets) {
|
|
224
265
|
exportData.policyset[policySetData.name] = policySetData;
|
|
266
|
+
if (options.prereqs) {
|
|
267
|
+
try {
|
|
268
|
+
yield exportPolicySetPrerequisites(policySetData, exportData);
|
|
269
|
+
} catch (error) {
|
|
270
|
+
errors.push(error);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
225
273
|
if (options.deps) {
|
|
226
274
|
try {
|
|
227
275
|
yield exportPolicySetDependencies(policySetData, options, exportData);
|
|
@@ -242,16 +290,16 @@ function _exportPolicySets() {
|
|
|
242
290
|
});
|
|
243
291
|
return _exportPolicySets.apply(this, arguments);
|
|
244
292
|
}
|
|
245
|
-
function
|
|
246
|
-
return
|
|
293
|
+
function importPolicySetPrerequisites(_x11, _x12) {
|
|
294
|
+
return _importPolicySetPrerequisites.apply(this, arguments);
|
|
247
295
|
}
|
|
248
296
|
/**
|
|
249
|
-
* Helper function to import
|
|
297
|
+
* Helper function to import dependencies of a policy set (policies and scripts)
|
|
250
298
|
* @param {PolicySetSkeleton} policySetData policy set data
|
|
251
299
|
* @param {PolicySetExportInterface} exportData export data
|
|
252
300
|
*/
|
|
253
|
-
function
|
|
254
|
-
|
|
301
|
+
function _importPolicySetPrerequisites() {
|
|
302
|
+
_importPolicySetPrerequisites = _asyncToGenerator(function* (policySetData, exportData) {
|
|
255
303
|
(0, _Console.debugMessage)("PolicySetOps.importPolicySetHardDependencies: start [policySet=".concat(policySetData['name'], "]"));
|
|
256
304
|
var errors = [];
|
|
257
305
|
try {
|
|
@@ -280,19 +328,19 @@ function _importPolicySetHardDependencies() {
|
|
|
280
328
|
}
|
|
281
329
|
(0, _Console.debugMessage)("PolicySetOps.importPolicySetHardDependencies: end");
|
|
282
330
|
});
|
|
283
|
-
return
|
|
331
|
+
return _importPolicySetPrerequisites.apply(this, arguments);
|
|
284
332
|
}
|
|
285
|
-
function
|
|
286
|
-
return
|
|
333
|
+
function importPolicySetDependencies(_x13, _x14) {
|
|
334
|
+
return _importPolicySetDependencies.apply(this, arguments);
|
|
287
335
|
}
|
|
288
336
|
/**
|
|
289
337
|
* Import policy set
|
|
290
|
-
* @param {string}
|
|
338
|
+
* @param {string} policySetName policy set name
|
|
291
339
|
* @param {PolicySetExportInterface} importData import data
|
|
292
340
|
* @param {PolicySetImportOptions} options import options
|
|
293
341
|
*/
|
|
294
|
-
function
|
|
295
|
-
|
|
342
|
+
function _importPolicySetDependencies() {
|
|
343
|
+
_importPolicySetDependencies = _asyncToGenerator(function* (policySetData, exportData) {
|
|
296
344
|
(0, _Console.debugMessage)("PolicySetOps.importPolicySetSoftDependencies: start [policySet=".concat(policySetData['name'], "]"));
|
|
297
345
|
var errors = [];
|
|
298
346
|
try {
|
|
@@ -338,7 +386,7 @@ function _importPolicySetSoftDependencies() {
|
|
|
338
386
|
}
|
|
339
387
|
(0, _Console.debugMessage)("PolicySetOps.importPolicySetSoftDependencies: end");
|
|
340
388
|
});
|
|
341
|
-
return
|
|
389
|
+
return _importPolicySetDependencies.apply(this, arguments);
|
|
342
390
|
}
|
|
343
391
|
function importPolicySet(_x15, _x16) {
|
|
344
392
|
return _importPolicySet.apply(this, arguments);
|
|
@@ -349,21 +397,22 @@ function importPolicySet(_x15, _x16) {
|
|
|
349
397
|
* @param {PolicySetImportOptions} options import options
|
|
350
398
|
*/
|
|
351
399
|
function _importPolicySet() {
|
|
352
|
-
_importPolicySet = _asyncToGenerator(function* (
|
|
400
|
+
_importPolicySet = _asyncToGenerator(function* (policySetName, importData) {
|
|
353
401
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
|
|
354
|
-
deps: true
|
|
402
|
+
deps: true,
|
|
403
|
+
prereqs: false
|
|
355
404
|
};
|
|
356
405
|
var response = null;
|
|
357
406
|
var errors = [];
|
|
358
407
|
var imported = [];
|
|
359
408
|
for (var id of Object.keys(importData.policyset)) {
|
|
360
|
-
if (id ===
|
|
409
|
+
if (id === policySetName) {
|
|
361
410
|
try {
|
|
362
411
|
var policySetData = importData.policyset[id];
|
|
363
412
|
delete policySetData._rev;
|
|
364
|
-
if (options.
|
|
413
|
+
if (options.prereqs) {
|
|
365
414
|
try {
|
|
366
|
-
yield
|
|
415
|
+
yield importPolicySetPrerequisites(policySetData, importData);
|
|
367
416
|
} catch (error) {
|
|
368
417
|
errors.push(error);
|
|
369
418
|
}
|
|
@@ -380,7 +429,7 @@ function _importPolicySet() {
|
|
|
380
429
|
}
|
|
381
430
|
if (options.deps) {
|
|
382
431
|
try {
|
|
383
|
-
yield
|
|
432
|
+
yield importPolicySetDependencies(policySetData, importData);
|
|
384
433
|
} catch (error) {
|
|
385
434
|
errors.push(error);
|
|
386
435
|
}
|
|
@@ -395,7 +444,7 @@ function _importPolicySet() {
|
|
|
395
444
|
throw new Error("Import error:\n".concat(errorMessages));
|
|
396
445
|
}
|
|
397
446
|
if (0 === imported.length) {
|
|
398
|
-
throw new Error("Import error:\n".concat(
|
|
447
|
+
throw new Error("Import error:\n".concat(policySetName, " not found in import data!"));
|
|
399
448
|
}
|
|
400
449
|
return response;
|
|
401
450
|
});
|
|
@@ -412,7 +461,8 @@ function importFirstPolicySet(_x17) {
|
|
|
412
461
|
function _importFirstPolicySet() {
|
|
413
462
|
_importFirstPolicySet = _asyncToGenerator(function* (importData) {
|
|
414
463
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
415
|
-
deps: true
|
|
464
|
+
deps: true,
|
|
465
|
+
prereqs: false
|
|
416
466
|
};
|
|
417
467
|
var response = null;
|
|
418
468
|
var errors = [];
|
|
@@ -422,9 +472,9 @@ function _importFirstPolicySet() {
|
|
|
422
472
|
var policySetData = importData.policyset[id];
|
|
423
473
|
delete policySetData._provider;
|
|
424
474
|
delete policySetData._rev;
|
|
425
|
-
if (options.
|
|
475
|
+
if (options.prereqs) {
|
|
426
476
|
try {
|
|
427
|
-
yield
|
|
477
|
+
yield importPolicySetPrerequisites(policySetData, importData);
|
|
428
478
|
} catch (error) {
|
|
429
479
|
errors.push(error);
|
|
430
480
|
}
|
|
@@ -441,7 +491,7 @@ function _importFirstPolicySet() {
|
|
|
441
491
|
}
|
|
442
492
|
if (options.deps) {
|
|
443
493
|
try {
|
|
444
|
-
yield
|
|
494
|
+
yield importPolicySetDependencies(policySetData, importData);
|
|
445
495
|
} catch (error) {
|
|
446
496
|
errors.push(error);
|
|
447
497
|
}
|
|
@@ -468,7 +518,8 @@ function importPolicySets(_x18) {
|
|
|
468
518
|
function _importPolicySets() {
|
|
469
519
|
_importPolicySets = _asyncToGenerator(function* (importData) {
|
|
470
520
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
471
|
-
deps: true
|
|
521
|
+
deps: true,
|
|
522
|
+
prereqs: false
|
|
472
523
|
};
|
|
473
524
|
var response = null;
|
|
474
525
|
var errors = [];
|
|
@@ -477,9 +528,9 @@ function _importPolicySets() {
|
|
|
477
528
|
try {
|
|
478
529
|
var policySetData = importData.policyset[id];
|
|
479
530
|
delete policySetData._rev;
|
|
480
|
-
if (options.
|
|
531
|
+
if (options.prereqs) {
|
|
481
532
|
try {
|
|
482
|
-
yield
|
|
533
|
+
yield importPolicySetPrerequisites(policySetData, importData);
|
|
483
534
|
} catch (error) {
|
|
484
535
|
errors.push(error);
|
|
485
536
|
}
|
|
@@ -496,7 +547,7 @@ function _importPolicySets() {
|
|
|
496
547
|
}
|
|
497
548
|
if (options.deps) {
|
|
498
549
|
try {
|
|
499
|
-
yield
|
|
550
|
+
yield importPolicySetDependencies(policySetData, importData);
|
|
500
551
|
} catch (error) {
|
|
501
552
|
errors.push(error);
|
|
502
553
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolicySetOps.js","names":["_PolicySetApi","require","_ScriptOps","_ExportImportUtils","_Console","_ResourceTypesApi","_PolicyOps","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","createPolicySetExportTemplate","meta","getMetadata","script","policy","resourcetype","policyset","getPolicySets","_getPolicySets2","result","_getPolicySets","getPolicySet","_x","_getPolicySet2","policySetId","_getPolicySet","createPolicySet","_x2","_createPolicySet2","policySetData","_createPolicySet","updatePolicySet","_x3","_updatePolicySet2","_updatePolicySet","deletePolicySet","_x4","_deletePolicySet2","_deletePolicySet","exportPolicySetDependencies","_x5","_x6","_x7","_exportPolicySetDependencies","options","exportData","debugMessage","concat","errors","resourceTypeUuid","resourceTypeUuids","resourceType","getResourceType","message","name","push","policies","getPoliciesByPolicySet","scripts","getScripts","scriptData","useStringArrays","convertBase64TextToArray","_id","length","errorMessages","map","join","Error","exportPolicySet","_x8","_x9","_exportPolicySet","deps","exportPolicySets","_x10","_exportPolicySets","policySets","importPolicySetHardDependencies","_x11","_x12","_importPolicySetHardDependencies","putResourceType","_error$response","response","data","importPolicySetSoftDependencies","_x13","_x14","_importPolicySetSoftDependencies","Object","values","filter","applicationName","policyData","putPolicy","_error$response2","scriptUuids","findScriptUuids","condition","scriptUuid","putScript","_error$response3","importPolicySet","_x15","_x16","_importPolicySet","importData","imported","id","keys","_rev","_error$response4","status","importFirstPolicySet","_x17","_importFirstPolicySet","_provider","_error$response5","importPolicySets","_x18","_importPolicySets","_error$response6"],"sources":["ops/PolicySetOps.ts"],"sourcesContent":["import {\n deletePolicySet as _deletePolicySet,\n getPolicySets as _getPolicySets,\n getPolicySet as _getPolicySet,\n createPolicySet as _createPolicySet,\n updatePolicySet as _updatePolicySet,\n} from '../api/PolicySetApi';\nimport { putScript } from './ScriptOps';\nimport { convertBase64TextToArray } from './utils/ExportImportUtils';\nimport { ExportMetaData } from './OpsTypes';\nimport {\n PolicySetSkeleton,\n PolicySkeleton,\n ResourceTypeSkeleton,\n ScriptSkeleton,\n} from '../api/ApiTypes';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport { debugMessage } from './utils/Console';\nimport { getResourceType, putResourceType } from '../api/ResourceTypesApi';\nimport {\n findScriptUuids,\n getPoliciesByPolicySet,\n getScripts,\n putPolicy,\n} from './PolicyOps';\n\nexport interface PolicySetExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n resourcetype: Record<string, ResourceTypeSkeleton>;\n policy: Record<string, PolicySkeleton>;\n policyset: Record<string, PolicySetSkeleton>;\n}\n\n/**\n * Application/policy set export options\n */\nexport interface PolicySetExportOptions {\n /**\n * Use string arrays to store multi-line text in scripts.\n */\n useStringArrays: boolean;\n /**\n * Include any dependencies (policies, scripts, resource types).\n */\n deps: boolean;\n}\n\n/**\n * Policy set import options\n */\nexport interface PolicySetImportOptions {\n /**\n * Include any dependencies (policies, scripts, resource types).\n */\n deps: boolean;\n}\n\n/**\n * Create an empty export template\n * @returns {PolicySetExportInterface} an empty export template\n */\nfunction createPolicySetExportTemplate(): PolicySetExportInterface {\n return {\n meta: getMetadata(),\n script: {},\n policy: {},\n resourcetype: {},\n policyset: {},\n } as PolicySetExportInterface;\n}\n\n/**\n * Get all policy sets\n * @returns {Promise} a promise that resolves to an array of policy set objects\n */\nexport async function getPolicySets(): Promise<PolicySetSkeleton[]> {\n const { result } = await _getPolicySets();\n return result;\n}\n\n/**\n * Get policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object\n */\nexport async function getPolicySet(\n policySetId: string\n): Promise<PolicySetSkeleton> {\n return _getPolicySet(policySetId);\n}\n\n/**\n * Create policy set\n * @param {PolicySetSkeleton} policySetData policy set object\n * @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object\n */\nexport async function createPolicySet(\n policySetData: PolicySetSkeleton\n): Promise<PolicySetSkeleton> {\n return _createPolicySet(policySetData);\n}\n\n/**\n * Update policy set\n * @param {PolicySetSkeleton} policySetData policy set object\n * @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object\n */\nexport async function updatePolicySet(\n policySetData: PolicySetSkeleton\n): Promise<PolicySetSkeleton> {\n return _updatePolicySet(policySetData);\n}\n\n/**\n * Delete policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<PolicySetSkeleton>} Promise resolvig to a policy set object\n */\nexport async function deletePolicySet(\n policySetId: string\n): Promise<PolicySetSkeleton> {\n return _deletePolicySet(policySetId);\n}\n\n/**\n * Helper function to export dependencies of a policy set\n * @param {unknown} policySetData policy set data\n * @param {PolicySetExportOptions} options export options\n * @param {PolicySetExportInterface} exportData export data\n */\nasync function exportPolicySetDependencies(\n policySetData: PolicySetSkeleton,\n options: PolicySetExportOptions,\n exportData: PolicySetExportInterface\n) {\n debugMessage(\n `PolicySetOps.exportPolicySetDependencies: start [policySet=${policySetData['name']}]`\n );\n const errors = [];\n // resource types\n for (const resourceTypeUuid of policySetData.resourceTypeUuids) {\n try {\n const resourceType = await getResourceType(resourceTypeUuid);\n exportData.resourcetype[resourceTypeUuid] = resourceType;\n } catch (error) {\n error.message = `Error retrieving resource type ${resourceTypeUuid} for policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n }\n // policies\n try {\n const policies = await getPoliciesByPolicySet(policySetData.name);\n for (const policy of policies) {\n exportData.policy[policy.name] = policy;\n // scripts\n try {\n const scripts = await getScripts(policy);\n for (const scriptData of scripts) {\n if (options.useStringArrays) {\n scriptData.script = convertBase64TextToArray(scriptData.script);\n }\n exportData.script[scriptData._id] = scriptData;\n }\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error retrieving policies in policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.exportPolicySetDependencies: end`);\n}\n\n/**\n * Export policy set\n * @param {string} policySetId policy set id\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object\n */\nexport async function exportPolicySet(\n policySetId: string,\n options: PolicySetExportOptions\n): Promise<PolicySetExportInterface> {\n debugMessage(`PolicySetOps.exportPolicySet: start`);\n const exportData = createPolicySetExportTemplate();\n const errors = [];\n try {\n const policySetData = await getPolicySet(policySetId);\n exportData.policyset[policySetData.name] = policySetData;\n if (options.deps) {\n await exportPolicySetDependencies(policySetData, options, exportData);\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.exportPolicySet: end`);\n return exportData;\n}\n\n/**\n * Export policy sets\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object\n */\nexport async function exportPolicySets(\n options: PolicySetExportOptions\n): Promise<PolicySetExportInterface> {\n debugMessage(`PolicySetOps.exportPolicySet: start`);\n const exportData = createPolicySetExportTemplate();\n const errors = [];\n try {\n const policySets = await getPolicySets();\n for (const policySetData of policySets) {\n exportData.policyset[policySetData.name] = policySetData;\n if (options.deps) {\n try {\n await exportPolicySetDependencies(policySetData, options, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.exportPolicySet: end`);\n return exportData;\n}\n\n/**\n * Helper function to import hard dependencies of a policy set\n * @param {PolicySetSkeleton} policySetData policy set data\n * @param {PolicySetExportInterface} exportData export data\n */\nasync function importPolicySetHardDependencies(\n policySetData: PolicySetSkeleton,\n exportData: PolicySetExportInterface\n) {\n debugMessage(\n `PolicySetOps.importPolicySetHardDependencies: start [policySet=${policySetData['name']}]`\n );\n const errors = [];\n try {\n // resource types\n for (const resourceTypeUuid of policySetData.resourceTypeUuids) {\n if (exportData.resourcetype[resourceTypeUuid]) {\n try {\n debugMessage(`Importing resource type ${resourceTypeUuid}`);\n await putResourceType(\n resourceTypeUuid,\n exportData.resourcetype[resourceTypeUuid]\n );\n } catch (error) {\n debugMessage(error.response?.data);\n errors.push(error);\n }\n } else {\n errors.push(\n new Error(\n `No resource type definition with id ${resourceTypeUuid} found in import data.`\n )\n );\n }\n }\n } catch (error) {\n error.message = `Error importing hard dependencies for policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import hard dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.importPolicySetHardDependencies: end`);\n}\n\n/**\n * Helper function to import soft dependencies of a policy set\n * @param {PolicySetSkeleton} policySetData policy set data\n * @param {PolicySetExportInterface} exportData export data\n */\nasync function importPolicySetSoftDependencies(\n policySetData: PolicySetSkeleton,\n exportData: PolicySetExportInterface\n) {\n debugMessage(\n `PolicySetOps.importPolicySetSoftDependencies: start [policySet=${policySetData['name']}]`\n );\n const errors = [];\n try {\n // policies\n try {\n const policies = Object.values(exportData.policy).filter(\n (policy) => policy.applicationName === policySetData.name\n );\n for (const policyData of policies) {\n try {\n debugMessage(`Importing policy ${policyData._id}`);\n await putPolicy(policyData._id, policyData);\n } catch (error) {\n debugMessage(error.response?.data);\n error.message = `Error importing policy ${policyData._id} in policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n // scripts\n const scriptUuids = findScriptUuids(policyData.condition);\n for (const scriptUuid of scriptUuids) {\n try {\n const scriptData = exportData.script[scriptUuid];\n debugMessage(`Importing script ${scriptUuid}`);\n await putScript(scriptUuid, scriptData);\n } catch (error) {\n debugMessage(error.response?.data);\n error.message = `Error importing script ${scriptUuid} for policy ${policyData._id} in policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n }\n }\n } catch (error) {\n error.message = `Error importing policies in policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n } catch (error) {\n error.message = `Error importing soft dependencies for policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import soft dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.importPolicySetSoftDependencies: end`);\n}\n\n/**\n * Import policy set\n * @param {string} policySetId client id\n * @param {PolicySetExportInterface} importData import data\n * @param {PolicySetImportOptions} options import options\n */\nexport async function importPolicySet(\n policySetId: string,\n importData: PolicySetExportInterface,\n options: PolicySetImportOptions = { deps: true }\n) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policyset)) {\n if (id === policySetId) {\n try {\n const policySetData = importData.policyset[id];\n delete policySetData._rev;\n if (options.deps) {\n try {\n await importPolicySetHardDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await createPolicySet(policySetData);\n imported.push(id);\n } catch (error) {\n if (error.response?.status === 409) {\n response = await updatePolicySet(policySetData);\n imported.push(id);\n } else throw error;\n }\n if (options.deps) {\n try {\n await importPolicySetSoftDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${policySetId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first policy set\n * @param {PolicySetExportInterface} importData import data\n * @param {PolicySetImportOptions} options import options\n */\nexport async function importFirstPolicySet(\n importData: PolicySetExportInterface,\n options: PolicySetImportOptions = { deps: true }\n) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policyset)) {\n try {\n const policySetData = importData.policyset[id];\n delete policySetData._provider;\n delete policySetData._rev;\n if (options.deps) {\n try {\n await importPolicySetHardDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await createPolicySet(policySetData);\n imported.push(id);\n } catch (error) {\n if (error.response?.status === 409) {\n response = await updatePolicySet(policySetData);\n imported.push(id);\n } else throw error;\n }\n if (options.deps) {\n try {\n await importPolicySetSoftDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n break;\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo policy sets found in import data!`);\n }\n return response;\n}\n\n/**\n * Import policy sets\n * @param {PolicySetExportInterface} importData import data\n * @param {PolicySetImportOptions} options import options\n */\nexport async function importPolicySets(\n importData: PolicySetExportInterface,\n options: PolicySetImportOptions = { deps: true }\n) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policyset)) {\n try {\n const policySetData = importData.policyset[id];\n delete policySetData._rev;\n if (options.deps) {\n try {\n await importPolicySetHardDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await createPolicySet(policySetData);\n imported.push(id);\n } catch (error) {\n if (error.response?.status === 409) {\n response = await updatePolicySet(policySetData);\n imported.push(id);\n } else throw error;\n }\n if (options.deps) {\n try {\n await importPolicySetSoftDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo policy sets found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PolicySetOps.js","names":["_PolicySetApi","require","_ScriptOps","_ExportImportUtils","_Console","_ResourceTypesApi","_PolicyOps","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","createPolicySetExportTemplate","meta","getMetadata","script","policy","resourcetype","policyset","getPolicySets","_getPolicySets2","result","_getPolicySets","getPolicySet","_x","_getPolicySet2","policySetName","_getPolicySet","createPolicySet","_x2","_createPolicySet2","policySetData","_createPolicySet","updatePolicySet","_x3","_updatePolicySet2","_updatePolicySet","deletePolicySet","_x4","_deletePolicySet2","_deletePolicySet","exportPolicySetPrerequisites","_x5","_x6","_exportPolicySetPrerequisites","exportData","debugMessage","concat","errors","resourceTypeUuid","resourceTypeUuids","resourceType","getResourceType","message","name","push","length","errorMessages","map","join","Error","exportPolicySetDependencies","_x7","_x8","_x9","_exportPolicySetDependencies","options","policies","getPoliciesByPolicySet","scripts","getScripts","scriptData","useStringArrays","convertBase64TextToArray","_id","exportPolicySet","_x10","_exportPolicySet","deps","prereqs","exportPolicySets","_exportPolicySets","policySets","importPolicySetPrerequisites","_x11","_x12","_importPolicySetPrerequisites","putResourceType","_error$response","response","data","importPolicySetDependencies","_x13","_x14","_importPolicySetDependencies","Object","values","filter","applicationName","policyData","putPolicy","_error$response2","scriptUuids","findScriptUuids","condition","scriptUuid","putScript","_error$response3","importPolicySet","_x15","_x16","_importPolicySet","importData","imported","id","keys","_rev","_error$response4","status","importFirstPolicySet","_x17","_importFirstPolicySet","_provider","_error$response5","importPolicySets","_x18","_importPolicySets","_error$response6"],"sources":["ops/PolicySetOps.ts"],"sourcesContent":["import {\n deletePolicySet as _deletePolicySet,\n getPolicySets as _getPolicySets,\n getPolicySet as _getPolicySet,\n createPolicySet as _createPolicySet,\n updatePolicySet as _updatePolicySet,\n} from '../api/PolicySetApi';\nimport { putScript } from './ScriptOps';\nimport { convertBase64TextToArray } from './utils/ExportImportUtils';\nimport { ExportMetaData } from './OpsTypes';\nimport {\n PolicySetSkeleton,\n PolicySkeleton,\n ResourceTypeSkeleton,\n ScriptSkeleton,\n} from '../api/ApiTypes';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport { debugMessage } from './utils/Console';\nimport { getResourceType, putResourceType } from '../api/ResourceTypesApi';\nimport {\n findScriptUuids,\n getPoliciesByPolicySet,\n getScripts,\n putPolicy,\n} from './PolicyOps';\n\nexport interface PolicySetExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n resourcetype: Record<string, ResourceTypeSkeleton>;\n policy: Record<string, PolicySkeleton>;\n policyset: Record<string, PolicySetSkeleton>;\n}\n\n/**\n * Application/policy set export options\n */\nexport interface PolicySetExportOptions {\n /**\n * Include any dependencies (policies, scripts, resource types).\n */\n deps: boolean;\n /**\n * Include any prerequisites (policy sets, resource types).\n */\n prereqs: boolean;\n /**\n * Use string arrays to store multi-line text in scripts.\n */\n useStringArrays: boolean;\n}\n\n/**\n * Policy set import options\n */\nexport interface PolicySetImportOptions {\n /**\n * Include any dependencies (policies, scripts, resource types).\n */\n deps: boolean;\n /**\n * Include any prerequisites (policy sets, resource types).\n */\n prereqs: boolean;\n}\n\n/**\n * Create an empty export template\n * @returns {PolicySetExportInterface} an empty export template\n */\nfunction createPolicySetExportTemplate(): PolicySetExportInterface {\n return {\n meta: getMetadata(),\n script: {},\n policy: {},\n resourcetype: {},\n policyset: {},\n } as PolicySetExportInterface;\n}\n\n/**\n * Get all policy sets\n * @returns {Promise} a promise that resolves to an array of policy set objects\n */\nexport async function getPolicySets(): Promise<PolicySetSkeleton[]> {\n const { result } = await _getPolicySets();\n return result;\n}\n\n/**\n * Get policy set\n * @param {string} policySetName policy set name\n * @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object\n */\nexport async function getPolicySet(\n policySetName: string\n): Promise<PolicySetSkeleton> {\n return _getPolicySet(policySetName);\n}\n\n/**\n * Create policy set\n * @param {PolicySetSkeleton} policySetData policy set object\n * @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object\n */\nexport async function createPolicySet(\n policySetData: PolicySetSkeleton\n): Promise<PolicySetSkeleton> {\n return _createPolicySet(policySetData);\n}\n\n/**\n * Update policy set\n * @param {PolicySetSkeleton} policySetData policy set object\n * @returns {Promise<PolicySetSkeleton>} a promise that resolves to a policy set object\n */\nexport async function updatePolicySet(\n policySetData: PolicySetSkeleton\n): Promise<PolicySetSkeleton> {\n return _updatePolicySet(policySetData);\n}\n\n/**\n * Delete policy set\n * @param {string} policySetName policy set name\n * @returns {Promise<PolicySetSkeleton>} Promise resolvig to a policy set object\n */\nexport async function deletePolicySet(\n policySetName: string\n): Promise<PolicySetSkeleton> {\n return _deletePolicySet(policySetName);\n}\n\n/**\n * Helper function to export prerequisites of a policy set\n * @param {PolicySetSkeleton} policySetData policy set object\n * @param {PolicySetExportInterface} exportData export data\n */\nasync function exportPolicySetPrerequisites(\n policySetData: PolicySetSkeleton,\n exportData: PolicySetExportInterface\n) {\n debugMessage(\n `PolicySetOps.exportPolicySetPrerequisites: start [policySet=${policySetData['name']}]`\n );\n const errors = [];\n // resource types\n for (const resourceTypeUuid of policySetData.resourceTypeUuids) {\n try {\n const resourceType = await getResourceType(resourceTypeUuid);\n exportData.resourcetype[resourceTypeUuid] = resourceType;\n } catch (error) {\n error.message = `Error retrieving resource type ${resourceTypeUuid} for policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.exportPolicySetPrerequisites: end`);\n}\n\n/**\n * Helper function to export dependencies of a policy set\n * @param {PolicySetSkeleton} policySetData policy set object\n * @param {PolicySetExportOptions} options export options\n * @param {PolicySetExportInterface} exportData export data\n */\nasync function exportPolicySetDependencies(\n policySetData: PolicySetSkeleton,\n options: PolicySetExportOptions,\n exportData: PolicySetExportInterface\n) {\n debugMessage(\n `PolicySetOps.exportPolicySetDependencies: start [policySet=${policySetData['name']}]`\n );\n const errors = [];\n // policies\n try {\n const policies = await getPoliciesByPolicySet(policySetData.name);\n for (const policy of policies) {\n exportData.policy[policy.name] = policy;\n // scripts\n try {\n const scripts = await getScripts(policy);\n for (const scriptData of scripts) {\n if (options.useStringArrays) {\n scriptData.script = convertBase64TextToArray(scriptData.script);\n }\n exportData.script[scriptData._id] = scriptData;\n }\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error retrieving policies in policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.exportPolicySetDependencies: end`);\n}\n\n/**\n * Export policy set\n * @param {string} policySetName policy set name\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object\n */\nexport async function exportPolicySet(\n policySetName: string,\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<PolicySetExportInterface> {\n debugMessage(`PolicySetOps.exportPolicySet: start`);\n const exportData = createPolicySetExportTemplate();\n const errors = [];\n try {\n const policySetData = await getPolicySet(policySetName);\n exportData.policyset[policySetData.name] = policySetData;\n if (options.prereqs) {\n try {\n await exportPolicySetPrerequisites(policySetData, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n if (options.deps) {\n try {\n await exportPolicySetDependencies(policySetData, options, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.exportPolicySet: end`);\n return exportData;\n}\n\n/**\n * Export policy sets\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<PolicySetExportInterface>} a promise that resolves to an PolicySetExportInterface object\n */\nexport async function exportPolicySets(\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<PolicySetExportInterface> {\n debugMessage(`PolicySetOps.exportPolicySet: start`);\n const exportData = createPolicySetExportTemplate();\n const errors = [];\n try {\n const policySets = await getPolicySets();\n for (const policySetData of policySets) {\n exportData.policyset[policySetData.name] = policySetData;\n if (options.prereqs) {\n try {\n await exportPolicySetPrerequisites(policySetData, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n if (options.deps) {\n try {\n await exportPolicySetDependencies(policySetData, options, exportData);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.exportPolicySet: end`);\n return exportData;\n}\n\n/**\n * Helper function to import prerequisites of a policy set (resource types)\n * @param {PolicySetSkeleton} policySetData policy set data\n * @param {PolicySetExportInterface} exportData export data\n */\nasync function importPolicySetPrerequisites(\n policySetData: PolicySetSkeleton,\n exportData: PolicySetExportInterface\n) {\n debugMessage(\n `PolicySetOps.importPolicySetHardDependencies: start [policySet=${policySetData['name']}]`\n );\n const errors = [];\n try {\n // resource types\n for (const resourceTypeUuid of policySetData.resourceTypeUuids) {\n if (exportData.resourcetype[resourceTypeUuid]) {\n try {\n debugMessage(`Importing resource type ${resourceTypeUuid}`);\n await putResourceType(\n resourceTypeUuid,\n exportData.resourcetype[resourceTypeUuid]\n );\n } catch (error) {\n debugMessage(error.response?.data);\n errors.push(error);\n }\n } else {\n errors.push(\n new Error(\n `No resource type definition with id ${resourceTypeUuid} found in import data.`\n )\n );\n }\n }\n } catch (error) {\n error.message = `Error importing hard dependencies for policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import hard dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.importPolicySetHardDependencies: end`);\n}\n\n/**\n * Helper function to import dependencies of a policy set (policies and scripts)\n * @param {PolicySetSkeleton} policySetData policy set data\n * @param {PolicySetExportInterface} exportData export data\n */\nasync function importPolicySetDependencies(\n policySetData: PolicySetSkeleton,\n exportData: PolicySetExportInterface\n) {\n debugMessage(\n `PolicySetOps.importPolicySetSoftDependencies: start [policySet=${policySetData['name']}]`\n );\n const errors = [];\n try {\n // policies\n try {\n const policies = Object.values(exportData.policy).filter(\n (policy) => policy.applicationName === policySetData.name\n );\n for (const policyData of policies) {\n try {\n debugMessage(`Importing policy ${policyData._id}`);\n await putPolicy(policyData._id, policyData);\n } catch (error) {\n debugMessage(error.response?.data);\n error.message = `Error importing policy ${policyData._id} in policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n // scripts\n const scriptUuids = findScriptUuids(policyData.condition);\n for (const scriptUuid of scriptUuids) {\n try {\n const scriptData = exportData.script[scriptUuid];\n debugMessage(`Importing script ${scriptUuid}`);\n await putScript(scriptUuid, scriptData);\n } catch (error) {\n debugMessage(error.response?.data);\n error.message = `Error importing script ${scriptUuid} for policy ${policyData._id} in policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n }\n }\n } catch (error) {\n error.message = `Error importing policies in policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n } catch (error) {\n error.message = `Error importing soft dependencies for policy set ${policySetData.name}: ${error.message}`;\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import soft dependencies error:\\n${errorMessages}`);\n }\n debugMessage(`PolicySetOps.importPolicySetSoftDependencies: end`);\n}\n\n/**\n * Import policy set\n * @param {string} policySetName policy set name\n * @param {PolicySetExportInterface} importData import data\n * @param {PolicySetImportOptions} options import options\n */\nexport async function importPolicySet(\n policySetName: string,\n importData: PolicySetExportInterface,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policyset)) {\n if (id === policySetName) {\n try {\n const policySetData = importData.policyset[id];\n delete policySetData._rev;\n if (options.prereqs) {\n try {\n await importPolicySetPrerequisites(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await createPolicySet(policySetData);\n imported.push(id);\n } catch (error) {\n if (error.response?.status === 409) {\n response = await updatePolicySet(policySetData);\n imported.push(id);\n } else throw error;\n }\n if (options.deps) {\n try {\n await importPolicySetDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(\n `Import error:\\n${policySetName} not found in import data!`\n );\n }\n return response;\n}\n\n/**\n * Import first policy set\n * @param {PolicySetExportInterface} importData import data\n * @param {PolicySetImportOptions} options import options\n */\nexport async function importFirstPolicySet(\n importData: PolicySetExportInterface,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policyset)) {\n try {\n const policySetData = importData.policyset[id];\n delete policySetData._provider;\n delete policySetData._rev;\n if (options.prereqs) {\n try {\n await importPolicySetPrerequisites(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await createPolicySet(policySetData);\n imported.push(id);\n } catch (error) {\n if (error.response?.status === 409) {\n response = await updatePolicySet(policySetData);\n imported.push(id);\n } else throw error;\n }\n if (options.deps) {\n try {\n await importPolicySetDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n break;\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo policy sets found in import data!`);\n }\n return response;\n}\n\n/**\n * Import policy sets\n * @param {PolicySetExportInterface} importData import data\n * @param {PolicySetImportOptions} options import options\n */\nexport async function importPolicySets(\n importData: PolicySetExportInterface,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.policyset)) {\n try {\n const policySetData = importData.policyset[id];\n delete policySetData._rev;\n if (options.prereqs) {\n try {\n await importPolicySetPrerequisites(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n try {\n response = await createPolicySet(policySetData);\n imported.push(id);\n } catch (error) {\n if (error.response?.status === 409) {\n response = await updatePolicySet(policySetData);\n imported.push(id);\n } else throw error;\n }\n if (options.deps) {\n try {\n await importPolicySetDependencies(policySetData, importData);\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo policy sets found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
|