@cloud-copilot/iam-collect 0.1.15 → 0.1.17

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 (44) hide show
  1. package/README.md +13 -9
  2. package/dist/cjs/persistence/AwsIamStore.d.ts +99 -0
  3. package/dist/cjs/persistence/AwsIamStore.d.ts.map +1 -1
  4. package/dist/cjs/persistence/file/FileSystemAwsIamStore.d.ts +43 -1
  5. package/dist/cjs/persistence/file/FileSystemAwsIamStore.d.ts.map +1 -1
  6. package/dist/cjs/persistence/file/FileSystemAwsIamStore.js +122 -28
  7. package/dist/cjs/persistence/file/FileSystemAwsIamStore.js.map +1 -1
  8. package/dist/cjs/persistence/util.d.ts +1 -1
  9. package/dist/cjs/persistence/util.d.ts.map +1 -1
  10. package/dist/cjs/persistence/util.js +9 -3
  11. package/dist/cjs/persistence/util.js.map +1 -1
  12. package/dist/cjs/services.d.ts +1 -1
  13. package/dist/cjs/services.d.ts.map +1 -1
  14. package/dist/cjs/services.js +1 -1
  15. package/dist/cjs/services.js.map +1 -1
  16. package/dist/cjs/syncs/organizations/organizations.d.ts +49 -0
  17. package/dist/cjs/syncs/organizations/organizations.d.ts.map +1 -0
  18. package/dist/cjs/syncs/organizations/organizations.js +347 -0
  19. package/dist/cjs/syncs/organizations/organizations.js.map +1 -0
  20. package/dist/cjs/syncs/syncMap.d.ts.map +1 -1
  21. package/dist/cjs/syncs/syncMap.js +8 -1
  22. package/dist/cjs/syncs/syncMap.js.map +1 -1
  23. package/dist/esm/persistence/AwsIamStore.d.ts +99 -0
  24. package/dist/esm/persistence/AwsIamStore.d.ts.map +1 -1
  25. package/dist/esm/persistence/file/FileSystemAwsIamStore.d.ts +43 -1
  26. package/dist/esm/persistence/file/FileSystemAwsIamStore.d.ts.map +1 -1
  27. package/dist/esm/persistence/file/FileSystemAwsIamStore.js +122 -28
  28. package/dist/esm/persistence/file/FileSystemAwsIamStore.js.map +1 -1
  29. package/dist/esm/persistence/util.d.ts +1 -1
  30. package/dist/esm/persistence/util.d.ts.map +1 -1
  31. package/dist/esm/persistence/util.js +9 -3
  32. package/dist/esm/persistence/util.js.map +1 -1
  33. package/dist/esm/services.d.ts +1 -1
  34. package/dist/esm/services.d.ts.map +1 -1
  35. package/dist/esm/services.js +1 -1
  36. package/dist/esm/services.js.map +1 -1
  37. package/dist/esm/syncs/organizations/organizations.d.ts +49 -0
  38. package/dist/esm/syncs/organizations/organizations.d.ts.map +1 -0
  39. package/dist/esm/syncs/organizations/organizations.js +339 -0
  40. package/dist/esm/syncs/organizations/organizations.js.map +1 -0
  41. package/dist/esm/syncs/syncMap.d.ts.map +1 -1
  42. package/dist/esm/syncs/syncMap.js +8 -1
  43. package/dist/esm/syncs/syncMap.js.map +1 -1
  44. package/package.json +2 -1
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrganizationSync = void 0;
4
+ exports.getOrganizationDetails = getOrganizationDetails;
5
+ exports.getOrganizationRoot = getOrganizationRoot;
6
+ exports.getTagsForOu = getTagsForOu;
7
+ exports.getTagsForAccount = getTagsForAccount;
8
+ exports.getChildOrgUnits = getChildOrgUnits;
9
+ exports.getAccountsForParent = getAccountsForParent;
10
+ const client_organizations_1 = require("@aws-sdk/client-organizations");
11
+ const ClientPool_js_1 = require("../../aws/ClientPool.js");
12
+ const client_tools_js_1 = require("../../utils/client-tools.js");
13
+ const typedSync_js_1 = require("../typedSync.js");
14
+ exports.OrganizationSync = {
15
+ awsService: 'organizations',
16
+ name: 'organization',
17
+ global: true,
18
+ execute: async function (accountId, region, credentials, storage, endpoint, syncOptions) {
19
+ const organizationClient = ClientPool_js_1.AwsClientPool.defaultInstance.client(client_organizations_1.OrganizationsClient, credentials, region, endpoint);
20
+ const organization = await getOrganizationDetails(organizationClient);
21
+ if (!organization) {
22
+ return;
23
+ }
24
+ const organizationId = organization.Id;
25
+ const root = await getOrganizationRoot(organizationClient);
26
+ if (!root) {
27
+ return;
28
+ }
29
+ const features = root.PolicyTypes?.reduce((acc, type) => {
30
+ acc[type.Type] = type.Status === client_organizations_1.PolicyTypeStatus.ENABLED;
31
+ return acc;
32
+ }, {}) || {};
33
+ const scpsEnabled = !!features[client_organizations_1.PolicyType.SERVICE_CONTROL_POLICY];
34
+ const rcpsEnabled = !!features[client_organizations_1.PolicyType.RESOURCE_CONTROL_POLICY];
35
+ const allAccounts = {};
36
+ const allOus = {};
37
+ const ouDetails = {};
38
+ allOus[root.Id] = {
39
+ parent: undefined,
40
+ scps: await getPoliciesForTarget(organizationClient, root.Id, client_organizations_1.PolicyType.SERVICE_CONTROL_POLICY, scpsEnabled),
41
+ rcps: await getPoliciesForTarget(organizationClient, root.Id, client_organizations_1.PolicyType.RESOURCE_CONTROL_POLICY, rcpsEnabled)
42
+ };
43
+ ouDetails[root.Id] = await getOuDetails(organizationClient, root);
44
+ const structure = {
45
+ [root.Id]: {
46
+ children: {},
47
+ accounts: []
48
+ }
49
+ };
50
+ // const children = await getChildOrgUnits(organizationClient, root.Id!)
51
+ const parents = [structure];
52
+ let parent = parents.pop();
53
+ while (parent) {
54
+ for (const key in parent) {
55
+ // Get structure information
56
+ const children = await getChildOrgUnits(organizationClient, key);
57
+ for (const child of children) {
58
+ ouDetails[child.Id] = await getOuDetails(organizationClient, child);
59
+ const childId = child.Id;
60
+ allOus[childId] = {
61
+ parent: key,
62
+ scps: await getPoliciesForTarget(organizationClient, root.Id, client_organizations_1.PolicyType.SERVICE_CONTROL_POLICY, scpsEnabled),
63
+ rcps: await getPoliciesForTarget(organizationClient, root.Id, client_organizations_1.PolicyType.RESOURCE_CONTROL_POLICY, rcpsEnabled)
64
+ };
65
+ parent[key].children ||= {};
66
+ parent[key].children[childId] = {
67
+ children: undefined,
68
+ accounts: undefined
69
+ };
70
+ }
71
+ const accounts = await getAccountsForParent(organizationClient, key);
72
+ if (accounts.length > 0) {
73
+ parent[key].accounts = [];
74
+ }
75
+ for (const account of accounts) {
76
+ let accountTags = await getTagsForAccount(organizationClient, account.Id);
77
+ if (Object.keys(accountTags).length === 0) {
78
+ accountTags = undefined;
79
+ }
80
+ allAccounts[account.Id] = {
81
+ ou: key,
82
+ scps: await getPoliciesForTarget(organizationClient, account.Id, client_organizations_1.PolicyType.SERVICE_CONTROL_POLICY, scpsEnabled),
83
+ rcps: await getPoliciesForTarget(organizationClient, account.Id, client_organizations_1.PolicyType.RESOURCE_CONTROL_POLICY, rcpsEnabled),
84
+ tags: accountTags
85
+ };
86
+ parent[key].accounts.push(account.Arn);
87
+ }
88
+ // parent[key].accounts = accounts.map((a) => a.Arn!)
89
+ if (parent[key].children) {
90
+ parents.push(parent[key].children);
91
+ }
92
+ }
93
+ parent = parents.pop();
94
+ }
95
+ storage.saveOrganizationMetadata(organizationId, 'structure', structure);
96
+ storage.saveOrganizationMetadata(organizationId, 'metadata', {
97
+ id: organizationId,
98
+ arn: organization.Arn,
99
+ rootOu: root.Id,
100
+ rootAccountArn: organization.MasterAccountArn,
101
+ rootAccountId: organization.MasterAccountId,
102
+ features
103
+ });
104
+ storage.saveOrganizationMetadata(organizationId, 'accounts', allAccounts);
105
+ storage.saveOrganizationMetadata(organizationId, 'ous', allOus);
106
+ // Sync OUs
107
+ const persistedOus = await storage.listOrganizationalUnits(organizationId);
108
+ const newOus = new Set(Object.keys(ouDetails));
109
+ const deletedOus = persistedOus.filter((ou) => !newOus.has(ou));
110
+ for (const ouToDelete of deletedOus) {
111
+ await storage.deleteOrganizationalUnit(organizationId, ouToDelete);
112
+ }
113
+ for (const ouId of Object.keys(ouDetails)) {
114
+ const ou = ouDetails[ouId];
115
+ await storage.saveOrganizationalUnitMetadata(organizationId, ouId, 'metadata', ou.metadata);
116
+ await storage.saveOrganizationalUnitMetadata(organizationId, ouId, 'tags', ou.tags);
117
+ }
118
+ // Sync policies
119
+ await syncPolicies(organizationId, organizationClient, storage, client_organizations_1.PolicyType.SERVICE_CONTROL_POLICY, 'scps', scpsEnabled);
120
+ await syncPolicies(organizationId, organizationClient, storage, client_organizations_1.PolicyType.RESOURCE_CONTROL_POLICY, 'rcps', rcpsEnabled);
121
+ // Sync organization resource policy
122
+ await syncOrganizationResourcePolicy(organizationClient, storage, organizationId);
123
+ }
124
+ };
125
+ /**
126
+ * Get the details of an organization or an account.
127
+ *
128
+ * @param client The OrganizationsClient to use
129
+ * @returns the details of the organization the account belongs to or undefined if the account is not part of an organization or does not have permission.
130
+ */
131
+ async function getOrganizationDetails(client) {
132
+ const command = new client_organizations_1.DescribeOrganizationCommand();
133
+ try {
134
+ const response = await (0, client_tools_js_1.runAndCatch404)(() => client.send(command));
135
+ if (!response) {
136
+ return undefined;
137
+ }
138
+ return response.Organization;
139
+ }
140
+ catch (e) {
141
+ if (e.name === 'AWSOrganizationsNotInUseException') {
142
+ return undefined;
143
+ }
144
+ }
145
+ return undefined;
146
+ }
147
+ /**
148
+ * Get the root Organizational Unit for an organization
149
+ *
150
+ * @param client The OrganizationsClient to use
151
+ * @returns the root Organizational Unit for the organization if it exists
152
+ */
153
+ async function getOrganizationRoot(client) {
154
+ return (0, client_tools_js_1.runAndCatchAccessDenied)(async () => {
155
+ const roots = await (0, typedSync_js_1.paginateResource)(client, client_organizations_1.ListRootsCommand, 'Roots', {
156
+ inputKey: 'NextToken',
157
+ outputKey: 'NextToken'
158
+ }, {});
159
+ return roots.at(0);
160
+ });
161
+ }
162
+ /**
163
+ * Get the tags for an Organizational Unit
164
+ *
165
+ * @param client The OrganizationsClient to use
166
+ * @param ouId The AWS id of the Organizational Unit to get the tags for
167
+ * @returns The tags for the Organizational Unit
168
+ */
169
+ async function getTagsForOu(client, ouId) {
170
+ return getTags(client, ouId);
171
+ }
172
+ /**
173
+ * Get the tags for an account
174
+ * @param client The OrganizationsClient to use
175
+ * @param accountId The AWS id of the account to get the tags for
176
+ * @returns The tags for the account
177
+ */
178
+ async function getTagsForAccount(client, accountId) {
179
+ return getTags(client, accountId);
180
+ }
181
+ /**
182
+ * Get the tags for a resource in AWS Organizations
183
+ *
184
+ * @param client The OrganizationsClient to use
185
+ * @param resourceId The AWS id of the resource to get the tags for
186
+ * @returns The tags for the resource
187
+ */
188
+ async function getTags(client, resourceId) {
189
+ const command = new client_organizations_1.ListTagsForResourceCommand({ ResourceId: resourceId });
190
+ const response = await (0, client_tools_js_1.runAndCatch404)(() => client.send(command));
191
+ if (!response) {
192
+ return {};
193
+ }
194
+ return (response.Tags || [])?.reduce((acc, tag) => {
195
+ acc[tag.Key] = tag.Value;
196
+ return acc;
197
+ }, {});
198
+ }
199
+ /**
200
+ * Get the organizational units for a parent organizational unit
201
+ *
202
+ * @param client The OrganizationsClient to use
203
+ * @param parentId The AWS id of the parent organizational unit
204
+ * @returns The organizational units directly under the parent
205
+ */
206
+ async function getChildOrgUnits(client, parentId) {
207
+ return await (0, typedSync_js_1.paginateResource)(client, client_organizations_1.ListOrganizationalUnitsForParentCommand, 'OrganizationalUnits', { inputKey: 'NextToken', outputKey: 'NextToken' }, { ParentId: parentId });
208
+ }
209
+ /**
210
+ * Get the accounts for a parent organizational unit
211
+ *
212
+ * @param client The OrganizationsClient to use
213
+ * @param parentId The AWS id of the parent organizational unit
214
+ * @returns The accounts directly under the parent
215
+ */
216
+ async function getAccountsForParent(client, parentId) {
217
+ const accounts = await (0, typedSync_js_1.paginateResource)(client, client_organizations_1.ListAccountsForParentCommand, 'Accounts', {
218
+ inputKey: 'NextToken',
219
+ outputKey: 'NextToken'
220
+ }, { ParentId: parentId });
221
+ return accounts;
222
+ }
223
+ /**
224
+ * Get the details of an Organizational Unit (OU).
225
+ *
226
+ * @param organizationClient the OrganizationsClient to use
227
+ * @param ou the Organizational Unit to get the details for
228
+ * @returns an object containing the OU's tags and metadata
229
+ */
230
+ async function getOuDetails(organizationClient, ou) {
231
+ return {
232
+ tags: await getTagsForOu(organizationClient, ou.Id),
233
+ metadata: {
234
+ arn: ou.Arn,
235
+ name: ou.Name
236
+ }
237
+ };
238
+ }
239
+ /**
240
+ * Get the policies for a target
241
+ *
242
+ * @param client the OrganizationsClient to use
243
+ * @param targetId the id of the target to get the policies for
244
+ * @param policyType the type of policy to get
245
+ * @param enabled whether the policy type is enabled
246
+ * @returns the Arns of the policies for the target
247
+ */
248
+ async function getPoliciesForTarget(client, targetId, policyType, enabled) {
249
+ if (!enabled) {
250
+ return [];
251
+ }
252
+ const policies = await (0, typedSync_js_1.paginateResource)(client, client_organizations_1.ListPoliciesForTargetCommand, 'Policies', { inputKey: 'NextToken', outputKey: 'NextToken' }, {
253
+ TargetId: targetId,
254
+ Filter: policyType
255
+ });
256
+ return policies.map((policy) => policy.Arn);
257
+ }
258
+ /**
259
+ * Sync the policies for an organization and a specific policy type.
260
+ *
261
+ * @param organizationId the id of the organization to sync policies for
262
+ * @param organizationClient the OrganizationsClient to use
263
+ * @param storage the AwsIamStore to use for persistence
264
+ * @param policyType the type of policy to sync (e.g., SERVICE_CONTROL_POLICY, RESOURCE_CONTROL_POLICY)
265
+ * @param fileType the type of policy file to sync to storage (e.g., 'scps', 'rcps')
266
+ * @param enabled whether the policy type is enabled in the organization
267
+ */
268
+ async function syncPolicies(organizationId, organizationClient, storage, policyType, fileType, enabled) {
269
+ const existingPolicies = await storage.listOrganizationPolicies(organizationId, fileType);
270
+ if (!enabled) {
271
+ for (const policyId of existingPolicies) {
272
+ await storage.deleteOrganizationPolicy(organizationId, fileType, policyId);
273
+ }
274
+ return;
275
+ }
276
+ const policies = await (0, typedSync_js_1.paginateResource)(organizationClient, client_organizations_1.ListPoliciesCommand, 'Policies', { inputKey: 'NextToken', outputKey: 'NextToken' }, {
277
+ Filter: policyType
278
+ });
279
+ const newPolicyIds = new Set(policies.map((p) => p.Id));
280
+ const policiesToDelete = existingPolicies.filter((id) => !newPolicyIds.has(id));
281
+ for (const policyToDelete of policiesToDelete) {
282
+ await storage.deleteOrganizationPolicy(organizationId, fileType, policyToDelete);
283
+ }
284
+ for (const policy of policies) {
285
+ const metadata = {
286
+ arn: policy.Arn,
287
+ name: policy.Name,
288
+ description: policy.Description,
289
+ awsManaged: policy.AwsManaged
290
+ };
291
+ await storage.saveOrganizationPolicyMetadata(organizationId, fileType, policy.Id, 'metadata', metadata);
292
+ const content = await getPolicyContent(organizationClient, policy.Id);
293
+ await storage.saveOrganizationPolicyMetadata(organizationId, fileType, policy.Id, 'policy', content);
294
+ const tags = await getTags(organizationClient, policy.Id);
295
+ await storage.saveOrganizationPolicyMetadata(organizationId, fileType, policy.Id, 'tags', tags);
296
+ }
297
+ }
298
+ /**
299
+ * Get the content of a policy by its ID.
300
+ *
301
+ * @param organizationClient the OrganizationsClient to use
302
+ * @param policyId the ID of the policy to get the content for
303
+ * @returns the content of the policy as a parsed JSON object, or undefined if the policy does not exist or has no content
304
+ */
305
+ async function getPolicyContent(organizationClient, policyId) {
306
+ const command = new client_organizations_1.DescribePolicyCommand({ PolicyId: policyId });
307
+ const response = await (0, client_tools_js_1.runAndCatch404)(() => organizationClient.send(command));
308
+ if (response?.Policy?.Content) {
309
+ return JSON.parse(response.Policy.Content);
310
+ }
311
+ return undefined;
312
+ }
313
+ /**
314
+ * Sync the organization resource policy.
315
+ *
316
+ * @param organizationClient the OrganizationsClient to use
317
+ * @param storage the AwsIamStore to use for persistence
318
+ * @param organizationId the id of the organization to sync the resource policy for
319
+ */
320
+ async function syncOrganizationResourcePolicy(organizationClient, storage, organizationId) {
321
+ const policy = await getOrganizationResourcePolicy(organizationClient, organizationId);
322
+ await storage.saveOrganizationMetadata(organizationId, 'policy', policy);
323
+ }
324
+ /**
325
+ * Get the resource policy for an organization.
326
+ *
327
+ * @param organizationClient the OrganizationsClient to use
328
+ * @param organizationId the id of the organization to get the resource policy for
329
+ * @returns the resource policy as a parsed JSON object, or undefined if the policy does not exist or has no content
330
+ */
331
+ async function getOrganizationResourcePolicy(organizationClient, organizationId) {
332
+ const command = new client_organizations_1.DescribeResourcePolicyCommand({ PolicyId: organizationId });
333
+ try {
334
+ const response = await organizationClient.send(command);
335
+ if (response?.ResourcePolicy?.Content) {
336
+ return JSON.parse(response.ResourcePolicy.Content);
337
+ }
338
+ return undefined;
339
+ }
340
+ catch (error) {
341
+ if (error.name === 'ResourcePolicyNotFoundException') {
342
+ return undefined;
343
+ }
344
+ throw error;
345
+ }
346
+ }
347
+ //# sourceMappingURL=organizations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../../../src/syncs/organizations/organizations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAK3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAsBhC;;;;;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,EAAE,MAAM,gBAAgB,CAAA;AAM3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AA4BhC;;;;;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"}
@@ -5,8 +5,15 @@ exports.getRegionalSyncsForService = getRegionalSyncsForService;
5
5
  const authorizationDetails_js_1 = require("./iam/authorizationDetails.js");
