cdk-rds-sql 1.0.1 → 1.1.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.
Files changed (232) hide show
  1. package/.jsii +165 -49
  2. package/.pre-commit-config.yaml +2 -2
  3. package/.projenrc.ts +1 -1
  4. package/README.md +6 -5
  5. package/cdk.json +1 -2
  6. package/lib/database.d.ts +16 -6
  7. package/lib/database.js +17 -2
  8. package/lib/handler.js +27 -5
  9. package/lib/provider.js +1 -1
  10. package/lib/role.custom-resource.d.ts +7 -0
  11. package/lib/role.custom-resource.js +4 -1
  12. package/lib/role.d.ts +5 -2
  13. package/lib/role.js +4 -3
  14. package/lib/schema.d.ts +2 -1
  15. package/lib/schema.js +5 -3
  16. package/lib/sql.d.ts +2 -1
  17. package/lib/sql.js +5 -3
  18. package/node_modules/@aws-sdk/abort-controller/CHANGELOG.md +8 -0
  19. package/node_modules/@aws-sdk/abort-controller/package.json +2 -2
  20. package/node_modules/@aws-sdk/client-secrets-manager/CHANGELOG.md +24 -0
  21. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/runtimeConfig.browser.d.ts +1 -1
  22. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/runtimeConfig.d.ts +1 -1
  23. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/runtimeConfig.native.d.ts +1 -1
  24. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/ts3.4/runtimeConfig.browser.d.ts +3 -1
  25. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/ts3.4/runtimeConfig.d.ts +3 -1
  26. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/ts3.4/runtimeConfig.native.d.ts +3 -1
  27. package/node_modules/@aws-sdk/client-secrets-manager/package.json +26 -26
  28. package/node_modules/@aws-sdk/client-sso/CHANGELOG.md +16 -0
  29. package/node_modules/@aws-sdk/client-sso/package.json +23 -23
  30. package/node_modules/@aws-sdk/client-sts/CHANGELOG.md +24 -0
  31. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.browser.d.ts +1 -1
  32. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.d.ts +1 -1
  33. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.native.d.ts +1 -1
  34. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.browser.d.ts +3 -1
  35. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.d.ts +3 -1
  36. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.native.d.ts +3 -1
  37. package/node_modules/@aws-sdk/client-sts/package.json +26 -26
  38. package/node_modules/@aws-sdk/config-resolver/CHANGELOG.md +11 -0
  39. package/node_modules/@aws-sdk/config-resolver/dist-cjs/endpointsConfig/resolveEndpointsConfig.js +1 -1
  40. package/node_modules/@aws-sdk/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js +1 -1
  41. package/node_modules/@aws-sdk/config-resolver/dist-types/endpointsConfig/resolveEndpointsConfig.d.ts +2 -1
  42. package/node_modules/@aws-sdk/config-resolver/package.json +5 -5
  43. package/node_modules/@aws-sdk/credential-provider-env/CHANGELOG.md +8 -0
  44. package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
  45. package/node_modules/@aws-sdk/credential-provider-imds/CHANGELOG.md +8 -0
  46. package/node_modules/@aws-sdk/credential-provider-imds/package.json +5 -5
  47. package/node_modules/@aws-sdk/credential-provider-ini/CHANGELOG.md +16 -0
  48. package/node_modules/@aws-sdk/credential-provider-ini/package.json +8 -8
  49. package/node_modules/@aws-sdk/credential-provider-node/CHANGELOG.md +16 -0
  50. package/node_modules/@aws-sdk/credential-provider-node/package.json +10 -10
  51. package/node_modules/@aws-sdk/credential-provider-process/CHANGELOG.md +8 -0
  52. package/node_modules/@aws-sdk/credential-provider-process/package.json +4 -4
  53. package/node_modules/@aws-sdk/credential-provider-sso/CHANGELOG.md +16 -0
  54. package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
  55. package/node_modules/@aws-sdk/credential-provider-web-identity/CHANGELOG.md +8 -0
  56. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  57. package/node_modules/@aws-sdk/fetch-http-handler/CHANGELOG.md +8 -0
  58. package/node_modules/@aws-sdk/fetch-http-handler/package.json +5 -5
  59. package/node_modules/@aws-sdk/hash-node/CHANGELOG.md +8 -0
  60. package/node_modules/@aws-sdk/hash-node/package.json +2 -2
  61. package/node_modules/@aws-sdk/invalid-dependency/CHANGELOG.md +8 -0
  62. package/node_modules/@aws-sdk/invalid-dependency/package.json +2 -2
  63. package/node_modules/@aws-sdk/middleware-content-length/CHANGELOG.md +8 -0
  64. package/node_modules/@aws-sdk/middleware-content-length/package.json +3 -3
  65. package/node_modules/@aws-sdk/middleware-host-header/CHANGELOG.md +8 -0
  66. package/node_modules/@aws-sdk/middleware-host-header/package.json +3 -3
  67. package/node_modules/@aws-sdk/middleware-logger/CHANGELOG.md +8 -0
  68. package/node_modules/@aws-sdk/middleware-logger/package.json +2 -2
  69. package/node_modules/@aws-sdk/middleware-recursion-detection/CHANGELOG.md +8 -0
  70. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +3 -3
  71. package/node_modules/@aws-sdk/middleware-retry/CHANGELOG.md +8 -0
  72. package/node_modules/@aws-sdk/middleware-retry/package.json +6 -6
  73. package/node_modules/@aws-sdk/middleware-sdk-sts/CHANGELOG.md +16 -0
  74. package/node_modules/@aws-sdk/middleware-sdk-sts/package.json +6 -6
  75. package/node_modules/@aws-sdk/middleware-serde/CHANGELOG.md +11 -0
  76. package/node_modules/@aws-sdk/middleware-serde/dist-cjs/serializerMiddleware.js +8 -1
  77. package/node_modules/@aws-sdk/middleware-serde/dist-es/serializerMiddleware.js +15 -5
  78. package/node_modules/@aws-sdk/middleware-serde/dist-types/serdePlugin.d.ts +5 -2
  79. package/node_modules/@aws-sdk/middleware-serde/dist-types/serializerMiddleware.d.ts +2 -1
  80. package/node_modules/@aws-sdk/middleware-serde/dist-types/ts3.4/serdePlugin.d.ts +5 -1
  81. package/node_modules/@aws-sdk/middleware-serde/dist-types/ts3.4/serializerMiddleware.d.ts +2 -1
  82. package/node_modules/@aws-sdk/middleware-serde/package.json +2 -2
  83. package/node_modules/@aws-sdk/middleware-signing/CHANGELOG.md +22 -0
  84. package/node_modules/@aws-sdk/middleware-signing/dist-cjs/configurations.js +30 -15
  85. package/node_modules/@aws-sdk/middleware-signing/dist-cjs/middleware.js +3 -1
  86. package/node_modules/@aws-sdk/middleware-signing/dist-es/configurations.js +21 -10
  87. package/node_modules/@aws-sdk/middleware-signing/dist-es/middleware.js +13 -11
  88. package/node_modules/@aws-sdk/middleware-signing/dist-types/configurations.d.ts +5 -5
  89. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/configurations.d.ts +9 -4
  90. package/node_modules/@aws-sdk/middleware-signing/package.json +7 -6
  91. package/node_modules/@aws-sdk/middleware-stack/CHANGELOG.md +11 -0
  92. package/node_modules/@aws-sdk/middleware-stack/dist-cjs/MiddlewareStack.js +13 -3
  93. package/node_modules/@aws-sdk/middleware-stack/dist-es/MiddlewareStack.js +14 -3
  94. package/node_modules/@aws-sdk/middleware-stack/package.json +2 -2
  95. package/node_modules/@aws-sdk/middleware-user-agent/CHANGELOG.md +8 -0
  96. package/node_modules/@aws-sdk/middleware-user-agent/package.json +4 -4
  97. package/node_modules/@aws-sdk/node-config-provider/CHANGELOG.md +8 -0
  98. package/node_modules/@aws-sdk/node-config-provider/package.json +4 -4
  99. package/node_modules/@aws-sdk/node-http-handler/CHANGELOG.md +8 -0
  100. package/node_modules/@aws-sdk/node-http-handler/package.json +5 -5
  101. package/node_modules/@aws-sdk/property-provider/CHANGELOG.md +8 -0
  102. package/node_modules/@aws-sdk/property-provider/package.json +2 -2
  103. package/node_modules/@aws-sdk/protocol-http/CHANGELOG.md +8 -0
  104. package/node_modules/@aws-sdk/protocol-http/package.json +2 -2
  105. package/node_modules/@aws-sdk/querystring-builder/CHANGELOG.md +8 -0
  106. package/node_modules/@aws-sdk/querystring-builder/package.json +2 -2
  107. package/node_modules/@aws-sdk/querystring-parser/CHANGELOG.md +8 -0
  108. package/node_modules/@aws-sdk/querystring-parser/package.json +2 -2
  109. package/node_modules/@aws-sdk/service-error-classification/CHANGELOG.md +8 -0
  110. package/node_modules/@aws-sdk/service-error-classification/package.json +2 -2
  111. package/node_modules/@aws-sdk/shared-ini-file-loader/CHANGELOG.md +8 -0
  112. package/node_modules/@aws-sdk/shared-ini-file-loader/package.json +2 -2
  113. package/node_modules/@aws-sdk/signature-v4/CHANGELOG.md +8 -0
  114. package/node_modules/@aws-sdk/signature-v4/package.json +4 -4
  115. package/node_modules/@aws-sdk/smithy-client/CHANGELOG.md +19 -0
  116. package/node_modules/@aws-sdk/smithy-client/dist-types/exceptions.d.ts +2 -2
  117. package/node_modules/@aws-sdk/smithy-client/dist-types/ts3.4/exceptions.d.ts +4 -1
  118. package/node_modules/@aws-sdk/smithy-client/package.json +3 -3
  119. package/node_modules/@aws-sdk/types/CHANGELOG.md +11 -0
  120. package/node_modules/@aws-sdk/types/dist-types/auth.d.ts +11 -0
  121. package/node_modules/@aws-sdk/types/dist-types/endpoint.d.ts +4 -1
  122. package/node_modules/@aws-sdk/types/dist-types/middleware.d.ts +12 -0
  123. package/node_modules/@aws-sdk/types/dist-types/ts3.4/auth.d.ts +2 -0
  124. package/node_modules/@aws-sdk/types/dist-types/ts3.4/endpoint.d.ts +4 -1
  125. package/node_modules/@aws-sdk/types/dist-types/ts3.4/middleware.d.ts +3 -0
  126. package/node_modules/@aws-sdk/types/package.json +1 -1
  127. package/node_modules/@aws-sdk/url-parser/CHANGELOG.md +8 -0
  128. package/node_modules/@aws-sdk/url-parser/package.json +3 -3
  129. package/node_modules/@aws-sdk/util-defaults-mode-browser/CHANGELOG.md +16 -0
  130. package/node_modules/@aws-sdk/util-defaults-mode-browser/package.json +4 -4
  131. package/node_modules/@aws-sdk/util-defaults-mode-node/CHANGELOG.md +16 -0
  132. package/node_modules/@aws-sdk/util-defaults-mode-node/package.json +7 -7
  133. package/node_modules/@aws-sdk/util-middleware/CHANGELOG.md +11 -0
  134. package/node_modules/@aws-sdk/util-middleware/dist-types/normalizeProvider.d.ts +3 -0
  135. package/node_modules/@aws-sdk/util-middleware/package.json +2 -2
  136. package/node_modules/@aws-sdk/util-user-agent-browser/CHANGELOG.md +8 -0
  137. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  138. package/node_modules/@aws-sdk/util-user-agent-node/CHANGELOG.md +8 -0
  139. package/node_modules/@aws-sdk/util-user-agent-node/package.json +4 -4
  140. package/node_modules/aws-sdk/CHANGELOG.md +43 -1
  141. package/node_modules/aws-sdk/README.md +1 -1
  142. package/node_modules/aws-sdk/apis/backup-gateway-2021-01-01.min.json +59 -8
  143. package/node_modules/aws-sdk/apis/ce-2017-10-25.min.json +10 -8
  144. package/node_modules/aws-sdk/apis/cloudtrail-2013-11-01.min.json +247 -3
  145. package/node_modules/aws-sdk/apis/cloudtrail-2013-11-01.paginators.json +12 -0
  146. package/node_modules/aws-sdk/apis/codestar-notifications-2019-10-15.min.json +7 -2
  147. package/node_modules/aws-sdk/apis/comprehend-2017-11-27.min.json +237 -126
  148. package/node_modules/aws-sdk/apis/devicefarm-2015-06-23.min.json +166 -132
  149. package/node_modules/aws-sdk/apis/ec2-2016-11-15.min.json +1294 -1251
  150. package/node_modules/aws-sdk/apis/glue-2017-03-31.min.json +3 -1
  151. package/node_modules/aws-sdk/apis/iotfleetwise-2021-06-17.examples.json +5 -0
  152. package/node_modules/aws-sdk/apis/iotfleetwise-2021-06-17.min.json +1961 -0
  153. package/node_modules/aws-sdk/apis/iotfleetwise-2021-06-17.paginators.json +82 -0
  154. package/node_modules/aws-sdk/apis/iotfleetwise-2021-06-17.waiters2.json +5 -0
  155. package/node_modules/aws-sdk/apis/lightsail-2016-11-28.min.json +59 -22
  156. package/node_modules/aws-sdk/apis/location-2020-11-19.min.json +64 -17
  157. package/node_modules/aws-sdk/apis/mediaconnect-2018-11-14.min.json +21 -0
  158. package/node_modules/aws-sdk/apis/metadata.json +3 -0
  159. package/node_modules/aws-sdk/apis/models.lex.v2-2020-08-07.min.json +228 -142
  160. package/node_modules/aws-sdk/apis/nimble-2020-08-01.waiters2.json +1 -1
  161. package/node_modules/aws-sdk/apis/s3control-2018-08-20.min.json +102 -19
  162. package/node_modules/aws-sdk/apis/sagemaker-2017-07-24.min.json +584 -572
  163. package/node_modules/aws-sdk/apis/ssm-2014-11-06.min.json +396 -287
  164. package/node_modules/aws-sdk/clients/all.d.ts +1 -0
  165. package/node_modules/aws-sdk/clients/all.js +2 -1
  166. package/node_modules/aws-sdk/clients/apprunner.d.ts +1 -1
  167. package/node_modules/aws-sdk/clients/backupgateway.d.ts +72 -0
  168. package/node_modules/aws-sdk/clients/cloudtrail.d.ts +335 -6
  169. package/node_modules/aws-sdk/clients/codestarnotifications.d.ts +29 -29
  170. package/node_modules/aws-sdk/clients/comprehend.d.ts +148 -34
  171. package/node_modules/aws-sdk/clients/costexplorer.d.ts +15 -7
  172. package/node_modules/aws-sdk/clients/cur.d.ts +1 -1
  173. package/node_modules/aws-sdk/clients/devicefarm.d.ts +38 -0
  174. package/node_modules/aws-sdk/clients/ec2.d.ts +154 -105
  175. package/node_modules/aws-sdk/clients/ecs.d.ts +11 -11
  176. package/node_modules/aws-sdk/clients/glue.d.ts +8 -0
  177. package/node_modules/aws-sdk/clients/identitystore.d.ts +8 -8
  178. package/node_modules/aws-sdk/clients/iotfleetwise.d.ts +2549 -0
  179. package/node_modules/aws-sdk/clients/iotfleetwise.js +19 -0
  180. package/node_modules/aws-sdk/clients/kendra.d.ts +36 -36
  181. package/node_modules/aws-sdk/clients/lexmodelsv2.d.ts +85 -0
  182. package/node_modules/aws-sdk/clients/lightsail.d.ts +66 -3
  183. package/node_modules/aws-sdk/clients/location.d.ts +54 -4
  184. package/node_modules/aws-sdk/clients/mediaconnect.d.ts +25 -1
  185. package/node_modules/aws-sdk/clients/nimble.d.ts +14 -14
  186. package/node_modules/aws-sdk/clients/rds.d.ts +18 -18
  187. package/node_modules/aws-sdk/clients/s3control.d.ts +109 -41
  188. package/node_modules/aws-sdk/clients/sagemaker.d.ts +31 -10
  189. package/node_modules/aws-sdk/clients/ssm.d.ts +113 -2
  190. package/node_modules/aws-sdk/clients/wafv2.d.ts +7 -7
  191. package/node_modules/aws-sdk/dist/aws-sdk-core-react-native.js +31 -11
  192. package/node_modules/aws-sdk/dist/aws-sdk-react-native.js +107 -37
  193. package/node_modules/aws-sdk/dist/aws-sdk.js +2448 -1829
  194. package/node_modules/aws-sdk/dist/aws-sdk.min.js +86 -85
  195. package/node_modules/aws-sdk/lib/config_service_placeholders.d.ts +2 -0
  196. package/node_modules/aws-sdk/lib/core.js +1 -1
  197. package/node_modules/aws-sdk/lib/event_listeners.js +1 -0
  198. package/node_modules/aws-sdk/lib/protocol/rest_json.js +15 -2
  199. package/node_modules/aws-sdk/package.json +1 -1
  200. package/node_modules/es-abstract/2015/GetSubstitution.js +1 -1
  201. package/node_modules/es-abstract/2015/ToNumber.js +1 -1
  202. package/node_modules/es-abstract/2016/GetSubstitution.js +1 -1
  203. package/node_modules/es-abstract/2016/ToNumber.js +1 -1
  204. package/node_modules/es-abstract/2017/GetSubstitution.js +1 -1
  205. package/node_modules/es-abstract/2017/ToNumber.js +1 -1
  206. package/node_modules/es-abstract/2018/GetSubstitution.js +1 -1
  207. package/node_modules/es-abstract/2018/ToNumber.js +1 -1
  208. package/node_modules/es-abstract/2019/GetSubstitution.js +1 -1
  209. package/node_modules/es-abstract/2019/ToNumber.js +1 -1
  210. package/node_modules/es-abstract/2020/GetSubstitution.js +1 -1
  211. package/node_modules/es-abstract/2020/ToNumber.js +1 -1
  212. package/node_modules/es-abstract/2021/GetSubstitution.js +1 -1
  213. package/node_modules/es-abstract/2021/ToNumber.js +1 -1
  214. package/node_modules/es-abstract/2022/GetSubstitution.js +1 -1
  215. package/node_modules/es-abstract/2022/StringToNumber.js +1 -1
  216. package/node_modules/es-abstract/CHANGELOG.md +6 -0
  217. package/node_modules/es-abstract/helpers/regexTester.js +2 -6
  218. package/node_modules/es-abstract/package.json +6 -5
  219. package/node_modules/is-callable/CHANGELOG.md +13 -0
  220. package/node_modules/is-callable/README.md +5 -2
  221. package/node_modules/is-callable/index.js +13 -7
  222. package/node_modules/is-callable/package.json +1 -1
  223. package/node_modules/is-callable/test/index.js +26 -9
  224. package/node_modules/safe-regex-test/.eslintrc +9 -0
  225. package/node_modules/safe-regex-test/.github/FUNDING.yml +12 -0
  226. package/node_modules/safe-regex-test/CHANGELOG.md +15 -0
  227. package/node_modules/safe-regex-test/LICENSE +21 -0
  228. package/node_modules/safe-regex-test/README.md +42 -0
  229. package/node_modules/safe-regex-test/index.js +17 -0
  230. package/node_modules/safe-regex-test/package.json +75 -0
  231. package/node_modules/safe-regex-test/test/index.js +37 -0
  232. package/package.json +12 -12
