cdk-rds-sql 8.1.6 → 9.0.0

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/lib/role.js CHANGED
@@ -1,12 +1,44 @@
1
1
  "use strict";
2
- var _a;
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
+ })();
3
35
  Object.defineProperty(exports, "__esModule", { value: true });
4
36
  exports.Role = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
38
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
- const iam = require("aws-cdk-lib/aws-iam");
39
+ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
8
40
  const aws_secretsmanager_1 = require("aws-cdk-lib/aws-secretsmanager");
9
- const ssm = require("aws-cdk-lib/aws-ssm");
41
+ const ssm = __importStar(require("aws-cdk-lib/aws-ssm"));
10
42
  const constructs_1 = require("constructs");
11
43
  const enum_1 = require("./enum");
12
44
  const provider_1 = require("./provider");
@@ -51,7 +83,31 @@ class Parameters extends constructs_1.Construct {
51
83
  }
52
84
  }
53
85
  class Role extends constructs_1.Construct {
86
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-rds-sql.Role", version: "9.0.0" };
87
+ /**
88
+ * The role name.
89
+ */
90
+ roleName;
91
+ /**
92
+ * The generated secret containing connection information and password.
93
+ *
94
+ * This is only available when:
95
+ * - The provider is not a DSQL cluster (DSQL uses IAM authentication)
96
+ * - `enableIamAuth` is not set to `true`
97
+ *
98
+ * When using IAM authentication, no secret is created as the password
99
+ * is generated dynamically using IAM credentials.
100
+ */
101
+ secret;
54
102
  constructor(scope, id, props) {
103
+ if (props.maxUserConnections !== undefined) {
104
+ if (props.provider.engine !== provider_1.DatabaseEngine.MYSQL) {
105
+ throw new Error("maxUserConnections is only supported for MySQL/MariaDB roles");
106
+ }
107
+ if (!Number.isInteger(props.maxUserConnections) || props.maxUserConnections < 0) {
108
+ throw new Error("maxUserConnections must be a non-negative integer");
109
+ }
110
+ }
55
111
  if (props.provider.engine !== provider_1.DatabaseEngine.DSQL) {
56
112
  if (props.database && props.databaseName) {
57
113
  throw "Specify either database or databaseName";
@@ -87,9 +143,7 @@ class Role extends constructs_1.Construct {
87
143
  const identifier = isCluster
88
144
  ? props.provider.cluster.clusterIdentifier
89
145
  : props.provider.cluster.instanceIdentifier;
90
- const databaseName = props.database
91
- ? props.database.databaseName
92
- : props.databaseName;
146
+ const databaseName = props.database ? props.database.databaseName : props.databaseName;
93
147
  // Create secret only for password auth (not IAM auth)
94
148
  if (!useIamAuth) {
95
149
  const identifierKey = isCluster ? "dbClusterIdentifier" : "dbInstanceIdentifier";
@@ -149,6 +203,7 @@ class Role extends constructs_1.Construct {
149
203
  database: props.database,
150
204
  databaseName: props.databaseName,
151
205
  enableIamAuth: useIamAuth,
206
+ maxUserConnections: props.maxUserConnections,
152
207
  });
153
208
  if (this.secret) {
154
209
  role.node.addDependency(this.secret);
@@ -162,6 +217,4 @@ class Role extends constructs_1.Construct {
162
217
  }
163
218
  }
164
219
  exports.Role = Role;
165
- _a = JSII_RTTI_SYMBOL_1;
166
- Role[_a] = { fqn: "cdk-rds-sql.Role", version: "8.1.6" };
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWtFO0FBQ2xFLDJDQUEwQztBQUcxQyx1RUFBZ0U7QUFDaEUsMkNBQTBDO0FBQzFDLDJDQUFzQztBQUV0QyxpQ0FBdUM7QUFDdkMseUNBQXNEO0FBQ3RELGlFQUFtRTtBQStFbkUsOENBQThDO0FBQzlDLE1BQU0sVUFBVyxTQUFRLHNCQUFTO0lBQ2hDLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBU0M7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLDRDQUE0QztRQUM1QyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3ZELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGFBQWEsR0FBRyxFQUFFLEVBQUU7b0JBQ2hELGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFO29CQUMvQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtpQkFDOUIsQ0FBQyxDQUFBO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsNkRBQTZEO1FBQzdELDhEQUE4RDtRQUM5RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixNQUFNLHFCQUFxQixHQUFHLEdBQUcsS0FBSyxDQUFDLGVBQWUsVUFBVSxDQUFBO1lBQ2hFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtnQkFDdkUsWUFBWSxFQUFFLEtBQUssQ0FBQyxvQkFBb0I7Z0JBQ3hDLFVBQVUsRUFBRTtv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OUlILG9CQStJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbVJlc291cmNlLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMga21zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCJcbmltcG9ydCB7IElEYXRhYmFzZUNsdXN0ZXIsIElEYXRhYmFzZUluc3RhbmNlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIlxuaW1wb3J0IHsgSVNlY3JldCwgU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiXG5pbXBvcnQgKiBhcyBzc20gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zc21cIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgSURhdGFiYXNlIH0gZnJvbSBcIi4vZGF0YWJhc2VcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IElQcm92aWRlciwgRGF0YWJhc2VFbmdpbmUgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5pbXBvcnQgeyBSb2xlIGFzIEN1c3RvbVJlc291cmNlUm9sZSB9IGZyb20gXCIuL3JvbGUuY3VzdG9tLXJlc291cmNlXCJcblxuZXhwb3J0IGludGVyZmFjZSBSb2xlUHJvcHMge1xuICAvKipcbiAgICogUHJvdmlkZXIuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogSVByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIFNRTC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UgdGhpcyB1c2VyIGlzIGV4cGVjdGVkIHRvIHVzZS5cbiAgICpcbiAgICogSWYgdGhlIGRhdGFiYXNlIGV4aXN0cywgY29ubmVjdCBwcml2aWxlZ2VzIGFyZSBncmFudGVkLlxuICAgKlxuICAgKiBTcGVjaWZ5IG9uZSBvZiBgZGF0YWJhc2VgIG9yIGBkYXRhYmFzZU5hbWVgLiBUaGlzIGlzIHRoZSBuYW1lXG4gICAqIHRoYXQgd2lsbCBiZSBzdG9yZWQgaW4gdGhlIHJvbGUncyBzZWNyZXQgYXMgdGhlIGRhdGFiYXNlIG5hbWUgdG9cbiAgICogdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UgbmFtZSB0aGlzIHVzZXIgaXMgZXhwZWN0ZWQgdG8gdXNlLlxuICAgKlxuICAgKiBJZiB0aGUgZGF0YWJhc2UgZXhpc3RzLCBjb25uZWN0IHByaXZpbGVnZXMgYXJlIGdyYW50ZWQuXG4gICAqXG4gICAqIFNwZWNpZnkgb25lIG9mIGBkYXRhYmFzZWAgb3IgYGRhdGFiYXNlTmFtZWAuIFRoaXMgaXMgdGhlIG5hbWVcbiAgICogdGhhdCB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgcm9sZSdzIHNlY3JldCBhcyB0aGUgZGF0YWJhc2UgbmFtZSB0b1xuICAgKiB1c2UuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU/OiBzdHJpbmdcblxuICAvKipcbiAgICogQSBuZXcgc2VjcmV0IGlzIGNyZWF0ZWQgZm9yIHRoaXMgdXNlci5cbiAgICpcbiAgICogT3B0aW9uYWxseSBlbmNyeXB0IGl0IHdpdGggdGhlIGdpdmVuIGtleS5cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb25LZXk/OiBrbXMuSUtleVxuXG4gIC8qKlxuICAgKiBBIG5ldyBzZWNyZXQgaXMgY3JlYXRlZCBmb3IgdGhpcyB1c2VyLlxuICAgKlxuICAgKiBPcHRpb25hbGx5IGFkZCBzZWNyZXQgbmFtZSB0byB0aGUgc2VjcmV0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0TmFtZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBQcmVmaXggZm9yIFNTTSBwYXJhbWV0ZXJzIHRvIHN0b3JlIGNyZWRlbnRpYWxzIGluIFBhcmFtZXRlciBTdG9yZS5cbiAgICogV2hlbiBkZWZpbmVkLCBjcmVkZW50aWFscyB3aWxsIGFsc28gYmUgc3RvcmVkIGFzIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIFRoZSBwYXJhbWV0ZXIgbmFtZXMgc3VjaCBhcyBcInBhc3N3b3JkXCIgaXMgc2ltcGx5IGFwcGVuZGVkIHRvXG4gICAqIGBwYXJhbWV0ZXJQcmVmaXhgLCBzbyBtYWtlIHN1cmUgdGhlIHByZWZpeCBlbmRzIHdpdGggYSBzbGFzaCBpZlxuICAgKiAgeW91IGhhdmUgeW91ciBwYXJhbWV0ZXIgbmFtZXMgc2xhc2ggc2VwYXJhdGVkLlxuICAgKlxuICAgKiBUaGUgcGFzc3dvcmQgcGFyYW1ldGVyIGlzIHJlZnJlc2hlZCB3aGVuIENsb3VkRm9ybWF0aW9uIHVwZGF0ZXMgdGhlXG4gICAqIGdlbmVyYXRlZCBzZWNyZXQgcmVzb3VyY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY3JlZGVudGlhbHMgYXJlIG9ubHkgc3RvcmVkIGluIFNlY3JldHMgTWFuYWdlclxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyUHJlZml4Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEVuYWJsZSBJQU0gYXV0aGVudGljYXRpb24gZm9yIHRoaXMgcm9sZS5cbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCB0aGUgcm9sZSB3aWxsIGJlIGNyZWF0ZWQgd2l0aG91dCBhIHBhc3N3b3JkIGFuZFxuICAgKiBjb25maWd1cmVkIGZvciBBV1MgSUFNIGRhdGFiYXNlIGF1dGhlbnRpY2F0aW9uLiBObyBzZWNyZXQgd2lsbFxuICAgKiBiZSBjcmVhdGVkIGZvciB0aGlzIHJvbGUuXG4gICAqXG4gICAqIE5vdGU6IEZvciBEU1FMIGNsdXN0ZXJzLCB0aGlzIHByb3BlcnR5IGlzIGlnbm9yZWQgYXMgRFNRTCBhbHdheXNcbiAgICogdXNlcyBJQU0gYXV0aGVudGljYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlIC0gdXNlIHBhc3N3b3JkIGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICByZWFkb25seSBlbmFibGVJYW1BdXRoPzogYm9vbGVhblxufVxuXG4vLyBQcml2YXRlIFBhcmFtZXRlcnMgY29uc3RydWN0IChub3QgZXhwb3J0ZWQpXG5jbGFzcyBQYXJhbWV0ZXJzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiB7XG4gICAgICBwcm92aWRlcjogSVByb3ZpZGVyXG4gICAgICBzZWNyZXRBcm46IHN0cmluZ1xuICAgICAgcGFyYW1ldGVyUHJlZml4OiBzdHJpbmdcbiAgICAgIHBhc3N3b3JkQXJuPzogc3RyaW5nXG4gICAgICBwYXNzd29yZFNlY3JldD86IFNlY3JldFxuICAgICAgcGFzc3dvcmRTeW5jVHJpZ2dlcj86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICBwcm92aWRlclNlcnZpY2VUb2tlbjogc3RyaW5nXG4gICAgICBwYXJhbURhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj5cbiAgICB9XG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIC8vIENyZWF0ZSBwYXJhbWV0ZXJzIGZvciBlYWNoIGtleS12YWx1ZSBwYWlyXG4gICAgT2JqZWN0LmVudHJpZXMocHJvcHMucGFyYW1EYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5ldyBzc20uU3RyaW5nUGFyYW1ldGVyKHRoaXMsIGBQYXJhbWV0ZXItJHtrZXl9YCwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IGAke3Byb3BzLnBhcmFtZXRlclByZWZpeH0ke2tleX1gLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiB2YWx1ZS50b1N0cmluZygpLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyBGb3IgcGFzc3dvcmQsIHVzZSB0aGUgZXhpc3RpbmcgcHJvdmlkZXIgdG8gc3RvcmUgaXQgaW4gU1NNXG4gICAgLy8gU2tpcCBwYXNzd29yZCBwYXJhbWV0ZXIgZm9yIElBTSBhdXRoIHJvbGVzIChubyBwYXNzd29yZEFybilcbiAgICBpZiAocHJvcHMucGFzc3dvcmRBcm4pIHtcbiAgICAgIGNvbnN0IHBhc3N3b3JkUGFyYW1ldGVyTmFtZSA9IGAke3Byb3BzLnBhcmFtZXRlclByZWZpeH1wYXNzd29yZGBcbiAgICAgIGNvbnN0IHBhc3N3b3JkX3BhcmFtZXRlciA9IG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCBcIlBhc3N3b3JkUGFyYW1ldGVyXCIsIHtcbiAgICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlclNlcnZpY2VUb2tlbixcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIFNlY3JldEFybjogcHJvcHMuc2VjcmV0QXJuLFxuICAgICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5QQVJBTUVURVJfUEFTU1dPUkQsXG4gICAgICAgICAgUGFzc3dvcmRBcm46IHByb3BzLnBhc3N3b3JkQXJuLFxuICAgICAgICAgIFBhcmFtZXRlck5hbWU6IHBhc3N3b3JkUGFyYW1ldGVyTmFtZSxcbiAgICAgICAgICBTeW5jVHJpZ2dlcjogcHJvcHMucGFzc3dvcmRTeW5jVHJpZ2dlcixcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICBwYXNzd29yZF9wYXJhbWV0ZXIubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgICAgaWYgKHByb3BzLnBhc3N3b3JkU2VjcmV0KSB7XG4gICAgICAgIHBhc3N3b3JkX3BhcmFtZXRlci5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucGFzc3dvcmRTZWNyZXQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhcmFtQXJuID0gYGFybjoke1N0YWNrLm9mKHRoaXMpLnBhcnRpdGlvbn06c3NtOiR7U3RhY2sub2YodGhpcykucmVnaW9ufToke1xuICAgICAgICBTdGFjay5vZih0aGlzKS5hY2NvdW50XG4gICAgICB9OnBhcmFtZXRlciR7XG4gICAgICAgIHBhc3N3b3JkUGFyYW1ldGVyTmFtZS5zdGFydHNXaXRoKFwiL1wiKSA/IFwiXCIgOiBcIi9cIlxuICAgICAgfSR7cGFzc3dvcmRQYXJhbWV0ZXJOYW1lfWBcblxuICAgICAgcHJvcHMucHJvdmlkZXIuaGFuZGxlci5hZGRUb1JvbGVQb2xpY3koXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCIsIFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsIFwic3NtOkdldFBhcmFtZXRlcnNcIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbcGFyYW1Bcm5dLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUm9sZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgcm9sZSBuYW1lLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogVGhlIGdlbmVyYXRlZCBzZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGFuZCBwYXNzd29yZC5cbiAgICpcbiAgICogVGhpcyBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuOlxuICAgKiAtIFRoZSBwcm92aWRlciBpcyBub3QgYSBEU1FMIGNsdXN0ZXIgKERTUUwgdXNlcyBJQU0gYXV0aGVudGljYXRpb24pXG4gICAqIC0gYGVuYWJsZUlhbUF1dGhgIGlzIG5vdCBzZXQgdG8gYHRydWVgXG4gICAqXG4gICAqIFdoZW4gdXNpbmcgSUFNIGF1dGhlbnRpY2F0aW9uLCBubyBzZWNyZXQgaXMgY3JlYXRlZCBhcyB0aGUgcGFzc3dvcmRcbiAgICogaXMgZ2VuZXJhdGVkIGR5bmFtaWNhbGx5IHVzaW5nIElBTSBjcmVkZW50aWFscy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ/OiBJU2VjcmV0XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykge1xuICAgIGlmIChwcm9wcy5wcm92aWRlci5lbmdpbmUgIT09IERhdGFiYXNlRW5naW5lLkRTUUwpIHtcbiAgICAgIGlmIChwcm9wcy5kYXRhYmFzZSAmJiBwcm9wcy5kYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgdGhyb3cgXCJTcGVjaWZ5IGVpdGhlciBkYXRhYmFzZSBvciBkYXRhYmFzZU5hbWVcIlxuICAgICAgfVxuICAgICAgaWYgKCFwcm9wcy5kYXRhYmFzZSAmJiAhcHJvcHMuZGF0YWJhc2VOYW1lKSB7XG4gICAgICAgIC8vIElmIG5laXRoZXIgaXMgc3BlY2lmaWVkLCB3ZSBtaWdodCBuZWVkIGEgZGVmYXVsdCBvciB0aHJvdyBhbiBlcnJvciBkZXBlbmRpbmcgb24gZGVzaXJlZCBiZWhhdmlvci5cbiAgICAgICAgLy8gRm9yIG5vdywgbGV0J3MgYXNzdW1lIGl0J3MgYWxsb3dlZCBidXQgdGhlIHNlY3JldCB3b24ndCBoYXZlIGEgZGJuYW1lLlxuICAgICAgICAvLyBJZiBpdCBzaG91bGQgYmUgcmVxdWlyZWQsIHVuY29tbWVudCB0aGUgbGluZSBiZWxvdzpcbiAgICAgICAgdGhyb3cgXCJTcGVjaWZ5IGVpdGhlciBkYXRhYmFzZSBvciBkYXRhYmFzZU5hbWVcIlxuICAgICAgfVxuICAgIH1cbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICAvLyBTa2lwIHNlY3JldCBjcmVhdGlvbiBmb3IgRFNRTCAoYWx3YXlzIHVzZXMgSUFNIGF1dGgpIG9yIHdoZW4gZW5hYmxlSWFtQXV0aCBpcyB0cnVlXG4gICAgY29uc3QgdXNlSWFtQXV0aCA9XG4gICAgICBwcm9wcy5lbmFibGVJYW1BdXRoIHx8IHByb3BzLnByb3ZpZGVyLmVuZ2luZSA9PT0gRGF0YWJhc2VFbmdpbmUuRFNRTFxuICAgIGxldCBwYXNzd29yZFN5bmNUcmlnZ2VyOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZFxuICAgIGxldCBwYXNzd29yZFNlY3JldDogU2VjcmV0IHwgdW5kZWZpbmVkXG5cbiAgICAvLyBGb3Igbm9uLURTUUwgcHJvdmlkZXJzLCB3ZSBuZWVkIGNsdXN0ZXIgaW5mbyBmb3Igc2VjcmV0cyBhbmQvb3IgcGFyYW1ldGVyc1xuICAgIGlmIChwcm9wcy5wcm92aWRlci5lbmdpbmUgIT09IERhdGFiYXNlRW5naW5lLkRTUUwpIHtcbiAgICAgIC8vIEZvciBpbXBvcnRlZCBwcm92aWRlcnMgd2l0aG91dCBjbHVzdGVyIGRldGFpbHMsIHByb3ZpZGUgaGVscGZ1bCBlcnJvciBtZXNzYWdlXG4gICAgICBpZiAoIXByb3BzLnByb3ZpZGVyLmNsdXN0ZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiUm9sZSBjcmVhdGlvbiByZXF1aXJlcyBjbHVzdGVyIGluZm9ybWF0aW9uLiBXaGVuIGltcG9ydGluZyBhIHByb3ZpZGVyIHdpdGggXCIgK1xuICAgICAgICAgICAgXCJQcm92aWRlci5mcm9tUHJvdmlkZXJBdHRyaWJ1dGVzKCksIGluY2x1ZGUgdGhlICdjbHVzdGVyJyBwcm9wZXJ0eSBpZiB5b3UgcGxhbiBcIiArXG4gICAgICAgICAgICBcInRvIGNyZWF0ZSBuZXcgcm9sZXMuIEFsdGVybmF0aXZlbHksIHVzZSBleGlzdGluZyByb2xlcyBjcmVhdGVkIHdpdGggdGhlIG9yaWdpbmFsIHByb3ZpZGVyLlwiXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgLy8gRm9yIFJEUy9BdXJvcmEgY2x1c3RlcnMgYW5kIGluc3RhbmNlcywgZ2V0IGVuZHBvaW50IGRldGFpbHNcbiAgICAgIGNvbnN0IGlzQ2x1c3RlciA9ICEhKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlQ2x1c3RlcikuY2x1c3RlckVuZHBvaW50XG5cbiAgICAgIGNvbnN0IGhvc3QgPSBpc0NsdXN0ZXJcbiAgICAgICAgPyAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VDbHVzdGVyKS5jbHVzdGVyRW5kcG9pbnQuaG9zdG5hbWVcbiAgICAgICAgOiAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VJbnN0YW5jZSkuaW5zdGFuY2VFbmRwb2ludC5ob3N0bmFtZVxuXG4gICAgICBjb25zdCBwb3J0ID0gaXNDbHVzdGVyXG4gICAgICAgID8gKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlQ2x1c3RlcikuY2x1c3RlckVuZHBvaW50LnBvcnRcbiAgICAgICAgOiAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VJbnN0YW5jZSkuaW5zdGFuY2VFbmRwb2ludC5wb3J0XG5cbiAgICAgIGNvbnN0IGlkZW50aWZpZXIgPSBpc0NsdXN0ZXJcbiAgICAgICAgPyAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VDbHVzdGVyKS5jbHVzdGVySWRlbnRpZmllclxuICAgICAgICA6IChwcm9wcy5wcm92aWRlci5jbHVzdGVyIGFzIElEYXRhYmFzZUluc3RhbmNlKS5pbnN0YW5jZUlkZW50aWZpZXJcblxuICAgICAgY29uc3QgZGF0YWJhc2VOYW1lID0gcHJvcHMuZGF0YWJhc2VcbiAgICAgICAgPyBwcm9wcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWVcbiAgICAgICAgOiBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgICAgIC8vIENyZWF0ZSBzZWNyZXQgb25seSBmb3IgcGFzc3dvcmQgYXV0aCAobm90IElBTSBhdXRoKVxuICAgICAgaWYgKCF1c2VJYW1BdXRoKSB7XG4gICAgICAgIGNvbnN0IGlkZW50aWZpZXJLZXkgPSBpc0NsdXN0ZXIgPyBcImRiQ2x1c3RlcklkZW50aWZpZXJcIiA6IFwiZGJJbnN0YW5jZUlkZW50aWZpZXJcIlxuICAgICAgICBjb25zdCBzZWNyZXRUZW1wbGF0ZSA9IHtcbiAgICAgICAgICBbaWRlbnRpZmllcktleV06IGlkZW50aWZpZXIsXG4gICAgICAgICAgZW5naW5lOiBwcm9wcy5wcm92aWRlci5lbmdpbmUsXG4gICAgICAgICAgaG9zdDogaG9zdCxcbiAgICAgICAgICBwb3J0OiBwb3J0LFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgICAgICBkYm5hbWU6IGRhdGFiYXNlTmFtZSxcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBnZW5lcmF0ZVNlY3JldFN0cmluZyA9IHtcbiAgICAgICAgICBwYXNzd29yZExlbmd0aDogMzAsIC8vIE9yYWNsZSBwYXNzd29yZCBjYW5ub3QgaGF2ZSBtb3JlIHRoYW4gMzAgY2hhcmFjdGVyc1xuICAgICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeShzZWNyZXRUZW1wbGF0ZSksXG4gICAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIixcbiAgICAgICAgICBleGNsdWRlQ2hhcmFjdGVyczogXCIgJSt+YCMkJiooKXxbXXt9Ojs8Pj8hJy9AXFxcIlxcXFxcIixcbiAgICAgICAgfVxuICAgICAgICBwYXNzd29yZFN5bmNUcmlnZ2VyID0gZ2VuZXJhdGVTZWNyZXRTdHJpbmdcblxuICAgICAgICBwYXNzd29yZFNlY3JldCA9IG5ldyBTZWNyZXQodGhpcywgXCJTZWNyZXRcIiwge1xuICAgICAgICAgIHNlY3JldE5hbWU6IHByb3BzLnNlY3JldE5hbWUsXG4gICAgICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMuZW5jcnlwdGlvbktleSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYEdlbmVyYXRlZCBzZWNyZXQgZm9yICR7cHJvcHMucHJvdmlkZXIuZW5naW5lfSByb2xlICR7cHJvcHMucm9sZU5hbWV9YCxcbiAgICAgICAgICBnZW5lcmF0ZVNlY3JldFN0cmluZyxcbiAgICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuc2VjcmV0ID0gcGFzc3dvcmRTZWNyZXRcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIFBhcmFtZXRlcnMgaWYgcGFyYW1ldGVyUHJlZml4IGlzIHByb3ZpZGVkIChmb3IgYm90aCBwYXNzd29yZCBhbmQgSUFNIGF1dGgpXG4gICAgICBpZiAocHJvcHMucGFyYW1ldGVyUHJlZml4KSB7XG4gICAgICAgIGNvbnN0IGlkZW50aWZpZXJLZXkgPSBpc0NsdXN0ZXIgPyBcImRiQ2x1c3RlcklkZW50aWZpZXJcIiA6IFwiZGJJbnN0YW5jZUlkZW50aWZpZXJcIlxuICAgICAgICBjb25zdCBwYXJhbURhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4gPSB7XG4gICAgICAgICAgW2lkZW50aWZpZXJLZXldOiBpZGVudGlmaWVyLFxuICAgICAgICAgIGVuZ2luZTogcHJvcHMucHJvdmlkZXIuZW5naW5lLFxuICAgICAgICAgIGhvc3Q6IGhvc3QsXG4gICAgICAgICAgcG9ydDogcG9ydCxcbiAgICAgICAgICB1c2VybmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGFiYXNlTmFtZSkge1xuICAgICAgICAgIHBhcmFtRGF0YS5kYm5hbWUgPSBkYXRhYmFzZU5hbWVcbiAgICAgICAgfVxuXG4gICAgICAgIG5ldyBQYXJhbWV0ZXJzKHRoaXMsIFwiUGFyYW1ldGVyc1wiLCB7XG4gICAgICAgICAgc2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQ/LnNlY3JldEFybiB8fCBcIlwiLFxuICAgICAgICAgIHBhcmFtZXRlclByZWZpeDogcHJvcHMucGFyYW1ldGVyUHJlZml4LFxuICAgICAgICAgIHBhc3N3b3JkQXJuOiB0aGlzLnNlY3JldD8uc2VjcmV0QXJuLCAvLyB1bmRlZmluZWQgZm9yIElBTSBhdXRoIC0gc2tpcHMgcGFzc3dvcmQgcGFyYW1cbiAgICAgICAgICBwYXNzd29yZFNlY3JldCxcbiAgICAgICAgICBwYXNzd29yZFN5bmNUcmlnZ2VyLFxuICAgICAgICAgIHByb3ZpZGVyU2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICAgICAgcHJvdmlkZXI6IHByb3BzLnByb3ZpZGVyLFxuICAgICAgICAgIHBhcmFtRGF0YSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByb2xlID0gbmV3IEN1c3RvbVJlc291cmNlUm9sZSh0aGlzLCBcIlBvc3RncmVzUm9sZVwiLCB7XG4gICAgICBwcm92aWRlcjogcHJvcHMucHJvdmlkZXIsXG4gICAgICByb2xlTmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICBwYXNzd29yZEFybjogdXNlSWFtQXV0aCA/IFwiXCIgOiB0aGlzLnNlY3JldCEuc2VjcmV0QXJuLFxuICAgICAgZGF0YWJhc2U6IHByb3BzLmRhdGFiYXNlLFxuICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICBlbmFibGVJYW1BdXRoOiB1c2VJYW1BdXRoLFxuICAgIH0pXG5cbiAgICBpZiAodGhpcy5zZWNyZXQpIHtcbiAgICAgIHJvbGUubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuc2VjcmV0KVxuICAgICAgdGhpcy5zZWNyZXQuZ3JhbnRSZWFkKHByb3BzLnByb3ZpZGVyLmhhbmRsZXIpXG4gICAgICBpZiAodGhpcy5zZWNyZXQuZW5jcnlwdGlvbktleSkge1xuICAgICAgICAvLyBJdCBzZWVtcyB3ZSBuZWVkIHRvIGdyYW50IGV4cGxpY2l0IHBlcm1pc3Npb25cbiAgICAgICAgdGhpcy5zZWNyZXQuZW5jcnlwdGlvbktleS5ncmFudERlY3J5cHQocHJvcHMucHJvdmlkZXIuaGFuZGxlcilcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJvbGVOYW1lID0gcHJvcHMucm9sZU5hbWVcbiAgfVxufVxuIl19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBa0U7QUFDbEUseURBQTBDO0FBRzFDLHVFQUFxRTtBQUNyRSx5REFBMEM7QUFDMUMsMkNBQXNDO0FBRXRDLGlDQUF1QztBQUN2Qyx5Q0FBMkQ7QUFDM0QsaUVBQW1FO0FBaUduRSw4Q0FBOEM7QUFDOUMsTUFBTSxVQUFXLFNBQVEsc0JBQVM7SUFDaEMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FTQztRQUVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsNENBQTRDO1FBQzVDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDdkQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxHQUFHLEVBQUUsRUFBRTtvQkFDaEQsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUU7b0JBQy9DLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO2lCQUM5QixDQUFDLENBQUE7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFFRiw2REFBNkQ7UUFDN0QsOERBQThEO1FBQzlELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxLQUFLLENBQUMsZUFBZSxVQUFVLENBQUE7WUFDaEUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO2dCQUN2RSxZQUFZLEVBQUUsS0FB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LGFBQWEsRUFBRSxVQUFVO1lBQ3pCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7U0FDN0MsQ0FBQyxDQUFBO1FBRUYsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM5QixnREFBZ0Q7Z0JBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ2hFLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFBO0lBQ2hDLENBQUM7O0FBcEpILG9CQXFKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbVJlc291cmNlLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0IHR5cGUgKiBhcyBrbXMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIlxuaW1wb3J0IHR5cGUgeyBJRGF0YWJhc2VDbHVzdGVyLCBJRGF0YWJhc2VJbnN0YW5jZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCJcbmltcG9ydCB7IHR5cGUgSVNlY3JldCwgU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiXG5pbXBvcnQgKiBhcyBzc20gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zc21cIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHR5cGUgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgRGF0YWJhc2VFbmdpbmUsIHR5cGUgSVByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuaW1wb3J0IHsgUm9sZSBhcyBDdXN0b21SZXNvdXJjZVJvbGUgfSBmcm9tIFwiLi9yb2xlLmN1c3RvbS1yZXNvdXJjZVwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBTUUwuXG4gICAqL1xuICByZWFkb25seSByb2xlTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlIHRoaXMgdXNlciBpcyBleHBlY3RlZCB0byB1c2UuXG4gICAqXG4gICAqIElmIHRoZSBkYXRhYmFzZSBleGlzdHMsIGNvbm5lY3QgcHJpdmlsZWdlcyBhcmUgZ3JhbnRlZC5cbiAgICpcbiAgICogU3BlY2lmeSBvbmUgb2YgYGRhdGFiYXNlYCBvciBgZGF0YWJhc2VOYW1lYC4gVGhpcyBpcyB0aGUgbmFtZVxuICAgKiB0aGF0IHdpbGwgYmUgc3RvcmVkIGluIHRoZSByb2xlJ3Mgc2VjcmV0IGFzIHRoZSBkYXRhYmFzZSBuYW1lIHRvXG4gICAqIHVzZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlPzogSURhdGFiYXNlXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlIG5hbWUgdGhpcyB1c2VyIGlzIGV4cGVjdGVkIHRvIHVzZS5cbiAgICpcbiAgICogSWYgdGhlIGRhdGFiYXNlIGV4aXN0cywgY29ubmVjdCBwcml2aWxlZ2VzIGFyZSBncmFudGVkLlxuICAgKlxuICAgKiBTcGVjaWZ5IG9uZSBvZiBgZGF0YWJhc2VgIG9yIGBkYXRhYmFzZU5hbWVgLiBUaGlzIGlzIHRoZSBuYW1lXG4gICAqIHRoYXQgd2lsbCBiZSBzdG9yZWQgaW4gdGhlIHJvbGUncyBzZWNyZXQgYXMgdGhlIGRhdGFiYXNlIG5hbWUgdG9cbiAgICogdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEEgbmV3IHNlY3JldCBpcyBjcmVhdGVkIGZvciB0aGlzIHVzZXIuXG4gICAqXG4gICAqIE9wdGlvbmFsbHkgZW5jcnlwdCBpdCB3aXRoIHRoZSBnaXZlbiBrZXkuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLklLZXlcblxuICAvKipcbiAgICogQSBuZXcgc2VjcmV0IGlzIGNyZWF0ZWQgZm9yIHRoaXMgdXNlci5cbiAgICpcbiAgICogT3B0aW9uYWxseSBhZGQgc2VjcmV0IG5hbWUgdG8gdGhlIHNlY3JldC5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldE5hbWU/OiBzdHJpbmdcblxuICAvKipcbiAgICogUHJlZml4IGZvciBTU00gcGFyYW1ldGVycyB0byBzdG9yZSBjcmVkZW50aWFscyBpbiBQYXJhbWV0ZXIgU3RvcmUuXG4gICAqIFdoZW4gZGVmaW5lZCwgY3JlZGVudGlhbHMgd2lsbCBhbHNvIGJlIHN0b3JlZCBhcyBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBUaGUgcGFyYW1ldGVyIG5hbWVzIHN1Y2ggYXMgXCJwYXNzd29yZFwiIGlzIHNpbXBseSBhcHBlbmRlZCB0b1xuICAgKiBgcGFyYW1ldGVyUHJlZml4YCwgc28gbWFrZSBzdXJlIHRoZSBwcmVmaXggZW5kcyB3aXRoIGEgc2xhc2ggaWZcbiAgICogIHlvdSBoYXZlIHlvdXIgcGFyYW1ldGVyIG5hbWVzIHNsYXNoIHNlcGFyYXRlZC5cbiAgICpcbiAgICogVGhlIHBhc3N3b3JkIHBhcmFtZXRlciBpcyByZWZyZXNoZWQgd2hlbiBDbG91ZEZvcm1hdGlvbiB1cGRhdGVzIHRoZVxuICAgKiBnZW5lcmF0ZWQgc2VjcmV0IHJlc291cmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGNyZWRlbnRpYWxzIGFyZSBvbmx5IHN0b3JlZCBpbiBTZWNyZXRzIE1hbmFnZXJcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlclByZWZpeD86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBFbmFibGUgSUFNIGF1dGhlbnRpY2F0aW9uIGZvciB0aGlzIHJvbGUuXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgdGhlIHJvbGUgd2lsbCBiZSBjcmVhdGVkIHdpdGhvdXQgYSBwYXNzd29yZCBhbmRcbiAgICogY29uZmlndXJlZCBmb3IgQVdTIElBTSBkYXRhYmFzZSBhdXRoZW50aWNhdGlvbi4gTm8gc2VjcmV0IHdpbGxcbiAgICogYmUgY3JlYXRlZCBmb3IgdGhpcyByb2xlLlxuICAgKlxuICAgKiBOb3RlOiBGb3IgRFNRTCBjbHVzdGVycywgdGhpcyBwcm9wZXJ0eSBpcyBpZ25vcmVkIGFzIERTUUwgYWx3YXlzXG4gICAqIHVzZXMgSUFNIGF1dGhlbnRpY2F0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIHVzZSBwYXNzd29yZCBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSWFtQXV0aD86IGJvb2xlYW5cblxuICAvKipcbiAgICogTWF4aW11bSBzaW11bHRhbmVvdXMgY29ubmVjdGlvbnMgZm9yIHRoaXMgTXlTUUwvTWFyaWFEQiB1c2VyLlxuICAgKlxuICAgKiBXaGVuIHNldCwgY3JlYXRlIGFuZCB1cGRhdGUgcnVuXG4gICAqIGBBTFRFUiBVU0VSICc8cm9sZU5hbWU+J0AnJScgV0lUSCBNQVhfVVNFUl9DT05ORUNUSU9OUyA8bj5gLlxuICAgKiBBIGxhdGVyIGNoYW5nZSwgaW5jbHVkaW5nIGEgc21hbGxlciBudW1iZXIsIGlzIGFwcGxpZWQgb24gdXBkYXRlLlxuICAgKiBgMGAgcmVzdG9yZXMgdGhlIHNlcnZlciBkZWZhdWx0ICh1bmxpbWl0ZWQgdW5sZXNzIHRoZSBnbG9iYWxcbiAgICogYG1heF91c2VyX2Nvbm5lY3Rpb25zYCBpcyBzZXQpLlxuICAgKlxuICAgKiBPbWl0IHRoZSBwcm9wZXJ0eSB0byBsZWF2ZSB0aGUgdXNlciB1bmxpbWl0ZWQuIE9taXR0aW5nIGl0IGRvZXMgbm90XG4gICAqIGNsZWFyIGEgbGltaXQgdGhhdCB3YXMgYWxyZWFkeSBhcHBsaWVkOyBzZXQgYDBgIHRvIGRvIHRoYXQuXG4gICAqXG4gICAqIFBvc3RncmVTUUwgYW5kIERTUUwgZG8gbm90IHN1cHBvcnQgdGhpcyBwcm9wZXJ0eSBhbmQgdGhyb3cgaWYgaXQgaXMgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQgLSBubyBjb25uZWN0aW9uIGxpbWl0IGlzIGFwcGxpZWRcbiAgICovXG4gIHJlYWRvbmx5IG1heFVzZXJDb25uZWN0aW9ucz86IG51bWJlclxufVxuXG4vLyBQcml2YXRlIFBhcmFtZXRlcnMgY29uc3RydWN0IChub3QgZXhwb3J0ZWQpXG5jbGFzcyBQYXJhbWV0ZXJzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiB7XG4gICAgICBwcm92aWRlcjogSVByb3ZpZGVyXG4gICAgICBzZWNyZXRBcm46IHN0cmluZ1xuICAgICAgcGFyYW1ldGVyUHJlZml4OiBzdHJpbmdcbiAgICAgIHBhc3N3b3JkQXJuPzogc3RyaW5nXG4gICAgICBwYXNzd29yZFNlY3JldD86IFNlY3JldFxuICAgICAgcGFzc3dvcmRTeW5jVHJpZ2dlcj86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICBwcm92aWRlclNlcnZpY2VUb2tlbjogc3RyaW5nXG4gICAgICBwYXJhbURhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj5cbiAgICB9XG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIC8vIENyZWF0ZSBwYXJhbWV0ZXJzIGZvciBlYWNoIGtleS12YWx1ZSBwYWlyXG4gICAgT2JqZWN0LmVudHJpZXMocHJvcHMucGFyYW1EYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5ldyBzc20uU3RyaW5nUGFyYW1ldGVyKHRoaXMsIGBQYXJhbWV0ZXItJHtrZXl9YCwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IGAke3Byb3BzLnBhcmFtZXRlclByZWZpeH0ke2tleX1gLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiB2YWx1ZS50b1N0cmluZygpLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyBGb3IgcGFzc3dvcmQsIHVzZSB0aGUgZXhpc3RpbmcgcHJvdmlkZXIgdG8gc3RvcmUgaXQgaW4gU1NNXG4gICAgLy8gU2tpcCBwYXNzd29yZCBwYXJhbWV0ZXIgZm9yIElBTSBhdXRoIHJvbGVzIChubyBwYXNzd29yZEFybilcbiAgICBpZiAocHJvcHMucGFzc3dvcmRBcm4pIHtcbiAgICAgIGNvbnN0IHBhc3N3b3JkUGFyYW1ldGVyTmFtZSA9IGAke3Byb3BzLnBhcmFtZXRlclByZWZpeH1wYXNzd29yZGBcbiAgICAgIGNvbnN0IHBhc3N3b3JkX3BhcmFtZXRlciA9IG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCBcIlBhc3N3b3JkUGFyYW1ldGVyXCIsIHtcbiAgICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlclNlcnZpY2VUb2tlbixcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIFNlY3JldEFybjogcHJvcHMuc2VjcmV0QXJuLFxuICAgICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5QQVJBTUVURVJfUEFTU1dPUkQsXG4gICAgICAgICAgUGFzc3dvcmRBcm46IHByb3BzLnBhc3N3b3JkQXJuLFxuICAgICAgICAgIFBhcmFtZXRlck5hbWU6IHBhc3N3b3JkUGFyYW1ldGVyTmFtZSxcbiAgICAgICAgICBTeW5jVHJpZ2dlcjogcHJvcHMucGFzc3dvcmRTeW5jVHJpZ2dlcixcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICBwYXNzd29yZF9wYXJhbWV0ZXIubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgICAgaWYgKHByb3BzLnBhc3N3b3JkU2VjcmV0KSB7XG4gICAgICAgIHBhc3N3b3JkX3BhcmFtZXRlci5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucGFzc3dvcmRTZWNyZXQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhcmFtQXJuID0gYGFybjoke1N0YWNrLm9mKHRoaXMpLnBhcnRpdGlvbn06c3NtOiR7U3RhY2sub2YodGhpcykucmVnaW9ufToke1xuICAgICAgICBTdGFjay5vZih0aGlzKS5hY2NvdW50XG4gICAgICB9OnBhcmFtZXRlciR7cGFzc3dvcmRQYXJhbWV0ZXJOYW1lLnN0YXJ0c1dpdGgoXCIvXCIpID8gXCJcIiA6IFwiL1wifSR7cGFzc3dvcmRQYXJhbWV0ZXJOYW1lfWBcblxuICAgICAgcHJvcHMucHJvdmlkZXIuaGFuZGxlci5hZGRUb1JvbGVQb2xpY3koXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCIsIFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsIFwic3NtOkdldFBhcmFtZXRlcnNcIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbcGFyYW1Bcm5dLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUm9sZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgcm9sZSBuYW1lLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogVGhlIGdlbmVyYXRlZCBzZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGFuZCBwYXNzd29yZC5cbiAgICpcbiAgICogVGhpcyBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuOlxuICAgKiAtIFRoZSBwcm92aWRlciBpcyBub3QgYSBEU1FMIGNsdXN0ZXIgKERTUUwgdXNlcyBJQU0gYXV0aGVudGljYXRpb24pXG4gICAqIC0gYGVuYWJsZUlhbUF1dGhgIGlzIG5vdCBzZXQgdG8gYHRydWVgXG4gICAqXG4gICAqIFdoZW4gdXNpbmcgSUFNIGF1dGhlbnRpY2F0aW9uLCBubyBzZWNyZXQgaXMgY3JlYXRlZCBhcyB0aGUgcGFzc3dvcmRcbiAgICogaXMgZ2VuZXJhdGVkIGR5bmFtaWNhbGx5IHVzaW5nIElBTSBjcmVkZW50aWFscy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ/OiBJU2VjcmV0XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykge1xuICAgIGlmIChwcm9wcy5tYXhVc2VyQ29ubmVjdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHByb3BzLnByb3ZpZGVyLmVuZ2luZSAhPT0gRGF0YWJhc2VFbmdpbmUuTVlTUUwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwibWF4VXNlckNvbm5lY3Rpb25zIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBNeVNRTC9NYXJpYURCIHJvbGVzXCIpXG4gICAgICB9XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIocHJvcHMubWF4VXNlckNvbm5lY3Rpb25zKSB8fCBwcm9wcy5tYXhVc2VyQ29ubmVjdGlvbnMgPCAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIm1heFVzZXJDb25uZWN0aW9ucyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXJcIilcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLnByb3ZpZGVyLmVuZ2luZSAhPT0gRGF0YWJhc2VFbmdpbmUuRFNRTCkge1xuICAgICAgaWYgKHByb3BzLmRhdGFiYXNlICYmIHByb3BzLmRhdGFiYXNlTmFtZSkge1xuICAgICAgICB0aHJvdyBcIlNwZWNpZnkgZWl0aGVyIGRhdGFiYXNlIG9yIGRhdGFiYXNlTmFtZVwiXG4gICAgICB9XG4gICAgICBpZiAoIXByb3BzLmRhdGFiYXNlICYmICFwcm9wcy5kYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgLy8gSWYgbmVpdGhlciBpcyBzcGVjaWZpZWQsIHdlIG1pZ2h0IG5lZWQgYSBkZWZhdWx0IG9yIHRocm93IGFuIGVycm9yIGRlcGVuZGluZyBvbiBkZXNpcmVkIGJlaGF2aW9yLlxuICAgICAgICAvLyBGb3Igbm93LCBsZXQncyBhc3N1bWUgaXQncyBhbGxvd2VkIGJ1dCB0aGUgc2VjcmV0IHdvbid0IGhhdmUgYSBkYm5hbWUuXG4gICAgICAgIC8vIElmIGl0IHNob3VsZCBiZSByZXF1aXJlZCwgdW5jb21tZW50IHRoZSBsaW5lIGJlbG93OlxuICAgICAgICB0aHJvdyBcIlNwZWNpZnkgZWl0aGVyIGRhdGFiYXNlIG9yIGRhdGFiYXNlTmFtZVwiXG4gICAgICB9XG4gICAgfVxuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIC8vIFNraXAgc2VjcmV0IGNyZWF0aW9uIGZvciBEU1FMIChhbHdheXMgdXNlcyBJQU0gYXV0aCkgb3Igd2hlbiBlbmFibGVJYW1BdXRoIGlzIHRydWVcbiAgICBjb25zdCB1c2VJYW1BdXRoID0gcHJvcHMuZW5hYmxlSWFtQXV0aCB8fCBwcm9wcy5wcm92aWRlci5lbmdpbmUgPT09IERhdGFiYXNlRW5naW5lLkRTUUxcbiAgICBsZXQgcGFzc3dvcmRTeW5jVHJpZ2dlcjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWRcbiAgICBsZXQgcGFzc3dvcmRTZWNyZXQ6IFNlY3JldCB8IHVuZGVmaW5lZFxuXG4gICAgLy8gRm9yIG5vbi1EU1FMIHByb3ZpZGVycywgd2UgbmVlZCBjbHVzdGVyIGluZm8gZm9yIHNlY3JldHMgYW5kL29yIHBhcmFtZXRlcnNcbiAgICBpZiAocHJvcHMucHJvdmlkZXIuZW5naW5lICE9PSBEYXRhYmFzZUVuZ2luZS5EU1FMKSB7XG4gICAgICAvLyBGb3IgaW1wb3J0ZWQgcHJvdmlkZXJzIHdpdGhvdXQgY2x1c3RlciBkZXRhaWxzLCBwcm92aWRlIGhlbHBmdWwgZXJyb3IgbWVzc2FnZVxuICAgICAgaWYgKCFwcm9wcy5wcm92aWRlci5jbHVzdGVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIlJvbGUgY3JlYXRpb24gcmVxdWlyZXMgY2x1c3RlciBpbmZvcm1hdGlvbi4gV2hlbiBpbXBvcnRpbmcgYSBwcm92aWRlciB3aXRoIFwiICtcbiAgICAgICAgICAgIFwiUHJvdmlkZXIuZnJvbVByb3ZpZGVyQXR0cmlidXRlcygpLCBpbmNsdWRlIHRoZSAnY2x1c3RlcicgcHJvcGVydHkgaWYgeW91IHBsYW4gXCIgK1xuICAgICAgICAgICAgXCJ0byBjcmVhdGUgbmV3IHJvbGVzLiBBbHRlcm5hdGl2ZWx5LCB1c2UgZXhpc3Rpbmcgcm9sZXMgY3JlYXRlZCB3aXRoIHRoZSBvcmlnaW5hbCBwcm92aWRlci5cIlxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIC8vIEZvciBSRFMvQXVyb3JhIGNsdXN0ZXJzIGFuZCBpbnN0YW5jZXMsIGdldCBlbmRwb2ludCBkZXRhaWxzXG4gICAgICBjb25zdCBpc0NsdXN0ZXIgPSAhIShwcm9wcy5wcm92aWRlci5jbHVzdGVyIGFzIElEYXRhYmFzZUNsdXN0ZXIpLmNsdXN0ZXJFbmRwb2ludFxuXG4gICAgICBjb25zdCBob3N0ID0gaXNDbHVzdGVyXG4gICAgICAgID8gKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlQ2x1c3RlcikuY2x1c3RlckVuZHBvaW50Lmhvc3RuYW1lXG4gICAgICAgIDogKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlSW5zdGFuY2UpLmluc3RhbmNlRW5kcG9pbnQuaG9zdG5hbWVcblxuICAgICAgY29uc3QgcG9ydCA9IGlzQ2x1c3RlclxuICAgICAgICA/IChwcm9wcy5wcm92aWRlci5jbHVzdGVyIGFzIElEYXRhYmFzZUNsdXN0ZXIpLmNsdXN0ZXJFbmRwb2ludC5wb3J0XG4gICAgICAgIDogKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlSW5zdGFuY2UpLmluc3RhbmNlRW5kcG9pbnQucG9ydFxuXG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gaXNDbHVzdGVyXG4gICAgICAgID8gKHByb3BzLnByb3ZpZGVyLmNsdXN0ZXIgYXMgSURhdGFiYXNlQ2x1c3RlcikuY2x1c3RlcklkZW50aWZpZXJcbiAgICAgICAgOiAocHJvcHMucHJvdmlkZXIuY2x1c3RlciBhcyBJRGF0YWJhc2VJbnN0YW5jZSkuaW5zdGFuY2VJZGVudGlmaWVyXG5cbiAgICAgIGNvbnN0IGRhdGFiYXNlTmFtZSA9IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogcHJvcHMuZGF0YWJhc2VOYW1lXG4gICAgICAvLyBDcmVhdGUgc2VjcmV0IG9ubHkgZm9yIHBhc3N3b3JkIGF1dGggKG5vdCBJQU0gYXV0aClcbiAgICAgIGlmICghdXNlSWFtQXV0aCkge1xuICAgICAgICBjb25zdCBpZGVudGlmaWVyS2V5ID0gaXNDbHVzdGVyID8gXCJkYkNsdXN0ZXJJZGVudGlmaWVyXCIgOiBcImRiSW5zdGFuY2VJZGVudGlmaWVyXCJcbiAgICAgICAgY29uc3Qgc2VjcmV0VGVtcGxhdGUgPSB7XG4gICAgICAgICAgW2lkZW50aWZpZXJLZXldOiBpZGVudGlmaWVyLFxuICAgICAgICAgIGVuZ2luZTogcHJvcHMucHJvdmlkZXIuZW5naW5lLFxuICAgICAgICAgIGhvc3Q6IGhvc3QsXG4gICAgICAgICAgcG9ydDogcG9ydCxcbiAgICAgICAgICB1c2VybmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICAgICAgZGJuYW1lOiBkYXRhYmFzZU5hbWUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZ2VuZXJhdGVTZWNyZXRTdHJpbmcgPSB7XG4gICAgICAgICAgcGFzc3dvcmRMZW5ndGg6IDMwLCAvLyBPcmFjbGUgcGFzc3dvcmQgY2Fubm90IGhhdmUgbW9yZSB0aGFuIDMwIGNoYXJhY3RlcnNcbiAgICAgICAgICBzZWNyZXRTdHJpbmdUZW1wbGF0ZTogSlNPTi5zdHJpbmdpZnkoc2VjcmV0VGVtcGxhdGUpLFxuICAgICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiBcInBhc3N3b3JkXCIsXG4gICAgICAgICAgZXhjbHVkZUNoYXJhY3RlcnM6IFwiICUrfmAjJCYqKCl8W117fTo7PD4/IScvQFxcXCJcXFxcXCIsXG4gICAgICAgIH1cbiAgICAgICAgcGFzc3dvcmRTeW5jVHJpZ2dlciA9IGdlbmVyYXRlU2VjcmV0U3RyaW5nXG5cbiAgICAgICAgcGFzc3dvcmRTZWNyZXQgPSBuZXcgU2VjcmV0KHRoaXMsIFwiU2VjcmV0XCIsIHtcbiAgICAgICAgICBzZWNyZXROYW1lOiBwcm9wcy5zZWNyZXROYW1lLFxuICAgICAgICAgIGVuY3J5cHRpb25LZXk6IHByb3BzLmVuY3J5cHRpb25LZXksXG4gICAgICAgICAgZGVzY3JpcHRpb246IGBHZW5lcmF0ZWQgc2VjcmV0IGZvciAke3Byb3BzLnByb3ZpZGVyLmVuZ2luZX0gcm9sZSAke3Byb3BzLnJvbGVOYW1lfWAsXG4gICAgICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmcsXG4gICAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnNlY3JldCA9IHBhc3N3b3JkU2VjcmV0XG4gICAgICB9XG5cbiAgICAgIC8vIENyZWF0ZSBQYXJhbWV0ZXJzIGlmIHBhcmFtZXRlclByZWZpeCBpcyBwcm92aWRlZCAoZm9yIGJvdGggcGFzc3dvcmQgYW5kIElBTSBhdXRoKVxuICAgICAgaWYgKHByb3BzLnBhcmFtZXRlclByZWZpeCkge1xuICAgICAgICBjb25zdCBpZGVudGlmaWVyS2V5ID0gaXNDbHVzdGVyID8gXCJkYkNsdXN0ZXJJZGVudGlmaWVyXCIgOiBcImRiSW5zdGFuY2VJZGVudGlmaWVyXCJcbiAgICAgICAgY29uc3QgcGFyYW1EYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+ID0ge1xuICAgICAgICAgIFtpZGVudGlmaWVyS2V5XTogaWRlbnRpZmllcixcbiAgICAgICAgICBlbmdpbmU6IHByb3BzLnByb3ZpZGVyLmVuZ2luZSxcbiAgICAgICAgICBob3N0OiBob3N0LFxuICAgICAgICAgIHBvcnQ6IHBvcnQsXG4gICAgICAgICAgdXNlcm5hbWU6IHByb3BzLnJvbGVOYW1lLFxuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgICBwYXJhbURhdGEuZGJuYW1lID0gZGF0YWJhc2VOYW1lXG4gICAgICAgIH1cblxuICAgICAgICBuZXcgUGFyYW1ldGVycyh0aGlzLCBcIlBhcmFtZXRlcnNcIiwge1xuICAgICAgICAgIHNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0Py5zZWNyZXRBcm4gfHwgXCJcIixcbiAgICAgICAgICBwYXJhbWV0ZXJQcmVmaXg6IHByb3BzLnBhcmFtZXRlclByZWZpeCxcbiAgICAgICAgICBwYXNzd29yZEFybjogdGhpcy5zZWNyZXQ/LnNlY3JldEFybiwgLy8gdW5kZWZpbmVkIGZvciBJQU0gYXV0aCAtIHNraXBzIHBhc3N3b3JkIHBhcmFtXG4gICAgICAgICAgcGFzc3dvcmRTZWNyZXQsXG4gICAgICAgICAgcGFzc3dvcmRTeW5jVHJpZ2dlcixcbiAgICAgICAgICBwcm92aWRlclNlcnZpY2VUb2tlbjogcHJvcHMucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgICAgIHByb3ZpZGVyOiBwcm9wcy5wcm92aWRlcixcbiAgICAgICAgICBwYXJhbURhdGEsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgcm9sZSA9IG5ldyBDdXN0b21SZXNvdXJjZVJvbGUodGhpcywgXCJQb3N0Z3Jlc1JvbGVcIiwge1xuICAgICAgcHJvdmlkZXI6IHByb3BzLnByb3ZpZGVyLFxuICAgICAgcm9sZU5hbWU6IHByb3BzLnJvbGVOYW1lLFxuICAgICAgcGFzc3dvcmRBcm46IHVzZUlhbUF1dGggPyBcIlwiIDogdGhpcy5zZWNyZXQhLnNlY3JldEFybixcbiAgICAgIGRhdGFiYXNlOiBwcm9wcy5kYXRhYmFzZSxcbiAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgZW5hYmxlSWFtQXV0aDogdXNlSWFtQXV0aCxcbiAgICAgIG1heFVzZXJDb25uZWN0aW9uczogcHJvcHMubWF4VXNlckNvbm5lY3Rpb25zLFxuICAgIH0pXG5cbiAgICBpZiAodGhpcy5zZWNyZXQpIHtcbiAgICAgIHJvbGUubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuc2VjcmV0KVxuICAgICAgdGhpcy5zZWNyZXQuZ3JhbnRSZWFkKHByb3BzLnByb3ZpZGVyLmhhbmRsZXIpXG4gICAgICBpZiAodGhpcy5zZWNyZXQuZW5jcnlwdGlvbktleSkge1xuICAgICAgICAvLyBJdCBzZWVtcyB3ZSBuZWVkIHRvIGdyYW50IGV4cGxpY2l0IHBlcm1pc3Npb25cbiAgICAgICAgdGhpcy5zZWNyZXQuZW5jcnlwdGlvbktleS5ncmFudERlY3J5cHQocHJvcHMucHJvdmlkZXIuaGFuZGxlcilcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJvbGVOYW1lID0gcHJvcHMucm9sZU5hbWVcbiAgfVxufVxuIl19
package/lib/schema.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { CustomResource } from "aws-cdk-lib";
2
- import { Construct } from "constructs";
3
- import { IDatabase } from "./database";
4
- import { IProvider } from "./provider";
5
- import { Role } from "./role";
2
+ import type { Construct } from "constructs";
3
+ import type { IDatabase } from "./database";
4
+ import type { IProvider } from "./provider";
5
+ import type { Role } from "./role";
6
6
  export interface SchemaProps {
7
7
  /**
8
8
  * Provider.
package/lib/schema.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.Schema = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
6
  const enum_1 = require("./enum");
8
7
  class Schema extends aws_cdk_lib_1.CustomResource {
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-rds-sql.Schema", version: "9.0.0" };
9
+ schemaName;
9
10
  constructor(scope, id, props) {
10
11
  super(scope, id, {
11
12
  serviceToken: props.provider.serviceToken,
@@ -26,6 +27,4 @@ class Schema extends aws_cdk_lib_1.CustomResource {
26
27
  }
27
28
  }
28
29
  exports.Schema = Schema;
29
- _a = JSII_RTTI_SYMBOL_1;
30
- Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "8.1.6" };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUE4QnZDLE1BQWEsTUFBTyxTQUFRLDRCQUFjO0lBR3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxNQUFNO2dCQUMvQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEYsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUN0RSxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDdkQ7U0FDRixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO1FBQ2xDLElBQUksS0FBSyxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDM0QsSUFBSSxLQUFLLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyRCxDQUFDOztBQWxCSCx3QkFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCIuL3JvbGVcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZGVmYXVsdCBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogU2NoZW1hIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBzY2hlbWFOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgcm9sZSB3aGljaCB3aWxsIGJlIGdyYW50ZWQgdXNhZ2UgYW5kIGNyZWF0ZSBwZXJtaXNzaW9uc1xuICAgKiB0byB0aGlzIHNjaGVtYS4gVGhpcyB3YXkgdGhlIHJvbGUgY2FuIHJlYWQgaXRzIG93biB0YWJsZXMsIGJ1dFxuICAgKiBjYW5ub3Qgc2VlIG9yIGFjY2VzcyB0YWJsZXMgY3JlYXRlZCBieSBvdGhlcnMuXG4gICAqL1xuICByZWFkb25seSByb2xlPzogUm9sZVxufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgc2NoZW1hTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNjaGVtYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3BzLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgUmVzb3VyY2U6IFJkc1NxbFJlc291cmNlLlNDSEVNQSxcbiAgICAgICAgUmVzb3VyY2VJZDogcHJvcHMuc2NoZW1hTmFtZSxcbiAgICAgICAgLi4uKHByb3BzLnByb3ZpZGVyLnNlY3JldCA/IHsgU2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQuc2VjcmV0QXJuIH0gOiB7fSksXG4gICAgICAgIERhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2UgPyBwcm9wcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWUgOiB1bmRlZmluZWQsXG4gICAgICAgIFJvbGVOYW1lOiBwcm9wcy5yb2xlID8gcHJvcHMucm9sZS5yb2xlTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfSlcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcbiAgICB0aGlzLnNjaGVtYU5hbWUgPSBwcm9wcy5zY2hlbWFOYW1lXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlKSB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5kYXRhYmFzZSlcbiAgICBpZiAocHJvcHMucm9sZSkgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucm9sZSlcbiAgfVxufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNkNBQTRDO0FBRzVDLGlDQUF1QztBQThCdkMsTUFBYSxNQUFPLFNBQVEsNEJBQWM7O0lBQ3hCLFVBQVUsQ0FBUTtJQUVsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtCO1FBQzFELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWTtZQUN6QyxVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLHFCQUFjLENBQUMsTUFBTTtnQkFDL0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2dCQUM1QixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hGLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDdEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ3ZEO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtRQUNsQyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzNELElBQUksS0FBSyxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDckQsQ0FBQzs7QUFsQkgsd0JBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgdHlwZSB7IElEYXRhYmFzZSB9IGZyb20gXCIuL2RhdGFiYXNlXCJcbmltcG9ydCB7IFJkc1NxbFJlc291cmNlIH0gZnJvbSBcIi4vZW51bVwiXG5pbXBvcnQgdHlwZSB7IElQcm92aWRlciB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcbmltcG9ydCB0eXBlIHsgUm9sZSB9IGZyb20gXCIuL3JvbGVcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZGVmYXVsdCBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogU2NoZW1hIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBzY2hlbWFOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogT3B0aW9uYWwgcm9sZSB3aGljaCB3aWxsIGJlIGdyYW50ZWQgdXNhZ2UgYW5kIGNyZWF0ZSBwZXJtaXNzaW9uc1xuICAgKiB0byB0aGlzIHNjaGVtYS4gVGhpcyB3YXkgdGhlIHJvbGUgY2FuIHJlYWQgaXRzIG93biB0YWJsZXMsIGJ1dFxuICAgKiBjYW5ub3Qgc2VlIG9yIGFjY2VzcyB0YWJsZXMgY3JlYXRlZCBieSBvdGhlcnMuXG4gICAqL1xuICByZWFkb25seSByb2xlPzogUm9sZVxufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgc2NoZW1hTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNjaGVtYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3BzLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgUmVzb3VyY2U6IFJkc1NxbFJlc291cmNlLlNDSEVNQSxcbiAgICAgICAgUmVzb3VyY2VJZDogcHJvcHMuc2NoZW1hTmFtZSxcbiAgICAgICAgLi4uKHByb3BzLnByb3ZpZGVyLnNlY3JldCA/IHsgU2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQuc2VjcmV0QXJuIH0gOiB7fSksXG4gICAgICAgIERhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2UgPyBwcm9wcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWUgOiB1bmRlZmluZWQsXG4gICAgICAgIFJvbGVOYW1lOiBwcm9wcy5yb2xlID8gcHJvcHMucm9sZS5yb2xlTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfSlcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcbiAgICB0aGlzLnNjaGVtYU5hbWUgPSBwcm9wcy5zY2hlbWFOYW1lXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlKSB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5kYXRhYmFzZSlcbiAgICBpZiAocHJvcHMucm9sZSkgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucm9sZSlcbiAgfVxufVxuIl19
package/lib/sql.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { CustomResource } from "aws-cdk-lib";
2
- import { Construct } from "constructs";
3
- import { IDatabase } from "./database";
4
- import { IProvider } from "./provider";
2
+ import type { Construct } from "constructs";
3
+ import type { IDatabase } from "./database";
4
+ import type { IProvider } from "./provider";
5
5
  export interface SqlProps {
6
6
  /**
7
7
  * Provider.
package/lib/sql.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.Sql = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
6
  const enum_1 = require("./enum");
8
7
  class Sql extends aws_cdk_lib_1.CustomResource {
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-rds-sql.Sql", version: "9.0.0" };
9
9
  constructor(scope, id, props) {
10
10
  super(scope, id, {
11
11
  serviceToken: props.provider.serviceToken,
@@ -23,6 +23,4 @@ class Sql extends aws_cdk_lib_1.CustomResource {
23
23
  }
24
24
  }
25
25
  exports.Sql = Sql;
26
- _a = JSII_RTTI_SYMBOL_1;
27
- Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "8.1.6" };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUEyQnZDLE1BQWEsR0FBSSxTQUFRLDRCQUFjO0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLEdBQUc7Z0JBQzVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEYsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUN0RSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdELENBQUM7O0FBZEgsa0JBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNxbFByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZGVmYXVsdCBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVtZW50Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0YXRtZW50IHRvIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIHJlc291cmNlIGlzIGRlbGV0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTcWwgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcWxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5TUUwsXG4gICAgICAgIC4uLihwcm9wcy5wcm92aWRlci5zZWNyZXQgPyB7IFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybiB9IDoge30pLFxuICAgICAgICBEYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICBTdGF0ZW1lbnQ6IHByb3BzLnN0YXRlbWVudCxcbiAgICAgICAgUm9sbGJhY2s6IHByb3BzLnJvbGxiYWNrLFxuICAgICAgfSxcbiAgICB9KVxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgIGlmIChwcm9wcy5kYXRhYmFzZSkgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMuZGF0YWJhc2UpXG4gIH1cbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNkNBQTRDO0FBRzVDLGlDQUF1QztBQTJCdkMsTUFBYSxHQUFJLFNBQVEsNEJBQWM7O0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLEdBQUc7Z0JBQzVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEYsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUN0RSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdELENBQUM7O0FBZEgsa0JBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCB0eXBlIHsgSURhdGFiYXNlIH0gZnJvbSBcIi4vZGF0YWJhc2VcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB0eXBlIHsgSVByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNxbFByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZGVmYXVsdCBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVtZW50Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0YXRtZW50IHRvIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIHJlc291cmNlIGlzIGRlbGV0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTcWwgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcWxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5TUUwsXG4gICAgICAgIC4uLihwcm9wcy5wcm92aWRlci5zZWNyZXQgPyB7IFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybiB9IDoge30pLFxuICAgICAgICBEYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICBTdGF0ZW1lbnQ6IHByb3BzLnN0YXRlbWVudCxcbiAgICAgICAgUm9sbGJhY2s6IHByb3BzLnJvbGxiYWNrLFxuICAgICAgfSxcbiAgICB9KVxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgIGlmIChwcm9wcy5kYXRhYmFzZSkgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMuZGF0YWJhc2UpXG4gIH1cbn1cbiJdfQ==
@@ -8,7 +8,7 @@ This package contains type definitions for aws-lambda (http://docs.aws.amazon.co
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/aws-lambda.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Thu, 26 Feb 2026 18:14:19 GMT
11
+ * Last updated: Tue, 29 Sep 2026 00:11:01 GMT
12
12
  * Dependencies: none
13
13
 
14
14
  # Credits
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/aws-lambda",
3
- "version": "8.10.161",
3
+ "version": "8.10.164",
4
4
  "description": "TypeScript definitions for aws-lambda",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/aws-lambda",
6
6
  "license": "MIT",
@@ -221,6 +221,6 @@
221
221
  "scripts": {},
222
222
  "dependencies": {},
223
223
  "peerDependencies": {},
224
- "typesPublisherContentHash": "27d4cf93e028357fae8dbd0b56c5cc7cec355e3ba1da224c53e2b497600a4d81",
225
- "typeScriptVersion": "5.2"
224
+ "typesPublisherContentHash": "e3afcf35b16aa8aedbc0462ab52bc39e11fa825f0186800e2b1f63b3b16ee72f",
225
+ "typeScriptVersion": "5.6"
226
226
  }
@@ -239,6 +239,8 @@ export interface APIGatewayProxyWebsocketEventV2WithRequestContext<TRequestConte
239
239
  body?: string;
240
240
  isBase64Encoded: boolean;
241
241
  stageVariables?: APIGatewayProxyEventStageVariables;
242
+ queryStringParameters?: APIGatewayProxyEventQueryStringParameters;
243
+ multiValueQueryStringParameters?: APIGatewayProxyEventMultiValueQueryStringParameters;
242
244
  }
243
245
 
244
246
  /**
@@ -252,11 +254,11 @@ export interface APIGatewayEventRequestContextLambdaAuthorizer<TAuthorizerContex
252
254
  * JWT Authorizer Payload
253
255
  */
254
256
  export interface APIGatewayEventRequestContextJWTAuthorizer {
255
- principalId: string;
256
- integrationLatency: number;
257
+ principalId?: string | null;
258
+ integrationLatency?: number | null;
257
259
  jwt: {
258
260
  claims: { [name: string]: string | number | boolean | string[] };
259
- scopes: string[];
261
+ scopes: string[] | null;
260
262
  };
261
263
  }
262
264
 
package/package.json CHANGED
@@ -11,47 +11,40 @@
11
11
  "organization": false
12
12
  },
13
13
  "devDependencies": {
14
- "@aws-sdk/client-secrets-manager": "^3.1044.0",
15
- "@aws-sdk/client-ssm": "^3.1044.0",
16
- "@aws-sdk/dsql-signer": "^3.1044.0",
14
+ "@aws-sdk/client-secrets-manager": "^3.1153.0",
15
+ "@aws-sdk/client-ssm": "^3.1153.0",
16
+ "@aws-sdk/dsql-signer": "^3.1153.0",
17
+ "@biomejs/biome": "^2.5",
17
18
  "@types/jest": "~30",
18
- "@types/node": "^22",
19
+ "@types/node": "^24",
19
20
  "@types/pg": "^8.11.11",
20
- "@typescript-eslint/eslint-plugin": "^8",
21
- "@typescript-eslint/parser": "^8",
22
- "aws-cdk-lib": "2.214.0",
23
- "commit-and-tag-version": "^12",
24
- "constructs": "10.4.2",
25
- "esbuild": "0.28.0",
26
- "eslint": "^9",
27
- "eslint-config-prettier": "^8.10.2",
28
- "eslint-import-resolver-typescript": "^3.10.1",
29
- "eslint-plugin-import": "^2.32.0",
30
- "eslint-plugin-prettier": "^4.2.5",
21
+ "aws-cdk-lib": "2.273.0",
22
+ "commit-and-tag-version": "^13",
23
+ "constructs": "10.5.0",
24
+ "esbuild": "0.28.2",
31
25
  "exponential-backoff": "^3.1.3",
32
26
  "jest": "~30",
33
- "jest-junit": "^16",
34
- "jsii": "~5.9.0",
35
- "jsii-diff": "^1.129.0",
36
- "jsii-pacmak": "^1.129.0",
37
- "jsii-rosetta": "~5.9.0",
38
- "mysql2": "^3.22.3",
27
+ "jest-junit": "^17",
28
+ "jsii": "~6.0.0",
29
+ "jsii-diff": "^1.141.0",
30
+ "jsii-pacmak": "^1.141.0",
31
+ "jsii-rosetta": "~6.0.0",
32
+ "mysql2": "^3.24.6",
39
33
  "node-pg-format": "^1.3.5",
40
34
  "pg": "^8.13.3",
41
- "prettier": "^2.8.8",
42
- "projen": "^0.99.53",
35
+ "projen": "^0.104.9",
43
36
  "source-map-support": "^0.5.21",
44
- "testcontainers": "11",
37
+ "testcontainers": "^12.2.1",
45
38
  "ts-jest": "^29",
46
39
  "ts-node": "^10.9.2",
47
- "typescript": "~5.9"
40
+ "typescript": "~6.0"
48
41
  },
49
42
  "peerDependencies": {
50
- "aws-cdk-lib": "^2.214.0",
51
- "constructs": "^10.4.2"
43
+ "aws-cdk-lib": "^2.273.0",
44
+ "constructs": "^10.5.0"
52
45
  },
53
46
  "dependencies": {
54
- "@types/aws-lambda": "^8.10.161"
47
+ "@types/aws-lambda": "^8.10.164"
55
48
  },
56
49
  "bundledDependencies": [
57
50
  "@types/aws-lambda"
@@ -72,16 +65,17 @@
72
65
  "devEngines": {
73
66
  "packageManager": {
74
67
  "name": "pnpm",
75
- "version": "10.32.1",
68
+ "version": "12.14.0",
76
69
  "onFail": "ignore"
77
70
  }
78
71
  },
79
72
  "main": "lib/index.js",
80
73
  "license": "Apache-2.0",
74
+ "stability": "stable",
81
75
  "publishConfig": {
82
76
  "access": "public"
83
77
  },
84
- "version": "8.1.6",
78
+ "version": "9.0.0",
85
79
  "jest": {
86
80
  "coverageProvider": "v8",
87
81
  "testMatch": [
@@ -137,7 +131,6 @@
137
131
  }
138
132
  },
139
133
  "types": "lib/index.d.ts",
140
- "stability": "stable",
141
134
  "jsii": {
142
135
  "outdir": "dist",
143
136
  "targets": {
@@ -146,23 +139,22 @@
146
139
  "module": "cdk_rds_sql"
147
140
  }
148
141
  },
149
- "tsc": {
150
- "outDir": "lib",
151
- "rootDir": "src"
152
- }
142
+ "tsconfig": "tsconfig.json",
143
+ "validateTsconfig": "strict"
153
144
  },
154
145
  "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"pnpm exec projen\".",
155
146
  "scripts": {
147
+ "biome": "projen biome",
156
148
  "build": "projen build",
157
149
  "build:handler": "projen build:handler",
158
150
  "bump": "projen bump",
151
+ "bump:releasable-commits": "projen bump:releasable-commits",
159
152
  "clobber": "projen clobber",
160
153
  "compat": "projen compat",
161
154
  "compile": "projen compile",
162
155
  "copy:handler": "projen copy:handler",
163
156
  "default": "projen default",
164
157
  "eject": "projen eject",
165
- "eslint": "projen eslint",
166
158
  "integ:deploy:dsql": "projen integ:deploy:dsql",
167
159
  "integ:deploy:mysql:serverless": "projen integ:deploy:mysql:serverless",
168
160
  "integ:deploy:postgresql:serverless": "projen integ:deploy:postgresql:serverless",
@@ -177,6 +169,7 @@
177
169
  "pre-compile": "projen pre-compile",
178
170
  "release": "projen release",
179
171
  "test": "projen test",
172
+ "test:update": "projen test:update",
180
173
  "test:watch": "projen test:watch",
181
174
  "typecheck": "projen typecheck",
182
175
  "unbump": "projen unbump",
package/.conform.yaml DELETED
@@ -1,47 +0,0 @@
1
- policies:
2
- - type: commit
3
- spec:
4
- header:
5
- length: 140
6
- imperative: true
7
- case: lower
8
- invalidLastCharacters: .
9
- body:
10
- required: false
11
- dco: false
12
- gpg: false
13
- spellcheck:
14
- locale: US_nz
15
- maximumOfOneCommit: false
16
- conventional:
17
- types:
18
- - "build"
19
- - "chore"
20
- - "ci"
21
- - "debug"
22
- - "docs"
23
- - "refactor"
24
- - "test"
25
- - "vendor"
26
- scopes:
27
- - "provider"
28
- - "database"
29
- - "schema"
30
- - "role"
31
- - "sql"
32
- - "iam-grant"
33
- - "dsql"
34
- - "postgres"
35
- - "mysql"
36
- descriptionLength: 160
37
- - type: license
38
- spec:
39
- skipPaths:
40
- - .git/
41
- - .build*/
42
- includeSuffixes:
43
- - .ext
44
- excludeSuffixes:
45
- - .exclude-ext-prefix.ext
46
- header: |
47
- This is the contents of a license header.
@@ -1,75 +0,0 @@
1
- default_stages: [pre-commit]
2
- default_language_version:
3
- node: system
4
- fail_fast: true
5
- repos:
6
- - repo: https://github.com/pre-commit/pre-commit-hooks
7
- rev: v4.6.0
8
- hooks:
9
- - id: check-yaml
10
- - id: end-of-file-fixer
11
- exclude: (tsconfig.json|API.md|.mergify.yml|.projen/|.github|tsconfig.dev.json|.gitignore|LICENSE|.gitattributes|.eslintrc.json|pnpm-workspace.yaml)
12
- - id: trailing-whitespace
13
- exclude: (pnpm-workspace.yaml)
14
- - id: check-json
15
- exclude: (tsconfig.json|.eslintrc.json|tsconfig.dev.json)
16
- - id: detect-aws-credentials
17
- args: [--allow-missing-credentials]
18
- - id: detect-private-key
19
- - repo: https://github.com/talos-systems/conform
20
- rev: v0.1.0-alpha.26
21
- hooks:
22
- - id: conform
23
- stages:
24
- - commit-msg
25
- - repo: https://github.com/pre-commit/mirrors-prettier
26
- rev: "v2.7.1"
27
- hooks:
28
- - id: prettier
29
- exclude: (.mergify.yml|.projen/|.github|tsconfig.dev.json|.gitignore|LICENSE|.gitattributes|.eslintrc.json|pnpm-workspace.yaml)
30
- stages:
31
- - pre-commit
32
- - repo: local
33
- hooks:
34
- - id: projen
35
- name: run-projen
36
- language: system
37
- entry: sh -c 'npx projen'
38
- files: \.ts$
39
- pass_filenames: false
40
- - repo: local
41
- hooks:
42
- - id: build-typescript
43
- exclude: .projenrc.ts
44
- name: build-typescript
45
- language: system
46
- entry: sh -c 'npx tsc --noEmit'
47
- files: \.ts$
48
- pass_filenames: false
49
- - repo: local
50
- hooks:
51
- - id: synth
52
- name: synth
53
- language: system
54
- # Provider uses a prebuilt handler asset; build it before synth.
55
- entry: sh -c 'npx projen build:handler && npx cdk synth --quiet --context vpc-id=$VPC_ID'
56
- files: src/.*\.ts$
57
- pass_filenames: false
58
- - repo: local
59
- hooks:
60
- - id: compile-project
61
- exclude: .projenrc.ts
62
- name: compile-project
63
- language: system
64
- entry: sh -c 'npx projen compile'
65
- files: \.ts$
66
- pass_filenames: false
67
- - repo: local
68
- hooks:
69
- - id: test
70
- exclude: .projenrc.ts
71
- name: test
72
- language: system
73
- entry: sh -c 'npx jest --coverage=false'
74
- files: \.ts$
75
- pass_filenames: false
package/.prettierignore DELETED
@@ -1,18 +0,0 @@
1
- node_modules
2
- build
3
- dist
4
- res
5
- coverage
6
- cdk.json
7
- jest.config.js
8
- tsconfig.json
9
- .github
10
- .projen/
11
- .eslintrc.json
12
- API.md
13
- cdk.out
14
- .claude/
15
- lib/
16
- cdk.context.json
17
- src/handler/handler.js
18
- tsconfig.dev.json
package/.prettierrc.yaml DELETED
@@ -1,8 +0,0 @@
1
- # .prettierrc or .prettierrc.yaml
2
- trailingComma: "es5"
3
- tabWidth: 2
4
- useTabs: false
5
- semi: false
6
- singleQuote: false
7
- arrowParens: "always"
8
- printWidth: 90