6
6
  const key_js_1 = require("./kms/key.js");
7
7
  const lambda_js_1 = require("./lambda/lambda.js");
8
+ const organizations_js_1 = require("./organizations/organizations.js");
8
9
  const buckets_js_1 = require("./s3/buckets.js");
9
- const allSyncs = [authorizationDetails_js_1.AuthorizationDetailsSync, key_js_1.KeySync, lambda_js_1.LambdaSync, buckets_js_1.S3GeneralPurposeBucketSync];
10
+ const allSyncs = [
11
+ authorizationDetails_js_1.AuthorizationDetailsSync,
12
+ key_js_1.KeySync,
13
+ lambda_js_1.LambdaSync,
14
+ organizations_js_1.OrganizationSync,
15
+ buckets_js_1.S3GeneralPurposeBucketSync
16
+ ];
10
17
  const syncMap = new Map();
11
18
  for (const sync of allSyncs) {
12
19
  const service = sync.awsService;
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":";;AAiCA,4DAMC;AAQD,gEAMC;AApDD,2EAAwE;AACxE,yCAAsC;AACtC,kDAA+C;AAC/C,gDAA4D;AAG5D,MAAM,QAAQ,GAAG,CAAC,kDAAwB,EAAE,gBAAO,EAAE,sBAAU,EAAE,uCAA0B,CAAC,CAAA;AAE5F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;IAC/B,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,OAAO,CAAC,CAAA;IAClC,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,OAAO,CAAC,CAAA;IAClC,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":";;AAwCA,4DAMC;AAQD,gEAMC;AA3DD,2EAAwE;AACxE,yCAAsC;AACtC,kDAA+C;AAC/C,uEAAmE;AACnE,gDAA4D;AAG5D,MAAM,QAAQ,GAAG;IACf,kDAAwB;IACxB,gBAAO;IACP,sBAAU;IACV,mCAAgB;IAChB,uCAA0B;CAC3B,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAA;IAC/B,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,OAAO,CAAC,CAAA;IAClC,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,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
@@ -25,6 +25,7 @@ export interface ResourceTypeParts {
25
25
  */
26
26
  resourceType?: string;
27
27
  }
28
+ export type OrganizationPolicyType = 'scps' | 'rcps';
28
29
  /**
29
30
  * An interface for persisting AWS resource metadata.
30
31
  * Implementations can be backed by S3 or the local file system.
@@ -91,5 +92,103 @@ export interface AwsIamStore {
91
92
  * @param desiredResources - The list of resource arns that should exist.
92
93
  */
93
94
  syncResourceList(accountId: string, options: ResourceTypeParts, desiredResources: string[]): Promise<void>;
95
+ /**
96
+ * Save metadata for an AWS Organization
97
+ *
98
+ * @param organizationId - The AWS organization ID.
99
+ * @param metadataType - The type of metadata to save (e.g., "metadata").
100
+ * @param data - The metadata content to save an an object.
101
+ */
102
+ saveOrganizationMetadata(organizationId: string, metadataType: string, data: any): Promise<void>;
103
+ /**
104
+ * Delete metadata for an AWS Organization
105
+ *
106
+ * @param organizationId - The AWS organization ID.
107
+ * @param metadataType - The type of metadata to delete (e.g., "metadata").
108
+ */
109
+ deleteOrganizationMetadata(organizationId: string, metadataType: string): Promise<void>;
110
+ /**
111
+ * List the Organizational Units (OUs) that have been saved for a given organization.
112
+ *
113
+ * @param organizationId - The AWS organization ID.
114
+ */
115
+ listOrganizationalUnits(organizationId: string): Promise<string[]>;
116
+ /**
117
+ * Save metadata for an Organizational Unit (OU) within an AWS Organization.
118
+ *
119
+ * @param organizationId - The AWS organization ID.
120
+ * @param ouId - The AWS ID of the Organizational Unit.
121
+ * @param metadataType - The type of metadata to save (e.g., "metadata").
122
+ * @param data - The metadata content to save as an object.
123
+ */
124
+ saveOrganizationalUnitMetadata(organizationId: string, ouId: string, metadataType: string, data: any): Promise<void>;
125
+ /**
126
+ * Delete metadata for an Organizational Unit (OU) within an AWS Organization.
127
+ *
128
+ * @param organizationId - The AWS organization ID.
129
+ * @param ouId - The AWS ID of the Organizational Unit.
130
+ * @param metadataType - The type of metadata to delete (e.g., "metadata").
131
+ */
132
+ deleteOrganizationalUnitMetadata(organizationId: string, ouId: string, metadataType: string): Promise<void>;
133
+ /**
134
+ * Get metadata for an Organizational Unit (OU) within an AWS Organization.
135
+ *
136
+ * @param organizationId - The AWS organization ID.
137
+ * @param ouId - The AWS ID of the Organizational Unit.
138
+ * @param metadataType - The type of metadata to retrieve (e.g., "metadata").
139
+ * @param defaultValue - The default value to return if the metadata is not found.
140
+ */
141
+ getOrganizationalUnitMetadata<T, D extends T>(organizationId: string, ouId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
142
+ /**
143
+ * Delete an Organizational Unit (OU) from an AWS Organization.
144
+ *
145
+ * @param organizationId - The AWS organization ID.
146
+ * @param ouId - The AWS ID of the Organizational Unit.
147
+ */
148
+ deleteOrganizationalUnit(organizationId: string, ouId: string): Promise<void>;
149
+ /**
150
+ * Delete metadata for an Organization Policy.
151
+ *
152
+ * @param organizationId the AWS organization ID
153
+ * @param policyType the type of policy (e.g., "scps", "rcps")
154
+ * @param policyId the ID of the policy to delete metadata for
155
+ * @param metadataType the type of metadata to delete (e.g., "metadata")
156
+ */
157
+ deleteOrganizationPolicyMetadata(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string): Promise<void>;
158
+ /**
159
+ *
160
+ * @param organizationId the AWS organization ID
161
+ * @param policyType the type of policy (e.g., "scps", "rcps")
162
+ * @param policyId the ID of the policy to save metadata for
163
+ * @param metadataType the type of metadata to save (e.g., "metadata")
164
+ * @param data the content to save
165
+ */
166
+ saveOrganizationPolicyMetadata(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string, data: any): Promise<void>;
167
+ /**
168
+ * Get metadata for an Organization Policy.
169
+ *
170
+ * @param organizationId the AWS organization ID
171
+ * @param policyType the type of policy (e.g., "scps", "rcps")
172
+ * @param policyId the ID of the policy to retrieve metadata for
173
+ * @param metadataType the type of metadata to retrieve (e.g., "metadata")
174
+ * @param defaultValue the default value to return if the metadata is not found
175
+ */
176
+ getOrganizationPolicyMetadata<T, D extends T>(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
177
+ /**
178
+ * Delete an Organization Policy.
179
+ *
180
+ * @param organizationId the AWS organization ID
181
+ * @param policyType the type of policy (e.g., "scps", "rcps")
182
+ * @param policyId the ID of the policy to delete
183
+ */
184
+ deleteOrganizationPolicy(organizationId: string, policyType: OrganizationPolicyType, policyId: string): Promise<void>;
185
+ /**
186
+ * List the Organization Policies for a given organization and type
187
+ *
188
+ * @param organizationId the AWS organization ID
189
+ * @param policyType the type of policy (e.g., "scps", "rcps")
190
+ * @returns An array of policy IDs
191
+ */
192
+ listOrganizationPolicies(organizationId: string, policyType: OrganizationPolicyType): Promise<string[]>;
94
193
  }
95
194
  //# sourceMappingURL=AwsIamStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AwsIamStore.d.ts","sourceRoot":"","sources":["../../../src/persistence/AwsIamStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;OAUG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GAAG,GAAG,GACjB,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB;;;;;;OAMG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAEvE;;;;;;;OAOG;IACH,mBAAmB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAChC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,CAAC,GACf,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAA;IAEnD;;;;;;OAMG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3F;;;;;OAKG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7D;;;;;;OAMG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAE/E;;;;;;;OAOG;IACH,gBAAgB,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAC1B,gBAAgB,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB"}
1
+ {"version":3,"file":"AwsIamStore.d.ts","sourceRoot":"","sources":["../../../src/persistence/AwsIamStore.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,18 @@
1
- import { AwsIamStore, ResourceTypeParts } from '../AwsIamStore.js';
1
+ import { AwsIamStore, OrganizationPolicyType, ResourceTypeParts } from '../AwsIamStore.js';
2
2
  import { FileSystemAdapter } from './FileSystemAdapter.js';
3
3
  export declare class FileSystemAwsIamStore implements AwsIamStore {
4
4
  private readonly baseFolder;
5
5
  private readonly partition;
6
6
  private fsAdapter;
7
7
  constructor(baseFolder: string, partition: string, fsAdapter?: FileSystemAdapter);
8
+ private organizationPath;
9
+ private organizationMetadataPath;
10
+ private organizationalUnitsPath;
11
+ private organizationalUnitPath;
12
+ private organizationPoliciesPath;
13
+ private organizationPolicyPath;
14
+ private organizationPolicyMetadataPath;
15
+ private organizationalUnitMetadataPath;
8
16
  private accountPath;
9
17
  private buildResourcePath;
10
18
  private buildMetadataPath;
@@ -15,5 +23,39 @@ export declare class FileSystemAwsIamStore implements AwsIamStore {
15
23
  deleteResource(accountId: string, arn: string): Promise<void>;
16
24
  listResources(accountId: string, options: ResourceTypeParts): Promise<string[]>;
17
25
  syncResourceList(accountId: string, options: ResourceTypeParts, desiredResources: string[]): Promise<void>;
26
+ saveOrganizationMetadata(organizationId: string, metadataType: string, data: any): Promise<void>;
27
+ deleteOrganizationMetadata(organizationId: string, metadataType: string): Promise<void>;
28
+ listOrganizationalUnits(organizationId: string): Promise<string[]>;
29
+ deleteOrganizationalUnitMetadata(organizationId: string, ouId: string, metadataType: string): Promise<void>;
30
+ saveOrganizationalUnitMetadata(organizationId: string, ouId: string, metadataType: string, data: any): Promise<void>;
31
+ getOrganizationalUnitMetadata<T, D extends T>(organizationId: string, ouId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
32
+ deleteOrganizationalUnit(organizationId: string, ouId: string): Promise<void>;
33
+ deleteOrganizationPolicyMetadata(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string): Promise<void>;
34
+ saveOrganizationPolicyMetadata(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string, data: any): Promise<void>;
35
+ getOrganizationPolicyMetadata<T, D extends T>(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
36
+ deleteOrganizationPolicy(organizationId: string, policyType: OrganizationPolicyType, policyId: string): Promise<void>;
37
+ listOrganizationPolicies(organizationId: string, policyType: OrganizationPolicyType): Promise<string[]>;
38
+ /**
39
+ * Checks if a given content value is empty.
40
+ *
41
+ * @param content The content to check.
42
+ * @returns true if the content is empty, false otherwise.
43
+ */
44
+ private isEmptyContent;
45
+ /**
46
+ * Read the content of a file or return a default value if the file does not exist.
47
+ *
48
+ * @param filePath the path to the file
49
+ * @param defaultValue the default value to return if the file does not exist
50
+ * @returns the content of the file or the default value
51
+ */
52
+ private contentOrDefault;
53
+ /**
54
+ * Either saves the provided data to a file or deletes the file if the data is empty.
55
+ *
56
+ * @param filePath the path to the file
57
+ * @param data the data to save in the file
58
+ */
59
+ private saveOrDeleteFile;
18
60
  }
19
61
  //# sourceMappingURL=FileSystemAwsIamStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystemAwsIamStore.d.ts","sourceRoot":"","sources":["../../../../src/persistence/file/FileSystemAwsIamStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,qBAAa,qBAAsB,YAAW,WAAW;IAIrD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,SAAS,CAAmB;gBAGjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EAClC,SAAS,CAAC,EAAE,iBAAiB;IAS/B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;IAKnB,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GAAG,GAAG,GACjB,OAAO,CAAC,IAAI,CAAC;IAsBV,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAcvE,mBAAmB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,CAAC,GACf,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;IAS7C,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAKV,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAS/E,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAC1B,gBAAgB,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC;CA4BjB"}
1
+ {"version":3,"file":"FileSystemAwsIamStore.d.ts","sourceRoot":"","sources":["../../../../src/persistence/file/FileSystemAwsIamStore.ts"],"names":[],"mappings":"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"}