package/lib/handler.js CHANGED
@@ -32,28 +32,48 @@ const jumpTable = {
32
32
  throw "No PasswordArn provided";
33
33
  const password = await getPassword(props.PasswordArn);
34
34
  if (password) {
35
- return node_pg_format_1.format("create role %I with password %L", resourceId, password);
35
+ const sql = [
36
+ node_pg_format_1.format("create role %I with login password %L", resourceId, password),
37
+ ];
38
+ if (props.DatabaseName) {
39
+ sql.push(node_pg_format_1.format("grant connect on database %I to %I", props.DatabaseName, resourceId));
40
+ }
41
+ return sql;
36
42
  }
37
43
  else {
38
44
  throw `Cannot parse password from ${props.PasswordArn}`;
39
45
  }
40
46
  },
41
47
  Update: async (resourceId, oldResourceId, props) => {
48
+ // TODO: if database name has changed in OldResourceProperties, revoke connect
42
49
  if (props && props.PasswordArn) {
43
50
  const password = await getPassword(props.PasswordArn);
44
51
  if (password) {
45
- return node_pg_format_1.format("alter role %I rename to %I; alter role %I with password %L", oldResourceId, resourceId, resourceId, password);
52
+ const sql = [
53
+ node_pg_format_1.format("alter role %I rename to %I; alter role %I with password %L", oldResourceId, resourceId, resourceId, password),
54
+ ];
55
+ if (props.DatabaseName) {
56
+ sql.push(node_pg_format_1.format("grant connect on database %I to %I", props.DatabaseName, resourceId));
57
+ }
58
+ return sql;
46
59
  }
47
60
  else {
48
61
  throw `Cannot parse password from ${props.PasswordArn}`;
49
62
  }
50
63
  }
51
64
  else {
52
- return node_pg_format_1.format("alter role %I rename to %I", oldResourceId, resourceId);
65
+ return [
66
+ node_pg_format_1.format("alter role %I rename to %I", oldResourceId, resourceId),
67
+ node_pg_format_1.format("grant connect on database %I to %I", props.DatabaseName, resourceId),
68
+ ];
53
69
  }
54
70
  },
55
71
  Delete: (resourceId) => {
56
- return node_pg_format_1.format("drop role if exists %I", resourceId);
72
+ // TODO: if user is owner of a database, assign ownership to master user?
73
+ return [
74
+ node_pg_format_1.format("DO $$BEGIN\nIF EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '%s') THEN revoke all privileges on database postgres from %I; END IF;\nEND$$;", resourceId, resourceId),
75
+ node_pg_format_1.format("drop role if exists %I", resourceId),
76
+ ];
57
77
  },
58
78
  },
59
79
  database: {
@@ -159,6 +179,8 @@ exports.handler = async (event) => {
159
179
  }
160
180
  }
161
181
  let response = {};
182
+ // Except for the SQL resource, return the new resource id. This
183
+ // will cause a delete to be send for the old resource.
162
184
  if (resource !== enum_1.RdsSqlResource.SQL) {
163
185
  response.PhysicalResourceId = resourceId;
164
186
  }
@@ -178,4 +200,4 @@ const getPassword = async (arn) => {
178
200
  return json.password;
179
201
  }
