cdk-rds-sql 7.3.0 → 7.3.1

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 CHANGED
@@ -5594,6 +5594,6 @@
5594
5594
  "symbolId": "src/sql:SqlProps"
5595
5595
  }
5596
5596
  },
5597
- "version": "7.3.0",
5598
- "fingerprint": "2ui58tECqN24bGWJrarg5OBFgO6a0ndTHOc1a/i7VuA="
5597
+ "version": "7.3.1",
5598
+ "fingerprint": "Mc3PNE6TVDDeFZIrlQTTfKYL82JgisTUWw7OGZDbhFo="
5599
5599
  }
package/AGENTS.md CHANGED
@@ -42,6 +42,9 @@ npx projen test
42
42
  # Run tests in watch mode
43
43
  npx projen test:watch
44
44
 
45
+ # Run typecheck (instead of npx tsc --noEmit)
46
+ npx projen typecheck
47
+
45
48
  # Run linting
46
49
  npx projen eslint
47
50
 
@@ -108,10 +111,6 @@ Projen tasks:
108
111
  - Global RDS certificate bundle is automatically downloaded during build
109
112
  - Can be disabled via `ssl: false` in Provider props
110
113
 
111
- ## Key Dependencies
114
+ ## Code style
112
115
 
113
- - **AWS CDK**: v2.171.1
114
- - **Node.js**: >= 22.14
115
- - **TypeScript**: ~5.8
116
- - **Database Drivers**: pg (PostgreSQL), mysql2 (MySQL)
117
- - **AWS SDKs**: secrets-manager, ssm clients
116
+ - Avoid any.
package/CLAUDE.md CHANGED
@@ -111,10 +111,6 @@ Projen tasks:
111
111
  - Global RDS certificate bundle is automatically downloaded during build
112
112
  - Can be disabled via `ssl: false` in Provider props
113
113
 
114
- ## Key Dependencies
114
+ ## Code style
115
115
 
116
- - **AWS CDK**: v2.171.1
117
- - **Node.js**: >= 22.14
118
- - **TypeScript**: ~5.8
119
- - **Database Drivers**: pg (PostgreSQL), mysql2 (MySQL)
120
- - **AWS SDKs**: secrets-manager, ssm clients
116
+ - Avoid any.
@@ -8,7 +8,6 @@ import {
8
8
  EngineRoleProperties,
9
9
  EngineSchemaProperties,
10
10
  EngineSqlProperties,
11
- EngineIamGrantProperties,
12
11
  } from "./types"
13
12
 
