@cloud-copilot/iam-collect 0.1.64 → 0.1.66

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.
Files changed (39) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +2 -1
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/persistence/util.d.ts +6 -0
  6. package/dist/cjs/persistence/util.d.ts.map +1 -1
  7. package/dist/cjs/persistence/util.js +10 -0
  8. package/dist/cjs/persistence/util.js.map +1 -1
  9. package/dist/cjs/services.d.ts +1 -1
  10. package/dist/cjs/services.d.ts.map +1 -1
  11. package/dist/cjs/services.js +1 -0
  12. package/dist/cjs/services.js.map +1 -1
  13. package/dist/cjs/syncs/backup/backupVaults.d.ts +2 -0
  14. package/dist/cjs/syncs/backup/backupVaults.d.ts.map +1 -0
  15. package/dist/cjs/syncs/backup/backupVaults.js +51 -0
  16. package/dist/cjs/syncs/backup/backupVaults.js.map +1 -0
  17. package/dist/cjs/syncs/syncMap.d.ts.map +1 -1
  18. package/dist/cjs/syncs/syncMap.js +2 -0
  19. package/dist/cjs/syncs/syncMap.js.map +1 -1
  20. package/dist/esm/index.d.ts +1 -1
  21. package/dist/esm/index.d.ts.map +1 -1
  22. package/dist/esm/index.js +1 -1
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/persistence/util.d.ts +6 -0
  25. package/dist/esm/persistence/util.d.ts.map +1 -1
  26. package/dist/esm/persistence/util.js +9 -0
  27. package/dist/esm/persistence/util.js.map +1 -1
  28. package/dist/esm/services.d.ts +1 -1
  29. package/dist/esm/services.d.ts.map +1 -1
  30. package/dist/esm/services.js +1 -0
  31. package/dist/esm/services.js.map +1 -1
  32. package/dist/esm/syncs/backup/backupVaults.d.ts +2 -0
  33. package/dist/esm/syncs/backup/backupVaults.d.ts.map +1 -0
  34. package/dist/esm/syncs/backup/backupVaults.js +48 -0
  35. package/dist/esm/syncs/backup/backupVaults.js.map +1 -0
  36. package/dist/esm/syncs/syncMap.d.ts.map +1 -1
  37. package/dist/esm/syncs/syncMap.js +2 -0
  38. package/dist/esm/syncs/syncMap.js.map +1 -1
  39. package/package.json +2 -1
@@ -1,5 +1,5 @@
1
1
  export type { StorageConfig, TopLevelConfig } from './config/config.js';
2
2
  export { loadConfigFiles } from './config/configFile.js';
3
3
  export type { AwsIamStore } from './persistence/AwsIamStore.ts';
4
- export { createStorageClient } from './persistence/util.js';
4
+ export { createInMemoryStorageClient, createStorageClient } from './persistence/util.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createStorageClient = exports.loadConfigFiles = void 0;
3
+ exports.createStorageClient = exports.createInMemoryStorageClient = exports.loadConfigFiles = void 0;
4
4
  var configFile_js_1 = require("./config/configFile.js");
5
5
  Object.defineProperty(exports, "loadConfigFiles", { enumerable: true, get: function () { return configFile_js_1.loadConfigFiles; } });
6
6
  var util_js_1 = require("./persistence/util.js");