180
202
  };
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRFQUd3QztBQU14QyxtREFBdUM7QUFDdkMsMkJBQTJCO0FBQzNCLGlDQUF1QztBQXVDdkMsTUFBTSxTQUFTLEdBQWM7SUFDM0IsR0FBRyxFQUFFO1FBQ0gsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEtBQVcsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQVUsRUFBRSxLQUFXLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFDeEIsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLEdBQUUsQ0FBQztLQUMxQjtJQUNELE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1lBQ25DLE9BQU8sdUJBQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUM3RCxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLGFBQXFCLEVBQUUsRUFBRTtZQUMxRCxPQUFPLHVCQUFNLENBQUMsOEJBQThCLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzFFLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDN0IsT0FBTyx1QkFBTSxDQUFDLGtDQUFrQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQy9ELENBQUM7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxLQUFnQixFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2dCQUFFLE1BQU0seUJBQXlCLENBQUE7WUFDdkQsTUFB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U0FBUyxFQUFFLEVBQUU7b0JBQzFCLE1BQU0sU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDbEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTthQUNGO1NBQ0Y7Z0JBQVM7WUFDUixNQUFNLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtTQUN0QjtLQUNGO0lBRUQsSUFBSSxRQUFRLEdBQTJCLEVBQUUsQ0FBQTtJQUN6QyxJQUFJLFFBQVEsS0FBSyxxQkFBYyxDQUFDLEdBQUcsRUFBRTtRQUNuQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFBO0tBQ3pDO0lBRUQsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUEwQixFQUFFO0lBQ2hFLE1BQU0sY0FBYyxHQUFHLElBQUksNkNBQW9CLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSw4Q0FBcUIsQ0FBQztRQUN4QyxRQUFRLEVBQUUsR0FBRztLQUNkLENBQUMsQ0FBQTtJQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNqRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDNUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0tBQ3JCO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJDbGllbnQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIlxuaW1wb3J0IHtcbiAgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUNyZWF0ZUV2ZW50LFxuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQsXG4gIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VEZWxldGVFdmVudCxcbn0gZnJvbSBcImF3cy1sYW1iZGFcIlxuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSBcIm5vZGUtcGctZm9ybWF0XCJcbmltcG9ydCB7IENsaWVudCB9IGZyb20gXCJwZ1wiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuXG5pbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VSZXNwb25zZSB7XG4gIFBoeXNpY2FsUmVzb3VyY2VJZD86IHN0cmluZ1xuICBEYXRhPzogYW55XG4gIE5vRWNobz86IGJvb2xlYW5cbn1cblxudHlwZSBDcmVhdGVSZXNvdXJjZUhhbmRsZXIgPSAoXG4gIHJlc291cmNlSWQ6IHN0cmluZyxcbiAgcHJvcHM/OiBhbnlcbikgPT4gUHJvbWlzZTxzdHJpbmcgfCBzdHJpbmdbXT5cbnR5cGUgVXBkYXRlUmVzb3VyY2VIYW5kbGVyID0gKFxuICByZXNvdXJjZUlkOiBzdHJpbmcsXG4gIG9sZFJlc291cmNlSWQ6IHN0cmluZyxcbiAgcHJvcHM/OiBhbnlcbikgPT4gUHJvbWlzZTxzdHJpbmcgfCBzdHJpbmdbXSB8IHZvaWQ+XG50eXBlIERlbGV0ZVJlc291cmNlSGFuZGxlciA9IChyZXNvdXJjZUlkOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiBzdHJpbmcgfCBzdHJpbmdbXSB8IHZvaWRcblxudHlwZSBKdW1wVGFibGUgPSB7XG4gIFtrZXkgaW4gUmRzU3FsUmVzb3VyY2VdOiB7XG4gICAgQ3JlYXRlOiBDcmVhdGVSZXNvdXJjZUhhbmRsZXJcbiAgICBVcGRhdGU6IFVwZGF0ZVJlc291cmNlSGFuZGxlclxuICAgIERlbGV0ZTogRGVsZXRlUmVzb3VyY2VIYW5kbGVyXG4gIH1cbn1cblxuaW50ZXJmYWNlIFJvbGVQcm9wcyB7XG4gIFBhc3N3b3JkQXJuOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMge1xuICBPd25lcjogc3RyaW5nXG59XG5cbmludGVyZmFjZSBEYXRhYmFzZVVwZGF0ZVByb3BzIGV4dGVuZHMgRGF0YWJhc2VQcm9wcyB7XG4gIE1hc3Rlck93bmVyOiBzdHJpbmdcbn1cblxuY29uc3QganVtcFRhYmxlOiBKdW1wVGFibGUgPSB7XG4gIHNxbDoge1xuICAgIENyZWF0ZTogKF86IHN0cmluZywgcHJvcHM/OiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwcm9wcy5TdGF0ZW1lbnRcbiAgICB9LFxuICAgIFVwZGF0ZTogKF86IHN0cmluZywgX186IHN0cmluZywgcHJvcHM/OiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBwcm9wcy5TdGF0ZW1lbnRcbiAgICB9LFxuICAgIERlbGV0ZTogKF86IHN0cmluZykgPT4ge30sXG4gIH0sXG4gIHNjaGVtYToge1xuICAgIENyZWF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGZvcm1hdChcImNyZWF0ZSBzY2hlbWEgaWYgbm90IGV4aXN0cyAlSVwiLCByZXNvdXJjZUlkKVxuICAgIH0sXG4gICAgVXBkYXRlOiBhc3luYyAocmVzb3VyY2VJZDogc3RyaW5nLCBvbGRSZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBmb3JtYXQoXCJhbHRlciBzY2hlbWEgJUkgcmVuYW1lIHRvICVJXCIsIG9sZFJlc291cmNlSWQsIHJlc291cmNlSWQpXG4gICAgfSxcbiAgICBEZWxldGU6IChyZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBmb3JtYXQoXCJkcm9wIHNjaGVtYSBpZiBleGlzdHMgJUkgY2FzY2FkZVwiLCByZXNvdXJjZUlkKVxuICAgIH0sXG4gIH0sXG4gIHJvbGU6IHtcbiAgICBDcmVhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIHByb3BzOiBSb2xlUHJvcHMpID0+IHtcbiAgICAgIGlmICghcHJvcHMuUGFzc3dvcmRBcm4pIHRocm93IFwiTm8gUGFzc3dvcmRBcm4gcHJvdmlkZWRcIlxuICAgICAgY29uc3QgcGFzc3dvcmQgPSBhd2FpdCBnZXRQYXNzd29yZChwcm9wcy5QYXNzd29yZEFybilcbiAgICAgIGlmIChwYXNzd29yZCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0KFwiY3JlYXRlIHJvbGUgJUkgd2l0aCBwYXNzd29yZCAlTFwiLCByZXNvdXJjZUlkLCBwYXNzd29yZClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IGBDYW5ub3QgcGFyc2UgcGFzc3dvcmQgZnJvbSAke3Byb3BzLlBhc3N3b3JkQXJufWBcbiAgICAgIH1cbiAgICB9LFxuICAgIFVwZGF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZywgb2xkUmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wcz86IFJvbGVQcm9wcykgPT4ge1xuICAgICAgaWYgKHByb3BzICYmIHByb3BzLlBhc3N3b3JkQXJuKSB7XG4gICAgICAgIGNvbnN0IHBhc3N3b3JkID0gYXdhaXQgZ2V0UGFzc3dvcmQocHJvcHMuUGFzc3dvcmRBcm4pXG4gICAgICAgIGlmIChwYXNzd29yZCkge1xuICAgICAgICAgIHJldHVybiBmb3JtYXQoXG4gICAgICAgICAgICBcImFsdGVyIHJvbGUgJUkgcmVuYW1lIHRvICVJOyBhbHRlciByb2xlICVJIHdpdGggcGFzc3dvcmQgJUxcIixcbiAgICAgICAgICAgIG9sZFJlc291cmNlSWQsXG4gICAgICAgICAgICByZXNvdXJjZUlkLFxuICAgICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICAgIHBhc3N3b3JkXG4gICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IGBDYW5ub3QgcGFyc2UgcGFzc3dvcmQgZnJvbSAke3Byb3BzLlBhc3N3b3JkQXJufWBcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdChcImFsdGVyIHJvbGUgJUkgcmVuYW1lIHRvICVJXCIsIG9sZFJlc291cmNlSWQsIHJlc291cmNlSWQpXG4gICAgICB9XG4gICAgfSxcbiAgICBEZWxldGU6IChyZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBmb3JtYXQoXCJkcm9wIHJvbGUgaWYgZXhpc3RzICVJXCIsIHJlc291cmNlSWQpXG4gICAgfSxcbiAgfSxcbiAgZGF0YWJhc2U6IHtcbiAgICBDcmVhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSA9PiB7XG4gICAgICBjb25zdCBvd25lciA9IHByb3BzLk93bmVyXG4gICAgICBpZiAob3duZXIpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBmb3JtYXQoXCJjcmVhdGUgZGF0YWJhc2UgJUlcIiwgcmVzb3VyY2VJZCksXG4gICAgICAgICAgZm9ybWF0KFwiYWx0ZXIgZGF0YWJhc2UgJUkgb3duZXIgdG8gJUlcIiwgcmVzb3VyY2VJZCwgb3duZXIpLFxuICAgICAgICBdXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZm9ybWF0KFwiY3JlYXRlIGRhdGFiYXNlICVJXCIsIHJlc291cmNlSWQpXG4gICAgICB9XG4gICAgfSxcbiAgICBVcGRhdGU6IGFzeW5jIChcbiAgICAgIHJlc291cmNlSWQ6IHN0cmluZyxcbiAgICAgIG9sZFJlc291cmNlSWQ6IHN0cmluZyxcbiAgICAgIHByb3BzOiBEYXRhYmFzZVVwZGF0ZVByb3BzXG4gICAgKTogUHJvbWlzZTxzdHJpbmdbXT4gPT4ge1xuICAgICAgY29uc3Qgc3RhdGVtZW50czogc3RyaW5nW10gPSBbXVxuICAgICAgaWYgKHJlc291cmNlSWQgIT09IG9sZFJlc291cmNlSWQpIHtcbiAgICAgICAgaWYgKHByb3BzLk1hc3Rlck93bmVyKSB7XG4gICAgICAgICAgc3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgICAgZm9ybWF0KFwiYWx0ZXIgZGF0YWJhc2UgJUkgb3duZXIgdG8gJUlcIiwgb2xkUmVzb3VyY2VJZCwgcHJvcHMuTWFzdGVyT3duZXIpXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHN0YXRlbWVudHMucHVzaChcbiAgICAgICAgICBmb3JtYXQoXCJhbHRlciBkYXRhYmFzZSAlSSByZW5hbWUgdG8gJUlcIiwgb2xkUmVzb3VyY2VJZCwgcmVzb3VyY2VJZClcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgY29uc3Qgb3duZXIgPSBwcm9wcy5Pd25lclxuICAgICAgaWYgKG93bmVyKSB7XG4gICAgICAgIHN0YXRlbWVudHMucHVzaChmb3JtYXQoXCJhbHRlciBkYXRhYmFzZSAlSSBvd25lciB0byAlSVwiLCByZXNvdXJjZUlkLCBwcm9wcy5Pd25lcikpXG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGVtZW50c1xuICAgIH0sXG4gICAgRGVsZXRlOiAocmVzb3VyY2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBmb3JtYXQoXG4gICAgICAgICAgXCJzZWxlY3QgcGdfdGVybWluYXRlX2JhY2tlbmQocGdfc3RhdF9hY3Rpdml0eS5waWQpIGZyb20gcGdfc3RhdF9hY3Rpdml0eSB3aGVyZSBkYXRuYW1lID0gJUxcIixcbiAgICAgICAgICByZXNvdXJjZUlkXG4gICAgICAgICksXG4gICAgICAgIGZvcm1hdChcImRyb3AgZGF0YWJhc2UgaWYgZXhpc3RzICVJXCIsIHJlc291cmNlSWQpLFxuICAgICAgXVxuICAgIH0sXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKFxuICBldmVudDpcbiAgICB8IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VDcmVhdGVFdmVudFxuICAgIHwgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50XG4gICAgfCBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRGVsZXRlRXZlbnRcbik6IFByb21pc2U8YW55PiA9PiB7XG4gIC8vY29uc29sZS5kZWJ1ZyhcIkVWRU5UXCIsIGV2ZW50KVxuXG4gIGNvbnN0IHJlcXVlc3RUeXBlID0gZXZlbnQuUmVxdWVzdFR5cGVcbiAgY29uc3QgcmVzb3VyY2U6IFJkc1NxbFJlc291cmNlID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlJlc291cmNlXG4gIGNvbnN0IHJlc291cmNlSWQgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuUmVzb3VyY2VJZFxuICBjb25zdCBkYXRhYmFzZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5EYXRhYmFzZVxuXG4gIGlmICghT2JqZWN0LmtleXMoanVtcFRhYmxlKS5pbmNsdWRlcyhldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuUmVzb3VyY2UpKSB7XG4gICAgdGhyb3cgYFJlc291cmNlIHR5cGUgJyR7cmVzb3VyY2V9JyBub3QgcmVjb2duaXNlZC5gXG4gIH1cblxuICBjb25zdCBzZWNyZXRzX2NsaWVudCA9IG5ldyBTZWNyZXRzTWFuYWdlckNsaWVudCh7fSlcbiAgY29uc3QgY29tbWFuZCA9IG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoe1xuICAgIFNlY3JldElkOiBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuU2VjcmV0QXJuLFxuICB9KVxuICBjb25zdCBzZWNyZXQgPSBhd2FpdCBzZWNyZXRzX2NsaWVudC5zZW5kKGNvbW1hbmQpXG4gIGlmICghc2VjcmV0LlNlY3JldFN0cmluZykgdGhyb3cgXCJObyBzZWNyZXQgc3RyaW5nXCJcblxuICBjb25zdCBzZWNyZXRWYWx1ZXMgPSBKU09OLnBhcnNlKHNlY3JldC5TZWNyZXRTdHJpbmcpXG5cbiAgbGV0IHNxbDogc3RyaW5nIHwgc3RyaW5nW10gfCB2b2lkXG4gIHN3aXRjaCAocmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlIFwiQ3JlYXRlXCI6IHtcbiAgICAgIHNxbCA9IGF3YWl0IGp1bXBUYWJsZVtyZXNvdXJjZV1bcmVxdWVzdFR5cGVdKHJlc291cmNlSWQsIGV2ZW50LlJlc291cmNlUHJvcGVydGllcylcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgXCJVcGRhdGVcIjoge1xuICAgICAgY29uc3Qgb2xkUmVzb3VyY2VJZCA9IChldmVudCBhcyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlVXBkYXRlRXZlbnQpXG4gICAgICAgIC5QaHlzaWNhbFJlc291cmNlSWRcbiAgICAgIHNxbCA9IGF3YWl0IGp1bXBUYWJsZVtyZXNvdXJjZV1bcmVxdWVzdFR5cGVdKHJlc291cmNlSWQsIG9sZFJlc291cmNlSWQsIHtcbiAgICAgICAgLi4uZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLFxuICAgICAgICBNYXN0ZXJPd25lcjogc2VjcmV0VmFsdWVzLnVzZXJuYW1lLFxuICAgICAgfSlcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgXCJEZWxldGVcIjoge1xuICAgICAgY29uc3Qgb2xkUmVzb3VyY2VJZCA9IChldmVudCBhcyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRGVsZXRlRXZlbnQpXG4gICAgICAgIC5QaHlzaWNhbFJlc291cmNlSWRcbiAgICAgIHNxbCA9IGp1bXBUYWJsZVtyZXNvdXJjZV1bcmVxdWVzdFR5cGVdKHJlc291cmNlSWQsIG9sZFJlc291cmNlSWQpXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmIChzcWwpIHtcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJEQVRBQkFTRVwiLCBkYXRhYmFzZSlcbiAgICBjb25zb2xlLmRlYnVnKFwiU1FMXCIsIHNxbClcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBob3N0OiBzZWNyZXRWYWx1ZXMuaG9zdCxcbiAgICAgIHBvcnQ6IHNlY3JldFZhbHVlcy5wb3J0LFxuICAgICAgdXNlcjogc2VjcmV0VmFsdWVzLnVzZXJuYW1lLFxuICAgICAgcGFzc3dvcmQ6IHNlY3JldFZhbHVlcy5wYXNzd29yZCxcbiAgICAgIGRhdGFiYXNlOiBkYXRhYmFzZSxcbiAgICAgIGNvbm5lY3Rpb25UaW1lb3V0TWlsbGlzOiAyMDAwLCAvLyByZXR1cm4gYW4gZXJyb3IgaWYgYSBjb25uZWN0aW9uIGNvdWxkIG5vdCBiZSBlc3RhYmxpc2hlZCB3aXRoaW4gMiBzZWNvbmRzXG4gICAgfVxuICAgIC8vY29uc29sZS5kZWJ1ZyAoXCJQQVJBTVNcIiwgcGFyYW1zKVxuICAgIGNvbnN0IHBnX2NsaWVudCA9IG5ldyBDbGllbnQocGFyYW1zKVxuICAgIGF3YWl0IHBnX2NsaWVudC5jb25uZWN0KClcbiAgICB0cnkge1xuICAgICAgaWYgKHR5cGVvZiBzcWwgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgYXdhaXQgcGdfY2xpZW50LnF1ZXJ5KHNxbClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgIHNxbC5tYXAoYXN5bmMgKHN0YXRlbWVudCkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgcGdfY2xpZW50LnF1ZXJ5KHN0YXRlbWVudClcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHBnX2NsaWVudC5lbmQoKVxuICAgIH1cbiAgfVxuXG4gIGxldCByZXNwb25zZTogQ3VzdG9tUmVzb3VyY2VSZXNwb25zZSA9IHt9XG4gIGlmIChyZXNvdXJjZSAhPT0gUmRzU3FsUmVzb3VyY2UuU1FMKSB7XG4gICAgcmVzcG9uc2UuUGh5c2ljYWxSZXNvdXJjZUlkID0gcmVzb3VyY2VJZFxuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlXG59XG5cbi8qKlxuICogUGFyc2UgcGFzc3dvcmQgZmllbGQgZnJvbSBzZWNyZXQuIFJldHVybnMgdm9pZCBvbiBlcnJvci5cbiAqL1xuY29uc3QgZ2V0UGFzc3dvcmQgPSBhc3luYyAoYXJuOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHZvaWQ+ID0+IHtcbiAgY29uc3Qgc2VjcmV0c19jbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoe30pXG4gIGNvbnN0IGNvbW1hbmQgPSBuZXcgR2V0U2VjcmV0VmFsdWVDb21tYW5kKHtcbiAgICBTZWNyZXRJZDogYXJuLFxuICB9KVxuICBjb25zdCBzZWNyZXQgPSBhd2FpdCBzZWNyZXRzX2NsaWVudC5zZW5kKGNvbW1hbmQpXG4gIGlmIChzZWNyZXQuU2VjcmV0U3RyaW5nKSB7XG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2Uoc2VjcmV0LlNlY3JldFN0cmluZylcbiAgICByZXR1cm4ganNvbi5wYXNzd29yZFxuICB9XG59XG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRFQUd3QztBQU14QyxtREFBdUM7QUFDdkMsMkJBQTJCO0FBQzNCLGlDQUF1QztBQStDdkMsTUFBTSxTQUFTLEdBQWM7SUFDM0IsR0FBRyxFQUFFO1FBQ0gsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEtBQVcsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQTtRQUN4QixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQVUsRUFBRSxLQUFXLEVBQUUsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFDeEIsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLEdBQUUsQ0FBQztLQUMxQjtJQUNELE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1lBQ25DLE9BQU8sdUJBQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUM3RCxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLGFBQXFCLEVBQUUsRUFBRTtZQUMxRCxPQUFPLHVCQUFNLENBQUMsOEJBQThCLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzFFLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDN0IsT0FBTyx1QkFBTSxDQUFDLGtDQUFrQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQy9ELENBQUM7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBa0IsRUFBRSxLQUFnQixFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2dCQUFFLE1BQU0seUJBQXlCLENBQUE7WUFDdkQsTUFB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QUFjLEdBQUcsSUFBSSw2Q0FBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDhDQUFxQixDQUFDO1FBQ3hDLFFBQVEsRUFBRSxHQUFHO0tBQ2QsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2pELElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtRQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7S0FDckI7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZWNyZXRzTWFuYWdlckNsaWVudCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiXG5pbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlQ3JlYXRlRXZlbnQsXG4gIENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudCxcbiAgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50LFxufSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tIFwibm9kZS1wZy1mb3JtYXRcIlxuaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSBcInBnXCJcbmltcG9ydCB7IFJkc1NxbFJlc291cmNlIH0gZnJvbSBcIi4vZW51bVwiXG5cbmludGVyZmFjZSBDdXN0b21SZXNvdXJjZVJlc3BvbnNlIHtcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nXG4gIERhdGE/OiBhbnlcbiAgTm9FY2hvPzogYm9vbGVhblxufVxuXG50eXBlIENyZWF0ZVJlc291cmNlSGFuZGxlciA9IChcbiAgcmVzb3VyY2VJZDogc3RyaW5nLFxuICBwcm9wcz86IGFueVxuKSA9PiBQcm9taXNlPHN0cmluZyB8IHN0cmluZ1tdPlxudHlwZSBVcGRhdGVSZXNvdXJjZUhhbmRsZXIgPSAoXG4gIHJlc291cmNlSWQ6IHN0cmluZyxcbiAgb2xkUmVzb3VyY2VJZDogc3RyaW5nLFxuICBwcm9wcz86IGFueVxuKSA9PiBQcm9taXNlPHN0cmluZyB8IHN0cmluZ1tdIHwgdm9pZD5cbnR5cGUgRGVsZXRlUmVzb3VyY2VIYW5kbGVyID0gKHJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM/OiBhbnkpID0+IHN0cmluZyB8IHN0cmluZ1tdIHwgdm9pZFxuXG50eXBlIEp1bXBUYWJsZSA9IHtcbiAgW2tleSBpbiBSZHNTcWxSZXNvdXJjZV06IHtcbiAgICBDcmVhdGU6IENyZWF0ZVJlc291cmNlSGFuZGxlclxuICAgIFVwZGF0ZTogVXBkYXRlUmVzb3VyY2VIYW5kbGVyXG4gICAgRGVsZXRlOiBEZWxldGVSZXNvdXJjZUhhbmRsZXJcbiAgfVxufVxuXG5pbnRlcmZhY2UgUm9sZVByb3BzIHtcbiAgLyoqXG4gICAqIFNlY3JldCBBUk4uXG4gICAqL1xuICBQYXNzd29yZEFybjogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlIHRvIHdoaWNoIHJvbGUgaXMgZ3JhbnRlZCBjb25uZWN0IHBlcm1pc3Npb25zLlxuICAgKi9cbiAgRGF0YWJhc2VOYW1lPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBEYXRhYmFzZVByb3BzIHtcbiAgT3duZXI6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgRGF0YWJhc2VVcGRhdGVQcm9wcyBleHRlbmRzIERhdGFiYXNlUHJvcHMge1xuICBNYXN0ZXJPd25lcjogc3RyaW5nXG59XG5cbmNvbnN0IGp1bXBUYWJsZTogSnVtcFRhYmxlID0ge1xuICBzcWw6IHtcbiAgICBDcmVhdGU6IChfOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcHJvcHMuU3RhdGVtZW50XG4gICAgfSxcbiAgICBVcGRhdGU6IChfOiBzdHJpbmcsIF9fOiBzdHJpbmcsIHByb3BzPzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcHJvcHMuU3RhdGVtZW50XG4gICAgfSxcbiAgICBEZWxldGU6IChfOiBzdHJpbmcpID0+IHt9LFxuICB9LFxuICBzY2hlbWE6IHtcbiAgICBDcmVhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBmb3JtYXQoXCJjcmVhdGUgc2NoZW1hIGlmIG5vdCBleGlzdHMgJUlcIiwgcmVzb3VyY2VJZClcbiAgICB9LFxuICAgIFVwZGF0ZTogYXN5bmMgKHJlc291cmNlSWQ6IHN0cmluZywgb2xkUmVzb3VyY2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gZm9ybWF0KFwiYWx0ZXIgc2NoZW1hICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKVxuICAgIH0sXG4gICAgRGVsZXRlOiAocmVzb3VyY2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gZm9ybWF0KFwiZHJvcCBzY2hlbWEgaWYgZXhpc3RzICVJIGNhc2NhZGVcIiwgcmVzb3VyY2VJZClcbiAgICB9LFxuICB9LFxuICByb2xlOiB7XG4gICAgQ3JlYXRlOiBhc3luYyAocmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSA9PiB7XG4gICAgICBpZiAoIXByb3BzLlBhc3N3b3JkQXJuKSB0aHJvdyBcIk5vIFBhc3N3b3JkQXJuIHByb3ZpZGVkXCJcbiAgICAgIGNvbnN0IHBhc3N3b3JkID0gYXdhaXQgZ2V0UGFzc3dvcmQocHJvcHMuUGFzc3dvcmRBcm4pXG4gICAgICBpZiAocGFzc3dvcmQpIHtcbiAgICAgICAgY29uc3Qgc3FsID0gW1xuICAgICAgICAgIGZvcm1hdChcImNyZWF0ZSByb2xlICVJIHdpdGggbG9naW4gcGFzc3dvcmQgJUxcIiwgcmVzb3VyY2VJZCwgcGFzc3dvcmQpLFxuICAgICAgICBdXG4gICAgICAgIGlmIChwcm9wcy5EYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgICBzcWwucHVzaChcbiAgICAgICAgICAgIGZvcm1hdChcImdyYW50IGNvbm5lY3Qgb24gZGF0YWJhc2UgJUkgdG8gJUlcIiwgcHJvcHMuRGF0YWJhc2VOYW1lLCByZXNvdXJjZUlkKVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3FsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBgQ2Fubm90IHBhcnNlIHBhc3N3b3JkIGZyb20gJHtwcm9wcy5QYXNzd29yZEFybn1gXG4gICAgICB9XG4gICAgfSxcbiAgICBVcGRhdGU6IGFzeW5jIChyZXNvdXJjZUlkOiBzdHJpbmcsIG9sZFJlc291cmNlSWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykgPT4ge1xuICAgICAgLy8gVE9ETzogaWYgZGF0YWJhc2UgbmFtZSBoYXMgY2hhbmdlZCBpbiBPbGRSZXNvdXJjZVByb3BlcnRpZXMsIHJldm9rZSBjb25uZWN0XG4gICAgICBpZiAocHJvcHMgJiYgcHJvcHMuUGFzc3dvcmRBcm4pIHtcbiAgICAgICAgY29uc3QgcGFzc3dvcmQgPSBhd2FpdCBnZXRQYXNzd29yZChwcm9wcy5QYXNzd29yZEFybilcbiAgICAgICAgaWYgKHBhc3N3b3JkKSB7XG4gICAgICAgICAgY29uc3Qgc3FsID0gW1xuICAgICAgICAgICAgZm9ybWF0KFxuICAgICAgICAgICAgICBcImFsdGVyIHJvbGUgJUkgcmVuYW1lIHRvICVJOyBhbHRlciByb2xlICVJIHdpdGggcGFzc3dvcmQgJUxcIixcbiAgICAgICAgICAgICAgb2xkUmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcmVzb3VyY2VJZCxcbiAgICAgICAgICAgICAgcGFzc3dvcmRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXVxuICAgICAgICAgIGlmIChwcm9wcy5EYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgICAgIHNxbC5wdXNoKFxuICAgICAgICAgICAgICBmb3JtYXQoXCJncmFudCBjb25uZWN0IG9uIGRhdGFiYXNlICVJIHRvICVJXCIsIHByb3BzLkRhdGFiYXNlTmFtZSwgcmVzb3VyY2VJZClcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNxbFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IGBDYW5ub3QgcGFyc2UgcGFzc3dvcmQgZnJvbSAke3Byb3BzLlBhc3N3b3JkQXJufWBcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBmb3JtYXQoXCJhbHRlciByb2xlICVJIHJlbmFtZSB0byAlSVwiLCBvbGRSZXNvdXJjZUlkLCByZXNvdXJjZUlkKSxcbiAgICAgICAgICBmb3JtYXQoXCJncmFudCBjb25uZWN0IG9uIGRhdGFiYXNlICVJIHRvICVJXCIsIHByb3BzLkRhdGFiYXNlTmFtZSwgcmVzb3VyY2VJZCksXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIERlbGV0ZTogKHJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgLy8gVE9ETzogaWYgdXNlciBpcyBvd25lciBvZiBhIGRhdGFiYXNlLCBhc3NpZ24gb3duZXJzaGlwIHRvIG1hc3RlciB1c2VyP1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgZm9ybWF0KFxuICAgICAgICAgIFwiRE8gJCRCRUdJTlxcbklGIEVYSVNUUyAoU0VMRUNUIEZST00gcGdfY2F0YWxvZy5wZ19yb2xlcyBXSEVSRSByb2xuYW1lID0gJyVzJykgVEhFTiByZXZva2UgYWxsIHByaXZpbGVnZXMgb24gZGF0YWJhc2UgcG9zdGdyZXMgZnJvbSAlSTsgRU5EIElGO1xcbkVORCQkO1wiLFxuICAgICAgICAgIHJlc291cmNlSWQsXG4gICAgICAgICAgcmVzb3VyY2VJZFxuICAgICAgICApLFxuICAgICAgICBmb3JtYXQoXCJkcm9wIHJvbGUgaWYgZXhpc3RzICVJXCIsIHJlc291cmNlSWQpLFxuICAgICAgXVxuICAgIH0sXG4gIH0sXG4gIGRhdGFiYXNlOiB7XG4gICAgQ3JlYXRlOiBhc3luYyAocmVzb3VyY2VJZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykgPT4ge1xuICAgICAgY29uc3Qgb3duZXIgPSBwcm9wcy5Pd25lclxuICAgICAgaWYgKG93bmVyKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgZm9ybWF0KFwiY3JlYXRlIGRhdGFiYXNlICVJXCIsIHJlc291cmNlSWQpLFxuICAgICAgICAgIGZvcm1hdChcImFsdGVyIGRhdGFiYXNlICVJIG93bmVyIHRvICVJXCIsIHJlc291cmNlSWQsIG93bmVyKSxcbiAgICAgICAgXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdChcImNyZWF0ZSBkYXRhYmFzZSAlSVwiLCByZXNvdXJjZUlkKVxuICAgICAgfVxuICAgIH0sXG4gICAgVXBkYXRlOiBhc3luYyAoXG4gICAgICByZXNvdXJjZUlkOiBzdHJpbmcsXG4gICAgICBvbGRSZXNvdXJjZUlkOiBzdHJpbmcsXG4gICAgICBwcm9wczogRGF0YWJhc2VVcGRhdGVQcm9wc1xuICAgICk6IFByb21pc2U8c3RyaW5nW10+ID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudHM6IHN0cmluZ1tdID0gW11cbiAgICAgIGlmIChyZXNvdXJjZUlkICE9PSBvbGRSZXNvdXJjZUlkKSB7XG4gICAgICAgIGlmIChwcm9wcy5NYXN0ZXJPd25lcikge1xuICAgICAgICAgIHN0YXRlbWVudHMucHVzaChcbiAgICAgICAgICAgIGZvcm1hdChcImFsdGVyIGRhdGFiYXNlICVJIG93bmVyIHRvICVJXCIsIG9sZFJlc291cmNlSWQsIHByb3BzLk1hc3Rlck93bmVyKVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBzdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgICAgZm9ybWF0KFwiYWx0ZXIgZGF0YWJhc2UgJUkgcmVuYW1lIHRvICVJXCIsIG9sZFJlc291cmNlSWQsIHJlc291cmNlSWQpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGNvbnN0IG93bmVyID0gcHJvcHMuT3duZXJcbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICBzdGF0ZW1lbnRzLnB1c2goZm9ybWF0KFwiYWx0ZXIgZGF0YWJhc2UgJUkgb3duZXIgdG8gJUlcIiwgcmVzb3VyY2VJZCwgcHJvcHMuT3duZXIpKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlbWVudHNcbiAgICB9LFxuICAgIERlbGV0ZTogKHJlc291cmNlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgZm9ybWF0KFxuICAgICAgICAgIFwic2VsZWN0IHBnX3Rlcm1pbmF0ZV9iYWNrZW5kKHBnX3N0YXRfYWN0aXZpdHkucGlkKSBmcm9tIHBnX3N0YXRfYWN0aXZpdHkgd2hlcmUgZGF0bmFtZSA9ICVMXCIsXG4gICAgICAgICAgcmVzb3VyY2VJZFxuICAgICAgICApLFxuICAgICAgICBmb3JtYXQoXCJkcm9wIGRhdGFiYXNlIGlmIGV4aXN0cyAlSVwiLCByZXNvdXJjZUlkKSxcbiAgICAgIF1cbiAgICB9LFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChcbiAgZXZlbnQ6XG4gICAgfCBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlQ3JlYXRlRXZlbnRcbiAgICB8IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VVcGRhdGVFdmVudFxuICAgIHwgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50XG4pOiBQcm9taXNlPGFueT4gPT4ge1xuICAvL2NvbnNvbGUuZGVidWcoXCJFVkVOVFwiLCBldmVudClcblxuICBjb25zdCByZXF1ZXN0VHlwZSA9IGV2ZW50LlJlcXVlc3RUeXBlXG4gIGNvbnN0IHJlc291cmNlOiBSZHNTcWxSZXNvdXJjZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZUlkID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlJlc291cmNlSWRcbiAgY29uc3QgZGF0YWJhc2UgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRGF0YWJhc2VcblxuICBpZiAoIU9iamVjdC5rZXlzKGp1bXBUYWJsZSkuaW5jbHVkZXMoZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlJlc291cmNlKSkge1xuICAgIHRocm93IGBSZXNvdXJjZSB0eXBlICcke3Jlc291cmNlfScgbm90IHJlY29nbmlzZWQuYFxuICB9XG5cbiAgY29uc3Qgc2VjcmV0c19jbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoe30pXG4gIGNvbnN0IGNvbW1hbmQgPSBuZXcgR2V0U2VjcmV0VmFsdWVDb21tYW5kKHtcbiAgICBTZWNyZXRJZDogZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlNlY3JldEFybixcbiAgfSlcbiAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgc2VjcmV0c19jbGllbnQuc2VuZChjb21tYW5kKVxuICBpZiAoIXNlY3JldC5TZWNyZXRTdHJpbmcpIHRocm93IFwiTm8gc2VjcmV0IHN0cmluZ1wiXG5cbiAgY29uc3Qgc2VjcmV0VmFsdWVzID0gSlNPTi5wYXJzZShzZWNyZXQuU2VjcmV0U3RyaW5nKVxuXG4gIGxldCBzcWw6IHN0cmluZyB8IHN0cmluZ1tdIHwgdm9pZFxuICBzd2l0Y2ggKHJlcXVlc3RUeXBlKSB7XG4gICAgY2FzZSBcIkNyZWF0ZVwiOiB7XG4gICAgICBzcWwgPSBhd2FpdCBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMpXG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlIFwiVXBkYXRlXCI6IHtcbiAgICAgIGNvbnN0IG9sZFJlc291cmNlSWQgPSAoZXZlbnQgYXMgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVVwZGF0ZUV2ZW50KVxuICAgICAgICAuUGh5c2ljYWxSZXNvdXJjZUlkXG4gICAgICBzcWwgPSBhd2FpdCBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBvbGRSZXNvdXJjZUlkLCB7XG4gICAgICAgIC4uLmV2ZW50LlJlc291cmNlUHJvcGVydGllcyxcbiAgICAgICAgTWFzdGVyT3duZXI6IHNlY3JldFZhbHVlcy51c2VybmFtZSxcbiAgICAgIH0pXG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlIFwiRGVsZXRlXCI6IHtcbiAgICAgIGNvbnN0IG9sZFJlc291cmNlSWQgPSAoZXZlbnQgYXMgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZURlbGV0ZUV2ZW50KVxuICAgICAgICAuUGh5c2ljYWxSZXNvdXJjZUlkXG4gICAgICBzcWwgPSBqdW1wVGFibGVbcmVzb3VyY2VdW3JlcXVlc3RUeXBlXShyZXNvdXJjZUlkLCBvbGRSZXNvdXJjZUlkKVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoc3FsKSB7XG4gICAgLy9jb25zb2xlLmRlYnVnKFwiREFUQUJBU0VcIiwgZGF0YWJhc2UpXG4gICAgY29uc29sZS5kZWJ1ZyhcIlNRTFwiLCBzcWwpXG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgaG9zdDogc2VjcmV0VmFsdWVzLmhvc3QsXG4gICAgICBwb3J0OiBzZWNyZXRWYWx1ZXMucG9ydCxcbiAgICAgIHVzZXI6IHNlY3JldFZhbHVlcy51c2VybmFtZSxcbiAgICAgIHBhc3N3b3JkOiBzZWNyZXRWYWx1ZXMucGFzc3dvcmQsXG4gICAgICBkYXRhYmFzZTogZGF0YWJhc2UsXG4gICAgICBjb25uZWN0aW9uVGltZW91dE1pbGxpczogMjAwMCwgLy8gcmV0dXJuIGFuIGVycm9yIGlmIGEgY29ubmVjdGlvbiBjb3VsZCBub3QgYmUgZXN0YWJsaXNoZWQgd2l0aGluIDIgc2Vjb25kc1xuICAgIH1cbiAgICAvL2NvbnNvbGUuZGVidWcgKFwiUEFSQU1TXCIsIHBhcmFtcylcbiAgICBjb25zdCBwZ19jbGllbnQgPSBuZXcgQ2xpZW50KHBhcmFtcylcbiAgICBhd2FpdCBwZ19jbGllbnQuY29ubmVjdCgpXG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2Ygc3FsID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGF3YWl0IHBnX2NsaWVudC5xdWVyeShzcWwpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICBzcWwubWFwKGFzeW5jIChzdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHBnX2NsaWVudC5xdWVyeShzdGF0ZW1lbnQpXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBwZ19jbGllbnQuZW5kKClcbiAgICB9XG4gIH1cblxuICBsZXQgcmVzcG9uc2U6IEN1c3RvbVJlc291cmNlUmVzcG9uc2UgPSB7fVxuICAvLyBFeGNlcHQgZm9yIHRoZSBTUUwgcmVzb3VyY2UsIHJldHVybiB0aGUgbmV3IHJlc291cmNlIGlkLiBUaGlzXG4gIC8vIHdpbGwgY2F1c2UgYSBkZWxldGUgdG8gYmUgc2VuZCBmb3IgdGhlIG9sZCByZXNvdXJjZS5cbiAgaWYgKHJlc291cmNlICE9PSBSZHNTcWxSZXNvdXJjZS5TUUwpIHtcbiAgICByZXNwb25zZS5QaHlzaWNhbFJlc291cmNlSWQgPSByZXNvdXJjZUlkXG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2Vcbn1cblxuLyoqXG4gKiBQYXJzZSBwYXNzd29yZCBmaWVsZCBmcm9tIHNlY3JldC4gUmV0dXJucyB2b2lkIG9uIGVycm9yLlxuICovXG5jb25zdCBnZXRQYXNzd29yZCA9IGFzeW5jIChhcm46IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdm9pZD4gPT4ge1xuICBjb25zdCBzZWNyZXRzX2NsaWVudCA9IG5ldyBTZWNyZXRzTWFuYWdlckNsaWVudCh7fSlcbiAgY29uc3QgY29tbWFuZCA9IG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoe1xuICAgIFNlY3JldElkOiBhcm4sXG4gIH0pXG4gIGNvbnN0IHNlY3JldCA9IGF3YWl0IHNlY3JldHNfY2xpZW50LnNlbmQoY29tbWFuZClcbiAgaWYgKHNlY3JldC5TZWNyZXRTdHJpbmcpIHtcbiAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShzZWNyZXQuU2VjcmV0U3RyaW5nKVxuICAgIHJldHVybiBqc29uLnBhc3N3b3JkXG4gIH1cbn1cbiJdfQ==
package/lib/provider.js CHANGED
@@ -43,7 +43,7 @@ class Provider extends constructs_1.Construct {
43
43
  }
