@cloud-copilot/iam-collect 0.1.23 → 0.1.24
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/cjs/cli.js +12 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/download/download.d.ts.map +1 -1
- package/dist/cjs/download/download.js +4 -4
- package/dist/cjs/download/download.js.map +1 -1
- package/dist/cjs/utils/log.d.ts +11 -0
- package/dist/cjs/utils/log.d.ts.map +1 -0
- package/dist/cjs/utils/log.js +67 -0
- package/dist/cjs/utils/log.js.map +1 -0
- package/dist/esm/cli.js +12 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/download/download.d.ts.map +1 -1
- package/dist/esm/download/download.js +4 -4
- package/dist/esm/download/download.js.map +1 -1
- package/dist/esm/utils/log.d.ts +11 -0
- package/dist/esm/utils/log.d.ts.map +1 -0
- package/dist/esm/utils/log.js +63 -0
- package/dist/esm/utils/log.js.map +1 -0
- package/package.json +1 -1
package/dist/cjs/cli.js
CHANGED
|
@@ -7,6 +7,7 @@ const createConfigFile_js_1 = require("./config/createConfigFile.js");
|
|
|
7
7
|
const defaultConfig_js_1 = require("./config/defaultConfig.js");
|
|
8
8
|
const packageVersion_js_1 = require("./config/packageVersion.js");
|
|
9
9
|
const download_js_1 = require("./download/download.js");
|
|
10
|
+
const log_js_1 = require("./utils/log.js");
|
|
10
11
|
const main = async () => {
|
|
11
12
|
const version = await (0, packageVersion_js_1.iamCollectVersion)();
|
|
12
13
|
const cli = (0, cli_1.parseCliArguments)('iam-collect', {
|
|
@@ -39,12 +40,22 @@ const main = async () => {
|
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
|
-
}, {
|
|
43
|
+
}, {
|
|
44
|
+
log: {
|
|
45
|
+
type: 'enum',
|
|
46
|
+
description: 'The log level to use',
|
|
47
|
+
values: 'single',
|
|
48
|
+
validValues: log_js_1.LogLevels
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
43
51
|
envPrefix: 'IAM_COLLECT',
|
|
44
52
|
showHelpIfNoArgs: true,
|
|
45
53
|
requireSubcommand: true,
|
|
46
54
|
version: version
|
|
47
55
|
});
|
|
56
|
+
if (cli.args.log) {
|
|
57
|
+
(0, log_js_1.setLogLevel)(cli.args.log);
|
|
58
|
+
}
|
|
48
59
|
if (cli.subcommand === 'init') {
|
|
49
60
|
if ((0, defaultConfig_js_1.defaultConfigExists)()) {
|
|
50
61
|
console.error('Configuration file already exists');
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;AAEA,4CAAsD;AACtD,0DAAwD;AACxD,sEAAyE;AACzE,gEAA+D;AAC/D,kEAA8D;AAC9D,wDAAqD;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;AAEA,4CAAsD;AACtD,0DAAwD;AACxD,sEAAyE;AACzE,gEAA+D;AAC/D,kEAA8D;AAC9D,wDAAqD;AACrD,2CAAuD;AAEvD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,GAAE,CAAA;IACzC,MAAM,GAAG,GAAG,IAAA,uBAAiB,EAC3B,aAAa,EACb;QACE,IAAI,EAAE;YACJ,WAAW,EAAE,+CAA+C;YAC5D,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;oBAC7C,MAAM,EAAE,UAAU;iBACnB;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;oBAC/C,MAAM,EAAE,UAAU;iBACnB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;oBAC3C,MAAM,EAAE,UAAU;iBACnB;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;oBACvC,MAAM,EAAE,UAAU;iBACnB;aACF;SACF;KACF,EACD;QACE,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,sBAAsB;YACnC,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,kBAAS;SACvB;KACF,EACD;QACE,SAAS,EAAE,aAAa;QACxB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,OAAO;KACjB,CACF,CAAA;IAED,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,IAAA,oBAAW,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,IAAA,sCAAmB,GAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,MAAM,IAAA,gDAA0B,GAAE,CAAA;IACpC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,qBAAqB,CAAA;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;QAC7F,MAAM,OAAO,GAAG,IAAA,+BAAe,EAAC,WAAW,CAAC,CAAA;QAC5C,MAAM,IAAA,0BAAY,EAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvF,CAAC;AACH,CAAC,CAAA;AAED,IAAI,EAAE;KACH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;KACd,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAQ5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAwEf"}
|
|
@@ -7,6 +7,7 @@ const FileSystemAwsIamStore_js_1 = require("../persistence/file/FileSystemAwsIam
|
|
|
7
7
|
const regions_js_1 = require("../regions.js");
|
|
8
8
|
const services_js_1 = require("../services.js");
|
|
9
9
|
const syncMap_js_1 = require("../syncs/syncMap.js");
|
|
10
|
+
const log_js_1 = require("../utils/log.js");
|
|
10
11
|
async function downloadData(configs, accountIds, regions, services) {
|
|
11
12
|
if (accountIds.length === 0) {
|
|
12
13
|
const defaultCredentials = await (0, auth_js_1.getDefaultCredentials)();
|
|
@@ -18,12 +19,11 @@ async function downloadData(configs, accountIds, regions, services) {
|
|
|
18
19
|
throw new Error('No storage configuration found. Cannot download data.');
|
|
19
20
|
}
|
|
20
21
|
for (const accountId of accountIds) {
|
|
21
|
-
|
|
22
|
+
log_js_1.log.info('Starting download for account', { accountId });
|
|
22
23
|
const authForAccount = (0, config_js_1.getAccountAuthConfig)(accountId, configs);
|
|
23
24
|
const credentials = await (0, auth_js_1.getCredentials)(accountId, authForAccount);
|
|
24
25
|
if (regions.length === 0) {
|
|
25
26
|
regions = await (0, regions_js_1.getEnabledRegions)(credentials);
|
|
26
|
-
// console.log(`Enabled regions for account ${accountId}:`, enabledRegions)
|
|
27
27
|
}
|
|
28
28
|
const storage = createStorageClient(storageConfig, credentials.partition);
|
|
29
29
|
if (services.length === 0) {
|
|
@@ -32,7 +32,7 @@ async function downloadData(configs, accountIds, regions, services) {
|
|
|
32
32
|
const syncOptions = {};
|
|
33
33
|
const enabledServices = (0, config_js_1.servicesForAccount)(accountId, configs, services);
|
|
34
34
|
for (const service of enabledServices) {
|
|
35
|
-
|
|
35
|
+
log_js_1.log.info('Starting download', { service, accountId });
|
|
36
36
|
const serviceRegions = (0, config_js_1.regionsForService)(service, accountId, configs, regions);
|
|
37
37
|
//Global syncs for the service
|
|
38
38
|
const globalSyncs = (0, syncMap_js_1.getGlobalSyncsForService)(service);
|
|
@@ -44,7 +44,7 @@ async function downloadData(configs, accountIds, regions, services) {
|
|
|
44
44
|
}
|
|
45
45
|
//Regional syncs for the service
|
|
46
46
|
for (const region of serviceRegions) {
|
|
47
|
-
|
|
47
|
+
log_js_1.log.info('Starting download for region and service', { service, accountId, region });
|
|
48
48
|
const regionalSyncs = (0, syncMap_js_1.getRegionalSyncsForService)(service);
|
|
49
49
|
if (regionalSyncs.length === 0) {
|
|
50
50
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":";;AAiBA,oCA6EC;AA9FD,4CAAoF;AACpF,mDAQ4B;AAE5B,2FAAoF;AACpF,8CAAiD;AACjD,gDAA4C;AAC5C,oDAA0F;AAC1F,4CAAqC;AAE9B,KAAK,UAAU,YAAY,CAChC,OAAyB,EACzB,UAAoB,EACpB,OAAiB,EACjB,QAAkB;IAElB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,kBAAkB,GAAG,MAAM,IAAA,+BAAqB,GAAE,CAAA;QACxD,MAAM,SAAS,GAAG,MAAM,IAAA,sBAAY,EAAC,kBAAkB,CAAC,CAAA;QACxD,UAAU,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,YAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;QACxD,MAAM,cAAc,GAAG,IAAA,gCAAoB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,MAAM,IAAA,8BAAiB,EAAC,WAAW,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;QAEzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,GAAG,yBAAW,CAAA;QACxB,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,CAAA;QAEtB,MAAM,eAAe,GAAG,IAAA,8BAAkB,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACxE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,YAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YACrD,MAAM,cAAc,GAAG,IAAA,6BAAiB,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAE9E,8BAA8B;YAC9B,MAAM,WAAW,GAAG,IAAA,qCAAwB,EAAC,OAAO,CAAC,CAAA;YACrD,MAAM,YAAY,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;YAC1C,MAAM,YAAY,GAAG,IAAA,sCAA0B,EAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;YAC1F,MAAM,iBAAiB,GAAG,MAAM,IAAA,wBAAc,EAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;YAE5E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,UAAU,CAAC,OAAO,CACtB,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,YAAY,CAAC,QAAQ,EACrB,WAAW,CACZ,CAAA;YACH,CAAC;YAED,gCAAgC;YAChC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,YAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;gBACpF,MAAM,aAAa,GAAG,IAAA,uCAA0B,EAAC,OAAO,CAAC,CAAA;gBACzD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,SAAQ;gBACV,CAAC;gBACD,MAAM,SAAS,GAAG,IAAA,sCAA0B,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;gBACjF,MAAM,mBAAmB,GAAG,MAAM,IAAA,wBAAc,EAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;gBAE3E,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,OAAO,CAChB,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,OAAO,EACP,SAAS,CAAC,QAAQ,EAClB,WAAW,CACZ,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,aAA4B,EAAE,SAAiB;IAC1E,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,gDAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,CAAC,IAAI,8BAA8B,CAAC,CAAA;AAChG,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const LogLevels: readonly ["error", "warn", "info", "debug", "trace"];
|
|
2
|
+
export type LogLevel = (typeof LogLevels)[number];
|
|
3
|
+
export declare function setLogLevel(level: LogLevel): void;
|
|
4
|
+
export declare const log: {
|
|
5
|
+
error: (...args: unknown[]) => void;
|
|
6
|
+
warn: (...args: unknown[]) => void;
|
|
7
|
+
info: (...args: unknown[]) => void;
|
|
8
|
+
debug: (...args: unknown[]) => void;
|
|
9
|
+
trace: (...args: unknown[]) => void;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,sDAAuD,CAAA;AAE7E,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAajD,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAM1C;AAiDD,eAAO,MAAM,GAAG;qBACG,OAAO,EAAE;oBACV,OAAO,EAAE;oBACT,OAAO,EAAE;qBACR,OAAO,EAAE;qBACT,OAAO,EAAE;CAC3B,CAAA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.log = exports.LogLevels = void 0;
|
|
4
|
+
exports.setLogLevel = setLogLevel;
|
|
5
|
+
exports.LogLevels = ['error', 'warn', 'info', 'debug', 'trace'];
|
|
6
|
+
const LEVELS = {
|
|
7
|
+
error: 0,
|
|
8
|
+
warn: 1,
|
|
9
|
+
info: 2,
|
|
10
|
+
debug: 3,
|
|
11
|
+
trace: 4
|
|
12
|
+
};
|
|
13
|
+
let CURRENT_LEVEL_NAME = 'warn';
|
|
14
|
+
let CURRENT_LEVEL = LEVELS[CURRENT_LEVEL_NAME];
|
|
15
|
+
function setLogLevel(level) {
|
|
16
|
+
if (LEVELS[level] === undefined) {
|
|
17
|
+
throw new Error(`Invalid log level: ${level}`);
|
|
18
|
+
}
|
|
19
|
+
CURRENT_LEVEL_NAME = level;
|
|
20
|
+
CURRENT_LEVEL = LEVELS[level];
|
|
21
|
+
}
|
|
22
|
+
// helper to serialize non-object args into a single string
|
|
23
|
+
function serializeArgs(args) {
|
|
24
|
+
return args
|
|
25
|
+
.map((a) => typeof a === 'string' ? a : a instanceof Error ? a.stack || a.message : JSON.stringify(a))
|
|
26
|
+
.join(' ');
|
|
27
|
+
}
|
|
28
|
+
// core log function: level check → prefix → JSON output
|
|
29
|
+
function logAt(level, args) {
|
|
30
|
+
if (LEVELS[level] > CURRENT_LEVEL)
|
|
31
|
+
return;
|
|
32
|
+
// Base log entry
|
|
33
|
+
const entry = {
|
|
34
|
+
timestamp: new Date().toISOString(),
|
|
35
|
+
level
|
|
36
|
+
};
|
|
37
|
+
// Separate object args and message args
|
|
38
|
+
const objectArgs = args.filter((a) => typeof a === 'object' && a !== null);
|
|
39
|
+
const messageArgs = args.filter((a) => typeof a !== 'object' || a === null);
|
|
40
|
+
// Merge all object arguments into the entry
|
|
41
|
+
for (const obj of objectArgs) {
|
|
42
|
+
Object.assign(entry, obj);
|
|
43
|
+
}
|
|
44
|
+
const msg = serializeArgs(messageArgs);
|
|
45
|
+
if (msg) {
|
|
46
|
+
entry.message = msg;
|
|
47
|
+
}
|
|
48
|
+
const line = JSON.stringify(entry);
|
|
49
|
+
switch (level) {
|
|
50
|
+
case 'error':
|
|
51
|
+
return console.error(line);
|
|
52
|
+
case 'warn':
|
|
53
|
+
return console.warn(line);
|
|
54
|
+
case 'info':
|
|
55
|
+
return console.info(line);
|
|
56
|
+
default:
|
|
57
|
+
return console.log(line);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.log = {
|
|
61
|
+
error: (...args) => logAt('error', args),
|
|
62
|
+
warn: (...args) => logAt('warn', args),
|
|
63
|
+
info: (...args) => logAt('info', args),
|
|
64
|
+
debug: (...args) => logAt('debug', args),
|
|
65
|
+
trace: (...args) => logAt('trace', args)
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":";;;AAeA,kCAMC;AArBY,QAAA,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAA;AAI7E,MAAM,MAAM,GAA6B;IACvC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACT,CAAA;AAED,IAAI,kBAAkB,GAAa,MAAM,CAAA;AACzC,IAAI,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAE9C,SAAgB,WAAW,CAAC,KAAe;IACzC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,kBAAkB,GAAG,KAAK,CAAA;IAC1B,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,2DAA2D;AAC3D,SAAS,aAAa,CAAC,IAAe;IACpC,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAC1F;SACA,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC;AAED,wDAAwD;AACxD,SAAS,KAAK,CAAC,KAAe,EAAE,IAAe;IAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa;QAAE,OAAM;IAEzC,iBAAiB;IACjB,MAAM,KAAK,GAAwB;QACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;KACN,CAAA;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;IAE3E,4CAA4C;IAC5C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;IACtC,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,CAAC,OAAO,GAAG,GAAG,CAAA;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAElC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B;YACE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAEY,QAAA,GAAG,GAAG;IACjB,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;IACnD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;IACjD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;IACnD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;CACpD,CAAA"}
|
package/dist/esm/cli.js
CHANGED
|
@@ -5,6 +5,7 @@ import { createDefaultConfiguration } from './config/createConfigFile.js';
|
|
|
5
5
|
import { defaultConfigExists } from './config/defaultConfig.js';
|
|
6
6
|
import { iamCollectVersion } from './config/packageVersion.js';
|
|
7
7
|
import { downloadData } from './download/download.js';
|
|
8
|
+
import { LogLevels, setLogLevel } from './utils/log.js';
|
|
8
9
|
const main = async () => {
|
|
9
10
|
const version = await iamCollectVersion();
|
|
10
11
|
const cli = parseCliArguments('iam-collect', {
|
|
@@ -37,12 +38,22 @@ const main = async () => {
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
}, {
|
|
41
|
+
}, {
|
|
42
|
+
log: {
|
|
43
|
+
type: 'enum',
|
|
44
|
+
description: 'The log level to use',
|
|
45
|
+
values: 'single',
|
|
46
|
+
validValues: LogLevels
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
41
49
|
envPrefix: 'IAM_COLLECT',
|
|
42
50
|
showHelpIfNoArgs: true,
|
|
43
51
|
requireSubcommand: true,
|
|
44
52
|
version: version
|
|
45
53
|
});
|
|
54
|
+
if (cli.args.log) {
|
|
55
|
+
setLogLevel(cli.args.log);
|
|
56
|
+
}
|
|
46
57
|
if (cli.subcommand === 'init') {
|
|
47
58
|
if (defaultConfigExists()) {
|
|
48
59
|
console.error('Configuration file already exists');
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAQ5B,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAwEf"}
|
|
@@ -4,6 +4,7 @@ import { FileSystemAwsIamStore } from '../persistence/file/FileSystemAwsIamStore
|
|
|
4
4
|
import { getEnabledRegions } from '../regions.js';
|
|
5
5
|
import { allServices } from '../services.js';
|
|
6
6
|
import { getGlobalSyncsForService, getRegionalSyncsForService } from '../syncs/syncMap.js';
|
|
7
|
+
import { log } from '../utils/log.js';
|
|
7
8
|
export async function downloadData(configs, accountIds, regions, services) {
|
|
8
9
|
if (accountIds.length === 0) {
|
|
9
10
|
const defaultCredentials = await getDefaultCredentials();
|
|
@@ -15,12 +16,11 @@ export async function downloadData(configs, accountIds, regions, services) {
|
|
|
15
16
|
throw new Error('No storage configuration found. Cannot download data.');
|
|
16
17
|
}
|
|
17
18
|
for (const accountId of accountIds) {
|
|
18
|
-
|
|
19
|
+
log.info('Starting download for account', { accountId });
|
|
19
20
|
const authForAccount = getAccountAuthConfig(accountId, configs);
|
|
20
21
|
const credentials = await getCredentials(accountId, authForAccount);
|
|
21
22
|
if (regions.length === 0) {
|
|
22
23
|
regions = await getEnabledRegions(credentials);
|
|
23
|
-
// console.log(`Enabled regions for account ${accountId}:`, enabledRegions)
|
|
24
24
|
}
|
|
25
25
|
const storage = createStorageClient(storageConfig, credentials.partition);
|
|
26
26
|
if (services.length === 0) {
|
|
@@ -29,7 +29,7 @@ export async function downloadData(configs, accountIds, regions, services) {
|
|
|
29
29
|
const syncOptions = {};
|
|
30
30
|
const enabledServices = servicesForAccount(accountId, configs, services);
|
|
31
31
|
for (const service of enabledServices) {
|
|
32
|
-
|
|
32
|
+
log.info('Starting download', { service, accountId });
|
|
33
33
|
const serviceRegions = regionsForService(service, accountId, configs, regions);
|
|
34
34
|
//Global syncs for the service
|
|
35
35
|
const globalSyncs = getGlobalSyncsForService(service);
|
|
@@ -41,7 +41,7 @@ export async function downloadData(configs, accountIds, regions, services) {
|
|
|
41
41
|
}
|
|
42
42
|
//Regional syncs for the service
|
|
43
43
|
for (const region of serviceRegions) {
|
|
44
|
-
|
|
44
|
+
log.info('Starting download for region and service', { service, accountId, region });
|
|
45
45
|
const regionalSyncs = getRegionalSyncsForService(service);
|
|
46
46
|
if (regionalSyncs.length === 0) {
|
|
47
47
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAGnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/download/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAGnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAC1F,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAErC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAyB,EACzB,UAAoB,EACpB,OAAiB,EACjB,QAAkB;IAElB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,EAAE,CAAA;QACxD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,CAAA;QACxD,UAAU,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;QACxD,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;QAEzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,GAAG,WAAW,CAAA;QACxB,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,CAAA;QAEtB,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACxE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YACrD,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAE9E,8BAA8B;YAC9B,MAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;YACrD,MAAM,YAAY,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;YAC1C,MAAM,YAAY,GAAG,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;YAC1F,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;YAE5E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,UAAU,CAAC,OAAO,CACtB,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,YAAY,CAAC,QAAQ,EACrB,WAAW,CACZ,CAAA;YACH,CAAC;YAED,gCAAgC;YAChC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;gBACpF,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;gBACzD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,SAAQ;gBACV,CAAC;gBACD,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;gBACjF,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;gBAE3E,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,OAAO,CAChB,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,OAAO,EACP,SAAS,CAAC,QAAQ,EAClB,WAAW,CACZ,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,aAA4B,EAAE,SAAiB;IAC1E,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,CAAC,IAAI,8BAA8B,CAAC,CAAA;AAChG,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const LogLevels: readonly ["error", "warn", "info", "debug", "trace"];
|
|
2
|
+
export type LogLevel = (typeof LogLevels)[number];
|
|
3
|
+
export declare function setLogLevel(level: LogLevel): void;
|
|
4
|
+
export declare const log: {
|
|
5
|
+
error: (...args: unknown[]) => void;
|
|
6
|
+
warn: (...args: unknown[]) => void;
|
|
7
|
+
info: (...args: unknown[]) => void;
|
|
8
|
+
debug: (...args: unknown[]) => void;
|
|
9
|
+
trace: (...args: unknown[]) => void;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,sDAAuD,CAAA;AAE7E,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAajD,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAM1C;AAiDD,eAAO,MAAM,GAAG;qBACG,OAAO,EAAE;oBACV,OAAO,EAAE;oBACT,OAAO,EAAE;qBACR,OAAO,EAAE;qBACT,OAAO,EAAE;CAC3B,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export const LogLevels = ['error', 'warn', 'info', 'debug', 'trace'];
|
|
2
|
+
const LEVELS = {
|
|
3
|
+
error: 0,
|
|
4
|
+
warn: 1,
|
|
5
|
+
info: 2,
|
|
6
|
+
debug: 3,
|
|
7
|
+
trace: 4
|
|
8
|
+
};
|
|
9
|
+
let CURRENT_LEVEL_NAME = 'warn';
|
|
10
|
+
let CURRENT_LEVEL = LEVELS[CURRENT_LEVEL_NAME];
|
|
11
|
+
export function setLogLevel(level) {
|
|
12
|
+
if (LEVELS[level] === undefined) {
|
|
13
|
+
throw new Error(`Invalid log level: ${level}`);
|
|
14
|
+
}
|
|
15
|
+
CURRENT_LEVEL_NAME = level;
|
|
16
|
+
CURRENT_LEVEL = LEVELS[level];
|
|
17
|
+
}
|
|
18
|
+
// helper to serialize non-object args into a single string
|
|
19
|
+
function serializeArgs(args) {
|
|
20
|
+
return args
|
|
21
|
+
.map((a) => typeof a === 'string' ? a : a instanceof Error ? a.stack || a.message : JSON.stringify(a))
|
|
22
|
+
.join(' ');
|
|
23
|
+
}
|
|
24
|
+
// core log function: level check → prefix → JSON output
|
|
25
|
+
function logAt(level, args) {
|
|
26
|
+
if (LEVELS[level] > CURRENT_LEVEL)
|
|
27
|
+
return;
|
|
28
|
+
// Base log entry
|
|
29
|
+
const entry = {
|
|
30
|
+
timestamp: new Date().toISOString(),
|
|
31
|
+
level
|
|
32
|
+
};
|
|
33
|
+
// Separate object args and message args
|
|
34
|
+
const objectArgs = args.filter((a) => typeof a === 'object' && a !== null);
|
|
35
|
+
const messageArgs = args.filter((a) => typeof a !== 'object' || a === null);
|
|
36
|
+
// Merge all object arguments into the entry
|
|
37
|
+
for (const obj of objectArgs) {
|
|
38
|
+
Object.assign(entry, obj);
|
|
39
|
+
}
|
|
40
|
+
const msg = serializeArgs(messageArgs);
|
|
41
|
+
if (msg) {
|
|
42
|
+
entry.message = msg;
|
|
43
|
+
}
|
|
44
|
+
const line = JSON.stringify(entry);
|
|
45
|
+
switch (level) {
|
|
46
|
+
case 'error':
|
|
47
|
+
return console.error(line);
|
|
48
|
+
case 'warn':
|
|
49
|
+
return console.warn(line);
|
|
50
|
+
case 'info':
|
|
51
|
+
return console.info(line);
|
|
52
|
+
default:
|
|
53
|
+
return console.log(line);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export const log = {
|
|
57
|
+
error: (...args) => logAt('error', args),
|
|
58
|
+
warn: (...args) => logAt('warn', args),
|
|
59
|
+
info: (...args) => logAt('info', args),
|
|
60
|
+
debug: (...args) => logAt('debug', args),
|
|
61
|
+
trace: (...args) => logAt('trace', args)
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":"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"}
|