cdk-rds-sql 6.1.0 → 6.1.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 +3 -3
- package/.pre-commit-config.yaml +1 -1
- package/CLAUDE.md +117 -0
- package/lambda/engine.abstract.ts +30 -12
- package/lambda/engine.factory.ts +1 -1
- package/lambda/engine.mysql.test.ts +35 -10
- package/lambda/engine.mysql.ts +39 -25
- package/lambda/engine.postgresql.test.ts +21 -9
- package/lambda/engine.postgresql.ts +43 -25
- package/lambda/handler.mysql.test.ts +22 -20
- package/lambda/handler.postgresql.test.ts +6 -6
- package/lambda/handler.test.ts +164 -0
- package/lambda/handler.ts +81 -14
- package/lambda/types.ts +29 -14
- package/lambda/util.ts +2 -2
- package/lib/database.js +1 -1
- package/lib/handler/handler.js +11209 -11157
- package/lib/provider.js +5 -4
- package/lib/role.custom-resource.js +2 -2
- package/lib/role.js +1 -1
- package/lib/schema.js +1 -1
- package/lib/sql.js +1 -1
- package/package.json +3 -3
package/lambda/types.ts
CHANGED
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
import { CloudFormationCustomResourceResourcePropertiesCommon } from "aws-lambda"
|
|
2
2
|
import { RdsSqlResource } from "../src/enum"
|
|
3
3
|
|
|
4
|
-
//
|
|
4
|
+
// Engine-specific interfaces (business logic properties only)
|
|
5
|
+
export interface EngineDatabaseProperties {
|
|
6
|
+
readonly Owner?: string
|
|
7
|
+
readonly MasterOwner?: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface EngineRoleProperties {
|
|
11
|
+
readonly PasswordArn?: string
|
|
12
|
+
readonly DatabaseName?: string
|
|
13
|
+
readonly EnableIamAuth?: boolean
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface EngineSchemaProperties {
|
|
17
|
+
readonly DatabaseName?: string
|
|
18
|
+
readonly RoleName?: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface EngineSqlProperties {
|
|
22
|
+
readonly DatabaseName?: string
|
|
23
|
+
readonly Statement?: string
|
|
24
|
+
readonly Rollback?: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Common CloudFormation properties shared by all resources
|
|
5
28
|
export interface CommonProperties
|
|
6
29
|
extends CloudFormationCustomResourceResourcePropertiesCommon {
|
|
7
30
|
readonly Resource: RdsSqlResource
|
|
@@ -9,32 +32,24 @@ export interface CommonProperties
|
|
|
9
32
|
readonly SecretArn: string
|
|
10
33
|
}
|
|
11
34
|
|
|
12
|
-
//
|
|
13
|
-
export interface DatabaseProperties extends CommonProperties {
|
|
35
|
+
// CloudFormation-specific properties (engine properties + CloudFormation metadata)
|
|
36
|
+
export interface DatabaseProperties extends CommonProperties, EngineDatabaseProperties {
|
|
14
37
|
readonly Resource: RdsSqlResource.DATABASE
|
|
15
|
-
readonly Owner?: string
|
|
16
38
|
}
|
|
17
39
|
|
|
18
|
-
// Role specific properties
|
|
19
40
|
export interface RoleProperties extends CommonProperties {
|
|
20
41
|
readonly Resource: RdsSqlResource.ROLE
|
|
21
42
|
readonly PasswordArn?: string
|
|
22
43
|
readonly DatabaseName?: string
|
|
44
|
+
readonly EnableIamAuth?: string // CloudFormation passes boolean as string
|
|
23
45
|
}
|
|
24
46
|
|
|
25
|
-
|
|
26
|
-
export interface SchemaProperties extends CommonProperties {
|
|
47
|
+
export interface SchemaProperties extends CommonProperties, EngineSchemaProperties {
|
|
27
48
|
readonly Resource: RdsSqlResource.SCHEMA
|
|
28
|
-
readonly DatabaseName?: string
|
|
29
|
-
readonly RoleName?: string
|
|
30
49
|
}
|
|
31
50
|
|
|
32
|
-
|
|
33
|
-
export interface SqlProperties extends CommonProperties {
|
|
51
|
+
export interface SqlProperties extends CommonProperties, EngineSqlProperties {
|
|
34
52
|
readonly Resource: RdsSqlResource.SQL
|
|
35
|
-
readonly DatabaseName?: string
|
|
36
|
-
readonly Statement?: string
|
|
37
|
-
readonly Rollback?: string
|
|
38
53
|
}
|
|
39
54
|
|
|
40
55
|
// Parameter password specific properties
|
package/lambda/util.ts
CHANGED
|
@@ -25,7 +25,7 @@ export interface ResourcePropertiesInput {
|
|
|
25
25
|
export const createRequest = (
|
|
26
26
|
resource: string,
|
|
27
27
|
resourceId: string,
|
|
28
|
-
props?:
|
|
28
|
+
props?: Partial<ResourceProperties>
|
|
29
29
|
): CloudFormationCustomResourceCreateEvent<ResourceProperties> => {
|
|
30
30
|
return {
|
|
31
31
|
ServiceToken: "",
|
|
@@ -41,7 +41,7 @@ export const createRequest = (
|
|
|
41
41
|
SecretArn:
|
|
42
42
|
props?.SecretArn || "arn:aws:secretsmanager:us-east-1:123456789:secret:dummy",
|
|
43
43
|
...props,
|
|
44
|
-
}
|
|
44
|
+
},
|
|
45
45
|
RequestType: "Create",
|
|
46
46
|
}
|
|
47
47
|
}
|
package/lib/database.js
CHANGED
|
@@ -40,5 +40,5 @@ class Database extends aws_cdk_lib_1.CustomResource {
|
|
|
40
40
|
}
|
|
41
41
|
exports.Database = Database;
|
|
42
42
|
_a = JSII_RTTI_SYMBOL_1;
|
|
43
|
-
Database[_a] = { fqn: "cdk-rds-sql.Database", version: "6.1.
|
|
43
|
+
Database[_a] = { fqn: "cdk-rds-sql.Database", version: "6.1.2" };
|
|
44
44
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsMkNBQXNDO0FBQ3RDLGlDQUF1QztBQTJCdkMsTUFBTSxnQkFBaUIsU0FBUSxzQkFBUztJQUd0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFBO0lBQ3hDLENBQUM7Q0FDRjtBQUVELE1BQWEsUUFBUyxTQUFRLDRCQUFjO0lBQzFDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFlBQW9CO1FBQ3hFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ3JDLFlBQVksRUFBRSxZQUFZO1NBQzNCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFJRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWTtZQUN6QyxVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLHFCQUFjLENBQUMsUUFBUTtnQkFDakMsVUFBVSxFQUFFLEtBQUssQ0FBQyxZQUFZO2dCQUM5QixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUztnQkFDMUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUTthQUM3QjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUE7UUFDdEMsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLENBQUM7SUFDSCxDQUFDOztBQTNCSCw0QkE0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5pbXBvcnQgeyBSb2xlIH0gZnJvbSBcIi4vcm9sZVwiXG5cbmludGVyZmFjZSBEYXRhYmFzZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogTmFtZSBvZiBkYXRhYmFzZSB0byBjcmVhdGUuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZSBvd25lci5cbiAgICovXG4gIHJlYWRvbmx5IG93bmVyPzogUm9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMgZXh0ZW5kcyBEYXRhYmFzZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogUHJvdmlkZXIuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogUHJvdmlkZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YWJhc2Uge1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xufVxuXG5jbGFzcyBJbXBvcnRlZERhdGFiYXNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSURhdGFiYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlQXR0cmlidXRlcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcbiAgICB0aGlzLmRhdGFiYXNlTmFtZSA9IHByb3BzLmRhdGFiYXNlTmFtZVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhYmFzZSBleHRlbmRzIEN1c3RvbVJlc291cmNlIGltcGxlbWVudHMgSURhdGFiYXNlIHtcbiAgLyoqXG4gICAqIFJldHVybiBhIERhdGFiYXNlIGJhc2VkIHVwb24gbmFtZSBvbmx5LiBVc2UgZm9yIGltcG9ydGluZyBleGlzdGluZyBkYXRhYmFzZXMuXG4gICAqL1xuICBzdGF0aWMgZnJvbURhdGFiYXNlTmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkYXRhYmFzZU5hbWU6IHN0cmluZyk6IElEYXRhYmFzZSB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZERhdGFiYXNlKHNjb3BlLCBpZCwge1xuICAgICAgZGF0YWJhc2VOYW1lOiBkYXRhYmFzZU5hbWUsXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3BzLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgUmVzb3VyY2U6IFJkc1NxbFJlc291cmNlLkRBVEFCQVNFLFxuICAgICAgICBSZXNvdXJjZUlkOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgT3duZXI6IHByb3BzLm93bmVyPy5yb2xlTmFtZSxcbiAgICAgIH0sXG4gICAgfSlcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcbiAgICB0aGlzLmRhdGFiYXNlTmFtZSA9IHByb3BzLmRhdGFiYXNlTmFtZVxuICAgIGlmIChwcm9wcy5vd25lcikge1xuICAgICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMub3duZXIpXG4gICAgfVxuICB9XG59XG4iXX0=
|