44
44
  exports.Provider = Provider;
45
45
  _a = JSII_RTTI_SYMBOL_1;
46
- Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "1.0.1" };
46
+ Provider[_a] = { fqn: "cdk-rds-sql.Provider", version: "1.1.1" };
47
47
  function slugify(x) {
48
48
  return x.replace(/[^a-zA-Z0-9]/g, "");
49
49
  }
@@ -1,5 +1,6 @@
1
1
  import { CustomResource } from "aws-cdk-lib";
2
2
  import { Construct } from "constructs";
3
+ import { IDatabase } from "./database";
3
4
  import { Provider } from "./provider";
4
5
  export interface RoleProps {
5
6
  /**
@@ -16,6 +17,12 @@ export interface RoleProps {
16
17
  * Optionally encrypt it with the given key.
17
18
  */
18
19
  readonly passwordArn: string;
20
+ /**
21
+ * Database to which this user gets access.
22
+ *
23
+ * @default no database connect is granted
24
+ */
25
+ readonly database?: IDatabase;
19
26
  }
20
27
  export declare class Role extends CustomResource {
21
28
  constructor(scope: Construct, id: string, props: RoleProps);
@@ -12,10 +12,13 @@ class Role extends aws_cdk_lib_1.CustomResource {
12
12
  ResourceId: props.roleName,
13
13
  SecretArn: props.provider.secret.secretArn,
14
14
  PasswordArn: props.passwordArn,
15
+ DatabaseName: props.database ? props.database.databaseName : undefined,
15
16
  },
16
17
  });
