cdk-rds-sql 7.3.1 → 7.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +8 -8
- package/lib/database.js +1 -1
- package/lib/handler/handler.js +28 -21
- package/lib/iam-grant.d.ts +0 -1
- package/lib/iam-grant.js +2 -12
- package/lib/provider.js +1 -1
- package/lib/role.js +1 -1
- package/lib/schema.js +1 -1
- package/lib/sql.js +1 -1
- package/package.json +1 -1
- package/lambda/engine.abstract.ts +0 -114
- package/lambda/engine.dsql.ts +0 -391
- package/lambda/engine.factory.ts +0 -23
- package/lambda/engine.mysql.test.ts +0 -228
- package/lambda/engine.mysql.ts +0 -249
- package/lambda/engine.postgresql.test.ts +0 -151
- package/lambda/engine.postgresql.ts +0 -329
- package/lambda/handler.mysql.test.ts +0 -349
- package/lambda/handler.postgresql.test.ts +0 -338
- package/lambda/handler.test.ts +0 -164
- package/lambda/handler.ts +0 -388
- package/lambda/types.ts +0 -86
- package/lambda/util.ts +0 -186
package/.jsii
CHANGED
|
@@ -4447,7 +4447,7 @@
|
|
|
4447
4447
|
},
|
|
4448
4448
|
"locationInModule": {
|
|
4449
4449
|
"filename": "src/iam-grant.ts",
|
|
4450
|
-
"line":
|
|
4450
|
+
"line": 24
|
|
4451
4451
|
},
|
|
4452
4452
|
"parameters": [
|
|
4453
4453
|
{
|
|
@@ -4473,7 +4473,7 @@
|
|
|
4473
4473
|
"kind": "class",
|
|
4474
4474
|
"locationInModule": {
|
|
4475
4475
|
"filename": "src/iam-grant.ts",
|
|
4476
|
-
"line":
|
|
4476
|
+
"line": 23
|
|
4477
4477
|
},
|
|
4478
4478
|
"name": "IamGrant",
|
|
4479
4479
|
"symbolId": "src/iam-grant:IamGrant"
|
|
@@ -4488,7 +4488,7 @@
|
|
|
4488
4488
|
"kind": "interface",
|
|
4489
4489
|
"locationInModule": {
|
|
4490
4490
|
"filename": "src/iam-grant.ts",
|
|
4491
|
-
"line":
|
|
4491
|
+
"line": 6
|
|
4492
4492
|
},
|
|
4493
4493
|
"name": "IamGrantProps",
|
|
4494
4494
|
"properties": [
|
|
@@ -4501,7 +4501,7 @@
|
|
|
4501
4501
|
"immutable": true,
|
|
4502
4502
|
"locationInModule": {
|
|
4503
4503
|
"filename": "src/iam-grant.ts",
|
|
4504
|
-
"line":
|
|
4504
|
+
"line": 10
|
|
4505
4505
|
},
|
|
4506
4506
|
"name": "provider",
|
|
4507
4507
|
"type": {
|
|
@@ -4517,7 +4517,7 @@
|
|
|
4517
4517
|
"immutable": true,
|
|
4518
4518
|
"locationInModule": {
|
|
4519
4519
|
"filename": "src/iam-grant.ts",
|
|
4520
|
-
"line":
|
|
4520
|
+
"line": 20
|
|
4521
4521
|
},
|
|
4522
4522
|
"name": "resourceArn",
|
|
4523
4523
|
"type": {
|
|
@@ -4533,7 +4533,7 @@
|
|
|
4533
4533
|
"immutable": true,
|
|
4534
4534
|
"locationInModule": {
|
|
4535
4535
|
"filename": "src/iam-grant.ts",
|
|
4536
|
-
"line":
|
|
4536
|
+
"line": 15
|
|
4537
4537
|
},
|
|
4538
4538
|
"name": "roleName",
|
|
4539
4539
|
"type": {
|
|
@@ -5594,6 +5594,6 @@
|
|
|
5594
5594
|
"symbolId": "src/sql:SqlProps"
|
|
5595
5595
|
}
|
|
5596
5596
|
},
|
|
5597
|
-
"version": "7.3.
|
|
5598
|
-
"fingerprint": "
|
|
5597
|
+
"version": "7.3.2",
|
|
5598
|
+
"fingerprint": "2Nt5HipkT3qGvOwwy3MgCUGWmXl40w4EVbXW8C8dBJo="
|
|
5599
5599
|
}
|
package/lib/database.js
CHANGED
|
@@ -45,5 +45,5 @@ class Database extends aws_cdk_lib_1.CustomResource {
|
|
|
45
45
|
}
|
|
46
46
|
exports.Database = Database;
|
|
47
47
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
Database[_a] = { fqn: "cdk-rds-sql.Database", version: "7.3.
|
|
48
|
+
Database[_a] = { fqn: "cdk-rds-sql.Database", version: "7.3.2" };
|
|
49
49
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsMkNBQXNDO0FBQ3RDLGlDQUF1QztBQUN2Qyx5Q0FBc0Q7QUEwQnRELE1BQU0sZ0JBQWlCLFNBQVEsc0JBQVM7SUFHdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQTtJQUN4QyxDQUFDO0NBQ0Y7QUFFRCxNQUFhLFFBQVMsU0FBUSw0QkFBYztJQUMxQzs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxZQUFvQjtRQUN4RSxPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNyQyxZQUFZLEVBQUUsWUFBWTtTQUMzQixDQUFDLENBQUE7SUFDSixDQUFDO0lBSUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCw0REFBNEQ7UUFDNUQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyx5QkFBYyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQ2IscUZBQXFGLENBQ3RGLENBQUE7UUFDSCxDQUFDO1FBRUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxRQUFRO2dCQUNqQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVk7Z0JBQzlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEYsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUTthQUM3QjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUE7UUFDdEMsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLENBQUM7SUFDSCxDQUFDOztBQWxDSCw0QkFtQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyLCBEYXRhYmFzZUVuZ2luZSB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcbmltcG9ydCB7IFJvbGUgfSBmcm9tIFwiLi9yb2xlXCJcblxuaW50ZXJmYWNlIERhdGFiYXNlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIGRhdGFiYXNlIHRvIGNyZWF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlIG93bmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgb3duZXI/OiBSb2xlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyBleHRlbmRzIERhdGFiYXNlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBQcm92aWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBJUHJvdmlkZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YWJhc2Uge1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xufVxuXG5jbGFzcyBJbXBvcnRlZERhdGFiYXNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSURhdGFiYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlQXR0cmlidXRlcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcbiAgICB0aGlzLmRhdGFiYXNlTmFtZSA9IHByb3BzLmRhdGFiYXNlTmFtZVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhYmFzZSBleHRlbmRzIEN1c3RvbVJlc291cmNlIGltcGxlbWVudHMgSURhdGFiYXNlIHtcbiAgLyoqXG4gICAqIFJldHVybiBhIERhdGFiYXNlIGJhc2VkIHVwb24gbmFtZSBvbmx5LiBVc2UgZm9yIGltcG9ydGluZyBleGlzdGluZyBkYXRhYmFzZXMuXG4gICAqL1xuICBzdGF0aWMgZnJvbURhdGFiYXNlTmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkYXRhYmFzZU5hbWU6IHN0cmluZyk6IElEYXRhYmFzZSB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZERhdGFiYXNlKHNjb3BlLCBpZCwge1xuICAgICAgZGF0YWJhc2VOYW1lOiBkYXRhYmFzZU5hbWUsXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSB7XG4gICAgLy8gQ2hlY2sgaWYgdXNpbmcgRFNRTCBwcm92aWRlciBhbmQgZm9yYmlkIGRhdGFiYXNlIGNyZWF0aW9uXG4gICAgaWYgKHByb3BzLnByb3ZpZGVyLmVuZ2luZSA9PT0gRGF0YWJhc2VFbmdpbmUuRFNRTCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkRhdGFiYXNlIGNyZWF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBEU1FMLiBEU1FMIGFsd2F5cyB1c2VzICdwb3N0Z3JlcycgZGF0YWJhc2UuXCJcbiAgICAgIClcbiAgICB9XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvcHMucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBSZXNvdXJjZTogUmRzU3FsUmVzb3VyY2UuREFUQUJBU0UsXG4gICAgICAgIFJlc291cmNlSWQ6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgLi4uKHByb3BzLnByb3ZpZGVyLnNlY3JldCA/IHsgU2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQuc2VjcmV0QXJuIH0gOiB7fSksXG4gICAgICAgIE93bmVyOiBwcm9wcy5vd25lcj8ucm9sZU5hbWUsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgICBpZiAocHJvcHMub3duZXIpIHtcbiAgICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLm93bmVyKVxuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/handler/handler.js
CHANGED
|
@@ -2336,7 +2336,7 @@ var require_cert_signatures = __commonJS({
|
|
|
2336
2336
|
var require_sasl = __commonJS({
|
|
2337
2337
|
"node_modules/pg/lib/crypto/sasl.js"(exports2, module2) {
|
|
2338
2338
|
"use strict";
|
|
2339
|
-
var
|
|
2339
|
+
var crypto2 = require_utils2();
|
|
2340
2340
|
var { signatureAlgorithmHashFromCertificate } = require_cert_signatures();
|
|
2341
2341
|
function startSession(mechanisms, stream) {
|
|
2342
2342
|
const candidates = ["SCRAM-SHA-256"];
|
|
@@ -2348,7 +2348,7 @@ var require_sasl = __commonJS({
|
|
|
2348
2348
|
if (mechanism === "SCRAM-SHA-256-PLUS" && typeof stream.getPeerCertificate !== "function") {
|
|
2349
2349
|
throw new Error("SASL: Mechanism SCRAM-SHA-256-PLUS requires a certificate");
|
|
2350
2350
|
}
|
|
2351
|
-
const clientNonce =
|
|
2351
|
+
const clientNonce = crypto2.randomBytes(18).toString("base64");
|
|
2352
2352
|
const gs2Header = mechanism === "SCRAM-SHA-256-PLUS" ? "p=tls-server-end-point" : stream ? "y" : "n";
|
|
2353
2353
|
return {
|
|
2354
2354
|
mechanism,
|
|
@@ -2383,20 +2383,20 @@ var require_sasl = __commonJS({
|
|
|
2383
2383
|
const peerCert = stream.getPeerCertificate().raw;
|
|
2384
2384
|
let hashName = signatureAlgorithmHashFromCertificate(peerCert);
|
|
2385
2385
|
if (hashName === "MD5" || hashName === "SHA-1") hashName = "SHA-256";
|
|
2386
|
-
const certHash = await
|
|
2386
|
+
const certHash = await crypto2.hashByName(hashName, peerCert);
|
|
2387
2387
|
const bindingData = Buffer.concat([Buffer.from("p=tls-server-end-point,,"), Buffer.from(certHash)]);
|
|
2388
2388
|
channelBinding = bindingData.toString("base64");
|
|
2389
2389
|
}
|
|
2390
2390
|
const clientFinalMessageWithoutProof = "c=" + channelBinding + ",r=" + sv.nonce;
|
|
2391
2391
|
const authMessage = clientFirstMessageBare + "," + serverFirstMessage + "," + clientFinalMessageWithoutProof;
|
|
2392
2392
|
const saltBytes = Buffer.from(sv.salt, "base64");
|
|
2393
|
-
const saltedPassword = await
|
|
2394
|
-
const clientKey = await
|
|
2395
|
-
const storedKey = await
|
|
2396
|
-
const clientSignature = await
|
|
2393
|
+
const saltedPassword = await crypto2.deriveKey(password, saltBytes, sv.iteration);
|
|
2394
|
+
const clientKey = await crypto2.hmacSha256(saltedPassword, "Client Key");
|
|
2395
|
+
const storedKey = await crypto2.sha256(clientKey);
|
|
2396
|
+
const clientSignature = await crypto2.hmacSha256(storedKey, authMessage);
|
|
2397
2397
|
const clientProof = xorBuffers(Buffer.from(clientKey), Buffer.from(clientSignature)).toString("base64");
|
|
2398
|
-
const serverKey = await
|
|
2399
|
-
const serverSignatureBytes = await
|
|
2398
|
+
const serverKey = await crypto2.hmacSha256(saltedPassword, "Server Key");
|
|
2399
|
+
const serverSignatureBytes = await crypto2.hmacSha256(serverKey, authMessage);
|
|
2400
2400
|
session.message = "SASLResponse";
|
|
2401
2401
|
session.serverSignature = Buffer.from(serverSignatureBytes).toString("base64");
|
|
2402
2402
|
session.response = clientFinalMessageWithoutProof + ",p=" + clientProof;
|
|
@@ -4532,7 +4532,7 @@ var require_client = __commonJS({
|
|
|
4532
4532
|
var Query2 = require_query();
|
|
4533
4533
|
var defaults2 = require_defaults();
|
|
4534
4534
|
var Connection2 = require_connection();
|
|
4535
|
-
var
|
|
4535
|
+
var crypto2 = require_utils2();
|
|
4536
4536
|
var Client2 = class extends EventEmitter {
|
|
4537
4537
|
constructor(config) {
|
|
4538
4538
|
super();
|
|
@@ -4727,7 +4727,7 @@ var require_client = __commonJS({
|
|
|
4727
4727
|
_handleAuthMD5Password(msg) {
|
|
4728
4728
|
this._checkPgPass(async () => {
|
|
4729
4729
|
try {
|
|
4730
|
-
const hashedPassword = await
|
|
4730
|
+
const hashedPassword = await crypto2.postgresMd5PasswordHash(this.user, this.password, msg.salt);
|
|
4731
4731
|
this.connection.password(hashedPassword);
|
|
4732
4732
|
} catch (e) {
|
|
4733
4733
|
this.emit("error", e);
|
|
@@ -16834,9 +16834,9 @@ var require_client3 = __commonJS({
|
|
|
16834
16834
|
var require_auth_41 = __commonJS({
|
|
16835
16835
|
"node_modules/mysql2/lib/auth_41.js"(exports2) {
|
|
16836
16836
|
"use strict";
|
|
16837
|
-
var
|
|
16837
|
+
var crypto2 = require("crypto");
|
|
16838
16838
|
function sha1(msg, msg1, msg2) {
|
|
16839
|
-
const hash =
|
|
16839
|
+
const hash = crypto2.createHash("sha1");
|
|
16840
16840
|
hash.update(msg);
|
|
16841
16841
|
if (msg1) {
|
|
16842
16842
|
hash.update(msg1);
|
|
@@ -18585,7 +18585,7 @@ var require_sha256_password = __commonJS({
|
|
|
18585
18585
|
"node_modules/mysql2/lib/auth_plugins/sha256_password.js"(exports2, module2) {
|
|
18586
18586
|
"use strict";
|
|
18587
18587
|
var PLUGIN_NAME = "sha256_password";
|
|
18588
|
-
var
|
|
18588
|
+
var crypto2 = require("crypto");
|
|
18589
18589
|
var { xorRotating } = require_auth_41();
|
|
18590
18590
|
var REQUEST_SERVER_KEY_PACKET = Buffer.from([1]);
|
|
18591
18591
|
var STATE_INITIAL = 0;
|
|
@@ -18593,7 +18593,7 @@ var require_sha256_password = __commonJS({
|
|
|
18593
18593
|
var STATE_FINAL = -1;
|
|
18594
18594
|
function encrypt(password, scramble, key) {
|
|
18595
18595
|
const stage1 = xorRotating(Buffer.from(`${password}\0`, "utf8"), scramble);
|
|
18596
|
-
return
|
|
18596
|
+
return crypto2.publicEncrypt(key, stage1);
|
|
18597
18597
|
}
|
|
18598
18598
|
module2.exports = (pluginOptions = {}) => ({ connection }) => {
|
|
18599
18599
|
let state = 0;
|
|
@@ -18636,7 +18636,7 @@ var require_caching_sha2_password = __commonJS({
|
|
|
18636
18636
|
"node_modules/mysql2/lib/auth_plugins/caching_sha2_password.js"(exports2, module2) {
|
|
18637
18637
|
"use strict";
|
|
18638
18638
|
var PLUGIN_NAME = "caching_sha2_password";
|
|
18639
|
-
var
|
|
18639
|
+
var crypto2 = require("crypto");
|
|
18640
18640
|
var { xor, xorRotating } = require_auth_41();
|
|
18641
18641
|
var REQUEST_SERVER_KEY_PACKET = Buffer.from([2]);
|
|
18642
18642
|
var FAST_AUTH_SUCCESS_PACKET = Buffer.from([3]);
|
|
@@ -18646,7 +18646,7 @@ var require_caching_sha2_password = __commonJS({
|
|
|
18646
18646
|
var STATE_WAIT_SERVER_KEY = 2;
|
|
18647
18647
|
var STATE_FINAL = -1;
|
|
18648
18648
|
function sha256(msg) {
|
|
18649
|
-
const hash =
|
|
18649
|
+
const hash = crypto2.createHash("sha256");
|
|
18650
18650
|
hash.update(msg);
|
|
18651
18651
|
return hash.digest();
|
|
18652
18652
|
}
|
|
@@ -18661,10 +18661,10 @@ var require_caching_sha2_password = __commonJS({
|
|
|
18661
18661
|
}
|
|
18662
18662
|
function encrypt(password, scramble, key) {
|
|
18663
18663
|
const stage1 = xorRotating(Buffer.from(`${password}\0`, "utf8"), scramble);
|
|
18664
|
-
return
|
|
18664
|
+
return crypto2.publicEncrypt(
|
|
18665
18665
|
{
|
|
18666
18666
|
key,
|
|
18667
|
-
padding:
|
|
18667
|
+
padding: crypto2.constants.RSA_PKCS1_OAEP_PADDING
|
|
18668
18668
|
},
|
|
18669
18669
|
stage1
|
|
18670
18670
|
);
|
|
@@ -25383,6 +25383,7 @@ __export(handler_exports, {
|
|
|
25383
25383
|
handler: () => handler
|
|
25384
25384
|
});
|
|
25385
25385
|
module.exports = __toCommonJS(handler_exports);
|
|
25386
|
+
var crypto = __toESM(require("crypto"));
|
|
25386
25387
|
var import_client_secrets_manager2 = require("@aws-sdk/client-secrets-manager");
|
|
25387
25388
|
var import_client_ssm = require("@aws-sdk/client-ssm");
|
|
25388
25389
|
var import_exponential_backoff = __toESM(require_backoff());
|
|
@@ -26208,7 +26209,7 @@ var handler = async (event) => {
|
|
|
26208
26209
|
log(event);
|
|
26209
26210
|
const requestType = event.RequestType;
|
|
26210
26211
|
const resource = event.ResourceProperties.Resource;
|
|
26211
|
-
const resourceId = event.ResourceProperties.ResourceId;
|
|
26212
|
+
const resourceId = event.ResourceProperties.ResourceId ?? "";
|
|
26212
26213
|
const databaseName = event.ResourceProperties.DatabaseName;
|
|
26213
26214
|
if (!Object.values(RdsSqlResource).includes(resource)) {
|
|
26214
26215
|
throw `Resource type '${resource}' not recognised.`;
|
|
@@ -26408,8 +26409,14 @@ var handler = async (event) => {
|
|
|
26408
26409
|
}
|
|
26409
26410
|
}
|
|
26410
26411
|
let response = {};
|
|
26411
|
-
if (
|
|
26412
|
+
if (resourceId) {
|
|
26412
26413
|
response.PhysicalResourceId = resourceId;
|
|
26414
|
+
} else {
|
|
26415
|
+
if (resource === "iam_grant" /* IAM_GRANT */) {
|
|
26416
|
+
const iamProps = toIamGrantEngineProps(event.ResourceProperties);
|
|
26417
|
+
const hash = crypto.createHash("sha256").update(iamProps.ResourceArn).digest("hex").substring(0, 8);
|
|
26418
|
+
response.PhysicalResourceId = `${iamProps.RoleName}:${hash}`;
|
|
26419
|
+
}
|
|
26413
26420
|
}
|
|
26414
26421
|
return response;
|
|
26415
26422
|
};
|
package/lib/iam-grant.d.ts
CHANGED
package/lib/iam-grant.js
CHANGED
|
@@ -3,19 +3,10 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.IamGrant = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const crypto = require("crypto");
|
|
7
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
7
|
const enum_1 = require("./enum");
|
|
9
8
|
const provider_1 = require("./provider");
|
|
10
9
|
class IamGrant extends aws_cdk_lib_1.CustomResource {
|
|
11
|
-
static createUniqueResourceId(roleName, resourceArn) {
|
|
12
|
-
const hash = crypto
|
|
13
|
-
.createHash("sha256")
|
|
14
|
-
.update(resourceArn)
|
|
15
|
-
.digest("hex")
|
|
16
|
-
.substring(0, 8);
|
|
17
|
-
return `${roleName}:${hash}`;
|
|
18
|
-
}
|
|
19
10
|
constructor(scope, id, props) {
|
|
20
11
|
// IAM grants are only supported on DSQL
|
|
21
12
|
if (props.provider.engine !== provider_1.DatabaseEngine.DSQL) {
|
|
@@ -26,7 +17,6 @@ class IamGrant extends aws_cdk_lib_1.CustomResource {
|
|
|
26
17
|
resourceType: "Custom::DsqlIamGrant",
|
|
27
18
|
properties: {
|
|
28
19
|
Resource: enum_1.RdsSqlResource.IAM_GRANT,
|
|
29
|
-
ResourceId: IamGrant.createUniqueResourceId(props.roleName, props.resourceArn),
|
|
30
20
|
RoleName: props.roleName,
|
|
31
21
|
ResourceArn: props.resourceArn,
|
|
32
22
|
},
|
|
@@ -36,5 +26,5 @@ class IamGrant extends aws_cdk_lib_1.CustomResource {
|
|
|
36
26
|
}
|
|
37
27
|
exports.IamGrant = IamGrant;
|
|
38
28
|
_a = JSII_RTTI_SYMBOL_1;
|
|
39
|
-
IamGrant[_a] = { fqn: "cdk-rds-sql.IamGrant", version: "7.3.
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
IamGrant[_a] = { fqn: "cdk-rds-sql.IamGrant", version: "7.3.2" };
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLWdyYW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lhbS1ncmFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUU1QyxpQ0FBdUM7QUFDdkMseUNBQXNEO0FBbUJ0RCxNQUFhLFFBQVMsU0FBUSw0QkFBYztJQUMxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELHdDQUF3QztRQUN4QyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLHlCQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEQsTUFBTSxJQUFJLEtBQUssQ0FDYixnSEFBZ0gsQ0FDakgsQ0FBQTtRQUNILENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsWUFBWSxFQUFFLHNCQUFzQjtZQUNwQyxVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLHFCQUFjLENBQUMsU0FBUztnQkFDbEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUN4QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDL0I7U0FDRixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekMsQ0FBQzs7QUFuQkgsNEJBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IElQcm92aWRlciwgRGF0YWJhc2VFbmdpbmUgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSWFtR3JhbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBQcm92aWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBJUHJvdmlkZXJcblxuICAvKipcbiAgICogRGF0YWJhc2Ugcm9sZSBuYW1lIHRvIGdyYW50IElBTSBhY2Nlc3MgdG8uXG4gICAqL1xuICByZWFkb25seSByb2xlTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIElBTSByZXNvdXJjZSBBUk4gKHJvbGUsIHVzZXIsIG9yIG90aGVyIElBTSBwcmluY2lwYWwpLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VBcm46IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgSWFtR3JhbnQgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJYW1HcmFudFByb3BzKSB7XG4gICAgLy8gSUFNIGdyYW50cyBhcmUgb25seSBzdXBwb3J0ZWQgb24gRFNRTFxuICAgIGlmIChwcm9wcy5wcm92aWRlci5lbmdpbmUgIT09IERhdGFiYXNlRW5naW5lLkRTUUwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJJQU0gZ3JhbnRzIGFyZSBvbmx5IHN1cHBvcnRlZCB3aXRoIERTUUwgY2x1c3RlcnMuIFVzZSByZWd1bGFyIGRhdGFiYXNlIGF1dGhlbnRpY2F0aW9uIGZvciBSRFMvQXVyb3JhIGNsdXN0ZXJzLlwiXG4gICAgICApXG4gICAgfVxuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3BzLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHJlc291cmNlVHlwZTogXCJDdXN0b206OkRzcWxJYW1HcmFudFwiLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBSZXNvdXJjZTogUmRzU3FsUmVzb3VyY2UuSUFNX0dSQU5ULFxuICAgICAgICBSb2xlTmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICAgIFJlc291cmNlQXJuOiBwcm9wcy5yZXNvdXJjZUFybixcbiAgICAgIH0sXG4gICAgfSlcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcbiAgfVxufVxuIl19
|
package/lib/provider.js
CHANGED
|
@@ -209,7 +209,7 @@ class Provider extends constructs_1.Construct {
|
|
|
209
209
|
}
|
|
210
210
|
exports.Provider = Provider;
|
|
211
211
|
_a = JSII_RTTI_SYMBOL_1;
|
|
212
|
-
Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "7.3.
|
|
212
|
+
Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "7.3.2" };
|
|
213
213
|
class ImportedProvider extends constructs_1.Construct {
|
|
214
214
|
constructor(scope, id, attrs) {
|
|
215
215
|
super(scope, id);
|
package/lib/role.js
CHANGED
|
@@ -146,5 +146,5 @@ class Role extends constructs_1.Construct {
|
|
|
146
146
|
}
|
|
147
147
|
exports.Role = Role;
|
|
148
148
|
_a = JSII_RTTI_SYMBOL_1;
|
|
149
|
-
Role[_a] = { fqn: "cdk-rds-sql.Role", version: "7.3.
|
|
149
|
+
Role[_a] = { fqn: "cdk-rds-sql.Role", version: "7.3.2" };
|
|
150
150
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWtFO0FBQ2xFLDJDQUEwQztBQUcxQyx1RUFBZ0U7QUFDaEUsMkNBQTBDO0FBQzFDLDJDQUFzQztBQUV0QyxpQ0FBdUM7QUFDdkMseUNBQXNEO0FBQ3RELGlFQUFtRTtBQStFbkUsOENBQThDO0FBQzlDLE1BQU0sVUFBVyxTQUFRLHNCQUFTO0lBQ2hDLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBT0M7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLDRDQUE0QztRQUM1QyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3ZELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGFBQWEsR0FBRyxFQUFFLEVBQUU7b0JBQ2hELGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFO29CQUMvQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtpQkFDOUIsQ0FBQyxDQUFBO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsNkRBQTZEO1FBQzdELE1BQU0scUJBQXFCLEdBQUcsR0FBRyxLQUFLLENBQUMsZUFBZSxVQUFVLENBQUE7UUFDaEUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQ3ZFLFlBQVksRUFBRSxLQUFLLENBQUMsb0JBQW9CO1lBQ3hDLFVBQVUsRUFBRTtnQkFDVixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLFFBQVEsRUFBRSxxQkFB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Q0FBQyxZQUFZO1lBQ2hDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLHlCQUFjLENBQUMsSUFBSTtTQUNwRixDQUFDLENBQUE7UUFFRixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM3QyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzlCLGdEQUFnRDtnQkFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDaEUsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUE7SUFDaEMsQ0FBQzs7QUE1SEgsb0JBNkhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UsIFJlbW92YWxQb2xpY3ksIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBrbXMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIlxuaW1wb3J0IHsgSURhdGFiYXNlQ2x1c3RlciwgSURhdGFiYXNlSW5zdGFuY2UgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiXG5pbXBvcnQgeyBJU2VjcmV0LCBTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCJcbmltcG9ydCAqIGFzIHNzbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNzbVwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyLCBEYXRhYmFzZUVuZ2luZSB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcbmltcG9ydCB7IFJvbGUgYXMgQ3VzdG9tUmVzb3VyY2VSb2xlIH0gZnJvbSBcIi4vcm9sZS5jdXN0b20tcmVzb3VyY2VcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGVQcm9wcyB7XG4gIC8qKlxuICAgKiBQcm92aWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBJUHJvdmlkZXJcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZSB0aGlzIHVzZXIgaXMgZXhwZWN0ZWQgdG8gdXNlLlxuICAgKlxuICAgKiBJZiB0aGUgZGF0YWJhc2UgZXhpc3RzLCBjb25uZWN0IHByaXZpbGVnZXMgYXJlIGdyYW50ZWQuXG4gICAqXG4gICAqIFNwZWNpZnkgb25lIG9mIGBkYXRhYmFzZWAgb3IgYGRhdGFiYXNlTmFtZWAuIFRoaXMgaXMgdGhlIG5hbWVcbiAgICogdGhhdCB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgcm9sZSdzIHNlY3JldCBhcyB0aGUgZGF0YWJhc2UgbmFtZSB0b1xuICAgKiB1c2UuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZT86IElEYXRhYmFzZVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZSBuYW1lIHRoaXMgdXNlciBpcyBleHBlY3RlZCB0byB1c2UuXG4gICAqXG4gICAqIElmIHRoZSBkYXRhYmFzZSBleGlzdHMsIGNvbm5lY3QgcHJpdmlsZWdlcyBhcmUgZ3JhbnRlZC5cbiAgICpcbiAgICogU3BlY2lmeSBvbmUgb2YgYGRhdGFiYXNlYCBvciBgZGF0YWJhc2VOYW1lYC4gVGhpcyBpcyB0aGUgbmFtZVxuICAgKiB0aGF0IHdpbGwgYmUgc3RvcmVkIGluIHRoZSByb2xlJ3Mgc2VjcmV0IGFzIHRoZSBkYXRhYmFzZSBuYW1lIHRvXG4gICAqIHVzZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBBIG5ldyBzZWNyZXQgaXMgY3JlYXRlZCBmb3IgdGhpcyB1c2VyLlxuICAgKlxuICAgKiBPcHRpb25hbGx5IGVuY3J5cHQgaXQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5XG5cbiAgLyoqXG4gICAqIEEgbmV3IHNlY3JldCBpcyBjcmVhdGVkIGZvciB0aGlzIHVzZXIuXG4gICAqXG4gICAqIE9wdGlvbmFsbHkgYWRkIHNlY3JldCBuYW1lIHRvIHRoZSBzZWNyZXQuXG4gICAqL1xuICByZWFkb25seSBzZWNyZXROYW1lPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFByZWZpeCBmb3IgU1NNIHBhcmFtZXRlcnMgdG8gc3RvcmUgY3JlZGVudGlhbHMgaW4gUGFyYW1ldGVyIFN0b3JlLlxuICAgKiBXaGVuIGRlZmluZWQsIGNyZWRlbnRpYWxzIHdpbGwgYWxzbyBiZSBzdG9yZWQgYXMgcGFyYW1ldGVycy5cbiAgICpcbiAgICogVGhlIHBhcmFtZXRlciBuYW1lcyBzdWNoIGFzIFwicGFzc3dvcmRcIiBpcyBzaW1wbHkgYXBwZW5kZWQgdG9cbiAgICogYHBhcmFtZXRlclByZWZpeGAsIHNvIG1ha2Ugc3VyZSB0aGUgcHJlZml4IGVuZHMgd2l0aCBhIHNsYXNoIGlmXG4gICAqICB5b3UgaGF2ZSB5b3VyIHBhcmFtZXRlciBuYW1lcyBzbGFzaCBzZXBhcmF0ZWQuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgcGFzc3dvcmQgZnJvbSB0aGUgc2VjcmV0IGlzIGNvcGllZCBqdXN0IG9uY2UsIHRoZXlcbiAgICogYXJlIG5vdCBrZXB0IGluIHN5bmMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY3JlZGVudGlhbHMgYXJlIG9ubHkgc3RvcmVkIGluIFNlY3JldHMgTWFuYWdlclxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyUHJlZml4Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEVuYWJsZSBJQU0gYXV0aGVudGljYXRpb24gZm9yIHRoaXMgcm9sZS5cbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCB0aGUgcm9sZSB3aWxsIGJlIGNyZWF0ZWQgd2l0aG91dCBhIHBhc3N3b3JkIGFuZFxuICAgKiBjb25maWd1cmVkIGZvciBBV1MgSUFNIGRhdGFiYXNlIGF1dGhlbnRpY2F0aW9uLiBUaGUgc2VjcmV0XG4gICAqIHdpbGwgbm90IGNvbnRhaW4gYSBwYXNzd29yZCBmaWVsZC5cbiAgICpcbiAgICogTm90ZTogRm9yIERTUUwgY2x1c3RlcnMsIHRoaXMgcHJvcGVydHkgaXMgaWdub3JlZCBhcyBEU1FMIGFsd2F5c1xuICAgKiB1c2VzIElBTSBhdXRoZW50aWNhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgLSB1c2UgcGFzc3dvcmQgYXV0aGVudGljYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUlhbUF1dGg/OiBib29sZWFuXG59XG5cbi8vIFByaXZhdGUgUGFyYW1ldGVycyBjb25zdHJ1Y3QgKG5vdCBleHBvcnRlZClcbmNsYXNzIFBhcmFtZXRlcnMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IHtcbiAgICAgIHByb3ZpZGVyOiBJUHJvdmlkZXJcbiAgICAgIHNlY3JldEFybjogc3RyaW5nXG4gICAgICBwYXJhbWV0ZXJQcmVmaXg6IHN0cmluZ1xuICAgICAgcGFzc3dvcmRBcm46IHN0cmluZ1xuICAgICAgcHJvdmlkZXJTZXJ2aWNlVG9rZW46IHN0cmluZ1xuICAgICAgcGFyYW1EYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICAvLyBDcmVhdGUgcGFyYW1ldGVycyBmb3IgZWFjaCBrZXktdmFsdWUgcGFpclxuICAgIE9iamVjdC5lbnRyaWVzKHByb3BzLnBhcmFtRGF0YSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBuZXcgc3NtLlN0cmluZ1BhcmFtZXRlcih0aGlzLCBgUGFyYW1ldGVyLSR7a2V5fWAsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiBgJHtwcm9wcy5wYXJhbWV0ZXJQcmVmaXh9JHtrZXl9YCxcbiAgICAgICAgICBzdHJpbmdWYWx1ZTogdmFsdWUudG9TdHJpbmcoKSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgLy8gRm9yIHBhc3N3b3JkLCB1c2UgdGhlIGV4aXN0aW5nIHByb3ZpZGVyIHRvIHN0b3JlIGl0IGluIFNTTVxuICAgIGNvbnN0IHBhc3N3b3JkUGFyYW1ldGVyTmFtZSA9IGAke3Byb3BzLnBhcmFtZXRlclByZWZpeH1wYXNzd29yZGBcbiAgICBjb25zdCBwYXNzd29yZF9wYXJhbWV0ZXIgPSBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJQYXNzd29yZFBhcmFtZXRlclwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3BzLnByb3ZpZGVyU2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBTZWNyZXRBcm46IHByb3BzLnNlY3JldEFybixcbiAgICAgICAgUmVzb3VyY2U6IFJkc1NxbFJlc291cmNlLlBBUkFNRVRFUl9QQVNTV09SRCxcbiAgICAgICAgUGFzc3dvcmRBcm46IHByb3BzLnBhc3N3b3JkQXJuLFxuICAgICAgICBQYXJhbWV0ZXJOYW1lOiBwYXNzd29yZFBhcmFtZXRlck5hbWUsXG4gICAgICB9LFxuICAgIH0pXG4gICAgcGFzc3dvcmRfcGFyYW1ldGVyLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcblxuICAgIGNvbnN0IHBhcmFtQXJuID0gYGFybjphd3M6c3NtOiR7U3RhY2sub2YodGhpcykucmVnaW9ufToke1xuICAgICAgU3RhY2sub2YodGhpcykuYWNjb3VudFxuICAgIH06cGFyYW1ldGVyJHtcbiAgICAgIHBhc3N3b3JkUGFyYW1ldGVyTmFtZS5zdGFydHNXaXRoKFwiL1wiKSA/IFwiXCIgOiBcIi9cIlxuICAgIH0ke3Bhc3N3b3JkUGFyYW1ldGVyTmFtZX1gXG5cbiAgICBwcm9wcy5wcm92aWRlci5oYW5kbGVyLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wic3NtOlB1dFBhcmFtZXRlclwiLCBcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLCBcInNzbTpHZXRQYXJhbWV0ZXJzXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtwYXJhbUFybl0sXG4gICAgICB9KVxuICAgIClcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUm9sZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgcm9sZSBuYW1lLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogVGhlIGdlbmVyYXRlZCBzZWNyZXQuXG4gICAqIE9ubHkgYXZhaWxhYmxlIGZvciBub24tRFNRTCBjbHVzdGVycyBhcyBEU1FMIHVzZXMgSUFNIGF1dGhlbnRpY2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNlY3JldD86IElTZWNyZXRcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSB7XG4gICAgaWYgKHByb3BzLnByb3ZpZGVyLmVuZ2luZSAhPT0gRGF0YWJhc2VFbmdpbmUuRFNRTCkge1xuICAgICAgaWYgKHByb3BzLmRhdGFiYXNlICYmIHByb3BzLmRhdGFiYXNlTmFtZSkge1xuICAgICAgICB0aHJvdyBcIlNwZWNpZnkgZWl0aGVyIGRhdGFiYXNlIG9yIGRhdGFiYXNlTmFtZVwiXG4gICAgICB9XG4gICAgICBpZiAoIXByb3BzLmRhdGFiYXNlICYmICFwcm9wcy5kYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgLy8gSWYgbmVpdGhlciBpcyBzcGVjaWZpZWQsIHdlIG1pZ2h0IG5lZWQgYSBkZWZhdWx0IG9yIHRocm93IGFuIGVycm9yIGRlcGVuZGluZyBvbiBkZXNpcmVkIGJlaGF2aW9yLlxuICAgICAgICAvLyBGb3Igbm93LCBsZXQncyBhc3N1bWUgaXQncyBhbGxvd2VkIGJ1dCB0aGUgc2VjcmV0IHdvbid0IGhhdmUgYSBkYm5hbWUuXG4gICAgICAgIC8vIElmIGl0IHNob3VsZCBiZSByZXF1aXJlZCwgdW5jb21tZW50IHRoZSBsaW5lIGJlbG93OlxuICAgICAgICB0aHJvdyBcIlNwZWNpZnkgZWl0aGVyIGRhdGFiYXNlIG9yIGRhdGFiYXNlTmFtZVwiXG4gICAgICB9XG4gICAgfVxuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIC8vIERTUUwgZG9lc24ndCB1c2Ugc2VjcmV0cyAtIGl0IGFsd2F5cyB1c2VzIElBTSBhdXRoZW50aWNhdGlvblxuICAgIGlmIChwcm9wcy5wcm92aWRlci5lbmdpbmUgIT09IERhdGFiYXNlRW5naW5lLkRTUUwpIHtcbiAgICAgIC8vIEZvciBpbXBvcnRlZCBwcm92aWRlcnMgd2l0aG91dCBjbHVzdGVyIGRldGFpbHMsIHByb3ZpZGUgaGVscGZ1bCBlcnJvciBtZXNzYWdlXG4gICAgICBpZiAoIXByb3BzLnByb3ZpZGVyLmNsdXN0ZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiUm9sZSBjcmVhdGlvbiByZXF1aXJlcyBjbHVzdGVyIGluZm9ybWF0aW9uLiBXaGVuIGltcG9ydGluZyBhIHByb3ZpZGVyIHdpdGggXCIgK1xuICAgICAgICAgICAgXCJQcm92aWRlci5mcm9tUHJvdmlkZXJBdHRyaWJ1dGVzKCksIGluY2x1ZGUgdGhlICdjbHVzdGVyJyBwcm9wZXJ0eSBpZiB5b3UgcGxhbiBcIiArXG4gICAgICAgICAgICBcInRvIGNyZWF0ZSBuZXcgcm9sZXMuIEFsdGVybmF0aXZlbHksIHVzZSBleGlzdGluZyByb2xlcyBjcmVhdGVkIHdpdGggdGhlIG9yaWdpbmFsIHByb3ZpZGVyLlwiXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgLy8gRm9yIFJEUy9BdXJvcmEgY2x1c3RlcnMgYW5kIGluc3RhbmNlcywgZ2V0IGVuZHBvaW50IGRldGFpbHNcbiAgICAgIGNvbnN0IGhvc3QgPSAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VDbHVzdGVyKS5jbHVzdGVyRW5kcG9pbnRcbiAgICAgICAgPyAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VDbHVzdGVyKS5jbHVzdGVyRW5kcG9pbnQuaG9zdG5hbWVcbiAgICAgICAgOiAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VJbnN0YW5jZSkuaW5zdGFuY2VFbmRwb2ludC5ob3N0bmFtZVxuXG4gICAgICBjb25zdCBwb3J0ID0gKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlQ2x1c3RlcikuY2x1c3RlckVuZHBvaW50XG4gICAgICAgID8gKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlQ2x1c3RlcikuY2x1c3RlckVuZHBvaW50LnBvcnRcbiAgICAgICAgOiAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VJbnN0YW5jZSkuaW5zdGFuY2VFbmRwb2ludC5wb3J0XG5cbiAgICAgIGNvbnN0IGlkZW50aWZpZXIgPSAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VDbHVzdGVyKS5jbHVzdGVySWRlbnRpZmllclxuICAgICAgICA/IChwcm9wcy5wcm92aWRlci5jbHVzdGVyIGFzIElEYXRhYmFzZUNsdXN0ZXIpLmNsdXN0ZXJJZGVudGlmaWVyXG4gICAgICAgIDogKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlSW5zdGFuY2UpLmluc3RhbmNlSWRlbnRpZmllclxuXG4gICAgICBjb25zdCBzZWNyZXRUZW1wbGF0ZSA9IHtcbiAgICAgICAgZGJDbHVzdGVySWRlbnRpZmllcjogaWRlbnRpZmllcixcbiAgICAgICAgZW5naW5lOiBwcm9wcy5wcm92aWRlci5lbmdpbmUsXG4gICAgICAgIGhvc3Q6IGhvc3QsXG4gICAgICAgIHBvcnQ6IHBvcnQsXG4gICAgICAgIHVzZXJuYW1lOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgICAgZGJuYW1lOiBwcm9wcy5kYXRhYmFzZSA/IHByb3BzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSA6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWNyZXQgPSBuZXcgU2VjcmV0KHRoaXMsIFwiU2VjcmV0XCIsIHtcbiAgICAgICAgc2VjcmV0TmFtZTogcHJvcHMuc2VjcmV0TmFtZSxcbiAgICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMuZW5jcnlwdGlvbktleSxcbiAgICAgICAgZGVzY3JpcHRpb246IGBHZW5lcmF0ZWQgc2VjcmV0IGZvciAke3Byb3BzLnByb3ZpZGVyLmVuZ2luZX0gcm9sZSAke3Byb3BzLnJvbGVOYW1lfWAsXG4gICAgICAgIC4uLihwcm9wcy5lbmFibGVJYW1BdXRoXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIC8vIEZvciBJQU0gYXV0aCwgY3JlYXRlIHNlY3JldCB3aXRob3V0IHBhc3N3b3JkIGdlbmVyYXRpb25cbiAgICAgICAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHNlY3JldFRlbXBsYXRlKSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgLy8gRm9yIHBhc3N3b3JkIGF1dGgsIGdlbmVyYXRlIHBhc3N3b3JkXG4gICAgICAgICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmRMZW5ndGg6IDMwLCAvLyBPcmFjbGUgcGFzc3dvcmQgY2Fubm90IGhhdmUgbW9yZSB0aGFuIDMwIGNoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICBzZWNyZXRTdHJpbmdUZW1wbGF0ZTogSlNPTi5zdHJpbmdpZnkoc2VjcmV0VGVtcGxhdGUpLFxuICAgICAgICAgICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiBcInBhc3N3b3JkXCIsXG4gICAgICAgICAgICAgICAgZXhjbHVkZUNoYXJhY3RlcnM6IFwiICUrfmAjJCYqKCl8W117fTo7PD4/IScvQFxcXCJcXFxcXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgfSlcblxuICAgICAgLy8gQ3JlYXRlIFBhcmFtZXRlcnMgaWYgcGFyYW1ldGVyUHJlZml4IGlzIHByb3ZpZGVkXG4gICAgICBpZiAocHJvcHMucGFyYW1ldGVyUHJlZml4KSB7XG4gICAgICAgIGNvbnN0IHBhcmFtRGF0YSA9IHtcbiAgICAgICAgICBkYkNsdXN0ZXJJZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgICAgICAgIGVuZ2luZTogcHJvcHMucHJvdmlkZXIuZW5naW5lLFxuICAgICAgICAgIGhvc3Q6IGhvc3QsXG4gICAgICAgICAgcG9ydDogcG9ydCxcbiAgICAgICAgICB1c2VybmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICAgICAgZGJuYW1lOiBwcm9wcy5kYXRhYmFzZSA/IHByb3BzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSA6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgfVxuXG4gICAgICAgIG5ldyBQYXJhbWV0ZXJzKHRoaXMsIFwiUGFyYW1ldGVyc1wiLCB7XG4gICAgICAgICAgc2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQ/LnNlY3JldEFybiB8fCBcIlwiLFxuICAgICAgICAgIHBhcmFtZXRlclByZWZpeDogcHJvcHMucGFyYW1ldGVyUHJlZml4LFxuICAgICAgICAgIHBhc3N3b3JkQXJuOiBwcm9wcy5lbmFibGVJYW1BdXRoID8gXCJcIiA6IHRoaXMuc2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgICBwcm92aWRlclNlcnZpY2VUb2tlbjogcHJvcHMucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgICAgIHByb3ZpZGVyOiBwcm9wcy5wcm92aWRlcixcbiAgICAgICAgICBwYXJhbURhdGEsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgcm9sZSA9IG5ldyBDdXN0b21SZXNvdXJjZVJvbGUodGhpcywgXCJQb3N0Z3Jlc1JvbGVcIiwge1xuICAgICAgcHJvdmlkZXI6IHByb3BzLnByb3ZpZGVyLFxuICAgICAgcm9sZU5hbWU6IHByb3BzLnJvbGVOYW1lLFxuICAgICAgcGFzc3dvcmRBcm46XG4gICAgICAgIHByb3BzLmVuYWJsZUlhbUF1dGggfHwgcHJvcHMucHJvdmlkZXIuZW5naW5lID09PSBEYXRhYmFzZUVuZ2luZS5EU1FMXG4gICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgOiB0aGlzLnNlY3JldCEuc2VjcmV0QXJuLFxuICAgICAgZGF0YWJhc2U6IHByb3BzLmRhdGFiYXNlLFxuICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICBlbmFibGVJYW1BdXRoOiBwcm9wcy5lbmFibGVJYW1BdXRoIHx8IHByb3BzLnByb3ZpZGVyLmVuZ2luZSA9PT0gRGF0YWJhc2VFbmdpbmUuRFNRTCxcbiAgICB9KVxuXG4gICAgaWYgKHRoaXMuc2VjcmV0KSB7XG4gICAgICByb2xlLm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLnNlY3JldClcbiAgICAgIHRoaXMuc2VjcmV0LmdyYW50UmVhZChwcm9wcy5wcm92aWRlci5oYW5kbGVyKVxuICAgICAgaWYgKHRoaXMuc2VjcmV0LmVuY3J5cHRpb25LZXkpIHtcbiAgICAgICAgLy8gSXQgc2VlbXMgd2UgbmVlZCB0byBncmFudCBleHBsaWNpdCBwZXJtaXNzaW9uXG4gICAgICAgIHRoaXMuc2VjcmV0LmVuY3J5cHRpb25LZXkuZ3JhbnREZWNyeXB0KHByb3BzLnByb3ZpZGVyLmhhbmRsZXIpXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yb2xlTmFtZSA9IHByb3BzLnJvbGVOYW1lXG4gIH1cbn1cbiJdfQ==
|
package/lib/schema.js
CHANGED
|
@@ -27,5 +27,5 @@ class Schema extends aws_cdk_lib_1.CustomResource {
|
|
|
27
27
|
}
|
|
28
28
|
exports.Schema = Schema;
|
|
29
29
|
_a = JSII_RTTI_SYMBOL_1;
|
|
30
|
-
Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "7.3.
|
|
30
|
+
Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "7.3.2" };
|
|
31
31
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUE4QnZDLE1BQWEsTUFBTyxTQUFRLDRCQUFjO0lBR3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxNQUFNO2dCQUMvQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEYsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUN0RSxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDdkQ7U0FDRixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO1FBQ2xDLElBQUksS0FBSyxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDM0QsSUFBSSxLQUFLLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyRCxDQUFDOztBQWxCSCx3QkFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCIuL3JvbGVcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZGVmYXVsdCBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogU2NoZW1hIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBzY2hlbWFOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgcm9sZSB3aGljaCB3aWxsIGJlIGdyYW50ZWQgdXNhZ2UgYW5kIGNyZWF0ZSBwZXJtaXNzaW9uc1xuICAgKiB0byB0aGlzIHNjaGVtYS4gVGhpcyB3YXkgdGhlIHJvbGUgY2FuIHJlYWQgaXRzIG93biB0YWJsZXMsIGJ1dFxuICAgKiBjYW5ub3Qgc2VlIG9yIGFjY2VzcyB0YWJsZXMgY3JlYXRlZCBieSBvdGhlcnMuXG4gICAqL1xuICByZWFkb25seSByb2xlPzogUm9sZVxufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgc2NoZW1hTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNjaGVtYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3BzLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgUmVzb3VyY2U6IFJkc1NxbFJlc291cmNlLlNDSEVNQSxcbiAgICAgICAgUmVzb3VyY2VJZDogcHJvcHMuc2NoZW1hTmFtZSxcbiAgICAgICAgLi4uKHByb3BzLnByb3ZpZGVyLnNlY3JldCA/IHsgU2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQuc2VjcmV0QXJuIH0gOiB7fSksXG4gICAgICAgIERhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2UgPyBwcm9wcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWUgOiB1bmRlZmluZWQsXG4gICAgICAgIFJvbGVOYW1lOiBwcm9wcy5yb2xlID8gcHJvcHMucm9sZS5yb2xlTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfSlcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcbiAgICB0aGlzLnNjaGVtYU5hbWUgPSBwcm9wcy5zY2hlbWFOYW1lXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlKSB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5kYXRhYmFzZSlcbiAgICBpZiAocHJvcHMucm9sZSkgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucm9sZSlcbiAgfVxufVxuIl19
|
package/lib/sql.js
CHANGED
|
@@ -24,5 +24,5 @@ class Sql extends aws_cdk_lib_1.CustomResource {
|
|
|
24
24
|
}
|
|
25
25
|
exports.Sql = Sql;
|
|
26
26
|
_a = JSII_RTTI_SYMBOL_1;
|
|
27
|
-
Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "7.3.
|
|
27
|
+
Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "7.3.2" };
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUEyQnZDLE1BQWEsR0FBSSxTQUFRLDRCQUFjO0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLEdBQUc7Z0JBQzVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEYsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUN0RSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdELENBQUM7O0FBZEgsa0JBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNxbFByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZGVmYXVsdCBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVtZW50Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0YXRtZW50IHRvIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIHJlc291cmNlIGlzIGRlbGV0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTcWwgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcWxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5TUUwsXG4gICAgICAgIC4uLihwcm9wcy5wcm92aWRlci5zZWNyZXQgPyB7IFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybiB9IDoge30pLFxuICAgICAgICBEYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICBTdGF0ZW1lbnQ6IHByb3BzLnN0YXRlbWVudCxcbiAgICAgICAgUm9sbGJhY2s6IHByb3BzLnJvbGxiYWNrLFxuICAgICAgfSxcbiAgICB9KVxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgIGlmIChwcm9wcy5kYXRhYmFzZSkgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMuZGF0YWJhc2UpXG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { ConnectionOptions } from "tls"
|
|
2
|
-
import {
|
|
3
|
-
SecretsManagerClient,
|
|
4
|
-
GetSecretValueCommand,
|
|
5
|
-
} from "@aws-sdk/client-secrets-manager"
|
|
6
|
-
import {
|
|
7
|
-
EngineDatabaseProperties,
|
|
8
|
-
EngineRoleProperties,
|
|
9
|
-
EngineSchemaProperties,
|
|
10
|
-
EngineSqlProperties,
|
|
11
|
-
} from "./types"
|
|
12
|
-
|
|
13
|
-
export interface EngineConnectionConfig {
|
|
14
|
-
host: string
|
|
15
|
-
port: number
|
|
16
|
-
user: string
|
|
17
|
-
password: string
|
|
18
|
-
database: string
|
|
19
|
-
ssl?: boolean | ConnectionOptions
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export abstract class AbstractEngine {
|
|
23
|
-
protected log: (message?: any, ...optionalParams: any[]) => void
|
|
24
|
-
|
|
25
|
-
constructor() {
|
|
26
|
-
this.log =
|
|
27
|
-
process.env.LOGGER === "true"
|
|
28
|
-
? console.debug
|
|
29
|
-
: (_message?: any, ..._optionalParams: any[]) => {}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
abstract createDatabase(
|
|
33
|
-
resourceId: string,
|
|
34
|
-
props: EngineDatabaseProperties
|
|
35
|
-
): string | string[]
|
|
36
|
-
abstract updateDatabase(
|
|
37
|
-
resourceId: string,
|
|
38
|
-
oldResourceId: string,
|
|
39
|
-
props: EngineDatabaseProperties
|
|
40
|
-
): string | string[]
|
|
41
|
-
abstract deleteDatabase(resourceId: string, masterUser: string): string | string[]
|
|
42
|
-
|
|
43
|
-
abstract createRole(
|
|
44
|
-
resourceId: string,
|
|
45
|
-
props: EngineRoleProperties
|
|
46
|
-
): Promise<string | string[]>
|
|
47
|
-
abstract updateRole(
|
|
48
|
-
resourceId: string,
|
|
49
|
-
oldResourceId: string,
|
|
50
|
-
props: EngineRoleProperties,
|
|
51
|
-
oldProps: EngineRoleProperties
|
|
52
|
-
): Promise<string | string[]>
|
|
53
|
-
abstract deleteRole(
|
|
54
|
-
resourceId: string,
|
|
55
|
-
props: EngineRoleProperties
|
|
56
|
-
): Promise<string | string[]>
|
|
57
|
-
|
|
58
|
-
abstract createSchema(
|
|
59
|
-
resourceId: string,
|
|
60
|
-
props: EngineSchemaProperties
|
|
61
|
-
): string | string[]
|
|
62
|
-
abstract updateSchema(
|
|
63
|
-
resourceId: string,
|
|
64
|
-
oldResourceId: string,
|
|
65
|
-
props: EngineSchemaProperties
|
|
66
|
-
): string | string[]
|
|
67
|
-
abstract deleteSchema(
|
|
68
|
-
resourceId: string,
|
|
69
|
-
props: EngineSchemaProperties
|
|
70
|
-
): string | string[]
|
|
71
|
-
|
|
72
|
-
abstract createSql(resourceId: string, props: EngineSqlProperties): string | string[]
|
|
73
|
-
abstract updateSql(
|
|
74
|
-
resourceId: string,
|
|
75
|
-
oldResourceId: string,
|
|
76
|
-
props: EngineSqlProperties
|
|
77
|
-
): string | string[]
|
|
78
|
-
abstract deleteSql(resourceId: string, props: EngineSqlProperties): string | string[]
|
|
79
|
-
|
|
80
|
-
abstract createIamGrant(roleName: string, iamArn: string): string | string[]
|
|
81
|
-
abstract updateIamGrant(
|
|
82
|
-
roleName: string,
|
|
83
|
-
oldRoleName: string,
|
|
84
|
-
iamArn: string,
|
|
85
|
-
oldIamArn: string
|
|
86
|
-
): string | string[]
|
|
87
|
-
abstract deleteIamGrant(roleName: string, iamArn: string): string | string[]
|
|
88
|
-
|
|
89
|
-
abstract executeSQL(
|
|
90
|
-
sql: string | string[],
|
|
91
|
-
config: EngineConnectionConfig
|
|
92
|
-
): Promise<any>
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Parse password field from secret. Returns void on error or if no password field exists.
|
|
96
|
-
*/
|
|
97
|
-
protected async getPassword(arn: string): Promise<string | void> {
|
|
98
|
-
if (!arn) return
|
|
99
|
-
const secrets_client = new SecretsManagerClient({
|
|
100
|
-
requestHandler: {
|
|
101
|
-
connectionTimeout: 5000,
|
|
102
|
-
requestTimeout: 10000,
|
|
103
|
-
},
|
|
104
|
-
})
|
|
105
|
-
const command = new GetSecretValueCommand({
|
|
106
|
-
SecretId: arn,
|
|
107
|
-
})
|
|
108
|
-
const secret = await secrets_client.send(command)
|
|
109
|
-
if (secret.SecretString) {
|
|
110
|
-
const json = JSON.parse(secret.SecretString)
|
|
111
|
-
return json.password
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|