7
+ Object.defineProperty(exports, "createInMemoryStorageClient", { enumerable: true, get: function () { return util_js_1.createInMemoryStorageClient; } });
7
8
  Object.defineProperty(exports, "createStorageClient", { enumerable: true, get: function () { return util_js_1.createStorageClient; } });
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,wDAAwD;AAA/C,gHAAA,eAAe,OAAA;AAExB,iDAA2D;AAAlD,8GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,wDAAwD;AAA/C,gHAAA,eAAe,OAAA;AAExB,iDAAwF;AAA/E,sHAAA,2BAA2B,OAAA;AAAE,8GAAA,mBAAmB,OAAA"}
@@ -16,6 +16,12 @@ export declare function createStorageClient(configs: TopLevelConfig[], partition
16
16
  * @returns The storage client instance to use
17
17
  */
18
18
  export declare function createStorageClient(storageConfig: StorageConfig, partition: string): AwsIamStore;
19
+ /**
20
+ * Create an in-memory storage client with the 'aws' partition.
21
+ *
22
+ * This is useful for testing.
23
+ */
24
+ export declare function createInMemoryStorageClient(): AwsIamStore;
19
25
  /**
20
26
  * Generate a resource prefix given a starting path, a resource ARN, and a separator.
21
27
  * The function uses splitArnParts to get the parts of the ARN and then joins each non-empty part
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/persistence/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAErF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI9C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;AAC9F;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;AAyBjG;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAcR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;IACL,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,EACD,SAAS,EAAE,MAAM,GAChB,MAAM,CAYR;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKtF"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/persistence/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAErF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAK9C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;AAC9F;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;AAyBjG;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,WAAW,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAcR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;IACL,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,EACD,SAAS,EAAE,MAAM,GAChB,MAAM,CAYR;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKtF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createStorageClient = createStorageClient;
4
+ exports.createInMemoryStorageClient = createInMemoryStorageClient;
4
5
  exports.resourcePrefix = resourcePrefix;
5
6
  exports.resourceTypePrefix = resourceTypePrefix;
6
7
  exports.joinPathParts = joinPathParts;
@@ -8,6 +9,7 @@ const path_1 = require("path");
8
9
  const config_js_1 = require("../config/config.js");
9
10
  const arn_js_1 = require("../utils/arn.js");
10
11
  const FileSystemAwsIamStore_js_1 = require("./file/FileSystemAwsIamStore.js");
12
+ const InMemoryPathBasedPersistenceAdapter_js_1 = require("./InMemoryPathBasedPersistenceAdapter.js");
11
13
  const S3PathBasedPersistenceAdapter_js_1 = require("./s3/S3PathBasedPersistenceAdapter.js");
12
14
  function createStorageClient(storageConfig, partition) {
13
15
  if (Array.isArray(storageConfig)) {
@@ -26,6 +28,14 @@ function createStorageClient(storageConfig, partition) {
26
28
  }
27
29
  throw new Error(`Unsupported storage type: ${storageConfig.type}. Supported types are: file and s3.`);
28
30
  }
31
+ /**
32
+ * Create an in-memory storage client with the 'aws' partition.
33
+ *
34
+ * This is useful for testing.
35
+ */
36
+ function createInMemoryStorageClient() {
37
+ return new FileSystemAwsIamStore_js_1.FileSystemAwsIamStore('mock', 'aws', '/', new InMemoryPathBasedPersistenceAdapter_js_1.InMemoryPathBasedPersistenceAdapter());
38
+ }
29
39
  /**
30
40
  * Generate a resource prefix given a starting path, a resource ARN, and a separator.
31
41
  * The function uses splitArnParts to get the parts of the ARN and then joins each non-empty part
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/persistence/util.ts"],"names":[],"mappings":";;AAuBA,kDAsBC;AAYD,wCAkBC;AAUD,gDAsBC;AAED,sCAKC;AAlHD,+BAA0B;AAC1B,mDAAqF;AACrF,4CAA+C;AAE/C,8EAAuE;AACvE,4FAAqF;AAkBrF,SAAgB,mBAAmB,CACjC,aAA+C,EAC/C,SAAiB;IAEjB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,IAAA,4BAAgB,EAAC,aAAa,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAClF,CAAC;QACD,aAAa,GAAG,WAAW,CAAA;IAC7B,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,gDAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,UAAG,CAAC,CAAA;IACtE,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,kBAAkB,GAAG,IAAI,gEAA6B,CAAC,aAAa,CAAC,CAAA;QAC3E,OAAO,IAAI,gDAAqB,CAAC,aAAa,CAAC,MAAM,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAClG,CAAC;IAED,MAAM,IAAI,KAAK,CACb,6BAA8B,aAAqB,CAAC,IAAI,qCAAqC,CAC9F,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,YAAoB,EACpB,WAAmB,EACnB,SAAiB;IAEjB,MAAM,KAAK,GAAG,IAAA,sBAAa,EAAC,WAAW,CAAC,CAAA;IAExC,OAAO,aAAa,CAClB;QACE,YAAY;QACZ,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACvD,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC/E,EACD,SAAS,CACV,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,YAAoB,EACpB,KAMC,EACD,SAAiB;IAEjB,OAAO,aAAa,CAClB;QACE,YAAY;QACZ,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACnD,KAAK,CAAC,YAAY;KACnB,EACD,SAAS,CACV,CAAA;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,KAA6B,EAAE,SAAiB;IAC5E,wCAAwC;IACxC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACtF,sCAAsC;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/persistence/util.ts"],"names":[],"mappings":";;AAwBA,kDAsBC;AAOD,kEAEC;AAYD,wCAkBC;AAUD,gDAsBC;AAED,sCAKC;AA5HD,+BAA0B;AAC1B,mDAAqF;AACrF,4CAA+C;AAE/C,8EAAuE;AACvE,qGAA8F;AAC9F,4FAAqF;AAkBrF,SAAgB,mBAAmB,CACjC,aAA+C,EAC/C,SAAiB;IAEjB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,IAAA,4BAAgB,EAAC,aAAa,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAClF,CAAC;QACD,aAAa,GAAG,WAAW,CAAA;IAC7B,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,gDAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,UAAG,CAAC,CAAA;IACtE,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,kBAAkB,GAAG,IAAI,gEAA6B,CAAC,aAAa,CAAC,CAAA;QAC3E,OAAO,IAAI,gDAAqB,CAAC,aAAa,CAAC,MAAM,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAClG,CAAC;IAED,MAAM,IAAI,KAAK,CACb,6BAA8B,aAAqB,CAAC,IAAI,qCAAqC,CAC9F,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,2BAA2B;IACzC,OAAO,IAAI,gDAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,4EAAmC,EAAE,CAAC,CAAA;AACjG,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,YAAoB,EACpB,WAAmB,EACnB,SAAiB;IAEjB,MAAM,KAAK,GAAG,IAAA,sBAAa,EAAC,WAAW,CAAC,CAAA;IAExC,OAAO,aAAa,CAClB;QACE,YAAY;QACZ,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACvD,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC/E,EACD,SAAS,CACV,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,YAAoB,EACpB,KAMC,EACD,SAAiB;IAEjB,OAAO,aAAa,CAClB;QACE,YAAY;QACZ,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACnD,KAAK,CAAC,YAAY;KACnB,EACD,SAAS,CACV,CAAA;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,KAA6B,EAAE,SAAiB;IAC5E,wCAAwC;IACxC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACtF,sCAAsC;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACtC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * All Valid AWS Services
3
3
  */
4
- export declare const allServices: readonly ["apigateway", "dynamodb", "ec2", "ecr", "elasticfilesystem", "glacier", "glue", "iam", "kms", "lambda", "organizations", "ram", "s3", "s3express", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
4
+ export declare const allServices: readonly ["apigateway", "backup", "dynamodb", "ec2", "ecr", "elasticfilesystem", "glacier", "glue", "iam", "kms", "lambda", "organizations", "ram", "s3", "s3express", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
5
5
  /**
6
6
  * Type representing a valid AWS service. A union of all strings in `allServices`.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,iNAoBd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAE5D"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,2NAqBd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAE5D"}
@@ -7,6 +7,7 @@ exports.lowerCaseService = lowerCaseService;
7
7
  */
8
8
  exports.allServices = [
9
9
  'apigateway',
10
+ 'backup',
10
11
  'dynamodb',
11
12
  'ec2',
12
13
  'ecr',
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":";;;AAoCA,4CAEC;AAtCD;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,YAAY;IACZ,UAAU;IACV,KAAK;IACL,KAAK;IACL,mBAAmB;IACnB,SAAS;IACT,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,KAAK;IACL,IAAI;IACJ,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA;AAOV;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,EAAgB,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":";;;AAqCA,4CAEC;AAvCD;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,KAAK;IACL,KAAK;IACL,mBAAmB;IACnB,SAAS;IACT,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,KAAK;IACL,IAAI;IACJ,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA;AAOV;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,EAAgB,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const BackupVaultsSync: import("../sync.js").Sync;
2
+ //# sourceMappingURL=backupVaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backupVaults.d.ts","sourceRoot":"","sources":["../../../../src/syncs/backup/backupVaults.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,gBAAgB,2BAkD5B,CAAA"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BackupVaultsSync = void 0;
4
+ const client_backup_1 = require("@aws-sdk/client-backup");
5
+ const client_tools_js_1 = require("../../utils/client-tools.js");
6
+ const json_js_1 = require("../../utils/json.js");
7
+ const typedSync_js_1 = require("../typedSync.js");
8
+ exports.BackupVaultsSync = (0, typedSync_js_1.createTypedSyncOperation)('backup', 'vaults', (0, typedSync_js_1.createResourceSyncType)({
9
+ client: client_backup_1.BackupClient,
10
+ command: client_backup_1.ListBackupVaultsCommand,
11
+ key: 'BackupVaultList',
12
+ paginationConfig: {
13
+ inputKey: 'NextToken',
14
+ outputKey: 'NextToken'
15
+ },
16
+ resourceTypeParts: (accountId, region) => ({
17
+ service: 'backup',
18
+ resourceType: 'backup-vault',
19
+ account: accountId,
20
+ region: region
21
+ }),
22
+ extraFields: {
23
+ tags: async (client, vault) => {
24
+ return (0, client_tools_js_1.runAndCatchError)('ResourceNotFoundException', async () => {
25
+ return (0, client_tools_js_1.runAndCatch404)(async () => {
26
+ const tagResult = await client.send(new client_backup_1.ListTagsCommand({ ResourceArn: vault.BackupVaultArn }));
27
+ return tagResult.Tags;
28
+ });
29
+ });
30
+ },
31
+ policy: async (client, vault) => {
32
+ return (0, client_tools_js_1.runAndCatchError)('ResourceNotFoundException', async () => {
33
+ return (0, client_tools_js_1.runAndCatch404)(async () => {
34
+ const policyResult = await client.send(new client_backup_1.GetBackupVaultAccessPolicyCommand({ BackupVaultName: vault.BackupVaultName }));
35
+ return (0, json_js_1.parseIfPresent)(policyResult.Policy);
36
+ });
37
+ });
38
+ }
39
+ },
40
+ tags: (vault) => vault.extraFields.tags,
41
+ arn: (vault) => vault.BackupVaultArn,
42
+ results: (vault) => ({
43
+ metadata: {
44
+ name: vault.BackupVaultName,
45
+ key: vault.EncryptionKeyArn,
46
+ state: vault.VaultState
47
+ },
48
+ policy: vault.extraFields.policy
49
+ })
50
+ }));
51
+ //# sourceMappingURL=backupVaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backupVaults.js","sourceRoot":"","sources":["../../../../src/syncs/backup/backupVaults.ts"],"names":[],"mappings":";;;AAAA,0DAK+B;AAC/B,iEAA8E;AAC9E,iDAAoD;AACpD,kDAAkF;AAErE,QAAA,gBAAgB,GAAG,IAAA,uCAAwB,EACtD,QAAQ,EACR,QAAQ,EACR,IAAA,qCAAsB,EAAC;IACrB,MAAM,EAAE,4BAAY;IACpB,OAAO,EAAE,uCAAuB;IAChC,GAAG,EAAE,iBAAiB;IACtB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB;IACD,iBAAiB,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,MAAM;KACf,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,OAAO,IAAA,kCAAgB,EAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;gBAC9D,OAAO,IAAA,gCAAc,EAAC,KAAK,IAAI,EAAE;oBAC/B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,+BAAe,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAC3D,CAAA;oBACD,OAAO,SAAS,CAAC,IAAI,CAAA;gBACvB,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC9B,OAAO,IAAA,kCAAgB,EAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;gBAC9D,OAAO,IAAA,gCAAc,EAAC,KAAK,IAAI,EAAE;oBAC/B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CACpC,IAAI,iDAAiC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAClF,CAAA;oBACD,OAAO,IAAA,wBAAc,EAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAC5C,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IACD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;IACvC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAe;IACrC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,eAAe;YAC3B,GAAG,EAAE,KAAK,CAAC,gBAAgB;YAC3B,KAAK,EAAE,KAAK,CAAC,UAAU;SACxB;QACD,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;KACjC,CAAC;CACH,CAAC,CACH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AAyB7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AA+ChC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
1
+ {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AA0B7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAgDhC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
@@ -4,6 +4,7 @@ exports.getGlobalSyncsForService = getGlobalSyncsForService;
4
4
  exports.getRegionalSyncsForService = getRegionalSyncsForService;
5
5
  const services_js_1 = require("../services.js");
6
6
  const gateways_js_1 = require("./apigateway/gateways.js");
7
+ const backupVaults_js_1 = require("./backup/backupVaults.js");
7
8
  const tables_js_1 = require("./dynamodb/tables.js");
8
9
  const vpcEndpoints_js_1 = require("./ec2/vpcEndpoints.js");
9
10
  const ecrSyncs_js_1 = require("./ecr/ecrSyncs.js");
@@ -30,6 +31,7 @@ const ssoInstances_js_1 = require("./sso/ssoInstances.js");
30
31
  const allSyncs = [
31
32
  accountBpa_js_1.AccountS3BpaSync,
32
33
  authorizationDetails_js_1.AuthorizationDetailsSync,
34
+ backupVaults_js_1.BackupVaultsSync,
33
35
  tables_js_1.DynamoDBTableSync,
34
36
  ...ecrSyncs_js_1.EcrSyncs,
35
37
  fileSystems_js_1.ElasticFileSystemsSync,
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":";;AA8EA,4DAMC;AAQD,gEAMC;AAlGD,gDAA6D;AAC7D,0DAAuD;AACvD,oDAAwD;AACxD,2DAAwD;AACxD,mDAA4C;AAC5C,yDAA6D;AAC7D,oDAAoD;AACpD,2EAAwE;AACxE,qEAAkE;AAClE,mEAAgE;AAChE,yCAAsC;AACtC,kDAA+C;AAC/C,uEAAmE;AACnE,qDAAqD;AACrD,0DAAyD;AACzD,sDAAqD;AACrD,gDAA4D;AAC5D,gFAA+E;AAC/E,8CAAkD;AAClD,qFAA8E;AAC9E,gEAA+D;AAC/D,4DAAwD;AACxD,+CAA+C;AAC/C,+CAA8C;AAC9C,2DAAmD;AAGnD,MAAM,QAAQ,GAAG;IACf,gCAAgB;IAChB,kDAAwB;IACxB,6BAAiB;IACjB,GAAG,sBAAQ;IACX,uCAAsB;IACtB,0CAAoB;IACpB,GAAG,4CAAqB;IACxB,6BAAiB;IACjB,6BAAe;IACf,gBAAO;IACP,sBAAU;IACV,mCAAgB;IAChB,+BAAgB;IAChB,0BAAY;IACZ,oCAAkB;IAClB,kDAAsB;IACtB,uCAA0B;IAC1B,0DAA6B;IAC7B,oCAAkB;IAClB,uBAAU;IACV,yBAAa;IACb,wBAAY;IACZ,6BAAW;IACX,kCAAgB;CACjB,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,8BAAgB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAAmB;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAmB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":";;AAgFA,4DAMC;AAQD,gEAMC;AApGD,gDAA6D;AAC7D,0DAAuD;AACvD,8DAA2D;AAC3D,oDAAwD;AACxD,2DAAwD;AACxD,mDAA4C;AAC5C,yDAA6D;AAC7D,oDAAoD;AACpD,2EAAwE;AACxE,qEAAkE;AAClE,mEAAgE;AAChE,yCAAsC;AACtC,kDAA+C;AAC/C,uEAAmE;AACnE,qDAAqD;AACrD,0DAAyD;AACzD,sDAAqD;AACrD,gDAA4D;AAC5D,gFAA+E;AAC/E,8CAAkD;AAClD,qFAA8E;AAC9E,gEAA+D;AAC/D,4DAAwD;AACxD,+CAA+C;AAC/C,+CAA8C;AAC9C,2DAAmD;AAGnD,MAAM,QAAQ,GAAG;IACf,gCAAgB;IAChB,kDAAwB;IACxB,kCAAgB;IAChB,6BAAiB;IACjB,GAAG,sBAAQ;IACX,uCAAsB;IACtB,0CAAoB;IACpB,GAAG,4CAAqB;IACxB,6BAAiB;IACjB,6BAAe;IACf,gBAAO;IACP,sBAAU;IACV,mCAAgB;IAChB,+BAAgB;IAChB,0BAAY;IACZ,oCAAkB;IAClB,kDAAsB;IACtB,uCAA0B;IAC1B,0DAA6B;IAC7B,oCAAkB;IAClB,uBAAU;IACV,yBAAa;IACb,wBAAY;IACZ,6BAAW;IACX,kCAAgB;CACjB,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,8BAAgB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAAmB;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAmB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export type { StorageConfig, TopLevelConfig } from './config/config.js';
2
2
  export { loadConfigFiles } from './config/configFile.js';
3
3
  export type { AwsIamStore } from './persistence/AwsIamStore.ts';
4
- export { createStorageClient } from './persistence/util.js';
4
+ export { createInMemoryStorageClient, createStorageClient } from './persistence/util.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { loadConfigFiles } from './config/configFile.js';
2
- export { createStorageClient } from './persistence/util.js';
2
+ export { createInMemoryStorageClient, createStorageClient } from './persistence/util.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -16,6 +16,12 @@ export declare function createStorageClient(configs: TopLevelConfig[], partition
16
16
  * @returns The storage client instance to use
17
17
  */
18
18
  export declare function createStorageClient(storageConfig: StorageConfig, partition: string): AwsIamStore;
19
+ /**
20
+ * Create an in-memory storage client with the 'aws' partition.
21
+ *
22
+ * This is useful for testing.
23
+ */
24
+ export declare function createInMemoryStorageClient(): AwsIamStore;
19
25
  /**
20
26
  * Generate a resource prefix given a starting path, a resource ARN, and a separator.
21
27
  * The function uses splitArnParts to get the parts of the ARN and then joins each non-empty part
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/persistence/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAErF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI9C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;AAC9F;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;AAyBjG;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAcR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;IACL,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,EACD,SAAS,EAAE,MAAM,GAChB,MAAM,CAYR;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKtF"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/persistence/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAErF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAK9C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;AAC9F;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;AAyBjG;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,WAAW,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAcR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;IACL,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,EACD,SAAS,EAAE,MAAM,GAChB,MAAM,CAYR;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKtF"}
@@ -2,6 +2,7 @@ import { sep } from 'path';
2
2
  import { getStorageConfig } from '../config/config.js';
3
3
  import { splitArnParts } from '../utils/arn.js';
4
4
  import { FileSystemAwsIamStore } from './file/FileSystemAwsIamStore.js';
5
+ import { InMemoryPathBasedPersistenceAdapter } from './InMemoryPathBasedPersistenceAdapter.js';
5
6
  import { S3PathBasedPersistenceAdapter } from './s3/S3PathBasedPersistenceAdapter.js';
6
7
  export function createStorageClient(storageConfig, partition) {
7
8
  if (Array.isArray(storageConfig)) {
@@ -20,6 +21,14 @@ export function createStorageClient(storageConfig, partition) {
20
21
  }
21
22
  throw new Error(`Unsupported storage type: ${storageConfig.type}. Supported types are: file and s3.`);
22
23
  }
24
+ /**
25
+ * Create an in-memory storage client with the 'aws' partition.
26
+ *
27
+ * This is useful for testing.
28
+ */
29
+ export function createInMemoryStorageClient() {
30
+ return new FileSystemAwsIamStore('mock', 'aws', '/', new InMemoryPathBasedPersistenceAdapter());
31
+ }
23
32
  /**
24
33
  * Generate a resource prefix given a starting path, a resource ARN, and a separator.
25
34
  * The function uses splitArnParts to get the parts of the ARN and then joins each non-empty part
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/persistence/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAiC,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAA;AAkBrF,MAAM,UAAU,mBAAmB,CACjC,aAA+C,EAC/C,SAAiB;IAEjB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAClF,CAAC;QACD,aAAa,GAAG,WAAW,CAAA;IAC7B,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;IACtE,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,kBAAkB,GAAG,IAAI,6BAA6B,CAAC,aAAa,CAAC,CAAA;QAC3E,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,MAAM,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAClG,CAAC;IAED,MAAM,IAAI,KAAK,CACb,6BAA8B,aAAqB,CAAC,IAAI,qCAAqC,CAC9F,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,YAAoB,EACpB,WAAmB,EACnB,SAAiB;IAEjB,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;IAExC,OAAO,aAAa,CAClB;QACE,YAAY;QACZ,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACvD,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC/E,EACD,SAAS,CACV,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,KAMC,EACD,SAAiB;IAEjB,OAAO,aAAa,CAClB;QACE,YAAY;QACZ,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACnD,KAAK,CAAC,YAAY;KACnB,EACD,SAAS,CACV,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAA6B,EAAE,SAAiB;IAC5E,wCAAwC;IACxC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACtF,sCAAsC;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/persistence/util.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * All Valid AWS Services
3
3
  */
4
- export declare const allServices: readonly ["apigateway", "dynamodb", "ec2", "ecr", "elasticfilesystem", "glacier", "glue", "iam", "kms", "lambda", "organizations", "ram", "s3", "s3express", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
4
+ export declare const allServices: readonly ["apigateway", "backup", "dynamodb", "ec2", "ecr", "elasticfilesystem", "glacier", "glue", "iam", "kms", "lambda", "organizations", "ram", "s3", "s3express", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
5
5
  /**
6
6
  * Type representing a valid AWS service. A union of all strings in `allServices`.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,iNAoBd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAE5D"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,2NAqBd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAE5D"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export const allServices = [
5
5
  'apigateway',
6
+ 'backup',
6
7
  'dynamodb',
7
8
  'ec2',
8
9
  'ecr',
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,UAAU;IACV,KAAK;IACL,KAAK;IACL,mBAAmB;IACnB,SAAS;IACT,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,KAAK;IACL,IAAI;IACJ,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA;AAOV;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,EAAgB,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,KAAK;IACL,KAAK;IACL,mBAAmB;IACnB,SAAS;IACT,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,eAAe;IACf,KAAK;IACL,IAAI;IACJ,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA;AAOV;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,EAAgB,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const BackupVaultsSync: import("../sync.js").Sync;
2
+ //# sourceMappingURL=backupVaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backupVaults.d.ts","sourceRoot":"","sources":["../../../../src/syncs/backup/backupVaults.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,gBAAgB,2BAkD5B,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { BackupClient, GetBackupVaultAccessPolicyCommand, ListBackupVaultsCommand, ListTagsCommand } from '@aws-sdk/client-backup';
2
+ import { runAndCatch404, runAndCatchError } from '../../utils/client-tools.js';
3
+ import { parseIfPresent } from '../../utils/json.js';
4
+ import { createResourceSyncType, createTypedSyncOperation } from '../typedSync.js';
5
+ export const BackupVaultsSync = createTypedSyncOperation('backup', 'vaults', createResourceSyncType({
6
+ client: BackupClient,
7
+ command: ListBackupVaultsCommand,
8
+ key: 'BackupVaultList',
9
+ paginationConfig: {
10
+ inputKey: 'NextToken',
11
+ outputKey: 'NextToken'
12
+ },
13
+ resourceTypeParts: (accountId, region) => ({
14
+ service: 'backup',
15
+ resourceType: 'backup-vault',
16
+ account: accountId,
17
+ region: region
18
+ }),
19
+ extraFields: {
20
+ tags: async (client, vault) => {
21
+ return runAndCatchError('ResourceNotFoundException', async () => {
22
+ return runAndCatch404(async () => {
23
+ const tagResult = await client.send(new ListTagsCommand({ ResourceArn: vault.BackupVaultArn }));
24
+ return tagResult.Tags;
25
+ });
26
+ });
27
+ },
28
+ policy: async (client, vault) => {
29
+ return runAndCatchError('ResourceNotFoundException', async () => {
30
+ return runAndCatch404(async () => {
31
+ const policyResult = await client.send(new GetBackupVaultAccessPolicyCommand({ BackupVaultName: vault.BackupVaultName }));
32
+ return parseIfPresent(policyResult.Policy);
33
+ });
34
+ });
35
+ }
36
+ },
37
+ tags: (vault) => vault.extraFields.tags,
38
+ arn: (vault) => vault.BackupVaultArn,
39
+ results: (vault) => ({
40
+ metadata: {
41
+ name: vault.BackupVaultName,
42
+ key: vault.EncryptionKeyArn,
43
+ state: vault.VaultState
44
+ },
45
+ policy: vault.extraFields.policy
46
+ })
47
+ }));
48
+ //# sourceMappingURL=backupVaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backupVaults.js","sourceRoot":"","sources":["../../../../src/syncs/backup/backupVaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iCAAiC,EACjC,uBAAuB,EACvB,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAElF,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CACtD,QAAQ,EACR,QAAQ,EACR,sBAAsB,CAAC;IACrB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,uBAAuB;IAChC,GAAG,EAAE,iBAAiB;IACtB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB;IACD,iBAAiB,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,MAAM;KACf,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,OAAO,gBAAgB,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;gBAC9D,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;oBAC/B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,eAAe,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAC3D,CAAA;oBACD,OAAO,SAAS,CAAC,IAAI,CAAA;gBACvB,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC9B,OAAO,gBAAgB,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;gBAC9D,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE;oBAC/B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CACpC,IAAI,iCAAiC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAClF,CAAA;oBACD,OAAO,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAC5C,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KACF;IACD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;IACvC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAe;IACrC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,eAAe;YAC3B,GAAG,EAAE,KAAK,CAAC,gBAAgB;YAC3B,KAAK,EAAE,KAAK,CAAC,UAAU;SACxB;QACD,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;KACjC,CAAC;CACH,CAAC,CACH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AAyB7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AA+ChC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
1
+ {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AA0B7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAgDhC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
@@ -1,5 +1,6 @@
1
1
  import { lowerCaseService } from '../services.js';
2
2
  import { RestApisSync } from './apigateway/gateways.js';
3
+ import { BackupVaultsSync } from './backup/backupVaults.js';
3
4
  import { DynamoDBTableSync } from './dynamodb/tables.js';
4
5
  import { VpcEndpointsSync } from './ec2/vpcEndpoints.js';
5
6
  import { EcrSyncs } from './ecr/ecrSyncs.js';
@@ -26,6 +27,7 @@ import { SsoDataSync } from './sso/ssoInstances.js';
26
27
  const allSyncs = [
27
28
  AccountS3BpaSync,
28
29
  AuthorizationDetailsSync,
30
+ BackupVaultsSync,
29
31
  DynamoDBTableSync,
30
32
  ...EcrSyncs,
31
33
  ElasticFileSystemsSync,
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloud-copilot/iam-collect",
3
- "version": "0.1.64",
3
+ "version": "0.1.66",
4
4
  "description": "Collect IAM information from AWS Accounts",
5
5
  "repository": {
6
6
  "type": "git",
@@ -110,6 +110,7 @@
110
110
  "dependencies": {
111
111
  "@aws-sdk/client-account": "^3.758.0",
112
112
  "@aws-sdk/client-api-gateway": "^3.799.0",
113
+ "@aws-sdk/client-backup": "^3.812.0",
113
114
  "@aws-sdk/client-dynamodb": "^3.788.0",
114
115
  "@aws-sdk/client-ec2": "^3.798.0",
115
116
  "@aws-sdk/client-ecr": "^3.798.0",