17
18
  this.node.addDependency(props.provider);
19
+ if (props.database)
20
+ this.node.addDependency(props.database);
18
21
  }
19
22
  }
20
23
  exports.Role = Role;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5jdXN0b20tcmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcm9sZS5jdXN0b20tcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBRTVDLGlDQUF1QztBQXNCdkMsTUFBYSxJQUFLLFNBQVEsNEJBQWM7SUFDdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQjtRQUN4RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLElBQUk7Z0JBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDMUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVM7Z0JBQzFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVzthQUMvQjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0NBQ0Y7QUFiRCxvQkFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbVJlc291cmNlIH0gZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCB7IFJkc1NxbFJlc291cmNlIH0gZnJvbSBcIi4vZW51bVwiXG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcblxuZXhwb3J0IGludGVyZmFjZSBSb2xlUHJvcHMge1xuICAvKipcbiAgICogUHJvdmlkZXIuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogUHJvdmlkZXJcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBBIG5ldyBzZWNyZXQgaXMgY3JlYXRlZCBmb3IgdGhpcyB1c2VyLlxuICAgKlxuICAgKiBPcHRpb25hbGx5IGVuY3J5cHQgaXQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuICAgKi9cbiAgcmVhZG9ubHkgcGFzc3dvcmRBcm46IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgUm9sZSBleHRlbmRzIEN1c3RvbVJlc291cmNlIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvbGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5ST0xFLFxuICAgICAgICBSZXNvdXJjZUlkOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgICAgU2VjcmV0QXJuOiBwcm9wcy5wcm92aWRlci5zZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBQYXNzd29yZEFybjogcHJvcHMucGFzc3dvcmRBcm4sXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gIH1cbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5jdXN0b20tcmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcm9sZS5jdXN0b20tcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBRzVDLGlDQUF1QztBQTZCdkMsTUFBYSxJQUFLLFNBQVEsNEJBQWM7SUFDdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQjtRQUN4RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLElBQUk7Z0JBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDMUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVM7Z0JBQzFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ3ZFO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksS0FBSyxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDN0QsQ0FBQztDQUNGO0FBZkQsb0JBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIFNRTC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogQSBuZXcgc2VjcmV0IGlzIGNyZWF0ZWQgZm9yIHRoaXMgdXNlci5cbiAgICpcbiAgICogT3B0aW9uYWxseSBlbmNyeXB0IGl0IHdpdGggdGhlIGdpdmVuIGtleS5cbiAgICovXG4gIHJlYWRvbmx5IHBhc3N3b3JkQXJuOiBzdHJpbmdcblxuICAvKipcbiAgICogRGF0YWJhc2UgdG8gd2hpY2ggdGhpcyB1c2VyIGdldHMgYWNjZXNzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBkYXRhYmFzZSBjb25uZWN0IGlzIGdyYW50ZWRcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlPzogSURhdGFiYXNlXG59XG5cbmV4cG9ydCBjbGFzcyBSb2xlIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3BzLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgUmVzb3VyY2U6IFJkc1NxbFJlc291cmNlLlJPTEUsXG4gICAgICAgIFJlc291cmNlSWQ6IHByb3BzLnJvbGVOYW1lLFxuICAgICAgICBTZWNyZXRBcm46IHByb3BzLnByb3ZpZGVyLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIFBhc3N3b3JkQXJuOiBwcm9wcy5wYXNzd29yZEFybixcbiAgICAgICAgRGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZSA/IHByb3BzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfSlcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5wcm92aWRlcilcbiAgICBpZiAocHJvcHMuZGF0YWJhc2UpIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmRhdGFiYXNlKVxuICB9XG59XG4iXX0=