14
13
  export interface EngineConnectionConfig {
@@ -78,20 +77,14 @@ export abstract class AbstractEngine {
78
77
  ): string | string[]
79
78
  abstract deleteSql(resourceId: string, props: EngineSqlProperties): string | string[]
80
79
 
81
- abstract createIamGrant(
82
- resourceId: string,
83
- props: EngineIamGrantProperties
84
- ): string | string[]
80
+ abstract createIamGrant(roleName: string, iamArn: string): string | string[]
85
81
  abstract updateIamGrant(
86
- resourceId: string,
87
- oldResourceId: string,
88
- props: EngineIamGrantProperties,
89
- oldProps: EngineIamGrantProperties
90
- ): string | string[]
91
- abstract deleteIamGrant(
92
- resourceId: string,
93
- props: EngineIamGrantProperties
82
+ roleName: string,
83
+ oldRoleName: string,
84
+ iamArn: string,
85
+ oldIamArn: string
94
86
  ): string | string[]
87
+ abstract deleteIamGrant(roleName: string, iamArn: string): string | string[]
95
88
 
96
89
  abstract executeSQL(
97
90
  sql: string | string[],
@@ -7,7 +7,6 @@ import {
7
7
  EngineRoleProperties,
8
8
  EngineSchemaProperties,
9
9
  EngineSqlProperties,
10
- EngineIamGrantProperties,
11
10
  } from "./types"
12
11
 
13
12
  export class DsqlEngine extends AbstractEngine {
@@ -193,41 +192,47 @@ export class DsqlEngine extends AbstractEngine {
193
192
  return []
194
193
  }
195
194
 
196
- createIamGrant(resourceId: string, props: EngineIamGrantProperties): string | string[] {
197
- if (!props.ResourceArn) {
195
+ createIamGrant(roleName: string, iamArn: string): string | string[] {
196
+ if (!iamArn) {
198
197
  throw new Error("ResourceArn is required for IAM grant")
199
198
  }
200
- return pgFormat("AWS IAM GRANT %I TO %L", resourceId, props.ResourceArn)
199
+ return pgFormat("AWS IAM GRANT %I TO %L", roleName, iamArn)
201
200
  }
202
201
 
203
202
  updateIamGrant(
204
- resourceId: string,
205
- oldResourceId: string,
206
- props: EngineIamGrantProperties,
207
- oldProps: EngineIamGrantProperties
203
+ roleName: string,
204
+ oldRoleName: string,
205
+ iamArn: string,
206
+ oldIamArn: string
208
207
  ): string | string[] {
209
208
  const statements: string[] = []
210
209
 
210
+ // Only update if role name or IAM role ARN changed
211
+ const roleNameChanged = oldRoleName !== roleName
212
+ const arnChanged = oldIamArn !== iamArn
213
+
214
+ if (!roleNameChanged && !arnChanged) {
215
+ return statements // No changes needed
216
+ }
217
+
211
218
  // Revoke old grant if resource ARN or role name changed
212
- if (oldProps.ResourceArn) {
213
- statements.push(
214
- pgFormat("AWS IAM REVOKE %I FROM %L", oldResourceId, oldProps.ResourceArn)
215
- )
219
+ if (oldIamArn) {
220
+ statements.push(pgFormat("AWS IAM REVOKE %I FROM %L", oldRoleName, oldIamArn))
216
221
  }
217
222
 
218
223
  // Grant new permissions
219
- if (props.ResourceArn) {
220
- statements.push(pgFormat("AWS IAM GRANT %I TO %L", resourceId, props.ResourceArn))
224
+ if (iamArn) {
225
+ statements.push(pgFormat("AWS IAM GRANT %I TO %L", roleName, iamArn))
221
226
  }
222
227
 
223
228
  return statements
224
229
  }
225
230
 
226
- deleteIamGrant(resourceId: string, props: EngineIamGrantProperties): string | string[] {
227
- if (!props.ResourceArn) {
231
+ deleteIamGrant(roleName: string, iamArn: string): string | string[] {
232
+ if (!iamArn) {
228
233
  throw new Error("ResourceArn is required for IAM grant deletion")
229
234
  }
230
- return pgFormat("AWS IAM REVOKE %I FROM %L", resourceId, props.ResourceArn)
235
+ return pgFormat("AWS IAM REVOKE %I FROM %L", roleName, iamArn)
231
236
  }
232
237
 
233
238
  async executeSQL(sql: string | string[], config: EngineConnectionConfig): Promise<any> {
@@ -354,7 +359,7 @@ export class DsqlEngine extends AbstractEngine {
354
359
  return sql
355
360
  }
356
361
 
357
- private async revokeIamGrantsForRole(client: any, roleName: string): Promise<void> {
362
+ private async revokeIamGrantsForRole(client: Client, roleName: string): Promise<void> {
358
363
  try {
359
364
  this.log(`Querying IAM grants for role: ${roleName}`)
360
365
 
@@ -5,7 +5,6 @@ import {
5
5
  EngineRoleProperties,
6
6
  EngineSchemaProperties,
7
7
  EngineSqlProperties,
8
- EngineIamGrantProperties,
9
8
  } from "./types"
10
9
 
11
10
  export class MysqlEngine extends AbstractEngine {
@@ -184,26 +183,20 @@ export class MysqlEngine extends AbstractEngine {
184
183
  return props?.Rollback || ""
185
184
  }
186
185
 
187
- createIamGrant(
188
- _resourceId: string,
189
- _props: EngineIamGrantProperties
190
- ): string | string[] {
186
+ createIamGrant(_roleName: string, _iamArn: string): string | string[] {
191
187
  throw new Error("IAM grants are only supported with DSQL clusters")
192
188
  }
193
189
 
194
190
  updateIamGrant(
195
- _resourceId: string,
196
- _oldResourceId: string,
197
- _props: EngineIamGrantProperties,
198
- _oldProps: EngineIamGrantProperties
191
+ _roleName: string,
192
+ _oldRoleName: string,
193
+ _iamArn: string,
194
+ _oldIamArn: string
199
195
  ): string | string[] {
200
196
  throw new Error("IAM grants are only supported with DSQL clusters")
201
197
  }
202
198
 
203
- deleteIamGrant(
204
- _resourceId: string,
205
- _props: EngineIamGrantProperties
206
- ): string | string[] {
199
+ deleteIamGrant(_roleName: string, _iamArn: string): string | string[] {
207
200
  throw new Error("IAM grants are only supported with DSQL clusters")
208
201
  }
209
202
 
@@ -8,7 +8,6 @@ import {
8
8
  EngineRoleProperties,
9
9
  EngineSchemaProperties,
10
10
  EngineSqlProperties,
11
- EngineIamGrantProperties,
12
11
  } from "./types"
13
12
 
14
13
  export class PostgresqlEngine extends AbstractEngine {
@@ -268,26 +267,20 @@ END$$;`,
268
267
  ]
269
268
  }
270
269
 
271
- createIamGrant(
272
- _resourceId: string,
273
- _props: EngineIamGrantProperties
274
- ): string | string[] {
270
+ createIamGrant(_roleName: string, _iamArn: string): string | string[] {
275
271
  throw new Error("IAM grants are only supported with DSQL clusters")
276
272
  }
277
273
 
278
274
  updateIamGrant(
279
- _resourceId: string,
280
- _oldResourceId: string,
281
- _props: EngineIamGrantProperties,
282
- _oldProps: EngineIamGrantProperties
275
+ _roleName: string,
276
+ _oldRoleName: string,
277
+ _iamArn: string,
278
+ _oldIamArn: string
283
279
  ): string | string[] {
284
280
  throw new Error("IAM grants are only supported with DSQL clusters")
285
281
  }
286
282
 
287
- deleteIamGrant(
288
- _resourceId: string,
289
- _props: EngineIamGrantProperties
290
- ): string | string[] {
283
+ deleteIamGrant(_roleName: string, _iamArn: string): string | string[] {
291
284
  throw new Error("IAM grants are only supported with DSQL clusters")
292
285
  }
293
286
 
package/lambda/handler.ts CHANGED
@@ -176,10 +176,8 @@ export const handler = async (
176
176
  sql = dbEngine.createSql(resourceId, toSqlEngineProps(event.ResourceProperties))
177
177
  break
178
178
  case RdsSqlResource.IAM_GRANT:
179
- sql = dbEngine.createIamGrant(
180
- event.ResourceProperties.RoleName,
181
- toIamGrantEngineProps(event.ResourceProperties)
182
- )
179
+ const createIam = toIamGrantEngineProps(event.ResourceProperties)
180
+ sql = dbEngine.createIamGrant(createIam.RoleName, createIam.ResourceArn)
183
181
  break
184
182
  case RdsSqlResource.PARAMETER_PASSWORD:
185
183
  await handleParameterPassword(event.ResourceProperties)
@@ -225,11 +223,13 @@ export const handler = async (
225
223
  case RdsSqlResource.IAM_GRANT:
226
224
  const iamUpdateEvent =
227
225
  event as CloudFormationCustomResourceUpdateEvent<ResourceProperties>
226
+ const newIam = toIamGrantEngineProps(event.ResourceProperties)
227
+ const oldIam = toIamGrantEngineProps(iamUpdateEvent.OldResourceProperties)
228
228
  sql = dbEngine.updateIamGrant(
229
- event.ResourceProperties.RoleName,
230
- iamUpdateEvent.OldResourceProperties.RoleName,
231
- toIamGrantEngineProps(event.ResourceProperties),
232
- toIamGrantEngineProps(iamUpdateEvent.OldResourceProperties)
229
+ newIam.RoleName,
230
+ oldIam.RoleName,
231
+ newIam.ResourceArn,
232
+ oldIam.ResourceArn
233
233
  )
234
234
  break
235
235
  case RdsSqlResource.PARAMETER_PASSWORD:
@@ -260,10 +260,8 @@ export const handler = async (
260
260
  sql = dbEngine.deleteSql(resourceId, toSqlEngineProps(event.ResourceProperties))
261
261
  break
262
262
  case RdsSqlResource.IAM_GRANT:
263
- sql = dbEngine.deleteIamGrant(
264
- event.ResourceProperties.RoleName,
265
- toIamGrantEngineProps(event.ResourceProperties)
266
- )
263
+ const delIam = toIamGrantEngineProps(event.ResourceProperties)
264
+ sql = dbEngine.deleteIamGrant(delIam.RoleName, delIam.ResourceArn)
267
265
  break
268
266
  case RdsSqlResource.PARAMETER_PASSWORD:
269
267
  await deleteParameterPassword(event.ResourceProperties)
package/lambda/types.ts CHANGED
@@ -25,7 +25,8 @@ export interface EngineSqlProperties {
25
25
  }
26
26
 
27
27
  export interface EngineIamGrantProperties {
28
- readonly ResourceArn?: string
28
+ readonly RoleName: string
29
+ readonly ResourceArn: string
29
30
  }
30
31
 
31
32
  // Common CloudFormation properties shared by all resources
@@ -33,7 +34,7 @@ export interface CommonProperties
33
34
  extends CloudFormationCustomResourceResourcePropertiesCommon {
34
35
  readonly Resource: RdsSqlResource
35
36
  readonly ResourceId: string
36
- readonly SecretArn: string
37
+ readonly SecretArn?: string // SecretArn is not set for DSQL
37
38
  }
38
39
 
39
40
  // CloudFormation-specific properties (engine properties + CloudFormation metadata)
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.0" };
48
+ Database[_a] = { fqn: "cdk-rds-sql.Database", version: "7.3.1" };
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsMkNBQXNDO0FBQ3RDLGlDQUF1QztBQUN2Qyx5Q0FBc0Q7QUEwQnRELE1BQU0sZ0JBQWlCLFNBQVEsc0JBQVM7SUFHdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQTtJQUN4QyxDQUFDO0NBQ0Y7QUFFRCxNQUFhLFFBQVMsU0FBUSw0QkFBYztJQUMxQzs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxZQUFvQjtRQUN4RSxPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNyQyxZQUFZLEVBQUUsWUFBWTtTQUMzQixDQUFDLENBQUE7SUFDSixDQUFDO0lBSUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCw0REFBNEQ7UUFDNUQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyx5QkFBYyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQ2IscUZBQXFGLENBQ3RGLENBQUE7UUFDSCxDQUFDO1FBRUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxRQUFRO2dCQUNqQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVk7Z0JBQzlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEYsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUTthQUM3QjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUE7UUFDdEMsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RDLENBQUM7SUFDSCxDQUFDOztBQWxDSCw0QkFtQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyLCBEYXRhYmFzZUVuZ2luZSB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcbmltcG9ydCB7IFJvbGUgfSBmcm9tIFwiLi9yb2xlXCJcblxuaW50ZXJmYWNlIERhdGFiYXNlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIGRhdGFiYXNlIHRvIGNyZWF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlIG93bmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgb3duZXI/OiBSb2xlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyBleHRlbmRzIERhdGFiYXNlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBQcm92aWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBJUHJvdmlkZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YWJhc2Uge1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xufVxuXG5jbGFzcyBJbXBvcnRlZERhdGFiYXNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSURhdGFiYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlQXR0cmlidXRlcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcbiAgICB0aGlzLmRhdGFiYXNlTmFtZSA9IHByb3BzLmRhdGFiYXNlTmFtZVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhYmFzZSBleHRlbmRzIEN1c3RvbVJlc291cmNlIGltcGxlbWVudHMgSURhdGFiYXNlIHtcbiAgLyoqXG4gICAqIFJldHVybiBhIERhdGFiYXNlIGJhc2VkIHVwb24gbmFtZSBvbmx5LiBVc2UgZm9yIGltcG9ydGluZyBleGlzdGluZyBkYXRhYmFzZXMuXG4gICAqL1xuICBzdGF0aWMgZnJvbURhdGFiYXNlTmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkYXRhYmFzZU5hbWU6IHN0cmluZyk6IElEYXRhYmFzZSB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZERhdGFiYXNlKHNjb3BlLCBpZCwge1xuICAgICAgZGF0YWJhc2VOYW1lOiBkYXRhYmFzZU5hbWUsXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSB7XG4gICAgLy8gQ2hlY2sgaWYgdXNpbmcgRFNRTCBwcm92aWRlciBhbmQgZm9yYmlkIGRhdGFiYXNlIGNyZWF0aW9uXG4gICAgaWYgKHByb3BzLnByb3ZpZGVyLmVuZ2luZSA9PT0gRGF0YWJhc2VFbmdpbmUuRFNRTCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkRhdGFiYXNlIGNyZWF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBEU1FMLiBEU1FMIGFsd2F5cyB1c2VzICdwb3N0Z3JlcycgZGF0YWJhc2UuXCJcbiAgICAgIClcbiAgICB9XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvcHMucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBSZXNvdXJjZTogUmRzU3FsUmVzb3VyY2UuREFUQUJBU0UsXG4gICAgICAgIFJlc291cmNlSWQ6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgLi4uKHByb3BzLnByb3ZpZGVyLnNlY3JldCA/IHsgU2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQuc2VjcmV0QXJuIH0gOiB7fSksXG4gICAgICAgIE93bmVyOiBwcm9wcy5vd25lcj8ucm9sZU5hbWUsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWVcbiAgICBpZiAocHJvcHMub3duZXIpIHtcbiAgICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLm93bmVyKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -25557,29 +25557,32 @@ var DsqlEngine = class extends AbstractEngine {
25557
25557
  }
25558
25558
  return [];
25559
25559
  }
25560
- createIamGrant(resourceId, props) {
25561
- if (!props.ResourceArn) {
25560
+ createIamGrant(roleName, iamArn) {
25561
+ if (!iamArn) {
25562
25562
  throw new Error("ResourceArn is required for IAM grant");
25563
25563
  }
25564
- return (0, import_node_pg_format.format)("AWS IAM GRANT %I TO %L", resourceId, props.ResourceArn);
25564
+ return (0, import_node_pg_format.format)("AWS IAM GRANT %I TO %L", roleName, iamArn);
25565
25565
  }
25566
- updateIamGrant(resourceId, oldResourceId, props, oldProps) {
25566
+ updateIamGrant(roleName, oldRoleName, iamArn, oldIamArn) {
25567
25567
  const statements = [];
25568
- if (oldProps.ResourceArn) {
25569
- statements.push(
25570
- (0, import_node_pg_format.format)("AWS IAM REVOKE %I FROM %L", oldResourceId, oldProps.ResourceArn)
25571
- );
25568
+ const roleNameChanged = oldRoleName !== roleName;
25569
+ const arnChanged = oldIamArn !== iamArn;
25570
+ if (!roleNameChanged && !arnChanged) {
25571
+ return statements;
25572
+ }
25573
+ if (oldIamArn) {
25574
+ statements.push((0, import_node_pg_format.format)("AWS IAM REVOKE %I FROM %L", oldRoleName, oldIamArn));
25572
25575
  }
25573
- if (props.ResourceArn) {
25574
- statements.push((0, import_node_pg_format.format)("AWS IAM GRANT %I TO %L", resourceId, props.ResourceArn));
25576
+ if (iamArn) {
25577
+ statements.push((0, import_node_pg_format.format)("AWS IAM GRANT %I TO %L", roleName, iamArn));
25575
25578
  }
25576
25579
  return statements;
25577
25580
  }
25578
- deleteIamGrant(resourceId, props) {
25579
- if (!props.ResourceArn) {
25581
+ deleteIamGrant(roleName, iamArn) {
25582
+ if (!iamArn) {
25580
25583
  throw new Error("ResourceArn is required for IAM grant deletion");
25581
25584
  }
25582
- return (0, import_node_pg_format.format)("AWS IAM REVOKE %I FROM %L", resourceId, props.ResourceArn);
25585
+ return (0, import_node_pg_format.format)("AWS IAM REVOKE %I FROM %L", roleName, iamArn);
25583
25586
  }
25584
25587
  async executeSQL(sql, config) {
25585
25588
  this.log("Connecting to DSQL cluster...");
@@ -25832,13 +25835,13 @@ var MysqlEngine = class extends AbstractEngine {
25832
25835
  deleteSql(_resourceId, props) {
25833
25836
  return props?.Rollback || "";
25834
25837
  }
25835
- createIamGrant(_resourceId, _props) {
25838
+ createIamGrant(_roleName, _iamArn) {
25836
25839
  throw new Error("IAM grants are only supported with DSQL clusters");
25837
25840
  }
25838
- updateIamGrant(_resourceId, _oldResourceId, _props, _oldProps) {
25841
+ updateIamGrant(_roleName, _oldRoleName, _iamArn, _oldIamArn) {
25839
25842
  throw new Error("IAM grants are only supported with DSQL clusters");
25840
25843
  }
25841
- deleteIamGrant(_resourceId, _props) {
25844
+ deleteIamGrant(_roleName, _iamArn) {
25842
25845
  throw new Error("IAM grants are only supported with DSQL clusters");
25843
25846
  }
25844
25847
  async executeSQL(sql, config) {
@@ -26086,13 +26089,13 @@ END$$;`,
26086
26089
  (0, import_node_pg_format2.format)("REVOKE ALL ON SCHEMA %I FROM %I", schema, roleName)
26087
26090
  ];
26088
26091
  }
26089
- createIamGrant(_resourceId, _props) {
26092
+ createIamGrant(_roleName, _iamArn) {
26090
26093
  throw new Error("IAM grants are only supported with DSQL clusters");
26091
26094
  }
26092
- updateIamGrant(_resourceId, _oldResourceId, _props, _oldProps) {
26095
+ updateIamGrant(_roleName, _oldRoleName, _iamArn, _oldIamArn) {
26093
26096
  throw new Error("IAM grants are only supported with DSQL clusters");
26094
26097
  }
26095
- deleteIamGrant(_resourceId, _props) {
26098
+ deleteIamGrant(_roleName, _iamArn) {
26096
26099
  throw new Error("IAM grants are only supported with DSQL clusters");
26097
26100
  }
26098
26101
  async executeSQL(sql, config) {
@@ -26281,10 +26284,8 @@ var handler = async (event) => {
26281
26284
  sql = dbEngine.createSql(resourceId, toSqlEngineProps(event.ResourceProperties));
26282
26285
  break;
26283
26286
  case "iam_grant" /* IAM_GRANT */:
26284
- sql = dbEngine.createIamGrant(
26285
- event.ResourceProperties.RoleName,
26286
- toIamGrantEngineProps(event.ResourceProperties)
26287
- );
26287
+ const createIam = toIamGrantEngineProps(event.ResourceProperties);
26288
+ sql = dbEngine.createIamGrant(createIam.RoleName, createIam.ResourceArn);
26288
26289
  break;
26289
26290
  case "parameter_password" /* PARAMETER_PASSWORD */:
26290
26291
  await handleParameterPassword(event.ResourceProperties);
@@ -26327,11 +26328,13 @@ var handler = async (event) => {
26327
26328
  break;
26328
26329
  case "iam_grant" /* IAM_GRANT */:
26329
26330
  const iamUpdateEvent = event;
26331
+ const newIam = toIamGrantEngineProps(event.ResourceProperties);
26332
+ const oldIam = toIamGrantEngineProps(iamUpdateEvent.OldResourceProperties);
26330
26333
  sql = dbEngine.updateIamGrant(
26331
- event.ResourceProperties.RoleName,
26332
- iamUpdateEvent.OldResourceProperties.RoleName,
26333
- toIamGrantEngineProps(event.ResourceProperties),
26334
- toIamGrantEngineProps(iamUpdateEvent.OldResourceProperties)
26334
+ newIam.RoleName,
26335
+ oldIam.RoleName,
26336
+ newIam.ResourceArn,
26337
+ oldIam.ResourceArn
26335
26338
  );
26336
26339
  break;
26337
26340
  case "parameter_password" /* PARAMETER_PASSWORD */:
@@ -26362,10 +26365,8 @@ var handler = async (event) => {
26362
26365
  sql = dbEngine.deleteSql(resourceId, toSqlEngineProps(event.ResourceProperties));
26363
26366
  break;
26364
26367
  case "iam_grant" /* IAM_GRANT */:
26365
- sql = dbEngine.deleteIamGrant(
26366
- event.ResourceProperties.RoleName,
26367
- toIamGrantEngineProps(event.ResourceProperties)
26368
- );
26368
+ const delIam = toIamGrantEngineProps(event.ResourceProperties);
26369
+ sql = dbEngine.deleteIamGrant(delIam.RoleName, delIam.ResourceArn);
26369
26370
  break;
26370
26371
  case "parameter_password" /* PARAMETER_PASSWORD */:
26371
26372
  await deleteParameterPassword(event.ResourceProperties);
package/lib/iam-grant.js CHANGED
@@ -36,5 +36,5 @@ class IamGrant extends aws_cdk_lib_1.CustomResource {
36
36
  }
37
37
  exports.IamGrant = IamGrant;
38
38
  _a = JSII_RTTI_SYMBOL_1;
39
- IamGrant[_a] = { fqn: "cdk-rds-sql.IamGrant", version: "7.3.0" };
39
+ IamGrant[_a] = { fqn: "cdk-rds-sql.IamGrant", version: "7.3.1" };
40
40
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLWdyYW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lhbS1ncmFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFnQztBQUNoQyw2Q0FBNEM7QUFFNUMsaUNBQXVDO0FBQ3ZDLHlDQUFzRDtBQW1CdEQsTUFBYSxRQUFTLFNBQVEsNEJBQWM7SUFDbEMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsV0FBbUI7UUFDekUsTUFBTSxJQUFJLEdBQUcsTUFBTTthQUNoQixVQUFVLENBQUMsUUFBUSxDQUFDO2FBQ3BCLE1BQU0sQ0FBQyxXQUFXLENBQUM7YUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEIsT0FBTyxHQUFHLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUM5QixDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCx3Q0FBd0M7UUFDeEMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyx5QkFBYyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0hBQWdILENBQ2pILENBQUE7UUFDSCxDQUFDO1FBRUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFlBQVksRUFBRSxzQkFBc0I7WUFDcEMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLFNBQVM7Z0JBQ2xDLFVBQVUsRUFBRSxRQUFRLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDO2dCQUM5RSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7Z0JBQ3hCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVzthQUMvQjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN6QyxDQUFDOztBQTdCSCw0QkE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSBcImNyeXB0b1wiXG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyLCBEYXRhYmFzZUVuZ2luZSB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcblxuZXhwb3J0IGludGVyZmFjZSBJYW1HcmFudFByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBEYXRhYmFzZSByb2xlIG5hbWUgdG8gZ3JhbnQgSUFNIGFjY2VzcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogSUFNIHJlc291cmNlIEFSTiAocm9sZSwgdXNlciwgb3Igb3RoZXIgSUFNIHByaW5jaXBhbCkuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUFybjogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBJYW1HcmFudCBleHRlbmRzIEN1c3RvbVJlc291cmNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlVW5pcXVlUmVzb3VyY2VJZChyb2xlTmFtZTogc3RyaW5nLCByZXNvdXJjZUFybjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXNoID0gY3J5cHRvXG4gICAgICAuY3JlYXRlSGFzaChcInNoYTI1NlwiKVxuICAgICAgLnVwZGF0ZShyZXNvdXJjZUFybilcbiAgICAgIC5kaWdlc3QoXCJoZXhcIilcbiAgICAgIC5zdWJzdHJpbmcoMCwgOClcbiAgICByZXR1cm4gYCR7cm9sZU5hbWV9OiR7aGFzaH1gXG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSWFtR3JhbnRQcm9wcykge1xuICAgIC8vIElBTSBncmFudHMgYXJlIG9ubHkgc3VwcG9ydGVkIG9uIERTUUxcbiAgICBpZiAocHJvcHMucHJvdmlkZXIuZW5naW5lICE9PSBEYXRhYmFzZUVuZ2luZS5EU1FMKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiSUFNIGdyYW50cyBhcmUgb25seSBzdXBwb3J0ZWQgd2l0aCBEU1FMIGNsdXN0ZXJzLiBVc2UgcmVndWxhciBkYXRhYmFzZSBhdXRoZW50aWNhdGlvbiBmb3IgUkRTL0F1cm9yYSBjbHVzdGVycy5cIlxuICAgICAgKVxuICAgIH1cblxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICByZXNvdXJjZVR5cGU6IFwiQ3VzdG9tOjpEc3FsSWFtR3JhbnRcIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgUmVzb3VyY2U6IFJkc1NxbFJlc291cmNlLklBTV9HUkFOVCxcbiAgICAgICAgUmVzb3VyY2VJZDogSWFtR3JhbnQuY3JlYXRlVW5pcXVlUmVzb3VyY2VJZChwcm9wcy5yb2xlTmFtZSwgcHJvcHMucmVzb3VyY2VBcm4pLFxuICAgICAgICBSb2xlTmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICAgIFJlc291cmNlQXJuOiBwcm9wcy5yZXNvdXJjZUFybixcbiAgICAgIH0sXG4gICAgfSlcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcbiAgfVxufVxuIl19
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.0" };
212
+ Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "7.3.1" };
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.0" };
149
+ Role[_a] = { fqn: "cdk-rds-sql.Role", version: "7.3.1" };
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.0" };
30
+ Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "7.3.1" };
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.0" };
27
+ Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "7.3.1" };
28
28
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUEyQnZDLE1BQWEsR0FBSSxTQUFRLDRCQUFjO0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLEdBQUc7Z0JBQzVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEYsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUN0RSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdELENBQUM7O0FBZEgsa0JBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNxbFByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IElQcm92aWRlclxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZGVmYXVsdCBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVtZW50Pzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0YXRtZW50IHRvIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIHJlc291cmNlIGlzIGRlbGV0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTcWwgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcWxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5TUUwsXG4gICAgICAgIC4uLihwcm9wcy5wcm92aWRlci5zZWNyZXQgPyB7IFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybiB9IDoge30pLFxuICAgICAgICBEYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICBTdGF0ZW1lbnQ6IHByb3BzLnN0YXRlbWVudCxcbiAgICAgICAgUm9sbGJhY2s6IHByb3BzLnJvbGxiYWNrLFxuICAgICAgfSxcbiAgICB9KVxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgIGlmIChwcm9wcy5kYXRhYmFzZSkgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMuZGF0YWJhc2UpXG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -105,7 +105,7 @@
105
105
  "publishConfig": {
106
106
  "access": "public"
107
107
  },
108
- "version": "7.3.0",
108
+ "version": "7.3.1",
109
109
  "jest": {
110
110
  "coverageProvider": "v8",
111
111
  "testMatch": [