terraconstructs 0.0.8

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 (680) hide show
  1. package/.envrc +5 -0
  2. package/.jsii +79780 -0
  3. package/.mise.toml +8 -0
  4. package/.nvmrc +1 -0
  5. package/.terraform-version +1 -0
  6. package/.terraform.d/plugin-cache/.gitignore +5 -0
  7. package/LICENSE +674 -0
  8. package/NOTICE.txt +12 -0
  9. package/README.md +42 -0
  10. package/bun.lockb +0 -0
  11. package/go.mod +158 -0
  12. package/go.sum +1206 -0
  13. package/lib/aws/arn.d.ts +187 -0
  14. package/lib/aws/arn.js +383 -0
  15. package/lib/aws/aws-construct.d.ts +76 -0
  16. package/lib/aws/aws-construct.js +38 -0
  17. package/lib/aws/aws-stack.d.ts +201 -0
  18. package/lib/aws/aws-stack.js +303 -0
  19. package/lib/aws/cloudwatch/actions/ec2.d.ts +35 -0
  20. package/lib/aws/cloudwatch/actions/ec2.js +48 -0
  21. package/lib/aws/cloudwatch/actions/index.d.ts +2 -0
  22. package/lib/aws/cloudwatch/actions/index.js +24 -0
  23. package/lib/aws/cloudwatch/actions/lambda.d.ts +16 -0
  24. package/lib/aws/cloudwatch/actions/lambda.js +48 -0
  25. package/lib/aws/cloudwatch/alarm-action.d.ts +23 -0
  26. package/lib/aws/cloudwatch/alarm-action.js +4 -0
  27. package/lib/aws/cloudwatch/alarm-base.d.ts +84 -0
  28. package/lib/aws/cloudwatch/alarm-base.js +64 -0
  29. package/lib/aws/cloudwatch/alarm-rule.d.ts +61 -0
  30. package/lib/aws/cloudwatch/alarm-rule.js +116 -0
  31. package/lib/aws/cloudwatch/alarm-status-widget.d.ts +77 -0
  32. package/lib/aws/cloudwatch/alarm-status-widget.js +62 -0
  33. package/lib/aws/cloudwatch/alarm.d.ts +158 -0
  34. package/lib/aws/cloudwatch/alarm.js +410 -0
  35. package/lib/aws/cloudwatch/composite-alarm.d.ts +88 -0
  36. package/lib/aws/cloudwatch/composite-alarm.js +98 -0
  37. package/lib/aws/cloudwatch/dashboard.d.ts +137 -0
  38. package/lib/aws/cloudwatch/dashboard.js +141 -0
  39. package/lib/aws/cloudwatch/data-protection-policy.d.ts +184 -0
  40. package/lib/aws/cloudwatch/data-protection-policy.js +246 -0
  41. package/lib/aws/cloudwatch/graph.d.ts +792 -0
  42. package/lib/aws/cloudwatch/graph.js +537 -0
  43. package/lib/aws/cloudwatch/index.d.ts +26 -0
  44. package/lib/aws/cloudwatch/index.js +49 -0
  45. package/lib/aws/cloudwatch/layout.d.ts +89 -0
  46. package/lib/aws/cloudwatch/layout.js +147 -0
  47. package/lib/aws/cloudwatch/log-destinations/index.d.ts +2 -0
  48. package/lib/aws/cloudwatch/log-destinations/index.js +20 -0
  49. package/lib/aws/cloudwatch/log-destinations/kinesis.d.ts +29 -0
  50. package/lib/aws/cloudwatch/log-destinations/kinesis.js +52 -0
  51. package/lib/aws/cloudwatch/log-destinations/lambda.d.ts +22 -0
  52. package/lib/aws/cloudwatch/log-destinations/lambda.js +46 -0
  53. package/lib/aws/cloudwatch/log-group.d.ts +453 -0
  54. package/lib/aws/cloudwatch/log-group.js +350 -0
  55. package/lib/aws/cloudwatch/log-query.d.ts +91 -0
  56. package/lib/aws/cloudwatch/log-query.js +85 -0
  57. package/lib/aws/cloudwatch/log-stream.d.ts +57 -0
  58. package/lib/aws/cloudwatch/log-stream.js +57 -0
  59. package/lib/aws/cloudwatch/metric-filter.d.ts +30 -0
  60. package/lib/aws/cloudwatch/metric-filter.js +69 -0
  61. package/lib/aws/cloudwatch/metric-types.d.ts +407 -0
  62. package/lib/aws/cloudwatch/metric-types.js +151 -0
  63. package/lib/aws/cloudwatch/metric.d.ts +492 -0
  64. package/lib/aws/cloudwatch/metric.js +493 -0
  65. package/lib/aws/cloudwatch/pattern.d.ts +195 -0
  66. package/lib/aws/cloudwatch/pattern.js +412 -0
  67. package/lib/aws/cloudwatch/policy.d.ts +43 -0
  68. package/lib/aws/cloudwatch/policy.js +50 -0
  69. package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.d.ts +14 -0
  70. package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.js +37 -0
  71. package/lib/aws/cloudwatch/private/env-tokens.d.ts +8 -0
  72. package/lib/aws/cloudwatch/private/env-tokens.js +48 -0
  73. package/lib/aws/cloudwatch/private/metric-util.d.ts +60 -0
  74. package/lib/aws/cloudwatch/private/metric-util.js +132 -0
  75. package/lib/aws/cloudwatch/private/object.d.ts +1 -0
  76. package/lib/aws/cloudwatch/private/object.js +18 -0
  77. package/lib/aws/cloudwatch/private/rendering.d.ts +60 -0
  78. package/lib/aws/cloudwatch/private/rendering.js +181 -0
  79. package/lib/aws/cloudwatch/private/statistic.d.ts +51 -0
  80. package/lib/aws/cloudwatch/private/statistic.js +176 -0
  81. package/lib/aws/cloudwatch/query-definition.d.ts +150 -0
  82. package/lib/aws/cloudwatch/query-definition.js +114 -0
  83. package/lib/aws/cloudwatch/stats.d.ts +150 -0
  84. package/lib/aws/cloudwatch/stats.js +207 -0
  85. package/lib/aws/cloudwatch/subscription-filter.d.ts +75 -0
  86. package/lib/aws/cloudwatch/subscription-filter.js +51 -0
  87. package/lib/aws/cloudwatch/text.d.ts +52 -0
  88. package/lib/aws/cloudwatch/text.js +53 -0
  89. package/lib/aws/cloudwatch/variable.d.ts +156 -0
  90. package/lib/aws/cloudwatch/variable.js +156 -0
  91. package/lib/aws/cloudwatch/widget.d.ts +62 -0
  92. package/lib/aws/cloudwatch/widget.js +45 -0
  93. package/lib/aws/compute/activity.d.ts +81 -0
  94. package/lib/aws/compute/activity.js +132 -0
  95. package/lib/aws/compute/architecture.d.ts +33 -0
  96. package/lib/aws/compute/architecture.js +42 -0
  97. package/lib/aws/compute/chain.d.ts +52 -0
  98. package/lib/aws/compute/chain.js +68 -0
  99. package/lib/aws/compute/condition.d.ts +202 -0
  100. package/lib/aws/compute/condition.js +409 -0
  101. package/lib/aws/compute/event-invoke-config.d.ts +74 -0
  102. package/lib/aws/compute/event-invoke-config.js +63 -0
  103. package/lib/aws/compute/event-source-filter.d.ts +64 -0
  104. package/lib/aws/compute/event-source-filter.js +86 -0
  105. package/lib/aws/compute/event-source-mapping.d.ts +310 -0
  106. package/lib/aws/compute/event-source-mapping.js +267 -0
  107. package/lib/aws/compute/event-sources/index.d.ts +4 -0
  108. package/lib/aws/compute/event-sources/index.js +28 -0
  109. package/lib/aws/compute/event-sources/s3-onfailure-destination.d.ts +13 -0
  110. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +26 -0
  111. package/lib/aws/compute/event-sources/s3.d.ts +24 -0
  112. package/lib/aws/compute/event-sources/s3.js +25 -0
  113. package/lib/aws/compute/event-sources/sqs-dlq.d.ts +13 -0
  114. package/lib/aws/compute/event-sources/sqs-dlq.js +26 -0
  115. package/lib/aws/compute/event-sources/sqs.d.ts +75 -0
  116. package/lib/aws/compute/event-sources/sqs.js +84 -0
  117. package/lib/aws/compute/fields.d.ts +367 -0
  118. package/lib/aws/compute/fields.js +546 -0
  119. package/lib/aws/compute/function-alias.d.ts +148 -0
  120. package/lib/aws/compute/function-alias.js +176 -0
  121. package/lib/aws/compute/function-base.d.ts +314 -0
  122. package/lib/aws/compute/function-base.js +421 -0
  123. package/lib/aws/compute/function-destination.d.ts +42 -0
  124. package/lib/aws/compute/function-destination.js +18 -0
  125. package/lib/aws/compute/function-destinations/event-bridge.d.ts +19 -0
  126. package/lib/aws/compute/function-destinations/event-bridge.js +46 -0
  127. package/lib/aws/compute/function-destinations/function.d.ts +34 -0
  128. package/lib/aws/compute/function-destinations/function.js +55 -0
  129. package/lib/aws/compute/function-destinations/index.d.ts +3 -0
  130. package/lib/aws/compute/function-destinations/index.js +22 -0
  131. package/lib/aws/compute/function-destinations/sqs.d.ts +14 -0
  132. package/lib/aws/compute/function-destinations/sqs.js +27 -0
  133. package/lib/aws/compute/function-nodejs.d.ts +55 -0
  134. package/lib/aws/compute/function-nodejs.js +70 -0
  135. package/lib/aws/compute/function-permission.d.ts +83 -0
  136. package/lib/aws/compute/function-permission.js +3 -0
  137. package/lib/aws/compute/function-url.d.ts +210 -0
  138. package/lib/aws/compute/function-url.js +148 -0
  139. package/lib/aws/compute/function-vpc-config.generated.d.ts +36 -0
  140. package/lib/aws/compute/function-vpc-config.generated.js +3 -0
  141. package/lib/aws/compute/function.d.ts +492 -0
  142. package/lib/aws/compute/function.js +692 -0
  143. package/lib/aws/compute/index.d.ts +42 -0
  144. package/lib/aws/compute/index.js +64 -0
  145. package/lib/aws/compute/private/intrinstics.d.ts +86 -0
  146. package/lib/aws/compute/private/intrinstics.js +220 -0
  147. package/lib/aws/compute/private/json-path.d.ts +57 -0
  148. package/lib/aws/compute/private/json-path.js +351 -0
  149. package/lib/aws/compute/private/util.d.ts +1 -0
  150. package/lib/aws/compute/private/util.js +38 -0
  151. package/lib/aws/compute/state-graph.d.ts +100 -0
  152. package/lib/aws/compute/state-graph.js +177 -0
  153. package/lib/aws/compute/state-machine-fragment.d.ts +61 -0
  154. package/lib/aws/compute/state-machine-fragment.js +56 -0
  155. package/lib/aws/compute/state-machine.d.ts +323 -0
  156. package/lib/aws/compute/state-machine.js +392 -0
  157. package/lib/aws/compute/states/choice.d.ts +94 -0
  158. package/lib/aws/compute/states/choice.js +81 -0
  159. package/lib/aws/compute/states/custom-state.d.ts +55 -0
  160. package/lib/aws/compute/states/custom-state.js +114 -0
  161. package/lib/aws/compute/states/distributed-map/item-batcher.d.ts +64 -0
  162. package/lib/aws/compute/states/distributed-map/item-batcher.js +58 -0
  163. package/lib/aws/compute/states/distributed-map/item-reader.d.ts +256 -0
  164. package/lib/aws/compute/states/distributed-map/item-reader.js +253 -0
  165. package/lib/aws/compute/states/distributed-map/result-writer.d.ts +41 -0
  166. package/lib/aws/compute/states/distributed-map/result-writer.js +66 -0
  167. package/lib/aws/compute/states/distributed-map.d.ts +153 -0
  168. package/lib/aws/compute/states/distributed-map.js +207 -0
  169. package/lib/aws/compute/states/fail.d.ts +74 -0
  170. package/lib/aws/compute/states/fail.js +83 -0
  171. package/lib/aws/compute/states/map-base.d.ts +145 -0
  172. package/lib/aws/compute/states/map-base.js +109 -0
  173. package/lib/aws/compute/states/map.d.ts +76 -0
  174. package/lib/aws/compute/states/map.js +110 -0
  175. package/lib/aws/compute/states/parallel.d.ts +113 -0
  176. package/lib/aws/compute/states/parallel.js +100 -0
  177. package/lib/aws/compute/states/pass.d.ts +122 -0
  178. package/lib/aws/compute/states/pass.js +99 -0
  179. package/lib/aws/compute/states/private/state-type.d.ts +13 -0
  180. package/lib/aws/compute/states/private/state-type.js +19 -0
  181. package/lib/aws/compute/states/state.d.ts +276 -0
  182. package/lib/aws/compute/states/state.js +482 -0
  183. package/lib/aws/compute/states/succeed.d.ts +51 -0
  184. package/lib/aws/compute/states/succeed.js +32 -0
  185. package/lib/aws/compute/states/task-base.d.ts +225 -0
  186. package/lib/aws/compute/states/task-base.js +160 -0
  187. package/lib/aws/compute/states/task.d.ts +127 -0
  188. package/lib/aws/compute/states/task.js +92 -0
  189. package/lib/aws/compute/states/wait.d.ts +78 -0
  190. package/lib/aws/compute/states/wait.js +90 -0
  191. package/lib/aws/compute/step-functions-task.d.ts +78 -0
  192. package/lib/aws/compute/step-functions-task.js +27 -0
  193. package/lib/aws/compute/task-credentials.d.ts +45 -0
  194. package/lib/aws/compute/task-credentials.js +52 -0
  195. package/lib/aws/compute/task-input.d.ts +86 -0
  196. package/lib/aws/compute/task-input.js +107 -0
  197. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.d.ts +73 -0
  198. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +69 -0
  199. package/lib/aws/compute/tasks/eventbridge/put-events.d.ts +74 -0
  200. package/lib/aws/compute/tasks/eventbridge/put-events.js +94 -0
  201. package/lib/aws/compute/tasks/http/invoke.d.ts +104 -0
  202. package/lib/aws/compute/tasks/http/invoke.js +117 -0
  203. package/lib/aws/compute/tasks/index.d.ts +7 -0
  204. package/lib/aws/compute/tasks/index.js +42 -0
  205. package/lib/aws/compute/tasks/lambda/invoke.d.ts +106 -0
  206. package/lib/aws/compute/tasks/lambda/invoke.js +125 -0
  207. package/lib/aws/compute/tasks/private/task-utils.d.ts +8 -0
  208. package/lib/aws/compute/tasks/private/task-utils.js +36 -0
  209. package/lib/aws/compute/tasks/resource-arn-suffix.d.ts +3 -0
  210. package/lib/aws/compute/tasks/resource-arn-suffix.js +25 -0
  211. package/lib/aws/compute/tasks/sqs/send-message.d.ts +62 -0
  212. package/lib/aws/compute/tasks/sqs/send-message.js +70 -0
  213. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.d.ts +36 -0
  214. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +45 -0
  215. package/lib/aws/compute/tasks/stepfunctions/start-execution.d.ts +63 -0
  216. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +123 -0
  217. package/lib/aws/compute/types.d.ts +214 -0
  218. package/lib/aws/compute/types.js +103 -0
  219. package/lib/aws/compute/util.d.ts +12 -0
  220. package/lib/aws/compute/util.js +29 -0
  221. package/lib/aws/edge/certificate.d.ts +144 -0
  222. package/lib/aws/edge/certificate.js +191 -0
  223. package/lib/aws/edge/distribution.d.ts +505 -0
  224. package/lib/aws/edge/distribution.js +444 -0
  225. package/lib/aws/edge/dns-alias-record-targets.d.ts +29 -0
  226. package/lib/aws/edge/dns-alias-record-targets.js +46 -0
  227. package/lib/aws/edge/dns-record.d.ts +536 -0
  228. package/lib/aws/edge/dns-record.js +532 -0
  229. package/lib/aws/edge/dns-zone.d.ts +169 -0
  230. package/lib/aws/edge/dns-zone.js +149 -0
  231. package/lib/aws/edge/function.d.ts +185 -0
  232. package/lib/aws/edge/function.js +141 -0
  233. package/lib/aws/edge/index.d.ts +8 -0
  234. package/lib/aws/edge/index.js +25 -0
  235. package/lib/aws/edge/key-value-store.d.ts +162 -0
  236. package/lib/aws/edge/key-value-store.js +163 -0
  237. package/lib/aws/edge/origin.d.ts +160 -0
  238. package/lib/aws/edge/origin.js +245 -0
  239. package/lib/aws/encryption/alias.d.ts +137 -0
  240. package/lib/aws/encryption/alias.js +216 -0
  241. package/lib/aws/encryption/index.d.ts +4 -0
  242. package/lib/aws/encryption/index.js +21 -0
  243. package/lib/aws/encryption/key-lookup.d.ts +11 -0
  244. package/lib/aws/encryption/key-lookup.js +4 -0
  245. package/lib/aws/encryption/key.d.ts +461 -0
  246. package/lib/aws/encryption/key.js +586 -0
  247. package/lib/aws/encryption/private/perms.d.ts +5 -0
  248. package/lib/aws/encryption/private/perms.js +30 -0
  249. package/lib/aws/encryption/via-service-principal.d.ts +11 -0
  250. package/lib/aws/encryption/via-service-principal.js +39 -0
  251. package/lib/aws/iam/grant.d.ts +221 -0
  252. package/lib/aws/iam/grant.js +239 -0
  253. package/lib/aws/iam/identity-base.d.ts +20 -0
  254. package/lib/aws/iam/identity-base.js +3 -0
  255. package/lib/aws/iam/index.d.ts +16 -0
  256. package/lib/aws/iam/index.js +34 -0
  257. package/lib/aws/iam/managed-policy.d.ts +227 -0
  258. package/lib/aws/iam/managed-policy.js +237 -0
  259. package/lib/aws/iam/oidc-provider.d.ts +120 -0
  260. package/lib/aws/iam/oidc-provider.js +82 -0
  261. package/lib/aws/iam/policy-document-config.generated.d.ts +78 -0
  262. package/lib/aws/iam/policy-document-config.generated.js +3 -0
  263. package/lib/aws/iam/policy-document.d.ts +150 -0
  264. package/lib/aws/iam/policy-document.js +172 -0
  265. package/lib/aws/iam/policy-statement-props.generated.d.ts +55 -0
  266. package/lib/aws/iam/policy-statement-props.generated.js +3 -0
  267. package/lib/aws/iam/policy-statement.d.ts +451 -0
  268. package/lib/aws/iam/policy-statement.js +947 -0
  269. package/lib/aws/iam/policy.d.ts +122 -0
  270. package/lib/aws/iam/policy.js +192 -0
  271. package/lib/aws/iam/principals.d.ts +668 -0
  272. package/lib/aws/iam/principals.js +1032 -0
  273. package/lib/aws/iam/private/adapter.d.ts +21 -0
  274. package/lib/aws/iam/private/adapter.js +51 -0
  275. package/lib/aws/iam/private/assume-role-policy.d.ts +8 -0
  276. package/lib/aws/iam/private/assume-role-policy.js +27 -0
  277. package/lib/aws/iam/private/comparable-principal.d.ts +6 -0
  278. package/lib/aws/iam/private/comparable-principal.js +20 -0
  279. package/lib/aws/iam/private/immutable-role.d.ts +43 -0
  280. package/lib/aws/iam/private/immutable-role.js +76 -0
  281. package/lib/aws/iam/private/imported-role.d.ts +49 -0
  282. package/lib/aws/iam/private/imported-role.js +103 -0
  283. package/lib/aws/iam/private/merge-statements.d.ts +44 -0
  284. package/lib/aws/iam/private/merge-statements.js +214 -0
  285. package/lib/aws/iam/private/postprocess-policy-document.d.ts +15 -0
  286. package/lib/aws/iam/private/postprocess-policy-document.js +102 -0
  287. package/lib/aws/iam/private/util.d.ts +37 -0
  288. package/lib/aws/iam/private/util.js +87 -0
  289. package/lib/aws/iam/role.d.ts +425 -0
  290. package/lib/aws/iam/role.js +407 -0
  291. package/lib/aws/iam/saml-provider.d.ts +79 -0
  292. package/lib/aws/iam/saml-provider.js +79 -0
  293. package/lib/aws/iam/unknown-principal.d.ts +32 -0
  294. package/lib/aws/iam/unknown-principal.js +45 -0
  295. package/lib/aws/iam/utils.d.ts +12 -0
  296. package/lib/aws/iam/utils.js +41 -0
  297. package/lib/aws/index.d.ts +13 -0
  298. package/lib/aws/index.js +34 -0
  299. package/lib/aws/log-retention.d.ts +97 -0
  300. package/lib/aws/log-retention.js +103 -0
  301. package/lib/aws/network/index.d.ts +4 -0
  302. package/lib/aws/network/index.js +21 -0
  303. package/lib/aws/network/network.d.ts +77 -0
  304. package/lib/aws/network/network.js +3 -0
  305. package/lib/aws/network/simple-ipv4-vpc.d.ts +84 -0
  306. package/lib/aws/network/simple-ipv4-vpc.js +236 -0
  307. package/lib/aws/network/subnet-group.d.ts +42 -0
  308. package/lib/aws/network/subnet-group.js +72 -0
  309. package/lib/aws/network/subnet.d.ts +95 -0
  310. package/lib/aws/network/subnet.js +123 -0
  311. package/lib/aws/notify/archive.d.ts +77 -0
  312. package/lib/aws/notify/archive.js +62 -0
  313. package/lib/aws/notify/connection.d.ts +276 -0
  314. package/lib/aws/notify/connection.js +261 -0
  315. package/lib/aws/notify/event-bus.d.ts +298 -0
  316. package/lib/aws/notify/event-bus.js +326 -0
  317. package/lib/aws/notify/event-pattern.d.ts +220 -0
  318. package/lib/aws/notify/event-pattern.js +197 -0
  319. package/lib/aws/notify/index.d.ts +15 -0
  320. package/lib/aws/notify/index.js +35 -0
  321. package/lib/aws/notify/input.d.ts +126 -0
  322. package/lib/aws/notify/input.js +282 -0
  323. package/lib/aws/notify/kinesis-canned-metrics.generated.d.ts +68 -0
  324. package/lib/aws/notify/kinesis-canned-metrics.generated.js +103 -0
  325. package/lib/aws/notify/kinesis-fixed-canned-metrics.d.ts +195 -0
  326. package/lib/aws/notify/kinesis-fixed-canned-metrics.js +155 -0
  327. package/lib/aws/notify/kinesis-stream.d.ts +705 -0
  328. package/lib/aws/notify/kinesis-stream.js +541 -0
  329. package/lib/aws/notify/on-event-options.d.ts +54 -0
  330. package/lib/aws/notify/on-event-options.js +3 -0
  331. package/lib/aws/notify/queue-config.generated.d.ts +85 -0
  332. package/lib/aws/notify/queue-config.generated.js +3 -0
  333. package/lib/aws/notify/queue-policy.d.ts +35 -0
  334. package/lib/aws/notify/queue-policy.js +39 -0
  335. package/lib/aws/notify/queue.d.ts +355 -0
  336. package/lib/aws/notify/queue.js +305 -0
  337. package/lib/aws/notify/resource-policy.d.ts +41 -0
  338. package/lib/aws/notify/resource-policy.js +43 -0
  339. package/lib/aws/notify/rule.d.ts +153 -0
  340. package/lib/aws/notify/rule.js +227 -0
  341. package/lib/aws/notify/schedule.d.ts +83 -0
  342. package/lib/aws/notify/schedule.js +116 -0
  343. package/lib/aws/notify/target.d.ts +102 -0
  344. package/lib/aws/notify/target.js +3 -0
  345. package/lib/aws/notify/targets/event-bus.d.ts +39 -0
  346. package/lib/aws/notify/targets/event-bus.js +40 -0
  347. package/lib/aws/notify/targets/function.d.ts +31 -0
  348. package/lib/aws/notify/targets/function.js +36 -0
  349. package/lib/aws/notify/targets/index.d.ts +6 -0
  350. package/lib/aws/notify/targets/index.js +37 -0
  351. package/lib/aws/notify/targets/log-group.d.ts +89 -0
  352. package/lib/aws/notify/targets/log-group.js +110 -0
  353. package/lib/aws/notify/targets/sqs.d.ts +45 -0
  354. package/lib/aws/notify/targets/sqs.js +73 -0
  355. package/lib/aws/notify/targets/state-machine.d.ts +36 -0
  356. package/lib/aws/notify/targets/state-machine.js +39 -0
  357. package/lib/aws/notify/targets/util.d.ts +71 -0
  358. package/lib/aws/notify/targets/util.js +130 -0
  359. package/lib/aws/notify/util.d.ts +13 -0
  360. package/lib/aws/notify/util.js +69 -0
  361. package/lib/aws/provider-config.generated.d.ts +220 -0
  362. package/lib/aws/provider-config.generated.js +3 -0
  363. package/lib/aws/storage/bucket-destination.d.ts +41 -0
  364. package/lib/aws/storage/bucket-destination.js +13 -0
  365. package/lib/aws/storage/bucket-notifications.d.ts +58 -0
  366. package/lib/aws/storage/bucket-notifications.js +169 -0
  367. package/lib/aws/storage/bucket-perms.d.ts +9 -0
  368. package/lib/aws/storage/bucket-perms.js +33 -0
  369. package/lib/aws/storage/bucket-policy.d.ts +51 -0
  370. package/lib/aws/storage/bucket-policy.js +53 -0
  371. package/lib/aws/storage/bucket-source.d.ts +41 -0
  372. package/lib/aws/storage/bucket-source.js +79 -0
  373. package/lib/aws/storage/bucket.d.ts +941 -0
  374. package/lib/aws/storage/bucket.js +869 -0
  375. package/lib/aws/storage/cors-config.generated.d.ts +57 -0
  376. package/lib/aws/storage/cors-config.generated.js +3 -0
  377. package/lib/aws/storage/cors-rule-config.generated.d.ts +38 -0
  378. package/lib/aws/storage/cors-rule-config.generated.js +3 -0
  379. package/lib/aws/storage/index.d.ts +12 -0
  380. package/lib/aws/storage/index.js +31 -0
  381. package/lib/aws/storage/lifecycle-config.generated.d.ts +55 -0
  382. package/lib/aws/storage/lifecycle-config.generated.js +3 -0
  383. package/lib/aws/storage/notification-targets/function.d.ts +11 -0
  384. package/lib/aws/storage/notification-targets/function.js +48 -0
  385. package/lib/aws/storage/notification-targets/index.d.ts +2 -0
  386. package/lib/aws/storage/notification-targets/index.js +21 -0
  387. package/lib/aws/storage/notification-targets/queue.d.ts +15 -0
  388. package/lib/aws/storage/notification-targets/queue.js +58 -0
  389. package/lib/aws/storage/origin-access-identity.d.ts +91 -0
  390. package/lib/aws/storage/origin-access-identity.js +76 -0
  391. package/lib/aws/storage/util.d.ts +40 -0
  392. package/lib/aws/storage/util.js +85 -0
  393. package/lib/aws/storage/website-config.generated.d.ts +73 -0
  394. package/lib/aws/storage/website-config.generated.js +3 -0
  395. package/lib/aws/util.d.ts +4 -0
  396. package/lib/aws/util.js +25 -0
  397. package/lib/construct-base.d.ts +69 -0
  398. package/lib/construct-base.js +89 -0
  399. package/lib/duration.d.ts +160 -0
  400. package/lib/duration.js +327 -0
  401. package/lib/index.d.ts +5 -0
  402. package/lib/index.js +24 -0
  403. package/lib/private/index.d.ts +2 -0
  404. package/lib/private/index.js +19 -0
  405. package/lib/private/terraform-dependables-aspect.d.ts +20 -0
  406. package/lib/private/terraform-dependables-aspect.js +95 -0
  407. package/lib/private/unique-resource-name.d.ts +9 -0
  408. package/lib/private/unique-resource-name.js +145 -0
  409. package/lib/size.d.ts +146 -0
  410. package/lib/size.js +220 -0
  411. package/lib/stack-base.d.ts +188 -0
  412. package/lib/stack-base.js +183 -0
  413. package/lib/token.d.ts +32 -0
  414. package/lib/token.js +54 -0
  415. package/node_modules/camel-case/LICENSE +21 -0
  416. package/node_modules/camel-case/README.md +47 -0
  417. package/node_modules/camel-case/dist/index.d.ts +5 -0
  418. package/node_modules/camel-case/dist/index.js +23 -0
  419. package/node_modules/camel-case/dist/index.js.map +1 -0
  420. package/node_modules/camel-case/dist/index.spec.d.ts +1 -0
  421. package/node_modules/camel-case/dist/index.spec.js +26 -0
  422. package/node_modules/camel-case/dist/index.spec.js.map +1 -0
  423. package/node_modules/camel-case/dist.es2015/index.d.ts +5 -0
  424. package/node_modules/camel-case/dist.es2015/index.js +17 -0
  425. package/node_modules/camel-case/dist.es2015/index.js.map +1 -0
  426. package/node_modules/camel-case/dist.es2015/index.spec.d.ts +1 -0
  427. package/node_modules/camel-case/dist.es2015/index.spec.js +24 -0
  428. package/node_modules/camel-case/dist.es2015/index.spec.js.map +1 -0
  429. package/node_modules/camel-case/package.json +89 -0
  430. package/node_modules/capital-case/LICENSE +21 -0
  431. package/node_modules/capital-case/README.md +37 -0
  432. package/node_modules/capital-case/dist/index.d.ts +4 -0
  433. package/node_modules/capital-case/dist/index.js +16 -0
  434. package/node_modules/capital-case/dist/index.js.map +1 -0
  435. package/node_modules/capital-case/dist/index.spec.d.ts +1 -0
  436. package/node_modules/capital-case/dist/index.spec.js +24 -0
  437. package/node_modules/capital-case/dist/index.spec.js.map +1 -0
  438. package/node_modules/capital-case/dist.es2015/index.d.ts +4 -0
  439. package/node_modules/capital-case/dist.es2015/index.js +11 -0
  440. package/node_modules/capital-case/dist.es2015/index.js.map +1 -0
  441. package/node_modules/capital-case/dist.es2015/index.spec.d.ts +1 -0
  442. package/node_modules/capital-case/dist.es2015/index.spec.js +22 -0
  443. package/node_modules/capital-case/dist.es2015/index.spec.js.map +1 -0
  444. package/node_modules/capital-case/package.json +90 -0
  445. package/node_modules/change-case/LICENSE +21 -0
  446. package/node_modules/change-case/README.md +44 -0
  447. package/node_modules/change-case/dist/index.d.ts +11 -0
  448. package/node_modules/change-case/dist/index.js +15 -0
  449. package/node_modules/change-case/dist/index.js.map +1 -0
  450. package/node_modules/change-case/dist/index.spec.d.ts +1 -0
  451. package/node_modules/change-case/dist/index.spec.js +9 -0
  452. package/node_modules/change-case/dist/index.spec.js.map +1 -0
  453. package/node_modules/change-case/dist.es2015/index.d.ts +11 -0
  454. package/node_modules/change-case/dist.es2015/index.js +12 -0
  455. package/node_modules/change-case/dist.es2015/index.js.map +1 -0
  456. package/node_modules/change-case/dist.es2015/index.spec.d.ts +1 -0
  457. package/node_modules/change-case/dist.es2015/index.spec.js +7 -0
  458. package/node_modules/change-case/dist.es2015/index.spec.js.map +1 -0
  459. package/node_modules/change-case/package.json +101 -0
  460. package/node_modules/constant-case/LICENSE +21 -0
  461. package/node_modules/constant-case/README.md +37 -0
  462. package/node_modules/constant-case/dist/index.d.ts +3 -0
  463. package/node_modules/constant-case/dist/index.js +12 -0
  464. package/node_modules/constant-case/dist/index.js.map +1 -0
  465. package/node_modules/constant-case/dist/index.spec.d.ts +1 -0
  466. package/node_modules/constant-case/dist/index.spec.js +26 -0
  467. package/node_modules/constant-case/dist/index.spec.js.map +1 -0
  468. package/node_modules/constant-case/dist.es2015/index.d.ts +3 -0
  469. package/node_modules/constant-case/dist.es2015/index.js +8 -0
  470. package/node_modules/constant-case/dist.es2015/index.js.map +1 -0
  471. package/node_modules/constant-case/dist.es2015/index.spec.d.ts +1 -0
  472. package/node_modules/constant-case/dist.es2015/index.spec.js +24 -0
  473. package/node_modules/constant-case/dist.es2015/index.spec.js.map +1 -0
  474. package/node_modules/constant-case/package.json +90 -0
  475. package/node_modules/dot-case/LICENSE +21 -0
  476. package/node_modules/dot-case/README.md +37 -0
  477. package/node_modules/dot-case/dist/index.d.ts +3 -0
  478. package/node_modules/dot-case/dist/index.js +11 -0
  479. package/node_modules/dot-case/dist/index.js.map +1 -0
  480. package/node_modules/dot-case/dist/index.spec.d.ts +1 -0
  481. package/node_modules/dot-case/dist/index.spec.js +26 -0
  482. package/node_modules/dot-case/dist/index.spec.js.map +1 -0
  483. package/node_modules/dot-case/dist.es2015/index.d.ts +3 -0
  484. package/node_modules/dot-case/dist.es2015/index.js +7 -0
  485. package/node_modules/dot-case/dist.es2015/index.js.map +1 -0
  486. package/node_modules/dot-case/dist.es2015/index.spec.d.ts +1 -0
  487. package/node_modules/dot-case/dist.es2015/index.spec.js +24 -0
  488. package/node_modules/dot-case/dist.es2015/index.spec.js.map +1 -0
  489. package/node_modules/dot-case/package.json +89 -0
  490. package/node_modules/esbuild-wasm/LICENSE.md +21 -0
  491. package/node_modules/esbuild-wasm/README.md +3 -0
  492. package/node_modules/esbuild-wasm/bin/esbuild +91 -0
  493. package/node_modules/esbuild-wasm/esbuild.wasm +0 -0
  494. package/node_modules/esbuild-wasm/esm/browser.d.ts +705 -0
  495. package/node_modules/esbuild-wasm/esm/browser.js +2370 -0
  496. package/node_modules/esbuild-wasm/esm/browser.min.js +20 -0
  497. package/node_modules/esbuild-wasm/lib/browser.d.ts +705 -0
  498. package/node_modules/esbuild-wasm/lib/browser.js +2415 -0
  499. package/node_modules/esbuild-wasm/lib/browser.min.js +22 -0
  500. package/node_modules/esbuild-wasm/lib/main.d.ts +705 -0
  501. package/node_modules/esbuild-wasm/lib/main.js +2051 -0
  502. package/node_modules/esbuild-wasm/package.json +19 -0
  503. package/node_modules/esbuild-wasm/wasm_exec.js +561 -0
  504. package/node_modules/esbuild-wasm/wasm_exec_node.js +39 -0
  505. package/node_modules/header-case/LICENSE +21 -0
  506. package/node_modules/header-case/README.md +37 -0
  507. package/node_modules/header-case/dist/index.d.ts +3 -0
  508. package/node_modules/header-case/dist/index.js +11 -0
  509. package/node_modules/header-case/dist/index.js.map +1 -0
  510. package/node_modules/header-case/dist/index.spec.d.ts +1 -0
  511. package/node_modules/header-case/dist/index.spec.js +24 -0
  512. package/node_modules/header-case/dist/index.spec.js.map +1 -0
  513. package/node_modules/header-case/dist.es2015/index.d.ts +3 -0
  514. package/node_modules/header-case/dist.es2015/index.js +7 -0
  515. package/node_modules/header-case/dist.es2015/index.js.map +1 -0
  516. package/node_modules/header-case/dist.es2015/index.spec.d.ts +1 -0
  517. package/node_modules/header-case/dist.es2015/index.spec.js +22 -0
  518. package/node_modules/header-case/dist.es2015/index.spec.js.map +1 -0
  519. package/node_modules/header-case/package.json +89 -0
  520. package/node_modules/lower-case/LICENSE +21 -0
  521. package/node_modules/lower-case/README.md +35 -0
  522. package/node_modules/lower-case/dist/index.d.ts +8 -0
  523. package/node_modules/lower-case/dist/index.js +53 -0
  524. package/node_modules/lower-case/dist/index.js.map +1 -0
  525. package/node_modules/lower-case/dist/index.spec.d.ts +1 -0
  526. package/node_modules/lower-case/dist/index.spec.js +36 -0
  527. package/node_modules/lower-case/dist/index.spec.js.map +1 -0
  528. package/node_modules/lower-case/dist.es2015/index.d.ts +8 -0
  529. package/node_modules/lower-case/dist.es2015/index.js +48 -0
  530. package/node_modules/lower-case/dist.es2015/index.js.map +1 -0
  531. package/node_modules/lower-case/dist.es2015/index.spec.d.ts +1 -0
  532. package/node_modules/lower-case/dist.es2015/index.spec.js +34 -0
  533. package/node_modules/lower-case/dist.es2015/index.spec.js.map +1 -0
  534. package/node_modules/lower-case/package.json +87 -0
  535. package/node_modules/mime-db/HISTORY.md +507 -0
  536. package/node_modules/mime-db/LICENSE +23 -0
  537. package/node_modules/mime-db/README.md +100 -0
  538. package/node_modules/mime-db/db.json +8519 -0
  539. package/node_modules/mime-db/index.js +12 -0
  540. package/node_modules/mime-db/package.json +60 -0
  541. package/node_modules/mime-types/HISTORY.md +397 -0
  542. package/node_modules/mime-types/LICENSE +23 -0
  543. package/node_modules/mime-types/README.md +113 -0
  544. package/node_modules/mime-types/index.js +188 -0
  545. package/node_modules/mime-types/package.json +44 -0
  546. package/node_modules/no-case/LICENSE +21 -0
  547. package/node_modules/no-case/README.md +37 -0
  548. package/node_modules/no-case/dist/index.d.ts +10 -0
  549. package/node_modules/no-case/dist/index.js +35 -0
  550. package/node_modules/no-case/dist/index.js.map +1 -0
  551. package/node_modules/no-case/dist/index.spec.d.ts +1 -0
  552. package/node_modules/no-case/dist/index.spec.js +59 -0
  553. package/node_modules/no-case/dist/index.spec.js.map +1 -0
  554. package/node_modules/no-case/dist.es2015/index.d.ts +10 -0
  555. package/node_modules/no-case/dist.es2015/index.js +31 -0
  556. package/node_modules/no-case/dist.es2015/index.js.map +1 -0
  557. package/node_modules/no-case/dist.es2015/index.spec.d.ts +1 -0
  558. package/node_modules/no-case/dist.es2015/index.spec.js +57 -0
  559. package/node_modules/no-case/dist.es2015/index.spec.js.map +1 -0
  560. package/node_modules/no-case/package.json +85 -0
  561. package/node_modules/param-case/LICENSE +21 -0
  562. package/node_modules/param-case/README.md +37 -0
  563. package/node_modules/param-case/dist/index.d.ts +3 -0
  564. package/node_modules/param-case/dist/index.js +11 -0
  565. package/node_modules/param-case/dist/index.js.map +1 -0
  566. package/node_modules/param-case/dist/index.spec.d.ts +1 -0
  567. package/node_modules/param-case/dist/index.spec.js +24 -0
  568. package/node_modules/param-case/dist/index.spec.js.map +1 -0
  569. package/node_modules/param-case/dist.es2015/index.d.ts +3 -0
  570. package/node_modules/param-case/dist.es2015/index.js +7 -0
  571. package/node_modules/param-case/dist.es2015/index.js.map +1 -0
  572. package/node_modules/param-case/dist.es2015/index.spec.d.ts +1 -0
  573. package/node_modules/param-case/dist.es2015/index.spec.js +22 -0
  574. package/node_modules/param-case/dist.es2015/index.spec.js.map +1 -0
  575. package/node_modules/param-case/package.json +91 -0
  576. package/node_modules/pascal-case/LICENSE +21 -0
  577. package/node_modules/pascal-case/README.md +47 -0
  578. package/node_modules/pascal-case/dist/index.d.ts +5 -0
  579. package/node_modules/pascal-case/dist/index.js +24 -0
  580. package/node_modules/pascal-case/dist/index.js.map +1 -0
  581. package/node_modules/pascal-case/dist/index.spec.d.ts +1 -0
  582. package/node_modules/pascal-case/dist/index.spec.js +25 -0
  583. package/node_modules/pascal-case/dist/index.spec.js.map +1 -0
  584. package/node_modules/pascal-case/dist.es2015/index.d.ts +5 -0
  585. package/node_modules/pascal-case/dist.es2015/index.js +18 -0
  586. package/node_modules/pascal-case/dist.es2015/index.js.map +1 -0
  587. package/node_modules/pascal-case/dist.es2015/index.spec.d.ts +1 -0
  588. package/node_modules/pascal-case/dist.es2015/index.spec.js +23 -0
  589. package/node_modules/pascal-case/dist.es2015/index.spec.js.map +1 -0
  590. package/node_modules/pascal-case/package.json +90 -0
  591. package/node_modules/path-case/LICENSE +21 -0
  592. package/node_modules/path-case/README.md +37 -0
  593. package/node_modules/path-case/dist/index.d.ts +3 -0
  594. package/node_modules/path-case/dist/index.js +11 -0
  595. package/node_modules/path-case/dist/index.js.map +1 -0
  596. package/node_modules/path-case/dist/index.spec.d.ts +1 -0
  597. package/node_modules/path-case/dist/index.spec.js +24 -0
  598. package/node_modules/path-case/dist/index.spec.js.map +1 -0
  599. package/node_modules/path-case/dist.es2015/index.d.ts +3 -0
  600. package/node_modules/path-case/dist.es2015/index.js +7 -0
  601. package/node_modules/path-case/dist.es2015/index.js.map +1 -0
  602. package/node_modules/path-case/dist.es2015/index.spec.d.ts +1 -0
  603. package/node_modules/path-case/dist.es2015/index.spec.js +22 -0
  604. package/node_modules/path-case/dist.es2015/index.spec.js.map +1 -0
  605. package/node_modules/path-case/package.json +88 -0
  606. package/node_modules/sentence-case/LICENSE +21 -0
  607. package/node_modules/sentence-case/README.md +37 -0
  608. package/node_modules/sentence-case/dist/index.d.ts +4 -0
  609. package/node_modules/sentence-case/dist/index.js +19 -0
  610. package/node_modules/sentence-case/dist/index.js.map +1 -0
  611. package/node_modules/sentence-case/dist/index.spec.d.ts +1 -0
  612. package/node_modules/sentence-case/dist/index.spec.js +24 -0
  613. package/node_modules/sentence-case/dist/index.spec.js.map +1 -0
  614. package/node_modules/sentence-case/dist.es2015/index.d.ts +4 -0
  615. package/node_modules/sentence-case/dist.es2015/index.js +14 -0
  616. package/node_modules/sentence-case/dist.es2015/index.js.map +1 -0
  617. package/node_modules/sentence-case/dist.es2015/index.spec.d.ts +1 -0
  618. package/node_modules/sentence-case/dist.es2015/index.spec.js +22 -0
  619. package/node_modules/sentence-case/dist.es2015/index.spec.js.map +1 -0
  620. package/node_modules/sentence-case/package.json +89 -0
  621. package/node_modules/snake-case/LICENSE +21 -0
  622. package/node_modules/snake-case/README.md +37 -0
  623. package/node_modules/snake-case/dist/index.d.ts +3 -0
  624. package/node_modules/snake-case/dist/index.js +11 -0
  625. package/node_modules/snake-case/dist/index.js.map +1 -0
  626. package/node_modules/snake-case/dist/index.spec.d.ts +1 -0
  627. package/node_modules/snake-case/dist/index.spec.js +25 -0
  628. package/node_modules/snake-case/dist/index.spec.js.map +1 -0
  629. package/node_modules/snake-case/dist.es2015/index.d.ts +3 -0
  630. package/node_modules/snake-case/dist.es2015/index.js +7 -0
  631. package/node_modules/snake-case/dist.es2015/index.js.map +1 -0
  632. package/node_modules/snake-case/dist.es2015/index.spec.d.ts +1 -0
  633. package/node_modules/snake-case/dist.es2015/index.spec.js +23 -0
  634. package/node_modules/snake-case/dist.es2015/index.spec.js.map +1 -0
  635. package/node_modules/snake-case/package.json +90 -0
  636. package/node_modules/tslib/CopyrightNotice.txt +15 -0
  637. package/node_modules/tslib/LICENSE.txt +12 -0
  638. package/node_modules/tslib/README.md +164 -0
  639. package/node_modules/tslib/SECURITY.md +41 -0
  640. package/node_modules/tslib/modules/index.d.ts +37 -0
  641. package/node_modules/tslib/modules/index.js +68 -0
  642. package/node_modules/tslib/modules/package.json +3 -0
  643. package/node_modules/tslib/package.json +47 -0
  644. package/node_modules/tslib/tslib.d.ts +453 -0
  645. package/node_modules/tslib/tslib.es6.html +1 -0
  646. package/node_modules/tslib/tslib.es6.js +374 -0
  647. package/node_modules/tslib/tslib.es6.mjs +373 -0
  648. package/node_modules/tslib/tslib.html +1 -0
  649. package/node_modules/tslib/tslib.js +424 -0
  650. package/node_modules/upper-case/README.md +34 -0
  651. package/node_modules/upper-case/dist/index.d.ts +8 -0
  652. package/node_modules/upper-case/dist/index.js +49 -0
  653. package/node_modules/upper-case/dist/index.js.map +1 -0
  654. package/node_modules/upper-case/dist/index.spec.d.ts +1 -0
  655. package/node_modules/upper-case/dist/index.spec.js +34 -0
  656. package/node_modules/upper-case/dist/index.spec.js.map +1 -0
  657. package/node_modules/upper-case/dist.es2015/index.d.ts +8 -0
  658. package/node_modules/upper-case/dist.es2015/index.js +44 -0
  659. package/node_modules/upper-case/dist.es2015/index.js.map +1 -0
  660. package/node_modules/upper-case/dist.es2015/index.spec.d.ts +1 -0
  661. package/node_modules/upper-case/dist.es2015/index.spec.js +32 -0
  662. package/node_modules/upper-case/dist.es2015/index.spec.js.map +1 -0
  663. package/node_modules/upper-case/package.json +86 -0
  664. package/node_modules/upper-case-first/LICENSE +21 -0
  665. package/node_modules/upper-case-first/README.md +32 -0
  666. package/node_modules/upper-case-first/dist/index.d.ts +4 -0
  667. package/node_modules/upper-case-first/dist/index.js +11 -0
  668. package/node_modules/upper-case-first/dist/index.js.map +1 -0
  669. package/node_modules/upper-case-first/dist/index.spec.d.ts +1 -0
  670. package/node_modules/upper-case-first/dist/index.spec.js +20 -0
  671. package/node_modules/upper-case-first/dist/index.spec.js.map +1 -0
  672. package/node_modules/upper-case-first/dist.es2015/index.d.ts +4 -0
  673. package/node_modules/upper-case-first/dist.es2015/index.js +7 -0
  674. package/node_modules/upper-case-first/dist.es2015/index.js.map +1 -0
  675. package/node_modules/upper-case-first/dist.es2015/index.spec.d.ts +1 -0
  676. package/node_modules/upper-case-first/dist.es2015/index.spec.js +18 -0
  677. package/node_modules/upper-case-first/dist.es2015/index.spec.js.map +1 -0
  678. package/node_modules/upper-case-first/package.json +87 -0
  679. package/package.json +152 -0
  680. package/setup.js +2 -0
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Match = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // ref: https://github.com/aws/aws-cdk/blob/v2.156.0/packages/aws-cdk-lib/aws-events/lib/event-pattern.ts
7
+ const cdktf_1 = require("cdktf");
8
+ /**
9
+ * An event pattern matcher
10
+ */
11
+ class Match {
12
+ /**
13
+ * Matches a null value in the JSON of the event
14
+ */
15
+ static nullValue() {
16
+ return this.fromObjects([null]);
17
+ }
18
+ /**
19
+ * Matches when the field is present in the JSON of the event
20
+ */
21
+ static exists() {
22
+ return this.fromObjects([{ exists: true }]);
23
+ }
24
+ /**
25
+ * Matches when the field is absent from the JSON of the event
26
+ */
27
+ static doesNotExist() {
28
+ return this.fromObjects([{ exists: false }]);
29
+ }
30
+ /**
31
+ * Matches a string, exactly, in the JSON of the event
32
+ */
33
+ static exactString(value) {
34
+ return this.fromObjects([value]);
35
+ }
36
+ /**
37
+ * Matches a string, regardless of case, in the JSON of the event
38
+ */
39
+ static equalsIgnoreCase(value) {
40
+ return this.fromObjects([{ "equals-ignore-case": value }]);
41
+ }
42
+ /**
43
+ * Matches strings with the given prefix in the JSON of the event
44
+ */
45
+ static prefix(value) {
46
+ return this.fromObjects([{ prefix: value }]);
47
+ }
48
+ /**
49
+ * Matches strings with the given suffix in the JSON of the event
50
+ */
51
+ static suffix(value) {
52
+ return this.fromObjects([{ suffix: value }]);
53
+ }
54
+ /**
55
+ * Matches IPv4 and IPv6 network addresses using the Classless Inter-Domain Routing (CIDR) format
56
+ */
57
+ static cidr(range) {
58
+ const ipv4Regex = /^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$/gim;
59
+ const ipv6Regex = /^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$/gim;
60
+ if (!ipv4Regex.test(range) && !ipv6Regex.test(range)) {
61
+ throw new Error(`Invalid IP address range: ${range}`);
62
+ }
63
+ return this.fromObjects([{ cidr: range }]);
64
+ }
65
+ /**
66
+ * Matches IPv4 and IPv6 network addresses using the Classless Inter-Domain Routing (CIDR) format.
67
+ * Alias of `cidr()`.
68
+ */
69
+ static ipAddressRange(range) {
70
+ return Match.cidr(range);
71
+ }
72
+ /**
73
+ * Matches anything except what's provided in the rule. The list of provided values must contain
74
+ * only strings or only numbers.
75
+ */
76
+ static anythingBut(...values) {
77
+ if (values.length === 0) {
78
+ throw new Error("anythingBut matchers must be non-empty lists");
79
+ }
80
+ const allNumbers = values.every((v) => typeof v === "number");
81
+ const allStrings = values.every((v) => typeof v === "string");
82
+ if (!(allNumbers || allStrings)) {
83
+ throw new Error("anythingBut matchers must be lists that contain only strings or only numbers.");
84
+ }
85
+ return this.fromObjects([{ "anything-but": values }]);
86
+ }
87
+ /**
88
+ * Matches any string that doesn't start with the given prefix.
89
+ */
90
+ static anythingButPrefix(prefix) {
91
+ return this.fromObjects([{ "anything-but": { prefix: prefix } }]);
92
+ }
93
+ /**
94
+ * Matches numbers greater than the provided value
95
+ */
96
+ static greaterThan(value) {
97
+ return this.numeric(">", value);
98
+ }
99
+ /**
100
+ * Matches numbers greater than, or equal to, the provided value
101
+ */
102
+ static greaterThanOrEqual(value) {
103
+ return this.numeric(">=", value);
104
+ }
105
+ /**
106
+ * Matches numbers less than the provided value
107
+ */
108
+ static lessThan(value) {
109
+ return this.numeric("<", value);
110
+ }
111
+ /**
112
+ * Matches numbers less than, or equal to, the provided value
113
+ */
114
+ static lessThanOrEqual(value) {
115
+ return this.numeric("<=", value);
116
+ }
117
+ /**
118
+ * Matches numbers equal to the provided value
119
+ */
120
+ static equal(value) {
121
+ return this.numeric("=", value);
122
+ }
123
+ /**
124
+ * Matches numbers inside a closed numeric interval. Equivalent to:
125
+ *
126
+ * Match.allOf(Match.greaterThanOrEqual(lower), Match.lessThanOrEqual(upper))
127
+ *
128
+ * @param lower Lower bound (inclusive)
129
+ * @param upper Upper bound (inclusive)
130
+ */
131
+ static interval(lower, upper) {
132
+ if (lower > upper) {
133
+ throw new Error(`Invalid interval: [${lower}, ${upper}]`);
134
+ }
135
+ return Match.allOf(Match.greaterThanOrEqual(lower), Match.lessThanOrEqual(upper));
136
+ }
137
+ /**
138
+ * Matches an event if any of the provided matchers do. Only numeric matchers are accepted.
139
+ */
140
+ static allOf(...matchers) {
141
+ if (matchers.length === 0) {
142
+ throw new Error("A list of matchers must contain at least one element.");
143
+ }
144
+ return this.fromMergedObjects(matchers);
145
+ }
146
+ /**
147
+ * Matches an event if any of the provided matchers does.
148
+ */
149
+ static anyOf(...matchers) {
150
+ if (matchers.length === 0) {
151
+ throw new Error("A list of matchers must contain at least one element.");
152
+ }
153
+ return this.fromObjects(matchers);
154
+ }
155
+ static numeric(operator, value) {
156
+ return this.fromObjects([{ numeric: [operator, value] }]);
157
+ }
158
+ static fromObjects(values) {
159
+ return new Match(values, { mergeMatchers: false }).asList();
160
+ }
161
+ static fromMergedObjects(values) {
162
+ return new Match(values, { mergeMatchers: true }).asList();
163
+ }
164
+ constructor(matchers, options) {
165
+ this.matchers = matchers;
166
+ this.options = options;
167
+ // TODO: Implement stack traces
168
+ // ref: https://github.com/hashicorp/terraform-cdk/blob/v0.20.9/packages/cdktf/lib/tokens/private/stack-trace.ts#L9
169
+ // ref: https://github.com/aws/aws-cdk/blob/v2.143.0/packages/aws-cdk-lib/core/lib/stack-trace.ts#L22
170
+ this.creationStack = ["stack traces disabled"];
171
+ }
172
+ resolve(context) {
173
+ const matchers = this.matchers.flatMap((matcher) => context.resolve(matcher));
174
+ return this.options.mergeMatchers ? this.merge(matchers) : matchers;
175
+ }
176
+ merge(matchers) {
177
+ // This is the only supported case for merging at the moment.
178
+ // We can generalize this logic if EventBridge starts supporting more cases in the future.
179
+ if (!matchers.every((matcher) => matcher?.numeric)) {
180
+ throw new Error("Only numeric matchers can be merged into a single matcher.");
181
+ }
182
+ return [{ numeric: matchers.flatMap((matcher) => matcher.numeric) }];
183
+ }
184
+ toString() {
185
+ return cdktf_1.Token.asString(this);
186
+ }
187
+ /**
188
+ * A representation of this matcher as a list of strings
189
+ */
190
+ asList() {
191
+ return cdktf_1.Token.asList(this);
192
+ }
193
+ }
194
+ exports.Match = Match;
195
+ _a = JSII_RTTI_SYMBOL_1;
196
+ Match[_a] = { fqn: "terraconstructs.aws.notify.Match", version: "0.0.8" };
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtcGF0dGVybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L2V2ZW50LXBhdHRlcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5R0FBeUc7QUFDekcsaUNBQTREO0FBYzVEOztHQUVHO0FBQ0gsTUFBYSxLQUFLO0lBQ2hCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFNBQVM7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBYTtRQUNyQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBYTtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOztP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LE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sYUFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxhQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7O0FBeE9ILHNCQXlPQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTU2LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWV2ZW50cy9saWIvZXZlbnQtcGF0dGVybi50c1xuaW1wb3J0IHsgSVJlc29sdmFibGUsIElSZXNvbHZlQ29udGV4dCwgVG9rZW4gfSBmcm9tIFwiY2RrdGZcIjtcblxudHlwZSBDb21wYXJpc29uT3BlcmF0b3IgPSBcIj5cIiB8IFwiPj1cIiB8IFwiPFwiIHwgXCI8PVwiIHwgXCI9XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgaG93IHRvIGNvbnN0cnVjdCBtYXRjaGVyc1xuICovXG5pbnRlcmZhY2UgTWF0Y2hPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGxpc3Qgb2YgbWF0Y2hlcnMgc2hvdWxkIGJlIG1lcmdlZCBpbnRvIGEgc2luZ2xlIG1hdGNoZXJcbiAgICovXG4gIHJlYWRvbmx5IG1lcmdlTWF0Y2hlcnM6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gZXZlbnQgcGF0dGVybiBtYXRjaGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBNYXRjaCBpbXBsZW1lbnRzIElSZXNvbHZhYmxlIHtcbiAgLyoqXG4gICAqIE1hdGNoZXMgYSBudWxsIHZhbHVlIGluIHRoZSBKU09OIG9mIHRoZSBldmVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBudWxsVmFsdWUoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmZyb21PYmplY3RzKFtudWxsXSk7XG4gIH1cblxuICAvKipcbiAgICogTWF0Y2hlcyB3aGVuIHRoZSBmaWVsZCBpcyBwcmVzZW50IGluIHRoZSBKU09OIG9mIHRoZSBldmVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBleGlzdHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmZyb21PYmplY3RzKFt7IGV4aXN0czogdHJ1ZSB9XSk7XG4gIH1cblxuICAvKipcbiAgICogTWF0Y2hlcyB3aGVuIHRoZSBmaWVsZCBpcyBhYnNlbnQgZnJvbSB0aGUgSlNPTiBvZiB0aGUgZXZlbnRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZG9lc05vdEV4aXN0KCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tT2JqZWN0cyhbeyBleGlzdHM6IGZhbHNlIH1dKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXRjaGVzIGEgc3RyaW5nLCBleGFjdGx5LCBpbiB0aGUgSlNPTiBvZiB0aGUgZXZlbnRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXhhY3RTdHJpbmcodmFsdWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tT2JqZWN0cyhbdmFsdWVdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXRjaGVzIGEgc3RyaW5nLCByZWdhcmRsZXNzIG9mIGNhc2UsIGluIHRoZSBKU09OIG9mIHRoZSBldmVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlcXVhbHNJZ25vcmVDYXNlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbU9iamVjdHMoW3sgXCJlcXVhbHMtaWdub3JlLWNhc2VcIjogdmFsdWUgfV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hdGNoZXMgc3RyaW5ncyB3aXRoIHRoZSBnaXZlbiBwcmVmaXggaW4gdGhlIEpTT04gb2YgdGhlIGV2ZW50XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHByZWZpeCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmZyb21PYmplY3RzKFt7IHByZWZpeDogdmFsdWUgfV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hdGNoZXMgc3RyaW5ncyB3aXRoIHRoZSBnaXZlbiBzdWZmaXggaW4gdGhlIEpTT04gb2YgdGhlIGV2ZW50XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN1ZmZpeCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmZyb21PYmplY3RzKFt7IHN1ZmZpeDogdmFsdWUgfV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hdGNoZXMgSVB2NCBhbmQgSVB2NiBuZXR3b3JrIGFkZHJlc3NlcyB1c2luZyB0aGUgQ2xhc3NsZXNzIEludGVyLURvbWFpbiBSb3V0aW5nIChDSURSKSBmb3JtYXRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2lkcihyYW5nZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGlwdjRSZWdleCA9XG4gICAgICAvXihbMC05XXsxLDN9XFwuKXszfVswLTldezEsM30oXFwvKFswLTldfFsxLTJdWzAtOV18M1swLTJdKSk/JC9naW07XG4gICAgY29uc3QgaXB2NlJlZ2V4ID1cbiAgICAgIC9ecyooKChbMC05QS1GYS1mXXsxLDR9Oil7N30oWzAtOUEtRmEtZl17MSw0fXw6KSl8KChbMC05QS1GYS1mXXsxLDR9Oil7Nn0oOlswLTlBLUZhLWZdezEsNH18KCgyNVswLTVdfDJbMC00XWR8MWRkfFsxLTldP2QpKC4oMjVbMC01XXwyWzAtNF1kfDFkZHxbMS05XT9kKSl7M30pfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXs1fSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDJ9KXw6KCgyNVswLTVdfDJbMC00XWR8MWRkfFsxLTldP2QpKC4oMjVbMC01XXwyWzAtNF1kfDFkZHxbMS05XT9kKSl7M30pfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXs0fSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDN9KXwoKDpbMC05QS1GYS1mXXsxLDR9KT86KCgyNVswLTVdfDJbMC00XWR8MWRkfFsxLTldP2QpKC4oMjVbMC01XXwyWzAtNF1kfDFkZHxbMS05XT9kKSl7M30pKXw6KSl8KChbMC05QS1GYS1mXXsxLDR9Oil7M30oKCg6WzAtOUEtRmEtZl17MSw0fSl7MSw0fSl8KCg6WzAtOUEtRmEtZl17MSw0fSl7MCwyfTooKDI1WzAtNV18MlswLTRdZHwxZGR8WzEtOV0/ZCkoLigyNVswLTVdfDJbMC00XWR8MWRkfFsxLTldP2QpKXszfSkpfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXsyfSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDV9KXwoKDpbMC05QS1GYS1mXXsxLDR9KXswLDN9OigoMjVbMC01XXwyWzAtNF1kfDFkZHxbMS05XT9kKSguKDI1WzAtNV18MlswLTRdZHwxZGR8WzEtOV0/ZCkpezN9KSl8OikpfCgoWzAtOUEtRmEtZl17MSw0fTopezF9KCgoOlswLTlBLUZhLWZdezEsNH0pezEsNn0pfCgoOlswLTlBLUZhLWZdezEsNH0pezAsNH06KCgyNVswLTVdfDJbMC00XWR8MWRkfFsxLTldP2QpKC4oMjVbMC01XXwyWzAtNF1kfDFkZHxbMS05XT9kKSl7M30pKXw6KSl8KDooKCg6WzAtOUEtRmEtZl17MSw0fSl7MSw3fSl8KCg6WzAtOUEtRmEtZl17MSw0fSl7MCw1fTooKDI1WzAtNV18MlswLTRdZHwxZGR8WzEtOV0/ZCkoLigyNVswLTVdfDJbMC00XWR8MWRkfFsxLTldP2QpKXszfSkpfDopKSkoJS4rKT9zKihcXC8oWzAtOV18WzEtOV1bMC05XXwxWzAtMV1bMC05XXwxMlswLThdKSk/JC9naW07XG5cbiAgICBpZiAoIWlwdjRSZWdleC50ZXN0KHJhbmdlKSAmJiAhaXB2NlJlZ2V4LnRlc3QocmFuZ2UpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSVAgYWRkcmVzcyByYW5nZTogJHtyYW5nZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mcm9tT2JqZWN0cyhbeyBjaWRyOiByYW5nZSB9XSk7XG4gIH1cblxuICAvKipcbiAgICogTWF0Y2hlcyBJUHY0IGFuZCBJUHY2IG5ldHdvcmsgYWRkcmVzc2VzIHVzaW5nIHRoZSBDbGFzc2xlc3MgSW50ZXItRG9tYWluIFJvdXRpbmcgKENJRFIpIGZvcm1hdC5cbiAgICogQWxpYXMgb2YgYGNpZHIoKWAuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlwQWRkcmVzc1JhbmdlKHJhbmdlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE1hdGNoLmNpZHIocmFuZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hdGNoZXMgYW55dGhpbmcgZXhjZXB0IHdoYXQncyBwcm92aWRlZCBpbiB0aGUgcnVsZS4gVGhlIGxpc3Qgb2YgcHJvdmlkZWQgdmFsdWVzIG11c3QgY29udGFpblxuICAgKiBvbmx5IHN0cmluZ3Mgb3Igb25seSBudW1iZXJzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhbnl0aGluZ0J1dCguLi52YWx1ZXM6IGFueVtdKTogc3RyaW5nW10ge1xuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJhbnl0aGluZ0J1dCBtYXRjaGVycyBtdXN0IGJlIG5vbi1lbXB0eSBsaXN0c1wiKTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxOdW1iZXJzID0gdmFsdWVzLmV2ZXJ5KCh2KSA9PiB0eXBlb2YgdiA9PT0gXCJudW1iZXJcIik7XG4gICAgY29uc3QgYWxsU3RyaW5ncyA9IHZhbHVlcy5ldmVyeSgodikgPT4gdHlwZW9mIHYgPT09IFwic3RyaW5nXCIpO1xuXG4gICAgaWYgKCEoYWxsTnVtYmVycyB8fCBhbGxTdHJpbmdzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImFueXRoaW5nQnV0IG1hdGNoZXJzIG11c3QgYmUgbGlzdHMgdGhhdCBjb250YWluIG9ubHkgc3RyaW5ncyBvciBvbmx5IG51bWJlcnMuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZyb21PYmplY3RzKFt7IFwiYW55dGhpbmctYnV0XCI6IHZhbHVlcyB9XSk7XG4gIH1cblxuICAvKipcbiAgICogTWF0Y2hlcyBhbnkgc3RyaW5nIHRoYXQgZG9lc24ndCBzdGFydCB3aXRoIHRoZSBnaXZlbiBwcmVmaXguXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFueXRoaW5nQnV0UHJlZml4KHByZWZpeDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmZyb21PYmplY3RzKFt7IFwiYW55dGhpbmctYnV0XCI6IHsgcHJlZml4OiBwcmVmaXggfSB9XSk7XG4gIH1cblxuICAvKipcbiAgICogTWF0Y2hlcyBudW1iZXJzIGdyZWF0ZXIgdGhhbiB0aGUgcHJvdmlkZWQgdmFsdWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ3JlYXRlclRoYW4odmFsdWU6IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5udW1lcmljKFwiPlwiLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogTWF0Y2hlcyBudW1iZXJzIGdyZWF0ZXIgdGhhbiwgb3IgZXF1YWwgdG8sIHRoZSBwcm92aWRlZCB2YWx1ZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBncmVhdGVyVGhhbk9yRXF1YWwodmFsdWU6IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5udW1lcmljKFwiPj1cIiwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hdGNoZXMgbnVtYmVycyBsZXNzIHRoYW4gdGhlIHByb3ZpZGVkIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxlc3NUaGFuKHZhbHVlOiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMubnVtZXJpYyhcIjxcIiwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hdGNoZXMgbnVtYmVycyBsZXNzIHRoYW4sIG9yIGVxdWFsIHRvLCB0aGUgcHJvdmlkZWQgdmFsdWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbGVzc1RoYW5PckVxdWFsKHZhbHVlOiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMubnVtZXJpYyhcIjw9XCIsIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXRjaGVzIG51bWJlcnMgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVxdWFsKHZhbHVlOiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMubnVtZXJpYyhcIj1cIiwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hdGNoZXMgbnVtYmVycyBpbnNpZGUgYSBjbG9zZWQgbnVtZXJpYyBpbnRlcnZhbC4gRXF1aXZhbGVudCB0bzpcbiAgICpcbiAgICogICAgTWF0Y2guYWxsT2YoTWF0Y2guZ3JlYXRlclRoYW5PckVxdWFsKGxvd2VyKSwgTWF0Y2gubGVzc1RoYW5PckVxdWFsKHVwcGVyKSlcbiAgICpcbiAgICogQHBhcmFtIGxvd2VyIExvd2VyIGJvdW5kIChpbmNsdXNpdmUpXG4gICAqIEBwYXJhbSB1cHBlciBVcHBlciBib3VuZCAoaW5jbHVzaXZlKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnRlcnZhbChsb3dlcjogbnVtYmVyLCB1cHBlcjogbnVtYmVyKTogc3RyaW5nW10ge1xuICAgIGlmIChsb3dlciA+IHVwcGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJ2YWw6IFske2xvd2VyfSwgJHt1cHBlcn1dYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGNoLmFsbE9mKFxuICAgICAgTWF0Y2guZ3JlYXRlclRoYW5PckVxdWFsKGxvd2VyKSxcbiAgICAgIE1hdGNoLmxlc3NUaGFuT3JFcXVhbCh1cHBlciksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXRjaGVzIGFuIGV2ZW50IGlmIGFueSBvZiB0aGUgcHJvdmlkZWQgbWF0Y2hlcnMgZG8uIE9ubHkgbnVtZXJpYyBtYXRjaGVycyBhcmUgYWNjZXB0ZWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFsbE9mKC4uLm1hdGNoZXJzOiBhbnlbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAobWF0Y2hlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGxpc3Qgb2YgbWF0Y2hlcnMgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBlbGVtZW50LlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mcm9tTWVyZ2VkT2JqZWN0cyhtYXRjaGVycyk7XG4gIH1cblxuICAvKipcbiAgICogTWF0Y2hlcyBhbiBldmVudCBpZiBhbnkgb2YgdGhlIHByb3ZpZGVkIG1hdGNoZXJzIGRvZXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFueU9mKC4uLm1hdGNoZXJzOiBhbnlbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAobWF0Y2hlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGxpc3Qgb2YgbWF0Y2hlcnMgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBlbGVtZW50LlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZnJvbU9iamVjdHMobWF0Y2hlcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbnVtZXJpYyhcbiAgICBvcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tT2JqZWN0cyhbeyBudW1lcmljOiBbb3BlcmF0b3IsIHZhbHVlXSB9XSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmcm9tT2JqZWN0cyh2YWx1ZXM6IGFueVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBuZXcgTWF0Y2godmFsdWVzLCB7IG1lcmdlTWF0Y2hlcnM6IGZhbHNlIH0pLmFzTGlzdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZnJvbU1lcmdlZE9iamVjdHModmFsdWVzOiBhbnlbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gbmV3IE1hdGNoKHZhbHVlcywgeyBtZXJnZU1hdGNoZXJzOiB0cnVlIH0pLmFzTGlzdCgpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGNyZWF0aW9uU3RhY2s6IHN0cmluZ1tdO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXRjaGVyczogYW55W10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBNYXRjaE9wdGlvbnMsXG4gICkge1xuICAgIC8vIFRPRE86IEltcGxlbWVudCBzdGFjayB0cmFjZXNcbiAgICAvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLWNkay9ibG9iL3YwLjIwLjkvcGFja2FnZXMvY2RrdGYvbGliL3Rva2Vucy9wcml2YXRlL3N0YWNrLXRyYWNlLnRzI0w5XG4gICAgLy8gcmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNDMuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9jb3JlL2xpYi9zdGFjay10cmFjZS50cyNMMjJcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBbXCJzdGFjayB0cmFjZXMgZGlzYWJsZWRcIl07XG4gIH1cblxuICByZXNvbHZlKGNvbnRleHQ6IElSZXNvbHZlQ29udGV4dCk6IGFueSB7XG4gICAgY29uc3QgbWF0Y2hlcnMgPSB0aGlzLm1hdGNoZXJzLmZsYXRNYXAoKG1hdGNoZXIpID0+XG4gICAgICBjb250ZXh0LnJlc29sdmUobWF0Y2hlciksXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm1lcmdlTWF0Y2hlcnMgPyB0aGlzLm1lcmdlKG1hdGNoZXJzKSA6IG1hdGNoZXJzO1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZShtYXRjaGVyczogYW55W10pOiBhbnkge1xuICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgc3VwcG9ydGVkIGNhc2UgZm9yIG1lcmdpbmcgYXQgdGhlIG1vbWVudC5cbiAgICAvLyBXZSBjYW4gZ2VuZXJhbGl6ZSB0aGlzIGxvZ2ljIGlmIEV2ZW50QnJpZGdlIHN0YXJ0cyBzdXBwb3J0aW5nIG1vcmUgY2FzZXMgaW4gdGhlIGZ1dHVyZS5cbiAgICBpZiAoIW1hdGNoZXJzLmV2ZXJ5KChtYXRjaGVyKSA9PiBtYXRjaGVyPy5udW1lcmljKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk9ubHkgbnVtZXJpYyBtYXRjaGVycyBjYW4gYmUgbWVyZ2VkIGludG8gYSBzaW5nbGUgbWF0Y2hlci5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFt7IG51bWVyaWM6IG1hdGNoZXJzLmZsYXRNYXAoKG1hdGNoZXIpID0+IG1hdGNoZXIubnVtZXJpYykgfV07XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgbWF0Y2hlciBhcyBhIGxpc3Qgb2Ygc3RyaW5nc1xuICAgKi9cbiAgYXNMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMpO1xuICB9XG59XG5cbi8qKlxuICogRXZlbnRzIGluIEFtYXpvbiBDbG91ZFdhdGNoIEV2ZW50cyBhcmUgcmVwcmVzZW50ZWQgYXMgSlNPTiBvYmplY3RzLiBGb3IgbW9yZVxuICogaW5mb3JtYXRpb24gYWJvdXQgSlNPTiBvYmplY3RzLCBzZWUgUkZDIDcxNTkuXG4gKlxuICogKipJbXBvcnRhbnQqKjogdGhpcyBjbGFzcyBjYW4gb25seSBiZSB1c2VkIHdpdGggYSBgUnVsZWAgY2xhc3MuIEluIHBhcnRpY3VsYXIsXG4gKiBkbyBub3QgdXNlIGl0IHdpdGggYENmblJ1bGVgIGNsYXNzOiB5b3VyIHBhdHRlcm4gd2lsbCBub3QgYmUgcmVuZGVyZWRcbiAqIGNvcnJlY3RseS4gSW4gYSBgQ2ZuUnVsZWAgY2xhc3MsIHdyaXRlIHRoZSBwYXR0ZXJuIGFzIHlvdSBub3JtYWxseSB3b3VsZCB3aGVuXG4gKiBkaXJlY3RseSB3cml0aW5nIENsb3VkRm9ybWF0aW9uLlxuICpcbiAqIFJ1bGVzIHVzZSBldmVudCBwYXR0ZXJucyB0byBzZWxlY3QgZXZlbnRzIGFuZCByb3V0ZSB0aGVtIHRvIHRhcmdldHMuIEFcbiAqIHBhdHRlcm4gZWl0aGVyIG1hdGNoZXMgYW4gZXZlbnQgb3IgaXQgZG9lc24ndC4gRXZlbnQgcGF0dGVybnMgYXJlIHJlcHJlc2VudGVkXG4gKiBhcyBKU09OIG9iamVjdHMgd2l0aCBhIHN0cnVjdHVyZSB0aGF0IGlzIHNpbWlsYXIgdG8gdGhhdCBvZiBldmVudHMuXG4gKlxuICogSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoZSBmb2xsb3dpbmcgYWJvdXQgZXZlbnQgcGF0dGVybiBtYXRjaGluZzpcbiAqXG4gKiAtIEZvciBhIHBhdHRlcm4gdG8gbWF0Y2ggYW4gZXZlbnQsIHRoZSBldmVudCBtdXN0IGNvbnRhaW4gYWxsIHRoZSBmaWVsZCBuYW1lc1xuICogICBsaXN0ZWQgaW4gdGhlIHBhdHRlcm4uIFRoZSBmaWVsZCBuYW1lcyBtdXN0IGFwcGVhciBpbiB0aGUgZXZlbnQgd2l0aCB0aGVcbiAqICAgc2FtZSBuZXN0aW5nIHN0cnVjdHVyZS5cbiAqXG4gKiAtIE90aGVyIGZpZWxkcyBvZiB0aGUgZXZlbnQgbm90IG1lbnRpb25lZCBpbiB0aGUgcGF0dGVybiBhcmUgaWdub3JlZDtcbiAqICAgZWZmZWN0aXZlbHksIHRoZXJlIGlzIGEgYGBcIipcIjogXCIqXCJgYCB3aWxkY2FyZCBmb3IgZmllbGRzIG5vdCBtZW50aW9uZWQuXG4gKlxuICogLSBUaGUgbWF0Y2hpbmcgaXMgZXhhY3QgKGNoYXJhY3Rlci1ieS1jaGFyYWN0ZXIpLCB3aXRob3V0IGNhc2UtZm9sZGluZyBvciBhbnlcbiAqICAgb3RoZXIgc3RyaW5nIG5vcm1hbGl6YXRpb24uXG4gKlxuICogLSBUaGUgdmFsdWVzIGJlaW5nIG1hdGNoZWQgZm9sbG93IEpTT04gcnVsZXM6IFN0cmluZ3MgZW5jbG9zZWQgaW4gcXVvdGVzLFxuICogICBudW1iZXJzLCBhbmQgdGhlIHVucXVvdGVkIGtleXdvcmRzIHRydWUsIGZhbHNlLCBhbmQgbnVsbC5cbiAqXG4gKiAtIE51bWJlciBtYXRjaGluZyBpcyBhdCB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGxldmVsLiBGb3IgZXhhbXBsZSwgMzAwLFxuICogICAzMDAuMCwgYW5kIDMuMGUyIGFyZSBub3QgY29uc2lkZXJlZCBlcXVhbC5cbiAqXG4gKiBGb3IgY3VzdG9tIGV2ZW50cywgc29tZSBvcHRpb25hbCBwcm9wZXJ0aWVzIGFyZSByZXF1aXJlZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZVxuICogW01pbmltdW0gaW5mb3JtYXRpb24gbmVlZGVkIGZvciBhIHZhbGlkIGN1c3RvbSBldmVudF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC91c2VyZ3VpZGUvZWItZXZlbnRzLXN0cnVjdHVyZS5odG1sI2ViLWN1c3RvbS1ldmVudCkuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvZXZlbnRzL0Nsb3VkV2F0Y2hFdmVudHNhbmRFdmVudFBhdHRlcm5zLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudFBhdHRlcm4ge1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgdGhpcyBpcyBzZXQgdG8gMCAoemVybykgaW4gYWxsIGV2ZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBmaWx0ZXJpbmcgb24gdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBIHVuaXF1ZSB2YWx1ZSBpcyBnZW5lcmF0ZWQgZm9yIGV2ZXJ5IGV2ZW50LiBUaGlzIGNhbiBiZSBoZWxwZnVsIGluXG4gICAqIHRyYWNpbmcgZXZlbnRzIGFzIHRoZXkgbW92ZSB0aHJvdWdoIHJ1bGVzIHRvIHRhcmdldHMsIGFuZCBhcmUgcHJvY2Vzc2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGZpbHRlcmluZyBvbiBpZFxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogSWRlbnRpZmllcywgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgc291cmNlIGZpZWxkLCB0aGUgZmllbGRzIGFuZCB2YWx1ZXNcbiAgICogdGhhdCBhcHBlYXIgaW4gdGhlIGRldGFpbCBmaWVsZC5cbiAgICpcbiAgICogUmVwcmVzZW50cyB0aGUgXCJkZXRhaWwtdHlwZVwiIGV2ZW50IGZpZWxkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGZpbHRlcmluZyBvbiBkZXRhaWwgdHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgZGV0YWlsVHlwZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBzZXJ2aWNlIHRoYXQgc291cmNlZCB0aGUgZXZlbnQuIEFsbCBldmVudHMgc291cmNlZCBmcm9tXG4gICAqIHdpdGhpbiBBV1MgYmVnaW4gd2l0aCBcImF3cy5cIiBDdXN0b21lci1nZW5lcmF0ZWQgZXZlbnRzIGNhbiBoYXZlIGFueSB2YWx1ZVxuICAgKiBoZXJlLCBhcyBsb25nIGFzIGl0IGRvZXNuJ3QgYmVnaW4gd2l0aCBcImF3cy5cIiBXZSByZWNvbW1lbmQgdGhlIHVzZSBvZlxuICAgKiBKYXZhIHBhY2thZ2UtbmFtZSBzdHlsZSByZXZlcnNlIGRvbWFpbi1uYW1lIHN0cmluZ3MuXG4gICAqXG4gICAqIFRvIGZpbmQgdGhlIGNvcnJlY3QgdmFsdWUgZm9yIHNvdXJjZSBmb3IgYW4gQVdTIHNlcnZpY2UsIHNlZSB0aGUgdGFibGUgaW5cbiAgICogQVdTIFNlcnZpY2UgTmFtZXNwYWNlcy4gRm9yIGV4YW1wbGUsIHRoZSBzb3VyY2UgdmFsdWUgZm9yIEFtYXpvblxuICAgKiBDbG91ZEZyb250IGlzIGF3cy5jbG91ZGZyb250LlxuICAgKlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dlbmVyYWwvbGF0ZXN0L2dyL2F3cy1hcm5zLWFuZC1uYW1lc3BhY2VzLmh0bWwjZ2VucmVmLWF3cy1zZXJ2aWNlLW5hbWVzcGFjZXNcbiAgICogQGRlZmF1bHQgLSBObyBmaWx0ZXJpbmcgb24gc291cmNlXG4gICAqL1xuICByZWFkb25seSBzb3VyY2U/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIDEyLWRpZ2l0IG51bWJlciBpZGVudGlmeWluZyBhbiBBV1MgYWNjb3VudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBmaWx0ZXJpbmcgb24gYWNjb3VudFxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGltZXN0YW1wLCB3aGljaCBjYW4gYmUgc3BlY2lmaWVkIGJ5IHRoZSBzZXJ2aWNlIG9yaWdpbmF0aW5nXG4gICAqIHRoZSBldmVudC4gSWYgdGhlIGV2ZW50IHNwYW5zIGEgdGltZSBpbnRlcnZhbCwgdGhlIHNlcnZpY2UgbWlnaHQgY2hvb3NlXG4gICAqIHRvIHJlcG9ydCB0aGUgc3RhcnQgdGltZSwgc28gdGhpcyB2YWx1ZSBjYW4gYmUgbm90aWNlYWJseSBiZWZvcmUgdGhlIHRpbWVcbiAgICogdGhlIGV2ZW50IGlzIGFjdHVhbGx5IHJlY2VpdmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGZpbHRlcmluZyBvbiB0aW1lXG4gICAqL1xuICByZWFkb25seSB0aW1lPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIEFXUyByZWdpb24gd2hlcmUgdGhlIGV2ZW50IG9yaWdpbmF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gZmlsdGVyaW5nIG9uIHJlZ2lvblxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoaXMgSlNPTiBhcnJheSBjb250YWlucyBBUk5zIHRoYXQgaWRlbnRpZnkgcmVzb3VyY2VzIHRoYXQgYXJlIGludm9sdmVkXG4gICAqIGluIHRoZSBldmVudC4gSW5jbHVzaW9uIG9mIHRoZXNlIEFSTnMgaXMgYXQgdGhlIGRpc2NyZXRpb24gb2YgdGhlXG4gICAqIHNlcnZpY2UuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBBbWF6b24gRUMyIGluc3RhbmNlIHN0YXRlLWNoYW5nZXMgaW5jbHVkZSBBbWF6b24gRUMyXG4gICAqIGluc3RhbmNlIEFSTnMsIEF1dG8gU2NhbGluZyBldmVudHMgaW5jbHVkZSBBUk5zIGZvciBib3RoIGluc3RhbmNlcyBhbmRcbiAgICogQXV0byBTY2FsaW5nIGdyb3VwcywgYnV0IEFQSSBjYWxscyB3aXRoIEFXUyBDbG91ZFRyYWlsIGRvIG5vdCBpbmNsdWRlXG4gICAqIHJlc291cmNlIEFSTnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gZmlsdGVyaW5nIG9uIHJlc291cmNlXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBKU09OIG9iamVjdCwgd2hvc2UgY29udGVudCBpcyBhdCB0aGUgZGlzY3JldGlvbiBvZiB0aGUgc2VydmljZVxuICAgKiBvcmlnaW5hdGluZyB0aGUgZXZlbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gZmlsdGVyaW5nIG9uIGRldGFpbFxuICAgKi9cbiAgcmVhZG9ubHkgZGV0YWlsPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ export * from "./archive";
2
+ export * from "./event-bus";
3
+ export * from "./event-pattern";
4
+ export * from "./connection";
5
+ export * from "./input";
6
+ export * from "./on-event-options";
7
+ export * from "./queue-policy";
8
+ export * from "./queue";
9
+ export * from "./rule";
10
+ export * from "./schedule";
11
+ export * from "./target";
12
+ export * from "./kinesis-stream";
13
+ export * from "./resource-policy";
14
+ export * as targets from "./targets";
15
+ export * from "./queue-config.generated";
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.targets = void 0;
18
+ __exportStar(require("./archive"), exports);
19
+ __exportStar(require("./event-bus"), exports);
20
+ __exportStar(require("./event-pattern"), exports);
21
+ __exportStar(require("./connection"), exports);
22
+ __exportStar(require("./input"), exports);
23
+ __exportStar(require("./on-event-options"), exports);
24
+ __exportStar(require("./queue-policy"), exports);
25
+ __exportStar(require("./queue"), exports);
26
+ __exportStar(require("./rule"), exports);
27
+ __exportStar(require("./schedule"), exports);
28
+ __exportStar(require("./target"), exports);
29
+ // kinesis
30
+ __exportStar(require("./kinesis-stream"), exports);
31
+ __exportStar(require("./resource-policy"), exports);
32
+ exports.targets = require("./targets");
33
+ // generated by JSII Struct builder to please JSII pacman
34
+ __exportStar(require("./queue-config.generated"), exports);
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL25vdGlmeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQiw4Q0FBNEI7QUFDNUIsa0RBQWdDO0FBQ2hDLCtDQUE2QjtBQUM3QiwwQ0FBd0I7QUFDeEIscURBQW1DO0FBQ25DLGlEQUErQjtBQUMvQiwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiwyQ0FBeUI7QUFDekIsVUFBVTtBQUNWLG1EQUFpQztBQUNqQyxvREFBa0M7QUFFbEMsdUNBQXFDO0FBRXJDLHlEQUF5RDtBQUN6RCwyREFBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hcmNoaXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ldmVudC1idXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V2ZW50LXBhdHRlcm5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Nvbm5lY3Rpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lucHV0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vbi1ldmVudC1vcHRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9xdWV1ZS1wb2xpY3lcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3F1ZXVlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ydWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zY2hlZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFyZ2V0XCI7XG4vLyBraW5lc2lzXG5leHBvcnQgKiBmcm9tIFwiLi9raW5lc2lzLXN0cmVhbVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVzb3VyY2UtcG9saWN5XCI7XG5cbmV4cG9ydCAqIGFzIHRhcmdldHMgZnJvbSBcIi4vdGFyZ2V0c1wiO1xuXG4vLyBnZW5lcmF0ZWQgYnkgSlNJSSBTdHJ1Y3QgYnVpbGRlciB0byBwbGVhc2UgSlNJSSBwYWNtYW5cbmV4cG9ydCAqIGZyb20gXCIuL3F1ZXVlLWNvbmZpZy5nZW5lcmF0ZWRcIjtcbiJdfQ==
@@ -0,0 +1,126 @@
1
+ import { IResolvable, IResolveContext } from "cdktf";
2
+ import { IRule } from "./rule";
3
+ /**
4
+ * The input to send to the event target
5
+ */
6
+ export declare abstract class RuleTargetInput {
7
+ /**
8
+ * Pass text to the event target
9
+ *
10
+ * May contain strings returned by `EventField.from()` to substitute in parts of the
11
+ * matched event.
12
+ *
13
+ * The Rule Target input value will be a single string: the string you pass
14
+ * here. Do not use this method to pass a complex value like a JSON object to
15
+ * a Rule Target. Use `RuleTargetInput.fromObject()` instead.
16
+ */
17
+ static fromText(text: string): RuleTargetInput;
18
+ /**
19
+ * Pass text to the event target, splitting on newlines.
20
+ *
21
+ * This is only useful when passing to a target that does not
22
+ * take a single argument.
23
+ *
24
+ * May contain strings returned by `EventField.from()` to substitute in parts
25
+ * of the matched event.
26
+ */
27
+ static fromMultilineText(text: string): RuleTargetInput;
28
+ /**
29
+ * Pass a JSON object to the event target
30
+ *
31
+ * May contain strings returned by `EventField.from()` to substitute in parts of the
32
+ * matched event.
33
+ */
34
+ static fromObject(obj: any): RuleTargetInput;
35
+ /**
36
+ * Take the event target input from a path in the event JSON
37
+ */
38
+ static fromEventPath(path: string): RuleTargetInput;
39
+ protected constructor();
40
+ /**
41
+ * Return the input properties for this input object
42
+ */
43
+ abstract bind(rule: IRule): RuleTargetInputProperties;
44
+ }
45
+ /**
46
+ * The input properties for an event target
47
+ */
48
+ export interface RuleTargetInputProperties {
49
+ /**
50
+ * Literal input to the target service (must be valid JSON)
51
+ *
52
+ * @default - input for the event target. If the input contains a paths map
53
+ * values wil be extracted from event and inserted into the `inputTemplate`.
54
+ */
55
+ readonly input?: string;
56
+ /**
57
+ * JsonPath to take input from the input event
58
+ *
59
+ * @default - None. The entire matched event is passed as input
60
+ */
61
+ readonly inputPath?: string;
62
+ /**
63
+ * Input template to insert paths map into
64
+ *
65
+ * @default - None.
66
+ */
67
+ readonly inputTemplate?: string;
68
+ /**
69
+ * Paths map to extract values from event and insert into `inputTemplate`
70
+ *
71
+ * @default - No values extracted from event.
72
+ */
73
+ readonly inputPathsMap?: {
74
+ [key: string]: string;
75
+ };
76
+ }
77
+ /**
78
+ * Represents a field in the event pattern
79
+ */
80
+ export declare class EventField implements IResolvable {
81
+ readonly path: string;
82
+ /**
83
+ * Extract the event ID from the event
84
+ */
85
+ static get eventId(): string;
86
+ /**
87
+ * Extract the detail type from the event
88
+ */
89
+ static get detailType(): string;
90
+ /**
91
+ * Extract the source from the event
92
+ */
93
+ static get source(): string;
94
+ /**
95
+ * Extract the account from the event
96
+ */
97
+ static get account(): string;
98
+ /**
99
+ * Extract the time from the event
100
+ */
101
+ static get time(): string;
102
+ /**
103
+ * Extract the region from the event
104
+ */
105
+ static get region(): string;
106
+ /**
107
+ * Extract a custom JSON path from the event
108
+ */
109
+ static fromPath(path: string): string;
110
+ /**
111
+ * Human readable display hint about the event pattern
112
+ */
113
+ readonly displayHint: string;
114
+ readonly creationStack: string[];
115
+ /**
116
+ *
117
+ * @param path the path to a field in the event pattern
118
+ */
119
+ private constructor();
120
+ resolve(_ctx: IResolveContext): any;
121
+ toString(): string;
122
+ /**
123
+ * Convert the path to the field in the event pattern to JSON
124
+ */
125
+ toJSON(): string;
126
+ }