package/lib/role.d.ts CHANGED
@@ -2,6 +2,7 @@ import * as kms from "aws-cdk-lib/aws-kms";
2
2
  import { ServerlessCluster } from "aws-cdk-lib/aws-rds";
3
3
  import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
4
4
  import { Construct } from "constructs";
5
+ import { IDatabase } from "./database";
5
6
  import { Provider } from "./provider";
6
7
  export interface RoleProps {
7
8
  /**
@@ -13,9 +14,11 @@ export interface RoleProps {
13
14
  */
14
15
  readonly roleName: string;
15
16
  /**
16
- * Database name this user is expected to use.
17
+ * Ootional database name this user is expected to use.
18
+ *
19
+ * @default no connection to any database is granted
17
20
  */
18
- readonly databaseName: string;
21
+ readonly database?: IDatabase;
19
22
  /**
20
23
  * Database cluster to access.
21
24
  */
package/lib/role.js CHANGED
@@ -21,7 +21,7 @@ class Role extends constructs_1.Construct {
21
21
  host: props.cluster.clusterEndpoint.hostname,
22
22
  port: props.cluster.clusterEndpoint.port,
23
23
  username: props.roleName,
24
- dbname: props.databaseName,
24
+ dbname: props.database ? props.database.databaseName : undefined,
25
25
  }),
26
26
  generateStringKey: "password",
27
27
  excludeCharacters: " %+~`#$&*()|[]{}:;<>?!'/@\"\\",
@@ -32,6 +32,7 @@ class Role extends constructs_1.Construct {
32
32
  provider: props.provider,
33
33
  roleName: props.roleName,
34
34
  passwordArn: this.secret.secretArn,
35
+ database: props.database,
35
36
  });
36
37
  role.node.addDependency(this.secret);
37
38
  this.roleName = props.roleName;
@@ -40,5 +41,5 @@ class Role extends constructs_1.Construct {
40
41
  }
41
42
  exports.Role = Role;
42
43
  _a = JSII_RTTI_SYMBOL_1;
