@cloud-copilot/iam-collect 0.1.105 → 0.1.107
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/analysis/analyze.js +35 -2
- package/dist/cjs/analysis/analyze.js.map +1 -1
- package/dist/cjs/config/config.d.ts +5 -1
- package/dist/cjs/config/config.d.ts.map +1 -1
- package/dist/cjs/config/config.js.map +1 -1
- package/dist/cjs/persistence/sqlite/SqliteAwsIamStore.d.ts +47 -0
- package/dist/cjs/persistence/sqlite/SqliteAwsIamStore.d.ts.map +1 -0
- package/dist/cjs/persistence/sqlite/SqliteAwsIamStore.js +409 -0
- package/dist/cjs/persistence/sqlite/SqliteAwsIamStore.js.map +1 -0
- package/dist/cjs/persistence/util.d.ts.map +1 -1
- package/dist/cjs/persistence/util.js +5 -1
- package/dist/cjs/persistence/util.js.map +1 -1
- package/dist/cjs/services.d.ts +1 -1
- package/dist/cjs/services.d.ts.map +1 -1
- package/dist/cjs/services.js +1 -0
- package/dist/cjs/services.js.map +1 -1
- package/dist/cjs/syncs/s3/objectLambdaAccessPoints.d.ts +3 -0
- package/dist/cjs/syncs/s3/objectLambdaAccessPoints.d.ts.map +1 -0
- package/dist/cjs/syncs/s3/objectLambdaAccessPoints.js +54 -0
- package/dist/cjs/syncs/s3/objectLambdaAccessPoints.js.map +1 -0
- package/dist/cjs/syncs/syncMap.d.ts.map +1 -1
- package/dist/cjs/syncs/syncMap.js +2 -0
- package/dist/cjs/syncs/syncMap.js.map +1 -1
- package/dist/esm/config/config.d.ts +5 -1
- package/dist/esm/config/config.d.ts.map +1 -1
- package/dist/esm/config/config.js.map +1 -1
- package/dist/esm/persistence/sqlite/SqliteAwsIamStore.d.ts +47 -0
- package/dist/esm/persistence/sqlite/SqliteAwsIamStore.d.ts.map +1 -0
- package/dist/esm/persistence/sqlite/SqliteAwsIamStore.js +399 -0
- package/dist/esm/persistence/sqlite/SqliteAwsIamStore.js.map +1 -0
- package/dist/esm/persistence/util.d.ts.map +1 -1
- package/dist/esm/persistence/util.js +5 -1
- package/dist/esm/persistence/util.js.map +1 -1
- package/dist/esm/services.d.ts +1 -1
- package/dist/esm/services.d.ts.map +1 -1
- package/dist/esm/services.js +1 -0
- package/dist/esm/services.js.map +1 -1
- package/dist/esm/syncs/s3/objectLambdaAccessPoints.d.ts +3 -0
- package/dist/esm/syncs/s3/objectLambdaAccessPoints.d.ts.map +1 -0
- package/dist/esm/syncs/s3/objectLambdaAccessPoints.js +51 -0
- package/dist/esm/syncs/s3/objectLambdaAccessPoints.js.map +1 -0
- package/dist/esm/syncs/syncMap.d.ts.map +1 -1
- package/dist/esm/syncs/syncMap.js +2 -0
- package/dist/esm/syncs/syncMap.js.map +1 -1
- package/package.json +3 -1
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.conductLogAnalysis = conductLogAnalysis;
|
|
4
|
-
const fs = require("fs");
|
|
5
|
-
const path = require("path");
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
6
39
|
function keyToString(k) {
|
|
7
40
|
return [k.service, k.accountId, k.region, k.sync].join('|');
|
|
8
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/analysis/analyze.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/analysis/analyze.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,7 +66,11 @@ export interface S3StorageConfig {
|
|
|
66
66
|
endpoint?: string;
|
|
67
67
|
auth?: AuthConfig;
|
|
68
68
|
}
|
|
69
|
-
export
|
|
69
|
+
export interface SqliteStorageConfig {
|
|
70
|
+
type: 'sqlite';
|
|
71
|
+
path: string;
|
|
72
|
+
}
|
|
73
|
+
export type StorageConfig = FileSystemStorageConfig | S3StorageConfig | SqliteStorageConfig;
|
|
70
74
|
interface BaseConfig {
|
|
71
75
|
regions?: {
|
|
72
76
|
included?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,WAAW,CAAC,EACR,CAAC,CACG;QACE;;;;WAIG;QACH,GAAG,EAAE,MAAM,CAAA;KACZ,GACD;QACE;;;;WAIG;QACH,WAAW,EAAE,MAAM,CAAA;KACpB,CACJ,GAAG;QACF;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAC,GACF,IAAI,CAAA;IAGR,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,WAAW,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QAEnB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAClE,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { AwsIamStore, OrganizationPolicyType, ResourceTypeParts } from '../AwsIamStore.js';
|
|
2
|
+
export declare class SqliteAwsIamStore implements AwsIamStore {
|
|
3
|
+
private readonly dbPath;
|
|
4
|
+
private readonly partition;
|
|
5
|
+
private readonly db;
|
|
6
|
+
constructor(dbPath: string, partition: string);
|
|
7
|
+
close(): void;
|
|
8
|
+
private init;
|
|
9
|
+
private run;
|
|
10
|
+
private query;
|
|
11
|
+
private isEmptyContent;
|
|
12
|
+
private serialize;
|
|
13
|
+
saveResourceMetadata(accountId: string, arn: string, metadataType: string, data: string | any): Promise<void>;
|
|
14
|
+
listResourceMetadata(accountId: string, arn: string): Promise<string[]>;
|
|
15
|
+
getResourceMetadata<T, D extends T>(accountId: string, arn: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
|
|
16
|
+
deleteResourceMetadata(accountId: string, arn: string, metadataType: string): Promise<void>;
|
|
17
|
+
deleteResource(accountId: string, arn: string): Promise<void>;
|
|
18
|
+
listResources(accountId: string, options: ResourceTypeParts): Promise<string[]>;
|
|
19
|
+
findResourceMetadata<T>(accountId: string, options: ResourceTypeParts): Promise<T[]>;
|
|
20
|
+
syncResourceList(accountId: string, options: ResourceTypeParts, desiredResources: string[]): Promise<void>;
|
|
21
|
+
deleteAccountMetadata(accountId: string, metadataType: string): Promise<void>;
|
|
22
|
+
saveAccountMetadata(accountId: string, metadataType: string, data: any): Promise<void>;
|
|
23
|
+
getAccountMetadata<T, D extends T>(accountId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
|
|
24
|
+
getOrganizationMetadata<T, D extends T>(organizationId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
|
|
25
|
+
saveOrganizationMetadata(organizationId: string, metadataType: string, data: any): Promise<void>;
|
|
26
|
+
deleteOrganizationMetadata(organizationId: string, metadataType: string): Promise<void>;
|
|
27
|
+
listOrganizationalUnits(organizationId: string): Promise<string[]>;
|
|
28
|
+
deleteOrganizationalUnitMetadata(organizationId: string, ouId: string, metadataType: string): Promise<void>;
|
|
29
|
+
saveOrganizationalUnitMetadata(organizationId: string, ouId: string, metadataType: string, data: any): Promise<void>;
|
|
30
|
+
getOrganizationalUnitMetadata<T, D extends T>(organizationId: string, ouId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
|
|
31
|
+
deleteOrganizationalUnit(organizationId: string, ouId: string): Promise<void>;
|
|
32
|
+
deleteOrganizationPolicyMetadata(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string): Promise<void>;
|
|
33
|
+
saveOrganizationPolicyMetadata(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string, data: any): Promise<void>;
|
|
34
|
+
getOrganizationPolicyMetadata<T, D extends T>(organizationId: string, policyType: OrganizationPolicyType, policyId: string, metadataType: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
|
|
35
|
+
deleteOrganizationPolicy(organizationId: string, policyType: OrganizationPolicyType, policyId: string): Promise<void>;
|
|
36
|
+
listOrganizationPolicies(organizationId: string, policyType: OrganizationPolicyType): Promise<string[]>;
|
|
37
|
+
syncRamResources(accountId: string, region: string | undefined, arns: string[]): Promise<void>;
|
|
38
|
+
saveRamResource(accountId: string, arn: string, data: any): Promise<void>;
|
|
39
|
+
getRamResource<T, D extends T>(accountId: string, arn: string, defaultValue?: D): Promise<D extends undefined ? T | undefined : T>;
|
|
40
|
+
listAccountIds(): Promise<string[]>;
|
|
41
|
+
getIndex<T>(indexName: string, defaultValue: T): Promise<{
|
|
42
|
+
data: T;
|
|
43
|
+
lockId: string;
|
|
44
|
+
}>;
|
|
45
|
+
saveIndex<T>(indexName: string, data: T, lockId: string): Promise<boolean>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=SqliteAwsIamStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteAwsIamStore.d.ts","sourceRoot":"","sources":["../../../../src/persistence/sqlite/SqliteAwsIamStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SqliteAwsIamStore = void 0;
|
|
7
|
+
const iam_utils_1 = require("@cloud-copilot/iam-utils");
|
|
8
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
9
|
+
const crypto_1 = require("crypto");
|
|
10
|
+
function quote(value) {
|
|
11
|
+
if (value === undefined || value === null) {
|
|
12
|
+
return 'NULL';
|
|
13
|
+
}
|
|
14
|
+
return `'${String(value).replace(/'/g, "''")}'`;
|
|
15
|
+
}
|
|
16
|
+
class SqliteAwsIamStore {
|
|
17
|
+
dbPath;
|
|
18
|
+
partition;
|
|
19
|
+
db;
|
|
20
|
+
constructor(dbPath, partition) {
|
|
21
|
+
this.dbPath = dbPath;
|
|
22
|
+
this.partition = partition;
|
|
23
|
+
this.db = new better_sqlite3_1.default(this.dbPath);
|
|
24
|
+
this.init();
|
|
25
|
+
}
|
|
26
|
+
close() {
|
|
27
|
+
this.db.close();
|
|
28
|
+
}
|
|
29
|
+
init() {
|
|
30
|
+
const schema = `
|
|
31
|
+
CREATE TABLE IF NOT EXISTS resource_metadata (
|
|
32
|
+
partition TEXT NOT NULL,
|
|
33
|
+
account_id TEXT NOT NULL,
|
|
34
|
+
arn TEXT NOT NULL,
|
|
35
|
+
metadata_type TEXT NOT NULL,
|
|
36
|
+
data TEXT NOT NULL,
|
|
37
|
+
service TEXT NOT NULL,
|
|
38
|
+
region TEXT,
|
|
39
|
+
resource_type TEXT,
|
|
40
|
+
PRIMARY KEY (partition, account_id, arn, metadata_type)
|
|
41
|
+
);
|
|
42
|
+
CREATE TABLE IF NOT EXISTS account_metadata (
|
|
43
|
+
partition TEXT NOT NULL,
|
|
44
|
+
account_id TEXT NOT NULL,
|
|
45
|
+
metadata_type TEXT NOT NULL,
|
|
46
|
+
data TEXT NOT NULL,
|
|
47
|
+
PRIMARY KEY (partition, account_id, metadata_type)
|
|
48
|
+
);
|
|
49
|
+
CREATE TABLE IF NOT EXISTS organization_metadata (
|
|
50
|
+
partition TEXT NOT NULL,
|
|
51
|
+
organization_id TEXT NOT NULL,
|
|
52
|
+
metadata_type TEXT NOT NULL,
|
|
53
|
+
data TEXT NOT NULL,
|
|
54
|
+
PRIMARY KEY (partition, organization_id, metadata_type)
|
|
55
|
+
);
|
|
56
|
+
CREATE TABLE IF NOT EXISTS organizational_unit_metadata (
|
|
57
|
+
partition TEXT NOT NULL,
|
|
58
|
+
organization_id TEXT NOT NULL,
|
|
59
|
+
ou_id TEXT NOT NULL,
|
|
60
|
+
metadata_type TEXT NOT NULL,
|
|
61
|
+
data TEXT NOT NULL,
|
|
62
|
+
PRIMARY KEY (partition, organization_id, ou_id, metadata_type)
|
|
63
|
+
);
|
|
64
|
+
CREATE TABLE IF NOT EXISTS organization_policy_metadata (
|
|
65
|
+
partition TEXT NOT NULL,
|
|
66
|
+
organization_id TEXT NOT NULL,
|
|
67
|
+
policy_type TEXT NOT NULL,
|
|
68
|
+
policy_id TEXT NOT NULL,
|
|
69
|
+
metadata_type TEXT NOT NULL,
|
|
70
|
+
data TEXT NOT NULL,
|
|
71
|
+
PRIMARY KEY (partition, organization_id, policy_type, policy_id, metadata_type)
|
|
72
|
+
);
|
|
73
|
+
CREATE TABLE IF NOT EXISTS ram_resources (
|
|
74
|
+
partition TEXT NOT NULL,
|
|
75
|
+
account_id TEXT NOT NULL,
|
|
76
|
+
region TEXT NOT NULL,
|
|
77
|
+
arn TEXT NOT NULL,
|
|
78
|
+
data TEXT NOT NULL,
|
|
79
|
+
PRIMARY KEY (partition, account_id, region, arn)
|
|
80
|
+
);
|
|
81
|
+
CREATE TABLE IF NOT EXISTS indexes (
|
|
82
|
+
partition TEXT NOT NULL,
|
|
83
|
+
index_name TEXT NOT NULL,
|
|
84
|
+
data TEXT NOT NULL,
|
|
85
|
+
hash TEXT NOT NULL,
|
|
86
|
+
PRIMARY KEY (partition, index_name)
|
|
87
|
+
);`;
|
|
88
|
+
this.db.exec(schema);
|
|
89
|
+
}
|
|
90
|
+
run(sql) {
|
|
91
|
+
this.db.exec(sql);
|
|
92
|
+
}
|
|
93
|
+
query(sql) {
|
|
94
|
+
return this.db.prepare(sql).all();
|
|
95
|
+
}
|
|
96
|
+
isEmptyContent(content) {
|
|
97
|
+
return (content === undefined ||
|
|
98
|
+
content === null ||
|
|
99
|
+
content === '' ||
|
|
100
|
+
content === '{}' ||
|
|
101
|
+
content === '[]' ||
|
|
102
|
+
(Array.isArray(content) && content.length === 0) ||
|
|
103
|
+
(typeof content === 'object' && Object.keys(content).length === 0));
|
|
104
|
+
}
|
|
105
|
+
serialize(data) {
|
|
106
|
+
return typeof data === 'string' ? data : JSON.stringify(data, null, 2);
|
|
107
|
+
}
|
|
108
|
+
async saveResourceMetadata(accountId, arn, metadataType, data) {
|
|
109
|
+
accountId = accountId.toLowerCase();
|
|
110
|
+
arn = arn.toLowerCase();
|
|
111
|
+
metadataType = metadataType.toLowerCase();
|
|
112
|
+
if (this.isEmptyContent(data)) {
|
|
113
|
+
await this.deleteResourceMetadata(accountId, arn, metadataType);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const parts = (0, iam_utils_1.splitArnParts)(arn);
|
|
117
|
+
const service = (parts.service || '').toLowerCase();
|
|
118
|
+
const region = parts.region ? parts.region.toLowerCase() : null;
|
|
119
|
+
const resourceType = parts.resourceType ? parts.resourceType.toLowerCase() : null;
|
|
120
|
+
const content = this.serialize(data);
|
|
121
|
+
const sql = `INSERT OR REPLACE INTO resource_metadata(partition, account_id, arn, metadata_type, data, service, region, resource_type)
|
|
122
|
+
VALUES(${quote(this.partition)}, ${quote(accountId)}, ${quote(arn)}, ${quote(metadataType)}, ${quote(content)}, ${quote(service)}, ${quote(region)}, ${quote(resourceType)})`;
|
|
123
|
+
this.run(sql);
|
|
124
|
+
}
|
|
125
|
+
async listResourceMetadata(accountId, arn) {
|
|
126
|
+
accountId = accountId.toLowerCase();
|
|
127
|
+
arn = arn.toLowerCase();
|
|
128
|
+
const rows = this.query(`SELECT metadata_type FROM resource_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND arn=${quote(arn)}`);
|
|
129
|
+
return rows.map((r) => r.metadata_type);
|
|
130
|
+
}
|
|
131
|
+
async getResourceMetadata(accountId, arn, metadataType, defaultValue) {
|
|
132
|
+
accountId = accountId.toLowerCase();
|
|
133
|
+
arn = arn.toLowerCase();
|
|
134
|
+
metadataType = metadataType.toLowerCase();
|
|
135
|
+
const rows = this.query(`SELECT data FROM resource_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND arn=${quote(arn)} AND metadata_type=${quote(metadataType)} LIMIT 1`);
|
|
136
|
+
if (rows.length === 0) {
|
|
137
|
+
return defaultValue;
|
|
138
|
+
}
|
|
139
|
+
return JSON.parse(rows[0].data);
|
|
140
|
+
}
|
|
141
|
+
async deleteResourceMetadata(accountId, arn, metadataType) {
|
|
142
|
+
accountId = accountId.toLowerCase();
|
|
143
|
+
arn = arn.toLowerCase();
|
|
144
|
+
metadataType = metadataType.toLowerCase();
|
|
145
|
+
const sql = `DELETE FROM resource_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND arn=${quote(arn)} AND metadata_type=${quote(metadataType)}`;
|
|
146
|
+
this.run(sql);
|
|
147
|
+
}
|
|
148
|
+
async deleteResource(accountId, arn) {
|
|
149
|
+
accountId = accountId.toLowerCase();
|
|
150
|
+
arn = arn.toLowerCase();
|
|
151
|
+
const sql = `DELETE FROM resource_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND arn=${quote(arn)}`;
|
|
152
|
+
this.run(sql);
|
|
153
|
+
}
|
|
154
|
+
async listResources(accountId, options) {
|
|
155
|
+
accountId = accountId.toLowerCase();
|
|
156
|
+
let sql = `SELECT DISTINCT arn FROM resource_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND service=${quote(options.service.toLowerCase())}`;
|
|
157
|
+
if (options.region) {
|
|
158
|
+
sql += ` AND region=${quote(options.region.toLowerCase())}`;
|
|
159
|
+
}
|
|
160
|
+
if (options.resourceType) {
|
|
161
|
+
sql += ` AND resource_type=${quote(options.resourceType.toLowerCase())}`;
|
|
162
|
+
}
|
|
163
|
+
const rows = this.query(sql);
|
|
164
|
+
return rows.map((r) => r.arn);
|
|
165
|
+
}
|
|
166
|
+
async findResourceMetadata(accountId, options) {
|
|
167
|
+
accountId = accountId.toLowerCase();
|
|
168
|
+
let sql = `SELECT data FROM resource_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND service=${quote(options.service.toLowerCase())} AND metadata_type='metadata'`;
|
|
169
|
+
if (options.region) {
|
|
170
|
+
sql += ` AND region=${quote(options.region.toLowerCase())}`;
|
|
171
|
+
}
|
|
172
|
+
if (options.resourceType) {
|
|
173
|
+
sql += ` AND resource_type=${quote(options.resourceType.toLowerCase())}`;
|
|
174
|
+
}
|
|
175
|
+
// Add JSON-based filtering for metadata if provided
|
|
176
|
+
if (options.metadata) {
|
|
177
|
+
for (const [key, value] of Object.entries(options.metadata)) {
|
|
178
|
+
sql += ` AND json_extract(data, ${quote('$.' + key)}) = ${quote(value)}`;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const rows = this.query(sql);
|
|
182
|
+
const results = rows.map((r) => JSON.parse(r.data));
|
|
183
|
+
return results;
|
|
184
|
+
}
|
|
185
|
+
async syncResourceList(accountId, options, desiredResources) {
|
|
186
|
+
accountId = accountId.toLowerCase();
|
|
187
|
+
let sql = `SELECT DISTINCT arn, data FROM resource_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND service=${quote(options.service.toLowerCase())} AND metadata_type='metadata'`;
|
|
188
|
+
if (options.region) {
|
|
189
|
+
sql += ` AND region=${quote(options.region.toLowerCase())}`;
|
|
190
|
+
}
|
|
191
|
+
if (options.resourceType) {
|
|
192
|
+
sql += ` AND resource_type=${quote(options.resourceType.toLowerCase())}`;
|
|
193
|
+
}
|
|
194
|
+
const rows = this.query(sql);
|
|
195
|
+
let existing = rows.map((r) => ({ arn: r.arn, data: JSON.parse(r.data) }));
|
|
196
|
+
if (options.metadata) {
|
|
197
|
+
existing = existing.filter((item) => Object.entries(options.metadata).every(([k, v]) => item.data[k] === v));
|
|
198
|
+
}
|
|
199
|
+
const keep = new Set(desiredResources.map((r) => r.toLowerCase()));
|
|
200
|
+
for (const row of existing) {
|
|
201
|
+
if (!keep.has(row.arn.toLowerCase())) {
|
|
202
|
+
const delSql = `DELETE FROM resource_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND arn=${quote(row.arn)}`;
|
|
203
|
+
this.run(delSql);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
async deleteAccountMetadata(accountId, metadataType) {
|
|
208
|
+
accountId = accountId.toLowerCase();
|
|
209
|
+
metadataType = metadataType.toLowerCase();
|
|
210
|
+
const sql = `DELETE FROM account_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND metadata_type=${quote(metadataType)}`;
|
|
211
|
+
this.run(sql);
|
|
212
|
+
}
|
|
213
|
+
async saveAccountMetadata(accountId, metadataType, data) {
|
|
214
|
+
accountId = accountId.toLowerCase();
|
|
215
|
+
metadataType = metadataType.toLowerCase();
|
|
216
|
+
if (this.isEmptyContent(data)) {
|
|
217
|
+
await this.deleteAccountMetadata(accountId, metadataType);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const content = this.serialize(data);
|
|
221
|
+
const sql = `INSERT OR REPLACE INTO account_metadata(partition, account_id, metadata_type, data)
|
|
222
|
+
VALUES(${quote(this.partition)}, ${quote(accountId)}, ${quote(metadataType)}, ${quote(content)})`;
|
|
223
|
+
this.run(sql);
|
|
224
|
+
}
|
|
225
|
+
async getAccountMetadata(accountId, metadataType, defaultValue) {
|
|
226
|
+
accountId = accountId.toLowerCase();
|
|
227
|
+
metadataType = metadataType.toLowerCase();
|
|
228
|
+
const rows = this.query(`SELECT data FROM account_metadata WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND metadata_type=${quote(metadataType)} LIMIT 1`);
|
|
229
|
+
if (rows.length === 0) {
|
|
230
|
+
return defaultValue;
|
|
231
|
+
}
|
|
232
|
+
return JSON.parse(rows[0].data);
|
|
233
|
+
}
|
|
234
|
+
async getOrganizationMetadata(organizationId, metadataType, defaultValue) {
|
|
235
|
+
organizationId = organizationId.toLowerCase();
|
|
236
|
+
metadataType = metadataType.toLowerCase();
|
|
237
|
+
const rows = this.query(`SELECT data FROM organization_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND metadata_type=${quote(metadataType)} LIMIT 1`);
|
|
238
|
+
if (rows.length === 0) {
|
|
239
|
+
return defaultValue;
|
|
240
|
+
}
|
|
241
|
+
return JSON.parse(rows[0].data);
|
|
242
|
+
}
|
|
243
|
+
async saveOrganizationMetadata(organizationId, metadataType, data) {
|
|
244
|
+
organizationId = organizationId.toLowerCase();
|
|
245
|
+
metadataType = metadataType.toLowerCase();
|
|
246
|
+
if (this.isEmptyContent(data)) {
|
|
247
|
+
await this.deleteOrganizationMetadata(organizationId, metadataType);
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
const content = this.serialize(data);
|
|
251
|
+
const sql = `INSERT OR REPLACE INTO organization_metadata(partition, organization_id, metadata_type, data)
|
|
252
|
+
VALUES(${quote(this.partition)}, ${quote(organizationId)}, ${quote(metadataType)}, ${quote(content)})`;
|
|
253
|
+
this.run(sql);
|
|
254
|
+
}
|
|
255
|
+
async deleteOrganizationMetadata(organizationId, metadataType) {
|
|
256
|
+
organizationId = organizationId.toLowerCase();
|
|
257
|
+
metadataType = metadataType.toLowerCase();
|
|
258
|
+
const sql = `DELETE FROM organization_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND metadata_type=${quote(metadataType)}`;
|
|
259
|
+
this.run(sql);
|
|
260
|
+
}
|
|
261
|
+
async listOrganizationalUnits(organizationId) {
|
|
262
|
+
organizationId = organizationId.toLowerCase();
|
|
263
|
+
const rows = this.query(`SELECT DISTINCT ou_id FROM organizational_unit_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)}`);
|
|
264
|
+
return rows.map((r) => r.ou_id);
|
|
265
|
+
}
|
|
266
|
+
async deleteOrganizationalUnitMetadata(organizationId, ouId, metadataType) {
|
|
267
|
+
organizationId = organizationId.toLowerCase();
|
|
268
|
+
ouId = ouId.toLowerCase();
|
|
269
|
+
metadataType = metadataType.toLowerCase();
|
|
270
|
+
const sql = `DELETE FROM organizational_unit_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND ou_id=${quote(ouId)} AND metadata_type=${quote(metadataType)}`;
|
|
271
|
+
this.run(sql);
|
|
272
|
+
}
|
|
273
|
+
async saveOrganizationalUnitMetadata(organizationId, ouId, metadataType, data) {
|
|
274
|
+
organizationId = organizationId.toLowerCase();
|
|
275
|
+
ouId = ouId.toLowerCase();
|
|
276
|
+
metadataType = metadataType.toLowerCase();
|
|
277
|
+
if (this.isEmptyContent(data)) {
|
|
278
|
+
await this.deleteOrganizationalUnitMetadata(organizationId, ouId, metadataType);
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
const content = this.serialize(data);
|
|
282
|
+
const sql = `INSERT OR REPLACE INTO organizational_unit_metadata(partition, organization_id, ou_id, metadata_type, data)
|
|
283
|
+
VALUES(${quote(this.partition)}, ${quote(organizationId)}, ${quote(ouId)}, ${quote(metadataType)}, ${quote(content)})`;
|
|
284
|
+
this.run(sql);
|
|
285
|
+
}
|
|
286
|
+
async getOrganizationalUnitMetadata(organizationId, ouId, metadataType, defaultValue) {
|
|
287
|
+
organizationId = organizationId.toLowerCase();
|
|
288
|
+
ouId = ouId.toLowerCase();
|
|
289
|
+
metadataType = metadataType.toLowerCase();
|
|
290
|
+
const rows = this.query(`SELECT data FROM organizational_unit_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND ou_id=${quote(ouId)} AND metadata_type=${quote(metadataType)} LIMIT 1`);
|
|
291
|
+
if (rows.length === 0) {
|
|
292
|
+
return defaultValue;
|
|
293
|
+
}
|
|
294
|
+
return JSON.parse(rows[0].data);
|
|
295
|
+
}
|
|
296
|
+
async deleteOrganizationalUnit(organizationId, ouId) {
|
|
297
|
+
organizationId = organizationId.toLowerCase();
|
|
298
|
+
ouId = ouId.toLowerCase();
|
|
299
|
+
const sql = `DELETE FROM organizational_unit_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND ou_id=${quote(ouId)}`;
|
|
300
|
+
this.run(sql);
|
|
301
|
+
}
|
|
302
|
+
async deleteOrganizationPolicyMetadata(organizationId, policyType, policyId, metadataType) {
|
|
303
|
+
organizationId = organizationId.toLowerCase();
|
|
304
|
+
policyType = policyType.toLowerCase();
|
|
305
|
+
policyId = policyId.toLowerCase();
|
|
306
|
+
metadataType = metadataType.toLowerCase();
|
|
307
|
+
const sql = `DELETE FROM organization_policy_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND policy_type=${quote(policyType)} AND policy_id=${quote(policyId)} AND metadata_type=${quote(metadataType)}`;
|
|
308
|
+
this.run(sql);
|
|
309
|
+
}
|
|
310
|
+
async saveOrganizationPolicyMetadata(organizationId, policyType, policyId, metadataType, data) {
|
|
311
|
+
organizationId = organizationId.toLowerCase();
|
|
312
|
+
policyType = policyType.toLowerCase();
|
|
313
|
+
policyId = policyId.toLowerCase();
|
|
314
|
+
metadataType = metadataType.toLowerCase();
|
|
315
|
+
if (this.isEmptyContent(data)) {
|
|
316
|
+
await this.deleteOrganizationPolicyMetadata(organizationId, policyType, policyId, metadataType);
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
const content = this.serialize(data);
|
|
320
|
+
const sql = `INSERT OR REPLACE INTO organization_policy_metadata(partition, organization_id, policy_type, policy_id, metadata_type, data)
|
|
321
|
+
VALUES(${quote(this.partition)}, ${quote(organizationId)}, ${quote(policyType)}, ${quote(policyId)}, ${quote(metadataType)}, ${quote(content)})`;
|
|
322
|
+
this.run(sql);
|
|
323
|
+
}
|
|
324
|
+
async getOrganizationPolicyMetadata(organizationId, policyType, policyId, metadataType, defaultValue) {
|
|
325
|
+
organizationId = organizationId.toLowerCase();
|
|
326
|
+
policyType = policyType.toLowerCase();
|
|
327
|
+
policyId = policyId.toLowerCase();
|
|
328
|
+
metadataType = metadataType.toLowerCase();
|
|
329
|
+
const rows = this.query(`SELECT data FROM organization_policy_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND policy_type=${quote(policyType)} AND policy_id=${quote(policyId)} AND metadata_type=${quote(metadataType)} LIMIT 1`);
|
|
330
|
+
if (rows.length === 0) {
|
|
331
|
+
return defaultValue;
|
|
332
|
+
}
|
|
333
|
+
return JSON.parse(rows[0].data);
|
|
334
|
+
}
|
|
335
|
+
async deleteOrganizationPolicy(organizationId, policyType, policyId) {
|
|
336
|
+
organizationId = organizationId.toLowerCase();
|
|
337
|
+
policyType = policyType.toLowerCase();
|
|
338
|
+
policyId = policyId.toLowerCase();
|
|
339
|
+
const sql = `DELETE FROM organization_policy_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND policy_type=${quote(policyType)} AND policy_id=${quote(policyId)}`;
|
|
340
|
+
this.run(sql);
|
|
341
|
+
}
|
|
342
|
+
async listOrganizationPolicies(organizationId, policyType) {
|
|
343
|
+
organizationId = organizationId.toLowerCase();
|
|
344
|
+
policyType = policyType.toLowerCase();
|
|
345
|
+
const rows = this.query(`SELECT DISTINCT policy_id FROM organization_policy_metadata WHERE partition=${quote(this.partition)} AND organization_id=${quote(organizationId)} AND policy_type=${quote(policyType)}`);
|
|
346
|
+
return rows.map((r) => r.policy_id);
|
|
347
|
+
}
|
|
348
|
+
async syncRamResources(accountId, region, arns) {
|
|
349
|
+
accountId = accountId.toLowerCase();
|
|
350
|
+
const rg = region && region.trim() !== '' ? region.toLowerCase() : 'global';
|
|
351
|
+
const rows = this.query(`SELECT arn FROM ram_resources WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND region=${quote(rg)}`);
|
|
352
|
+
const keep = new Set(arns.map((a) => a.toLowerCase()));
|
|
353
|
+
for (const row of rows) {
|
|
354
|
+
if (!keep.has(row.arn.toLowerCase())) {
|
|
355
|
+
const delSql = `DELETE FROM ram_resources WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND region=${quote(rg)} AND arn=${quote(row.arn)}`;
|
|
356
|
+
this.run(delSql);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
async saveRamResource(accountId, arn, data) {
|
|
361
|
+
accountId = accountId.toLowerCase();
|
|
362
|
+
arn = arn.toLowerCase();
|
|
363
|
+
const region = (0, iam_utils_1.splitArnParts)(arn).region;
|
|
364
|
+
const rg = region && region.trim() !== '' ? region.toLowerCase() : 'global';
|
|
365
|
+
const content = this.serialize(data);
|
|
366
|
+
const sql = `INSERT OR REPLACE INTO ram_resources(partition, account_id, region, arn, data)
|
|
367
|
+
VALUES(${quote(this.partition)}, ${quote(accountId)}, ${quote(rg)}, ${quote(arn)}, ${quote(content)})`;
|
|
368
|
+
this.run(sql);
|
|
369
|
+
}
|
|
370
|
+
async getRamResource(accountId, arn, defaultValue) {
|
|
371
|
+
accountId = accountId.toLowerCase();
|
|
372
|
+
arn = arn.toLowerCase();
|
|
373
|
+
const region = (0, iam_utils_1.splitArnParts)(arn).region;
|
|
374
|
+
const rg = region && region.trim() !== '' ? region.toLowerCase() : 'global';
|
|
375
|
+
const rows = this.query(`SELECT data FROM ram_resources WHERE partition=${quote(this.partition)} AND account_id=${quote(accountId)} AND region=${quote(rg)} AND arn=${quote(arn)} LIMIT 1`);
|
|
376
|
+
if (rows.length === 0) {
|
|
377
|
+
return defaultValue;
|
|
378
|
+
}
|
|
379
|
+
return JSON.parse(rows[0].data);
|
|
380
|
+
}
|
|
381
|
+
async listAccountIds() {
|
|
382
|
+
const rows = this.query(`SELECT DISTINCT account_id FROM resource_metadata WHERE partition=${quote(this.partition)}`);
|
|
383
|
+
return rows.map((r) => r.account_id);
|
|
384
|
+
}
|
|
385
|
+
async getIndex(indexName, defaultValue) {
|
|
386
|
+
const rows = this.query(`SELECT data, hash FROM indexes WHERE partition=${quote(this.partition)} AND index_name=${quote(indexName.toLowerCase())} LIMIT 1`);
|
|
387
|
+
if (rows.length === 0) {
|
|
388
|
+
return { data: defaultValue, lockId: '' };
|
|
389
|
+
}
|
|
390
|
+
return { data: JSON.parse(rows[0].data), lockId: rows[0].hash };
|
|
391
|
+
}
|
|
392
|
+
async saveIndex(indexName, data, lockId) {
|
|
393
|
+
const existing = this.query(`SELECT hash FROM indexes WHERE partition=${quote(this.partition)} AND index_name=${quote(indexName.toLowerCase())} LIMIT 1`);
|
|
394
|
+
if (existing.length > 0 && existing[0].hash !== lockId) {
|
|
395
|
+
return false;
|
|
396
|
+
}
|
|
397
|
+
if (existing.length === 0 && lockId !== '') {
|
|
398
|
+
return false;
|
|
399
|
+
}
|
|
400
|
+
const content = JSON.stringify(data, null, 2);
|
|
401
|
+
const hash = (0, crypto_1.createHash)('sha256').update(content).digest('hex');
|
|
402
|
+
const sql = `INSERT OR REPLACE INTO indexes(partition, index_name, data, hash)
|
|
403
|
+
VALUES(${quote(this.partition)}, ${quote(indexName.toLowerCase())}, ${quote(content)}, ${quote(hash)})`;
|
|
404
|
+
this.run(sql);
|
|
405
|
+
return true;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
exports.SqliteAwsIamStore = SqliteAwsIamStore;
|
|
409
|
+
//# sourceMappingURL=SqliteAwsIamStore.js.map
|