43
- Role[_a] = { fqn: "cdk-rds-sql.Role", version: "1.0.1" };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTJDO0FBRzNDLHVFQUFnRTtBQUNoRSwyQ0FBc0M7QUFFdEMsaUVBQW1FO0FBK0JuRSxNQUFhLElBQUssU0FBUSxzQkFBUztJQVdqQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDJCQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN2QyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsV0FBVyxFQUFFLHNDQUFzQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ25FLG9CQUFvQixFQUFFO2dCQUNwQixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUI7b0JBQ3BELE1BQU0sRUFBRSxVQUFVO29CQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUTtvQkFDNUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUk7b0JBQ3hDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtvQkFDeEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxZQUFZO2lCQUMzQixDQUFDO2dCQUNGLGlCQUFpQixFQUFFLFVBQVU7Z0JBQzdCLGlCQUFpQixFQUFFLCtCQUErQjthQUNuRDtZQUNELGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87U0FDckMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSwyQkFBa0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztTQUNuQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFBO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDL0MsQ0FBQzs7QUF2Q0gsb0JBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBrbXMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIlxuaW1wb3J0IHsgU2VydmVybGVzc0NsdXN0ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiXG5pbXBvcnQgeyBJU2VjcmV0LCBTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCJcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuaW1wb3J0IHsgUm9sZSBhcyBDdXN0b21SZXNvdXJjZVJvbGUgfSBmcm9tIFwiLi9yb2xlLmN1c3RvbS1yZXNvdXJjZVwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIFNRTC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogRGF0YWJhc2UgbmFtZSB0aGlzIHVzZXIgaXMgZXhwZWN0ZWQgdG8gdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogRGF0YWJhc2UgY2x1c3RlciB0byBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBTZXJ2ZXJsZXNzQ2x1c3RlclxuXG4gIC8qKlxuICAgKiBBIG5ldyBzZWNyZXQgaXMgY3JlYXRlZCBmb3IgdGhpcyB1c2VyLlxuICAgKlxuICAgKiBPcHRpb25hbGx5IGVuY3J5cHQgaXQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5XG59XG5cbmV4cG9ydCBjbGFzcyBSb2xlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSByb2xlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUaGUgZ2VuZXJhdGVkIHNlY3JldC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ6IElTZWNyZXRcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuICAgIHRoaXMuc2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBcIlNlY3JldFwiLCB7XG4gICAgICBlbmNyeXB0aW9uS2V5OiBwcm9wcy5lbmNyeXB0aW9uS2V5LFxuICAgICAgZGVzY3JpcHRpb246IGBHZW5lcmF0ZWQgc2VjcmV0IGZvciBwb3N0Z3JlcyByb2xlICR7cHJvcHMucm9sZU5hbWV9YCxcbiAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgIHBhc3N3b3JkTGVuZ3RoOiAzMCwgLy8gT3JhY2xlIHBhc3N3b3JkIGNhbm5vdCBoYXZlIG1vcmUgdGhhbiAzMCBjaGFyYWN0ZXJzXG4gICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZGJDbHVzdGVySWRlbnRpZmllcjogcHJvcHMuY2x1c3Rlci5jbHVzdGVySWRlbnRpZmllcixcbiAgICAgICAgICBlbmdpbmU6IFwicG9zdGdyZXNcIixcbiAgICAgICAgICBob3N0OiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJFbmRwb2ludC5ob3N0bmFtZSxcbiAgICAgICAgICBwb3J0OiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJFbmRwb2ludC5wb3J0LFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgICAgICBkYm5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiBcInBhc3N3b3JkXCIsXG4gICAgICAgIGV4Y2x1ZGVDaGFyYWN0ZXJzOiBcIiAlK35gIyQmKigpfFtde306Ozw+PyEnL0BcXFwiXFxcXFwiLFxuICAgICAgfSxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICB9KVxuICAgIGNvbnN0IHJvbGUgPSBuZXcgQ3VzdG9tUmVzb3VyY2VSb2xlKHRoaXMsIFwiUG9zdGdyZXNSb2xlXCIsIHtcbiAgICAgIHByb3ZpZGVyOiBwcm9wcy5wcm92aWRlcixcbiAgICAgIHJvbGVOYW1lOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgIHBhc3N3b3JkQXJuOiB0aGlzLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgfSlcbiAgICByb2xlLm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLnNlY3JldClcbiAgICB0aGlzLnJvbGVOYW1lID0gcHJvcHMucm9sZU5hbWVcbiAgICB0aGlzLnNlY3JldC5ncmFudFJlYWQocHJvcHMucHJvdmlkZXIuaGFuZGxlcilcbiAgfVxufVxuIl19
44
+ Role[_a] = { fqn: "cdk-rds-sql.Role", version: "1.1.1" };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTJDO0FBRzNDLHVFQUFnRTtBQUNoRSwyQ0FBc0M7QUFHdEMsaUVBQW1FO0FBaUNuRSxNQUFhLElBQUssU0FBUSxzQkFBUztJQVdqQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDJCQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN2QyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsV0FBVyxFQUFFLHNDQUFzQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ25FLG9CQUFvQixFQUFFO2dCQUNwQixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUI7b0JBQ3BELE1BQU0sRUFBRSxVQUFVO29CQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUTtvQkFDNUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUk7b0JBQ3hDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtvQkFDeEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2lCQUNqRSxDQUFDO2dCQUNGLGlCQUFpQixFQUFFLFVBQVU7Z0JBQzdCLGlCQUFpQixFQUFFLCtCQUErQjthQUNuRDtZQUNELGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87U0FDckMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSwyQkFBa0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNsQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7U0FDekIsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQy9DLENBQUM7O0FBeENILG9CQXlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMga21zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCJcbmltcG9ydCB7IFNlcnZlcmxlc3NDbHVzdGVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIlxuaW1wb3J0IHsgSVNlY3JldCwgU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gXCIuL3Byb3ZpZGVyXCJcbmltcG9ydCB7IFJvbGUgYXMgQ3VzdG9tUmVzb3VyY2VSb2xlIH0gZnJvbSBcIi4vcm9sZS5jdXN0b20tcmVzb3VyY2VcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGVQcm9wcyB7XG4gIC8qKlxuICAgKiBQcm92aWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBQcm92aWRlclxuXG4gIC8qKlxuICAgKiBTUUwuXG4gICAqL1xuICByZWFkb25seSByb2xlTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9vdGlvbmFsIGRhdGFiYXNlIG5hbWUgdGhpcyB1c2VyIGlzIGV4cGVjdGVkIHRvIHVzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gY29ubmVjdGlvbiB0byBhbnkgZGF0YWJhc2UgaXMgZ3JhbnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U/OiBJRGF0YWJhc2VcblxuICAvKipcbiAgICogRGF0YWJhc2UgY2x1c3RlciB0byBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBTZXJ2ZXJsZXNzQ2x1c3RlclxuXG4gIC8qKlxuICAgKiBBIG5ldyBzZWNyZXQgaXMgY3JlYXRlZCBmb3IgdGhpcyB1c2VyLlxuICAgKlxuICAgKiBPcHRpb25hbGx5IGVuY3J5cHQgaXQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5XG59XG5cbmV4cG9ydCBjbGFzcyBSb2xlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSByb2xlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUaGUgZ2VuZXJhdGVkIHNlY3JldC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ6IElTZWNyZXRcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm9sZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuICAgIHRoaXMuc2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBcIlNlY3JldFwiLCB7XG4gICAgICBlbmNyeXB0aW9uS2V5OiBwcm9wcy5lbmNyeXB0aW9uS2V5LFxuICAgICAgZGVzY3JpcHRpb246IGBHZW5lcmF0ZWQgc2VjcmV0IGZvciBwb3N0Z3JlcyByb2xlICR7cHJvcHMucm9sZU5hbWV9YCxcbiAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgIHBhc3N3b3JkTGVuZ3RoOiAzMCwgLy8gT3JhY2xlIHBhc3N3b3JkIGNhbm5vdCBoYXZlIG1vcmUgdGhhbiAzMCBjaGFyYWN0ZXJzXG4gICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZGJDbHVzdGVySWRlbnRpZmllcjogcHJvcHMuY2x1c3Rlci5jbHVzdGVySWRlbnRpZmllcixcbiAgICAgICAgICBlbmdpbmU6IFwicG9zdGdyZXNcIixcbiAgICAgICAgICBob3N0OiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJFbmRwb2ludC5ob3N0bmFtZSxcbiAgICAgICAgICBwb3J0OiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJFbmRwb2ludC5wb3J0LFxuICAgICAgICAgIHVzZXJuYW1lOiBwcm9wcy5yb2xlTmFtZSxcbiAgICAgICAgICBkYm5hbWU6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICB9KSxcbiAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIixcbiAgICAgICAgZXhjbHVkZUNoYXJhY3RlcnM6IFwiICUrfmAjJCYqKCl8W117fTo7PD4/IScvQFxcXCJcXFxcXCIsXG4gICAgICB9LFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pXG4gICAgY29uc3Qgcm9sZSA9IG5ldyBDdXN0b21SZXNvdXJjZVJvbGUodGhpcywgXCJQb3N0Z3Jlc1JvbGVcIiwge1xuICAgICAgcHJvdmlkZXI6IHByb3BzLnByb3ZpZGVyLFxuICAgICAgcm9sZU5hbWU6IHByb3BzLnJvbGVOYW1lLFxuICAgICAgcGFzc3dvcmRBcm46IHRoaXMuc2VjcmV0LnNlY3JldEFybixcbiAgICAgIGRhdGFiYXNlOiBwcm9wcy5kYXRhYmFzZSxcbiAgICB9KVxuICAgIHJvbGUubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuc2VjcmV0KVxuICAgIHRoaXMucm9sZU5hbWUgPSBwcm9wcy5yb2xlTmFtZVxuICAgIHRoaXMuc2VjcmV0LmdyYW50UmVhZChwcm9wcy5wcm92aWRlci5oYW5kbGVyKVxuICB9XG59XG4iXX0=
package/lib/schema.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { CustomResource } from "aws-cdk-lib";
2
2
  import { Construct } from "constructs";
3
+ import { IDatabase } from "./database";
3
4
  import { Provider } from "./provider";
4
5
  export interface SchemaProps {
5
6
  /**
@@ -11,7 +12,7 @@ export interface SchemaProps {
11
12
  *
12
13
  * @default - use default database
13
14
  */
14
- readonly databaseName?: string;
15
+ readonly database?: IDatabase;
15
16
  /**
16
17
  * SQL.
17
18
  */
package/lib/schema.js CHANGED
@@ -13,14 +13,16 @@ class Schema extends aws_cdk_lib_1.CustomResource {
13
13
  Resource: enum_1.RdsSqlResource.SCHEMA,
14
14
  ResourceId: props.schemaName,
15
15
  SecretArn: props.provider.secret.secretArn,
16
- Database: props.databaseName,
16
+ Database: props.database ? props.database.databaseName : undefined,
17
17
  },
18
18
  });
19
19
  this.node.addDependency(props.provider);
20
20
  this.schemaName = props.schemaName;
21
+ if (props.database)
22
+ this.node.addDependency(props.database);
21
23
  }
22
24
  }
23
25
  exports.Schema = Schema;
24
26
  _a = JSII_RTTI_SYMBOL_1;
25
- Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "1.0.1" };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUU1QyxpQ0FBdUM7QUFzQnZDLE1BQWEsTUFBTyxTQUFRLDRCQUFjO0lBR3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxNQUFNO2dCQUMvQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVk7YUFDN0I7U0FDRixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO0lBQ3BDLENBQUM7O0FBZkgsd0JBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSBkZWZhdWx0IGRhdGFiYXNlXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU/OiBzdHJpbmdcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZW1hTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTY2hlbWEgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIHB1YmxpYyByZWFkb25seSBzY2hlbWFOYW1lOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2NoZW1hUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvcHMucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBSZXNvdXJjZTogUmRzU3FsUmVzb3VyY2UuU0NIRU1BLFxuICAgICAgICBSZXNvdXJjZUlkOiBwcm9wcy5zY2hlbWFOYW1lLFxuICAgICAgICBTZWNyZXRBcm46IHByb3BzLnByb3ZpZGVyLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIERhdGFiYXNlOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgdGhpcy5zY2hlbWFOYW1lID0gcHJvcHMuc2NoZW1hTmFtZVxuICB9XG59XG4iXX0=
27
+ Schema[_a] = { fqn: "cdk-rds-sql.Schema", version: "1.1.1" };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUFzQnZDLE1BQWEsTUFBTyxTQUFRLDRCQUFjO0lBR3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ3pDLFVBQVUsRUFBRTtnQkFDVixRQUFRLEVBQUUscUJBQWMsQ0FBQyxNQUFNO2dCQUMvQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDbkU7U0FDRixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO1FBQ2xDLElBQUksS0FBSyxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDN0QsQ0FBQzs7QUFoQkgsd0JBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgSURhdGFiYXNlIH0gZnJvbSBcIi4vZGF0YWJhc2VcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYVByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSBkZWZhdWx0IGRhdGFiYXNlXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZT86IElEYXRhYmFzZVxuXG4gIC8qKlxuICAgKiBTUUwuXG4gICAqL1xuICByZWFkb25seSBzY2hlbWFOYW1lOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIFNjaGVtYSBleHRlbmRzIEN1c3RvbVJlc291cmNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHNjaGVtYU5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTY2hlbWFQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5TQ0hFTUEsXG4gICAgICAgIFJlc291cmNlSWQ6IHByb3BzLnNjaGVtYU5hbWUsXG4gICAgICAgIFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgRGF0YWJhc2U6IHByb3BzLmRhdGFiYXNlID8gcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9KVxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLnByb3ZpZGVyKVxuICAgIHRoaXMuc2NoZW1hTmFtZSA9IHByb3BzLnNjaGVtYU5hbWVcbiAgICBpZiAocHJvcHMuZGF0YWJhc2UpIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmRhdGFiYXNlKVxuICB9XG59XG4iXX0=
package/lib/sql.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { CustomResource } from "aws-cdk-lib";
2
2
  import { Construct } from "constructs";
3
+ import { IDatabase } from "./database";
3
4
  import { Provider } from "./provider";
4
5
  export interface SqlProps {
5
6
  /**
@@ -11,7 +12,7 @@ export interface SqlProps {
11
12
  *
12
13
  * @default - use default database
13
14
  */
14
- readonly databaseName?: string;
15
+ readonly database?: IDatabase;
15
16
  /**
16
17
  * SQL.
17
18
  */
package/lib/sql.js CHANGED
@@ -12,14 +12,16 @@ class Sql extends aws_cdk_lib_1.CustomResource {
12
12
  properties: {
13
13
  Resource: enum_1.RdsSqlResource.SQL,
14
14
  SecretArn: props.provider.secret.secretArn,
15
- Database: props.databaseName,
15
+ Database: props.database ? props.database.databaseName : undefined,
16
16
  Statement: props.statement,
17
17
  },
18
18
  });
19
19
  this.node.addDependency(props.provider);
20
+ if (props.database)
21
+ this.node.addDependency(props.database);
20
22
  }
21
23
  }
22
24
  exports.Sql = Sql;
23
25
  _a = JSII_RTTI_SYMBOL_1;
24
- Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "1.0.1" };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUU1QyxpQ0FBdUM7QUFzQnZDLE1BQWEsR0FBSSxTQUFRLDRCQUFjO0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLEdBQUc7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVk7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUzthQUMzQjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN6QyxDQUFDOztBQVpILGtCQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgUmRzU3FsUmVzb3VyY2UgfSBmcm9tIFwiLi9lbnVtXCJcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFNxbFByb3BzIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFByb3ZpZGVyXG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSBkZWZhdWx0IGRhdGFiYXNlXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU/OiBzdHJpbmdcblxuICAvKipcbiAgICogU1FMLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVtZW50Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTcWwgZXh0ZW5kcyBDdXN0b21SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcWxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZVRva2VuOiBwcm9wcy5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFJlc291cmNlOiBSZHNTcWxSZXNvdXJjZS5TUUwsXG4gICAgICAgIFNlY3JldEFybjogcHJvcHMucHJvdmlkZXIuc2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgRGF0YWJhc2U6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgU3RhdGVtZW50OiBwcm9wcy5zdGF0ZW1lbnQsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gIH1cbn1cbiJdfQ==
26
+ Sql[_a] = { fqn: "cdk-rds-sql.Sql", version: "1.1.1" };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUc1QyxpQ0FBdUM7QUFzQnZDLE1BQWEsR0FBSSxTQUFRLDRCQUFjO0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDekMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxxQkFBYyxDQUFDLEdBQUc7Z0JBQzVCLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMxQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2xFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUzthQUMzQjtTQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN2QyxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdELENBQUM7O0FBYkgsa0JBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgeyBJRGF0YWJhc2UgfSBmcm9tIFwiLi9kYXRhYmFzZVwiXG5pbXBvcnQgeyBSZHNTcWxSZXNvdXJjZSB9IGZyb20gXCIuL2VudW1cIlxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3FsUHJvcHMge1xuICAvKipcbiAgICogUHJvdmlkZXIuXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcjogUHJvdmlkZXJcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIGRlZmF1bHQgZGF0YWJhc2VcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlPzogSURhdGFiYXNlXG5cbiAgLyoqXG4gICAqIFNRTC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlbWVudD86IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgU3FsIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3FsUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvcHMucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBSZXNvdXJjZTogUmRzU3FsUmVzb3VyY2UuU1FMLFxuICAgICAgICBTZWNyZXRBcm46IHByb3BzLnByb3ZpZGVyLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIERhdGFiYXNlOiBwcm9wcy5kYXRhYmFzZSA/IHByb3BzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgU3RhdGVtZW50OiBwcm9wcy5zdGF0ZW1lbnQsXG4gICAgICB9LFxuICAgIH0pXG4gICAgdGhpcy5ub2RlLmFkZERlcGVuZGVuY3kocHJvcHMucHJvdmlkZXIpXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlKSB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShwcm9wcy5kYXRhYmFzZSlcbiAgfVxufVxuIl19
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.178.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.177.0...v3.178.0) (2022-09-23)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/abort-controller
9
+
10
+
11
+
12
+
13
+
6
14
  # [3.171.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.170.0...v3.171.0) (2022-09-14)
7
15
 
8
16
  **Note:** Version bump only for package @aws-sdk/abort-controller
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/abort-controller",
3
- "version": "3.171.0",
3
+ "version": "3.178.0",
4
4
  "description": "A simple abort controller library",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/types": "3.171.0",
24
+ "@aws-sdk/types": "3.178.0",
25
25
  "tslib": "^2.3.1"
26
26
  },
27
27
  "engines": {
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.180.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.179.0...v3.180.0) (2022-09-27)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/client-secrets-manager
9
+
10
+
11
+
12
+
13
+
14
+ # [3.179.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.178.0...v3.179.0) (2022-09-26)
15
+
16
+ **Note:** Version bump only for package @aws-sdk/client-secrets-manager
17
+
18
+
19
+
20
+
21
+
22
+ # [3.178.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.177.0...v3.178.0) (2022-09-23)
23
+
24
+ **Note:** Version bump only for package @aws-sdk/client-secrets-manager
25
+
26
+
27
+
28
+
29
+
6
30
  # [3.171.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.170.0...v3.171.0) (2022-09-14)
7
31
 
8
32
  **Note:** Version bump only for package @aws-sdk/client-secrets-manager
@@ -31,7 +31,7 @@ export declare const getRuntimeConfig: (config: SecretsManagerClientConfig) => {
31
31
  tls?: boolean | undefined;
32
32
  retryStrategy?: import("@aws-sdk/types").RetryStrategy | undefined;
33
33
  credentials?: import("@aws-sdk/types").Credentials | import("@aws-sdk/types").Provider<import("@aws-sdk/types").Credentials> | undefined;
34
- signer?: import("@aws-sdk/types").RequestSigner | import("@aws-sdk/types").Provider<import("@aws-sdk/types").RequestSigner> | undefined;
34
+ signer?: import("@aws-sdk/types").RequestSigner | ((authScheme?: import("@aws-sdk/types").AuthScheme | undefined) => Promise<import("@aws-sdk/types").RequestSigner>) | undefined;
35
35
  signingEscapePath?: boolean | undefined;
36
36
  systemClockOffset?: number | undefined;
37
37
  signingRegion?: string | undefined;
@@ -31,7 +31,7 @@ export declare const getRuntimeConfig: (config: SecretsManagerClientConfig) => {
31
31
  tls?: boolean | undefined;
32
32
  retryStrategy?: import("@aws-sdk/types").RetryStrategy | undefined;
33
33
  credentials?: import("@aws-sdk/types").Credentials | import("@aws-sdk/types").Provider<import("@aws-sdk/types").Credentials> | undefined;
34
- signer?: import("@aws-sdk/types").RequestSigner | import("@aws-sdk/types").Provider<import("@aws-sdk/types").RequestSigner> | undefined;
34
+ signer?: import("@aws-sdk/types").RequestSigner | ((authScheme?: import("@aws-sdk/types").AuthScheme | undefined) => Promise<import("@aws-sdk/types").RequestSigner>) | undefined;
35
35
  signingEscapePath?: boolean | undefined;
36
36
  systemClockOffset?: number | undefined;
37
37
  signingRegion?: string | undefined;
@@ -30,7 +30,7 @@ export declare const getRuntimeConfig: (config: SecretsManagerClientConfig) => {
30
30
  tls?: boolean | undefined;
31
31
  retryStrategy?: import("@aws-sdk/types").RetryStrategy | undefined;
32
32
  credentials?: import("@aws-sdk/types").Credentials | import("@aws-sdk/types").Provider<import("@aws-sdk/types").Credentials> | undefined;
33
- signer?: import("@aws-sdk/types").RequestSigner | import("@aws-sdk/types").Provider<import("@aws-sdk/types").RequestSigner> | undefined;
33
+ signer?: import("@aws-sdk/types").RequestSigner | ((authScheme?: import("@aws-sdk/types").AuthScheme | undefined) => Promise<import("@aws-sdk/types").RequestSigner>) | undefined;
34
34
  signingEscapePath?: boolean | undefined;
35
35
  systemClockOffset?: number | undefined;
36
36
  signingRegion?: string | undefined;
@@ -50,7 +50,9 @@ export declare const getRuntimeConfig: (config: SecretsManagerClientConfig) => {
50
50
  | undefined;
51
51
  signer?:
52
52
  | import("@aws-sdk/types").RequestSigner
53
- | import("@aws-sdk/types").Provider<import("@aws-sdk/types").RequestSigner>
53
+ | ((
54
+ authScheme?: import("@aws-sdk/types").AuthScheme | undefined
55
+ ) => Promise<import("@aws-sdk/types").RequestSigner>)
54
56
  | undefined;
55
57
  signingEscapePath?: boolean | undefined;
56
58
  systemClockOffset?: number | undefined;
@@ -50,7 +50,9 @@ export declare const getRuntimeConfig: (config: SecretsManagerClientConfig) => {
50
50
  | undefined;
51
51
  signer?:
52
52
  | import("@aws-sdk/types").RequestSigner
53
- | import("@aws-sdk/types").Provider<import("@aws-sdk/types").RequestSigner>
53
+ | ((
54
+ authScheme?: import("@aws-sdk/types").AuthScheme | undefined
55
+ ) => Promise<import("@aws-sdk/types").RequestSigner>)
54
56
  | undefined;
55
57
  signingEscapePath?: boolean | undefined;
56
58
  systemClockOffset?: number | undefined;
@@ -51,7 +51,9 @@ export declare const getRuntimeConfig: (config: SecretsManagerClientConfig) => {
51
51
  | undefined;
52
52
  signer?:
53
53
  | import("@aws-sdk/types").RequestSigner
54
- | import("@aws-sdk/types").Provider<import("@aws-sdk/types").RequestSigner>
54
+ | ((
55
+ authScheme?: import("@aws-sdk/types").AuthScheme | undefined
56
+ ) => Promise<import("@aws-sdk/types").RequestSigner>)
55
57
  | undefined;
56
58
  signingEscapePath?: boolean | undefined;
57
59
  systemClockOffset?: number | undefined;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-secrets-manager",
3
3
  "description": "AWS SDK for JavaScript Secrets Manager Client for Node.js, Browser and React Native",
4
- "version": "3.171.0",
4
+ "version": "3.180.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -19,35 +19,35 @@
19
19
  "dependencies": {
20
20
  "@aws-crypto/sha256-browser": "2.0.0",
21
21
  "@aws-crypto/sha256-js": "2.0.0",
22
- "@aws-sdk/client-sts": "3.171.0",
23
- "@aws-sdk/config-resolver": "3.171.0",
24
- "@aws-sdk/credential-provider-node": "3.171.0",
25
- "@aws-sdk/fetch-http-handler": "3.171.0",
26
- "@aws-sdk/hash-node": "3.171.0",
27
- "@aws-sdk/invalid-dependency": "3.171.0",
28
- "@aws-sdk/middleware-content-length": "3.171.0",
29
- "@aws-sdk/middleware-host-header": "3.171.0",
30
- "@aws-sdk/middleware-logger": "3.171.0",
31
- "@aws-sdk/middleware-recursion-detection": "3.171.0",
32
- "@aws-sdk/middleware-retry": "3.171.0",
33
- "@aws-sdk/middleware-serde": "3.171.0",
34
- "@aws-sdk/middleware-signing": "3.171.0",
35
- "@aws-sdk/middleware-stack": "3.171.0",
36
- "@aws-sdk/middleware-user-agent": "3.171.0",
37
- "@aws-sdk/node-config-provider": "3.171.0",
38
- "@aws-sdk/node-http-handler": "3.171.0",
39
- "@aws-sdk/protocol-http": "3.171.0",
40
- "@aws-sdk/smithy-client": "3.171.0",
41
- "@aws-sdk/types": "3.171.0",
42
- "@aws-sdk/url-parser": "3.171.0",
22
+ "@aws-sdk/client-sts": "3.180.0",
23
+ "@aws-sdk/config-resolver": "3.178.0",
24
+ "@aws-sdk/credential-provider-node": "3.180.0",
25
+ "@aws-sdk/fetch-http-handler": "3.178.0",
26
+ "@aws-sdk/hash-node": "3.178.0",
27
+ "@aws-sdk/invalid-dependency": "3.178.0",
28
+ "@aws-sdk/middleware-content-length": "3.178.0",
29
+ "@aws-sdk/middleware-host-header": "3.178.0",
30
+ "@aws-sdk/middleware-logger": "3.178.0",
31
+ "@aws-sdk/middleware-recursion-detection": "3.178.0",
32
+ "@aws-sdk/middleware-retry": "3.178.0",
33
+ "@aws-sdk/middleware-serde": "3.178.0",
34
+ "@aws-sdk/middleware-signing": "3.179.0",
35
+ "@aws-sdk/middleware-stack": "3.178.0",
36
+ "@aws-sdk/middleware-user-agent": "3.178.0",
37
+ "@aws-sdk/node-config-provider": "3.178.0",
38
+ "@aws-sdk/node-http-handler": "3.178.0",
39
+ "@aws-sdk/protocol-http": "3.178.0",
40
+ "@aws-sdk/smithy-client": "3.180.0",
41
+ "@aws-sdk/types": "3.178.0",
42
+ "@aws-sdk/url-parser": "3.178.0",
43
43
  "@aws-sdk/util-base64-browser": "3.170.0",
44
44
  "@aws-sdk/util-base64-node": "3.170.0",
45
45
  "@aws-sdk/util-body-length-browser": "3.170.0",
46
46
  "@aws-sdk/util-body-length-node": "3.170.0",
47
- "@aws-sdk/util-defaults-mode-browser": "3.171.0",
48
- "@aws-sdk/util-defaults-mode-node": "3.171.0",
49
- "@aws-sdk/util-user-agent-browser": "3.171.0",
50
- "@aws-sdk/util-user-agent-node": "3.171.0",
47
+ "@aws-sdk/util-defaults-mode-browser": "3.180.0",
48
+ "@aws-sdk/util-defaults-mode-node": "3.180.0",
49
+ "@aws-sdk/util-user-agent-browser": "3.178.0",
50
+ "@aws-sdk/util-user-agent-node": "3.178.0",
51
51
  "@aws-sdk/util-utf8-browser": "3.170.0",
52
52
  "@aws-sdk/util-utf8-node": "3.170.0",
53
53
  "tslib": "^2.3.1",
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.180.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.179.0...v3.180.0) (2022-09-27)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/client-sso
9
+
10
+
11
+
12
+
13
+
14
+ # [3.178.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.177.0...v3.178.0) (2022-09-23)
15
+
16
+ **Note:** Version bump only for package @aws-sdk/client-sso
17
+
18
+
19
+
20
+
21
+
6
22
  # [3.171.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.170.0...v3.171.0) (2022-09-14)
7
23
 
8
24
  **Note:** Version bump only for package @aws-sdk/client-sso