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,52 @@
1
+ import { Construct } from "constructs";
2
+ import { ConcreteWidget } from "./widget";
3
+ /**
4
+ * Background types available
5
+ */
6
+ export declare enum TextWidgetBackground {
7
+ /**
8
+ * Solid background
9
+ */
10
+ SOLID = "solid",
11
+ /**
12
+ * Transparent background
13
+ */
14
+ TRANSPARENT = "transparent"
15
+ }
16
+ /**
17
+ * Properties for a Text widget
18
+ */
19
+ export interface TextWidgetProps {
20
+ /**
21
+ * The text to display, in MarkDown format
22
+ */
23
+ readonly markdown: string;
24
+ /**
25
+ * Width of the widget, in a grid of 24 units wide
26
+ *
27
+ * @default 6
28
+ */
29
+ readonly width?: number;
30
+ /**
31
+ * Height of the widget
32
+ *
33
+ * @default 2
34
+ */
35
+ readonly height?: number;
36
+ /**
37
+ * Background for the widget
38
+ *
39
+ * @default solid
40
+ */
41
+ readonly background?: TextWidgetBackground;
42
+ }
43
+ /**
44
+ * A dashboard widget that displays MarkDown
45
+ */
46
+ export declare class TextWidget extends ConcreteWidget {
47
+ private readonly markdown;
48
+ private readonly background?;
49
+ constructor(scope: Construct, props: TextWidgetProps);
50
+ position(x: number, y: number): void;
51
+ toJson(): any[];
52
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TextWidget = exports.TextWidgetBackground = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const widget_1 = require("./widget");
7
+ /**
8
+ * Background types available
9
+ */
10
+ var TextWidgetBackground;
11
+ (function (TextWidgetBackground) {
12
+ /**
13
+ * Solid background
14
+ */
15
+ TextWidgetBackground["SOLID"] = "solid";
16
+ /**
17
+ * Transparent background
18
+ */
19
+ TextWidgetBackground["TRANSPARENT"] = "transparent";
20
+ })(TextWidgetBackground || (exports.TextWidgetBackground = TextWidgetBackground = {}));
21
+ /**
22
+ * A dashboard widget that displays MarkDown
23
+ */
24
+ class TextWidget extends widget_1.ConcreteWidget {
25
+ constructor(scope, props) {
26
+ super(scope, props.width || 6, props.height || 2);
27
+ this.markdown = props.markdown;
28
+ this.background = props.background;
29
+ }
30
+ position(x, y) {
31
+ this.x = x;
32
+ this.y = y;
33
+ }
34
+ toJson() {
35
+ return [
36
+ {
37
+ type: "text",
38
+ width: this.width,
39
+ height: this.height,
40
+ x: this.x,
41
+ y: this.y,
42
+ properties: {
43
+ markdown: this.markdown,
44
+ background: this.background,
45
+ },
46
+ },
47
+ ];
48
+ }
49
+ }
50
+ exports.TextWidget = TextWidget;
51
+ _a = JSII_RTTI_SYMBOL_1;
52
+ TextWidget[_a] = { fqn: "terraconstructs.aws.cloudwatch.TextWidget", version: "0.0.8" };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY2xvdWR3YXRjaC90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EscUNBQTBDO0FBRTFDOztHQUVHO0FBQ0gsSUFBWSxvQkFTWDtBQVRELFdBQVksb0JBQW9CO0lBQzlCOztPQUVHO0lBQ0gsdUNBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsbURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVRXLG9CQUFvQixvQ0FBcEIsb0JBQW9CLFFBUy9CO0FBaUNEOztHQUVHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsdUJBQWM7SUFJNUMsWUFBWSxLQUFnQixFQUFFLEtBQXNCO1FBQ2xELEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxRQUFRLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDbEMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTztZQUNMO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ1QsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNULFVBQVUsRUFBRTtvQkFDVixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtpQkFDNUI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztBQTdCSCxnQ0E4QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzAuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaC9saWIvdGV4dC50c1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ29uY3JldGVXaWRnZXQgfSBmcm9tIFwiLi93aWRnZXRcIjtcblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHR5cGVzIGF2YWlsYWJsZVxuICovXG5leHBvcnQgZW51bSBUZXh0V2lkZ2V0QmFja2dyb3VuZCB7XG4gIC8qKlxuICAgKiBTb2xpZCBiYWNrZ3JvdW5kXG4gICAqL1xuICBTT0xJRCA9IFwic29saWRcIixcbiAgLyoqXG4gICAqIFRyYW5zcGFyZW50IGJhY2tncm91bmRcbiAgICovXG4gIFRSQU5TUEFSRU5UID0gXCJ0cmFuc3BhcmVudFwiLFxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgVGV4dCB3aWRnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXh0V2lkZ2V0UHJvcHMge1xuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSwgaW4gTWFya0Rvd24gZm9ybWF0XG4gICAqL1xuICByZWFkb25seSBtYXJrZG93bjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaWR0aCBvZiB0aGUgd2lkZ2V0LCBpbiBhIGdyaWQgb2YgMjQgdW5pdHMgd2lkZVxuICAgKlxuICAgKiBAZGVmYXVsdCA2XG4gICAqL1xuICByZWFkb25seSB3aWR0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogSGVpZ2h0IG9mIHRoZSB3aWRnZXRcbiAgICpcbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgcmVhZG9ubHkgaGVpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBCYWNrZ3JvdW5kIGZvciB0aGUgd2lkZ2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IHNvbGlkXG4gICAqL1xuICByZWFkb25seSBiYWNrZ3JvdW5kPzogVGV4dFdpZGdldEJhY2tncm91bmQ7XG59XG5cbi8qKlxuICogQSBkYXNoYm9hcmQgd2lkZ2V0IHRoYXQgZGlzcGxheXMgTWFya0Rvd25cbiAqL1xuZXhwb3J0IGNsYXNzIFRleHRXaWRnZXQgZXh0ZW5kcyBDb25jcmV0ZVdpZGdldCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya2Rvd246IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBiYWNrZ3JvdW5kPzogVGV4dFdpZGdldEJhY2tncm91bmQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IFRleHRXaWRnZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBwcm9wcy53aWR0aCB8fCA2LCBwcm9wcy5oZWlnaHQgfHwgMik7XG4gICAgdGhpcy5tYXJrZG93biA9IHByb3BzLm1hcmtkb3duO1xuICAgIHRoaXMuYmFja2dyb3VuZCA9IHByb3BzLmJhY2tncm91bmQ7XG4gIH1cblxuICBwdWJsaWMgcG9zaXRpb24oeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnggPSB4O1xuICAgIHRoaXMueSA9IHk7XG4gIH1cblxuICBwdWJsaWMgdG9Kc29uKCk6IGFueVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXG4gICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXG4gICAgICAgIHg6IHRoaXMueCxcbiAgICAgICAgeTogdGhpcy55LFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgbWFya2Rvd246IHRoaXMubWFya2Rvd24sXG4gICAgICAgICAgYmFja2dyb3VuZDogdGhpcy5iYWNrZ3JvdW5kLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,156 @@
1
+ export declare enum VariableInputType {
2
+ /**
3
+ * Freeform text input box
4
+ */
5
+ INPUT = "input",
6
+ /**
7
+ * A dropdown of pre-defined values, or values filled in from a metric search query
8
+ */
9
+ RADIO = "radio",
10
+ /**
11
+ * A set of pre-defined radio buttons, which can also be defined from a metric search query
12
+ */
13
+ SELECT = "select"
14
+ }
15
+ export declare enum VariableType {
16
+ /**
17
+ * A property variable changes the values of all instances of a property in the list of widgets in the dashboard.
18
+ */
19
+ PROPERTY = "property",
20
+ /**
21
+ * A pattern variable is one that changes a regex pattern across the dashboard JSON
22
+ */
23
+ PATTERN = "pattern"
24
+ }
25
+ /**
26
+ * A single dashboard variable
27
+ */
28
+ export interface IVariable {
29
+ /**
30
+ * Return the variable JSON for use in the dashboard
31
+ */
32
+ toJson(): any;
33
+ }
34
+ export interface VariableValue {
35
+ /**
36
+ * Optional label for the selected item
37
+ *
38
+ * @default - the variable's value
39
+ */
40
+ readonly label?: string;
41
+ /**
42
+ * Value of the selected item
43
+ */
44
+ readonly value: string;
45
+ }
46
+ /**
47
+ * Search components for use with {@link Values.fromSearchComponents}
48
+ */
49
+ export interface SearchComponents {
50
+ /**
51
+ * The namespace to be used in the search expression
52
+ */
53
+ readonly namespace: string;
54
+ /**
55
+ * The list of dimensions to be used in the search expression
56
+ */
57
+ readonly dimensions: string[];
58
+ /**
59
+ * The metric name to be used in the search expression
60
+ */
61
+ readonly metricName: string;
62
+ /**
63
+ * The dimension name, that the search expression retrieves, whose values will be used to populate the values to choose from
64
+ */
65
+ readonly populateFrom: string;
66
+ }
67
+ /**
68
+ * A class for providing values for use with {@link VariableInputType.SELECT} and {@link VariableInputType.RADIO} dashboard variables
69
+ */
70
+ export declare abstract class Values {
71
+ /**
72
+ * Create values from the components of search expression
73
+ */
74
+ static fromSearchComponents(components: SearchComponents): Values;
75
+ /**
76
+ * Create values from a search expression
77
+ *
78
+ * @param expression search expression that specifies a namespace, dimension name(s) and a metric name. For example `{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"`
79
+ * @param populateFrom dimension the dimension name, that the search expression retrieves, whose values will be used to populate the values to choose from. For example `InstanceId`
80
+ */
81
+ static fromSearch(expression: string, populateFrom: string): Values;
82
+ /**
83
+ * Create values from an array of possible variable values
84
+ */
85
+ static fromValues(...values: VariableValue[]): Values;
86
+ abstract toJson(): any;
87
+ }
88
+ /**
89
+ * Default value for use in {@link DashboardVariableOptions}
90
+ */
91
+ export declare class DefaultValue {
92
+ readonly val: any;
93
+ /**
94
+ * A special value for use with search expressions to have the default value be the first value returned from search
95
+ */
96
+ static readonly FIRST: DefaultValue;
97
+ /**
98
+ * Create a default value
99
+ * @param value the value to be used as default
100
+ */
101
+ static value(value: any): DefaultValue;
102
+ private constructor();
103
+ }
104
+ /**
105
+ * Options for {@link DashboardVariable}
106
+ */
107
+ export interface DashboardVariableOptions {
108
+ /**
109
+ * Type of the variable
110
+ */
111
+ readonly type: VariableType;
112
+ /**
113
+ * The way the variable value is selected
114
+ */
115
+ readonly inputType: VariableInputType;
116
+ /**
117
+ * Pattern or property value to replace
118
+ */
119
+ readonly value: string;
120
+ /**
121
+ * Unique id
122
+ */
123
+ readonly id: string;
124
+ /**
125
+ * Optional label in the toolbar
126
+ *
127
+ * @default - the variable's value
128
+ */
129
+ readonly label?: string;
130
+ /**
131
+ * Optional values (required for {@link VariableInputType.RADIO} and {@link VariableInputType.SELECT} dashboard variables).
132
+ *
133
+ * @default - no values
134
+ */
135
+ readonly values?: Values;
136
+ /**
137
+ * Optional default value
138
+ *
139
+ * @default - no default value is set
140
+ */
141
+ readonly defaultValue?: DefaultValue;
142
+ /**
143
+ * Whether the variable is visible
144
+ *
145
+ * @default - true
146
+ */
147
+ readonly visible?: boolean;
148
+ }
149
+ /**
150
+ * Dashboard Variable
151
+ */
152
+ export declare class DashboardVariable implements IVariable {
153
+ private readonly options;
154
+ constructor(options: DashboardVariableOptions);
155
+ toJson(): any;
156
+ }
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var _a, _b, _c;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DashboardVariable = exports.DefaultValue = exports.Values = exports.VariableType = exports.VariableInputType = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/v2.170.0/packages/aws-cdk-lib/aws-cloudwatch/lib/variable.ts
7
+ var VariableInputType;
8
+ (function (VariableInputType) {
9
+ /**
10
+ * Freeform text input box
11
+ */
12
+ VariableInputType["INPUT"] = "input";
13
+ /**
14
+ * A dropdown of pre-defined values, or values filled in from a metric search query
15
+ */
16
+ VariableInputType["RADIO"] = "radio";
17
+ /**
18
+ * A set of pre-defined radio buttons, which can also be defined from a metric search query
19
+ */
20
+ VariableInputType["SELECT"] = "select";
21
+ })(VariableInputType || (exports.VariableInputType = VariableInputType = {}));
22
+ var VariableType;
23
+ (function (VariableType) {
24
+ /**
25
+ * A property variable changes the values of all instances of a property in the list of widgets in the dashboard.
26
+ */
27
+ VariableType["PROPERTY"] = "property";
28
+ /**
29
+ * A pattern variable is one that changes a regex pattern across the dashboard JSON
30
+ */
31
+ VariableType["PATTERN"] = "pattern";
32
+ })(VariableType || (exports.VariableType = VariableType = {}));
33
+ /**
34
+ * A class for providing values for use with {@link VariableInputType.SELECT} and {@link VariableInputType.RADIO} dashboard variables
35
+ */
36
+ class Values {
37
+ /**
38
+ * Create values from the components of search expression
39
+ */
40
+ static fromSearchComponents(components) {
41
+ if (components.dimensions.length === 0) {
42
+ throw new Error("Empty dimensions provided. Please specify one dimension at least");
43
+ }
44
+ if (!components.dimensions.includes(components.populateFrom)) {
45
+ throw new Error(`populateFrom (${components.populateFrom}) is not present in dimensions`);
46
+ }
47
+ const metricSchema = [components.namespace, ...components.dimensions];
48
+ return Values.fromSearch(`{${metricSchema.join(",")}} MetricName=\"${components.metricName}\"`, components.populateFrom);
49
+ }
50
+ /**
51
+ * Create values from a search expression
52
+ *
53
+ * @param expression search expression that specifies a namespace, dimension name(s) and a metric name. For example `{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"`
54
+ * @param populateFrom dimension the dimension name, that the search expression retrieves, whose values will be used to populate the values to choose from. For example `InstanceId`
55
+ */
56
+ static fromSearch(expression, populateFrom) {
57
+ return new SearchValues(expression, populateFrom);
58
+ }
59
+ /**
60
+ * Create values from an array of possible variable values
61
+ */
62
+ static fromValues(...values) {
63
+ if (values.length == 0) {
64
+ throw new Error("Empty values is not allowed");
65
+ }
66
+ return new StaticValues(values);
67
+ }
68
+ }
69
+ exports.Values = Values;
70
+ _a = JSII_RTTI_SYMBOL_1;
71
+ Values[_a] = { fqn: "terraconstructs.aws.cloudwatch.Values", version: "0.0.8" };
72
+ class StaticValues extends Values {
73
+ constructor(values) {
74
+ super();
75
+ this.values = values;
76
+ }
77
+ toJson() {
78
+ return {
79
+ values: this.values.map((value) => ({
80
+ label: value.label,
81
+ value: value.value,
82
+ })),
83
+ };
84
+ }
85
+ }
86
+ class SearchValues extends Values {
87
+ /**
88
+ * Create a search expression for use
89
+ *
90
+ * @param expression search expression that specifies a namespace, dimension name(s) and a metric name. For example `{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"`
91
+ * @param populateFrom dimension the dimension name, that the search expression retrieves, whose values will be used to populate the values to choose from. For example `InstanceId`
92
+ */
93
+ constructor(expression, populateFrom) {
94
+ super();
95
+ this.expression = expression;
96
+ this.populateFrom = populateFrom;
97
+ }
98
+ toJson() {
99
+ return {
100
+ search: this.expression,
101
+ populateFrom: this.populateFrom,
102
+ };
103
+ }
104
+ }
105
+ /**
106
+ * Default value for use in {@link DashboardVariableOptions}
107
+ */
108
+ class DefaultValue {
109
+ /**
110
+ * Create a default value
111
+ * @param value the value to be used as default
112
+ */
113
+ static value(value) {
114
+ return new DefaultValue(value);
115
+ }
116
+ constructor(val) {
117
+ this.val = val;
118
+ }
119
+ }
120
+ exports.DefaultValue = DefaultValue;
121
+ _b = JSII_RTTI_SYMBOL_1;
122
+ DefaultValue[_b] = { fqn: "terraconstructs.aws.cloudwatch.DefaultValue", version: "0.0.8" };
123
+ /**
124
+ * A special value for use with search expressions to have the default value be the first value returned from search
125
+ */
126
+ DefaultValue.FIRST = new DefaultValue("__FIRST");
127
+ /**
128
+ * Dashboard Variable
129
+ */
130
+ class DashboardVariable {
131
+ constructor(options) {
132
+ this.options = options;
133
+ if (options.inputType !== VariableInputType.INPUT && !options.values) {
134
+ throw new Error(`Variable with inputType (${options.inputType}) requires values to be set`);
135
+ }
136
+ if (options.inputType == VariableInputType.INPUT && options.values) {
137
+ throw new Error("inputType INPUT cannot be combined with values. Please choose either SELECT or RADIO or remove 'values' from options.");
138
+ }
139
+ }
140
+ toJson() {
141
+ return {
142
+ [this.options.type]: this.options.value,
143
+ type: this.options.type,
144
+ inputType: this.options.inputType,
145
+ id: this.options.id,
146
+ defaultValue: this.options.defaultValue?.val,
147
+ visible: this.options.visible,
148
+ label: this.options.label,
149
+ ...this.options.values?.toJson(),
150
+ };
151
+ }
152
+ }
153
+ exports.DashboardVariable = DashboardVariable;
154
+ _c = JSII_RTTI_SYMBOL_1;
155
+ DashboardVariable[_c] = { fqn: "terraconstructs.aws.cloudwatch.DashboardVariable", version: "0.0.8" };
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2Nsb3Vkd2F0Y2gvdmFyaWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtR0FBbUc7QUFFbkcsSUFBWSxpQkFlWDtBQWZELFdBQVksaUJBQWlCO0lBQzNCOztPQUVHO0lBQ0gsb0NBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsb0NBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsc0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQWZXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBZTVCO0FBRUQsSUFBWSxZQVVYO0FBVkQsV0FBWSxZQUFZO0lBQ3RCOztPQUVHO0lBQ0gscUNBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCxtQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBVlcsWUFBWSw0QkFBWixZQUFZLFFBVXZCO0FBbUREOztHQUVHO0FBQ0gsTUFBc0IsTUFBTTtJQUMxQjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxVQUE0QjtRQUM3RCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0VBQWtFLENBQ25FLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzdELE1BQU0sSUFBSSxLQUFLLENBQ2IsaUJBQWlCLFVBQVUsQ0FBQyxZQUFZLGdDQUFnQyxDQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RSxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQ3RCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLFVBQVUsQ0FBQyxVQUFVLElBQUksRUFDckUsVUFBVSxDQUFDLFlBQVksQ0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBa0IsRUFBRSxZQUFvQjtRQUMvRCxPQUFPLElBQUksWUFBWSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBdUI7UUFDakQsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDOztBQXhDSCx3QkEyQ0M7OztBQUVELE1BQU0sWUFBYSxTQUFRLE1BQU07SUFDL0IsWUFBNkIsTUFBdUI7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFEbUIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7SUFFcEQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSzthQUNuQixDQUFDLENBQUM7U0FDSixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBTSxZQUFhLFNBQVEsTUFBTTtJQUMvQjs7Ozs7T0FLRztJQUNILFlBQ2tCLFVBQWtCLEVBQ2xCLFlBQW9CO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBSFEsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtJQUd0QyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDdkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBWTtJQU12Qjs7O09BR0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQVU7UUFDNUIsT0FBTyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBb0MsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7SUFBRyxDQUFDOztBQWRsRCxvQ0FlQzs7O0FBZEM7O0dBRUc7QUFDb0Isa0JBQUssR0FBRyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQWtFN0Q7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQUM1QixZQUFvQyxPQUFpQztRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQUNuRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssaUJBQWlCLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JFLE1BQU0sSUFBSSxLQUFLLENBQ2IsNEJBQTRCLE9BQU8sQ0FBQyxTQUFTLDZCQUE2QixDQUMzRSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25FLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUhBQXVILENBQ3hILENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPO1lBQ0wsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztZQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDakMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRztZQUM1QyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDekIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUU7U0FDakMsQ0FBQztJQUNKLENBQUM7O0FBekJILDhDQTBCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoL2xpYi92YXJpYWJsZS50c1xuXG5leHBvcnQgZW51bSBWYXJpYWJsZUlucHV0VHlwZSB7XG4gIC8qKlxuICAgKiBGcmVlZm9ybSB0ZXh0IGlucHV0IGJveFxuICAgKi9cbiAgSU5QVVQgPSBcImlucHV0XCIsXG5cbiAgLyoqXG4gICAqIEEgZHJvcGRvd24gb2YgcHJlLWRlZmluZWQgdmFsdWVzLCBvciB2YWx1ZXMgZmlsbGVkIGluIGZyb20gYSBtZXRyaWMgc2VhcmNoIHF1ZXJ5XG4gICAqL1xuICBSQURJTyA9IFwicmFkaW9cIixcblxuICAvKipcbiAgICogQSBzZXQgb2YgcHJlLWRlZmluZWQgcmFkaW8gYnV0dG9ucywgd2hpY2ggY2FuIGFsc28gYmUgZGVmaW5lZCBmcm9tIGEgbWV0cmljIHNlYXJjaCBxdWVyeVxuICAgKi9cbiAgU0VMRUNUID0gXCJzZWxlY3RcIixcbn1cblxuZXhwb3J0IGVudW0gVmFyaWFibGVUeXBlIHtcbiAgLyoqXG4gICAqIEEgcHJvcGVydHkgdmFyaWFibGUgY2hhbmdlcyB0aGUgdmFsdWVzIG9mIGFsbCBpbnN0YW5jZXMgb2YgYSBwcm9wZXJ0eSBpbiB0aGUgbGlzdCBvZiB3aWRnZXRzIGluIHRoZSBkYXNoYm9hcmQuXG4gICAqL1xuICBQUk9QRVJUWSA9IFwicHJvcGVydHlcIixcblxuICAvKipcbiAgICogQSBwYXR0ZXJuIHZhcmlhYmxlIGlzIG9uZSB0aGF0IGNoYW5nZXMgYSByZWdleCBwYXR0ZXJuIGFjcm9zcyB0aGUgZGFzaGJvYXJkIEpTT05cbiAgICovXG4gIFBBVFRFUk4gPSBcInBhdHRlcm5cIixcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBkYXNoYm9hcmQgdmFyaWFibGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVmFyaWFibGUge1xuICAvKipcbiAgICogUmV0dXJuIHRoZSB2YXJpYWJsZSBKU09OIGZvciB1c2UgaW4gdGhlIGRhc2hib2FyZFxuICAgKi9cbiAgdG9Kc29uKCk6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYXJpYWJsZVZhbHVlIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGxhYmVsIGZvciB0aGUgc2VsZWN0ZWQgaXRlbVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSB2YXJpYWJsZSdzIHZhbHVlXG4gICAqL1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIHNlbGVjdGVkIGl0ZW1cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2VhcmNoIGNvbXBvbmVudHMgZm9yIHVzZSB3aXRoIHtAbGluayBWYWx1ZXMuZnJvbVNlYXJjaENvbXBvbmVudHN9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoQ29tcG9uZW50cyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZXNwYWNlIHRvIGJlIHVzZWQgaW4gdGhlIHNlYXJjaCBleHByZXNzaW9uXG4gICAqL1xuICByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgZGltZW5zaW9ucyB0byBiZSB1c2VkIGluIHRoZSBzZWFyY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgZGltZW5zaW9uczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRyaWMgbmFtZSB0byBiZSB1c2VkIGluIHRoZSBzZWFyY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGltZW5zaW9uIG5hbWUsIHRoYXQgdGhlIHNlYXJjaCBleHByZXNzaW9uIHJldHJpZXZlcywgd2hvc2UgdmFsdWVzIHdpbGwgYmUgdXNlZCB0byBwb3B1bGF0ZSB0aGUgdmFsdWVzIHRvIGNob29zZSBmcm9tXG4gICAqL1xuICByZWFkb25seSBwb3B1bGF0ZUZyb206IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGNsYXNzIGZvciBwcm92aWRpbmcgdmFsdWVzIGZvciB1c2Ugd2l0aCB7QGxpbmsgVmFyaWFibGVJbnB1dFR5cGUuU0VMRUNUfSBhbmQge0BsaW5rIFZhcmlhYmxlSW5wdXRUeXBlLlJBRElPfSBkYXNoYm9hcmQgdmFyaWFibGVzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWYWx1ZXMge1xuICAvKipcbiAgICogQ3JlYXRlIHZhbHVlcyBmcm9tIHRoZSBjb21wb25lbnRzIG9mIHNlYXJjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TZWFyY2hDb21wb25lbnRzKGNvbXBvbmVudHM6IFNlYXJjaENvbXBvbmVudHMpOiBWYWx1ZXMge1xuICAgIGlmIChjb21wb25lbnRzLmRpbWVuc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiRW1wdHkgZGltZW5zaW9ucyBwcm92aWRlZC4gUGxlYXNlIHNwZWNpZnkgb25lIGRpbWVuc2lvbiBhdCBsZWFzdFwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKCFjb21wb25lbnRzLmRpbWVuc2lvbnMuaW5jbHVkZXMoY29tcG9uZW50cy5wb3B1bGF0ZUZyb20pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBwb3B1bGF0ZUZyb20gKCR7Y29tcG9uZW50cy5wb3B1bGF0ZUZyb219KSBpcyBub3QgcHJlc2VudCBpbiBkaW1lbnNpb25zYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IG1ldHJpY1NjaGVtYSA9IFtjb21wb25lbnRzLm5hbWVzcGFjZSwgLi4uY29tcG9uZW50cy5kaW1lbnNpb25zXTtcbiAgICByZXR1cm4gVmFsdWVzLmZyb21TZWFyY2goXG4gICAgICBgeyR7bWV0cmljU2NoZW1hLmpvaW4oXCIsXCIpfX0gTWV0cmljTmFtZT1cXFwiJHtjb21wb25lbnRzLm1ldHJpY05hbWV9XFxcImAsXG4gICAgICBjb21wb25lbnRzLnBvcHVsYXRlRnJvbSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB2YWx1ZXMgZnJvbSBhIHNlYXJjaCBleHByZXNzaW9uXG4gICAqXG4gICAqIEBwYXJhbSBleHByZXNzaW9uIHNlYXJjaCBleHByZXNzaW9uIHRoYXQgc3BlY2lmaWVzIGEgbmFtZXNwYWNlLCBkaW1lbnNpb24gbmFtZShzKSBhbmQgYSBtZXRyaWMgbmFtZS4gRm9yIGV4YW1wbGUgYHtBV1MvRUMyLEluc3RhbmNlSWR9IE1ldHJpY05hbWU9XFxcIkNQVVV0aWxpemF0aW9uXFxcImBcbiAgICogQHBhcmFtIHBvcHVsYXRlRnJvbSBkaW1lbnNpb24gdGhlIGRpbWVuc2lvbiBuYW1lLCB0aGF0IHRoZSBzZWFyY2ggZXhwcmVzc2lvbiByZXRyaWV2ZXMsIHdob3NlIHZhbHVlcyB3aWxsIGJlIHVzZWQgdG8gcG9wdWxhdGUgdGhlIHZhbHVlcyB0byBjaG9vc2UgZnJvbS4gRm9yIGV4YW1wbGUgYEluc3RhbmNlSWRgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TZWFyY2goZXhwcmVzc2lvbjogc3RyaW5nLCBwb3B1bGF0ZUZyb206IHN0cmluZyk6IFZhbHVlcyB7XG4gICAgcmV0dXJuIG5ldyBTZWFyY2hWYWx1ZXMoZXhwcmVzc2lvbiwgcG9wdWxhdGVGcm9tKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdmFsdWVzIGZyb20gYW4gYXJyYXkgb2YgcG9zc2libGUgdmFyaWFibGUgdmFsdWVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21WYWx1ZXMoLi4udmFsdWVzOiBWYXJpYWJsZVZhbHVlW10pOiBWYWx1ZXMge1xuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkVtcHR5IHZhbHVlcyBpcyBub3QgYWxsb3dlZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTdGF0aWNWYWx1ZXModmFsdWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCB0b0pzb24oKTogYW55O1xufVxuXG5jbGFzcyBTdGF0aWNWYWx1ZXMgZXh0ZW5kcyBWYWx1ZXMge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHZhbHVlczogVmFyaWFibGVWYWx1ZVtdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHRvSnNvbigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZXM6IHRoaXMudmFsdWVzLm1hcCgodmFsdWUpID0+ICh7XG4gICAgICAgIGxhYmVsOiB2YWx1ZS5sYWJlbCxcbiAgICAgICAgdmFsdWU6IHZhbHVlLnZhbHVlLFxuICAgICAgfSkpLFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgU2VhcmNoVmFsdWVzIGV4dGVuZHMgVmFsdWVzIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIHNlYXJjaCBleHByZXNzaW9uIGZvciB1c2VcbiAgICpcbiAgICogQHBhcmFtIGV4cHJlc3Npb24gc2VhcmNoIGV4cHJlc3Npb24gdGhhdCBzcGVjaWZpZXMgYSBuYW1lc3BhY2UsIGRpbWVuc2lvbiBuYW1lKHMpIGFuZCBhIG1ldHJpYyBuYW1lLiBGb3IgZXhhbXBsZSBge0FXUy9FQzIsSW5zdGFuY2VJZH0gTWV0cmljTmFtZT1cXFwiQ1BVVXRpbGl6YXRpb25cXFwiYFxuICAgKiBAcGFyYW0gcG9wdWxhdGVGcm9tIGRpbWVuc2lvbiB0aGUgZGltZW5zaW9uIG5hbWUsIHRoYXQgdGhlIHNlYXJjaCBleHByZXNzaW9uIHJldHJpZXZlcywgd2hvc2UgdmFsdWVzIHdpbGwgYmUgdXNlZCB0byBwb3B1bGF0ZSB0aGUgdmFsdWVzIHRvIGNob29zZSBmcm9tLiBGb3IgZXhhbXBsZSBgSW5zdGFuY2VJZGBcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXhwcmVzc2lvbjogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBwb3B1bGF0ZUZyb206IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHRvSnNvbigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBzZWFyY2g6IHRoaXMuZXhwcmVzc2lvbixcbiAgICAgIHBvcHVsYXRlRnJvbTogdGhpcy5wb3B1bGF0ZUZyb20sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIERlZmF1bHQgdmFsdWUgZm9yIHVzZSBpbiB7QGxpbmsgRGFzaGJvYXJkVmFyaWFibGVPcHRpb25zfVxuICovXG5leHBvcnQgY2xhc3MgRGVmYXVsdFZhbHVlIHtcbiAgLyoqXG4gICAqIEEgc3BlY2lhbCB2YWx1ZSBmb3IgdXNlIHdpdGggc2VhcmNoIGV4cHJlc3Npb25zIHRvIGhhdmUgdGhlIGRlZmF1bHQgdmFsdWUgYmUgdGhlIGZpcnN0IHZhbHVlIHJldHVybmVkIGZyb20gc2VhcmNoXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZJUlNUID0gbmV3IERlZmF1bHRWYWx1ZShcIl9fRklSU1RcIik7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGRlZmF1bHQgdmFsdWVcbiAgICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0byBiZSB1c2VkIGFzIGRlZmF1bHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiBuZXcgRGVmYXVsdFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHZhbDogYW55KSB7fVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBEYXNoYm9hcmRWYXJpYWJsZX1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRWYXJpYWJsZU9wdGlvbnMge1xuICAvKipcbiAgICogVHlwZSBvZiB0aGUgdmFyaWFibGVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFZhcmlhYmxlVHlwZTtcblxuICAvKipcbiAgICogVGhlIHdheSB0aGUgdmFyaWFibGUgdmFsdWUgaXMgc2VsZWN0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGlucHV0VHlwZTogVmFyaWFibGVJbnB1dFR5cGU7XG5cbiAgLyoqXG4gICAqIFBhdHRlcm4gb3IgcHJvcGVydHkgdmFsdWUgdG8gcmVwbGFjZVxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlIGlkXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBsYWJlbCBpbiB0aGUgdG9vbGJhclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSB2YXJpYWJsZSdzIHZhbHVlXG4gICAqL1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgdmFsdWVzIChyZXF1aXJlZCBmb3Ige0BsaW5rIFZhcmlhYmxlSW5wdXRUeXBlLlJBRElPfSBhbmQge0BsaW5rIFZhcmlhYmxlSW5wdXRUeXBlLlNFTEVDVH0gZGFzaGJvYXJkIHZhcmlhYmxlcykuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gdmFsdWVzXG4gICAqL1xuICByZWFkb25seSB2YWx1ZXM/OiBWYWx1ZXM7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlZmF1bHQgdmFsdWVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZWZhdWx0IHZhbHVlIGlzIHNldFxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogRGVmYXVsdFZhbHVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB2YXJpYWJsZSBpcyB2aXNpYmxlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdmlzaWJsZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGFzaGJvYXJkIFZhcmlhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRWYXJpYWJsZSBpbXBsZW1lbnRzIElWYXJpYWJsZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IERhc2hib2FyZFZhcmlhYmxlT3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zLmlucHV0VHlwZSAhPT0gVmFyaWFibGVJbnB1dFR5cGUuSU5QVVQgJiYgIW9wdGlvbnMudmFsdWVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBWYXJpYWJsZSB3aXRoIGlucHV0VHlwZSAoJHtvcHRpb25zLmlucHV0VHlwZX0pIHJlcXVpcmVzIHZhbHVlcyB0byBiZSBzZXRgLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuaW5wdXRUeXBlID09IFZhcmlhYmxlSW5wdXRUeXBlLklOUFVUICYmIG9wdGlvbnMudmFsdWVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiaW5wdXRUeXBlIElOUFVUIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIHZhbHVlcy4gUGxlYXNlIGNob29zZSBlaXRoZXIgU0VMRUNUIG9yIFJBRElPIG9yIHJlbW92ZSAndmFsdWVzJyBmcm9tIG9wdGlvbnMuXCIsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHRvSnNvbigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBbdGhpcy5vcHRpb25zLnR5cGVdOiB0aGlzLm9wdGlvbnMudmFsdWUsXG4gICAgICB0eXBlOiB0aGlzLm9wdGlvbnMudHlwZSxcbiAgICAgIGlucHV0VHlwZTogdGhpcy5vcHRpb25zLmlucHV0VHlwZSxcbiAgICAgIGlkOiB0aGlzLm9wdGlvbnMuaWQsXG4gICAgICBkZWZhdWx0VmFsdWU6IHRoaXMub3B0aW9ucy5kZWZhdWx0VmFsdWU/LnZhbCxcbiAgICAgIHZpc2libGU6IHRoaXMub3B0aW9ucy52aXNpYmxlLFxuICAgICAgbGFiZWw6IHRoaXMub3B0aW9ucy5sYWJlbCxcbiAgICAgIC4uLnRoaXMub3B0aW9ucy52YWx1ZXM/LnRvSnNvbigpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Construct } from "constructs";
2
+ import { AwsStack } from "../";
3
+ import { IMetric } from "./metric-types";
4
+ /**
5
+ * The width of the grid we're filling
6
+ */
7
+ export declare const GRID_WIDTH = 24;
8
+ /**
9
+ * A single dashboard widget
10
+ */
11
+ export interface IWidget {
12
+ /**
13
+ * The amount of horizontal grid units the widget will take up
14
+ */
15
+ readonly width: number;
16
+ /**
17
+ * The amount of vertical grid units the widget will take up
18
+ */
19
+ readonly height: number;
20
+ /**
21
+ * Any warnings that are produced as a result of putting together this widget
22
+ * @deprecated - use warningsV2
23
+ */
24
+ readonly warnings?: string[];
25
+ /**
26
+ * Any warnings that are produced as a result of putting together this widget
27
+ */
28
+ readonly warningsV2?: {
29
+ [id: string]: string;
30
+ };
31
+ /**
32
+ * Place the widget at a given position
33
+ */
34
+ position(x: number, y: number): void;
35
+ /**
36
+ * Return the widget JSON for use in the dashboard
37
+ */
38
+ toJson(): any[];
39
+ }
40
+ /**
41
+ * A real CloudWatch widget that has its own fixed size and remembers its position
42
+ *
43
+ * This is in contrast to other widgets which exist for layout purposes.
44
+ */
45
+ export declare abstract class ConcreteWidget implements IWidget {
46
+ readonly width: number;
47
+ readonly height: number;
48
+ protected x?: number;
49
+ protected y?: number;
50
+ protected stack: AwsStack;
51
+ readonly warnings: string[] | undefined;
52
+ readonly warningsV2: {
53
+ [id: string]: string;
54
+ } | undefined;
55
+ constructor(scope: Construct, width: number, height: number);
56
+ position(x: number, y: number): void;
57
+ abstract toJson(): any[];
58
+ /**
59
+ * Copy the warnings from the given metric
60
+ */
61
+ protected copyMetricWarnings(...ms: IMetric[]): void;
62
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ConcreteWidget = exports.GRID_WIDTH = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const __1 = require("../");
7
+ /**
8
+ * The width of the grid we're filling
9
+ */
10
+ exports.GRID_WIDTH = 24;
11
+ /**
12
+ * A real CloudWatch widget that has its own fixed size and remembers its position
13
+ *
14
+ * This is in contrast to other widgets which exist for layout purposes.
15
+ */
16
+ class ConcreteWidget {
17
+ constructor(scope, width, height) {
18
+ this.warnings = [];
19
+ this.warningsV2 = {};
20
+ this.width = width;
21
+ this.height = height;
22
+ this.stack = __1.AwsStack.ofAwsConstruct(scope);
23
+ if (this.width > exports.GRID_WIDTH) {
24
+ throw new Error(`Widget is too wide, max ${exports.GRID_WIDTH} units allowed`);
25
+ }
26
+ }
27
+ position(x, y) {
28
+ this.x = x;
29
+ this.y = y;
30
+ }
31
+ /**
32
+ * Copy the warnings from the given metric
33
+ */
34
+ copyMetricWarnings(...ms) {
35
+ ms.forEach((m) => {
36
+ for (const [id, message] of Object.entries(m.warningsV2 ?? {})) {
37
+ this.warningsV2[id] = message;
38
+ }
39
+ });
40
+ }
41
+ }
42
+ exports.ConcreteWidget = ConcreteWidget;
43
+ _a = JSII_RTTI_SYMBOL_1;
44
+ ConcreteWidget[_a] = { fqn: "terraconstructs.aws.cloudwatch.ConcreteWidget", version: "0.0.8" };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jbG91ZHdhdGNoL3dpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDJCQUErQjtBQUcvQjs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFHLEVBQUUsQ0FBQztBQXNDN0I7Ozs7R0FJRztBQUNILE1BQXNCLGNBQWM7SUFVbEMsWUFBWSxLQUFnQixFQUFFLEtBQWEsRUFBRSxNQUFjO1FBSDNDLGFBQVEsR0FBeUIsRUFBRSxDQUFDO1FBQ3BDLGVBQVUsR0FBeUMsRUFBRSxDQUFDO1FBR3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsa0JBQVUsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLGtCQUFVLGdCQUFnQixDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDbEMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLENBQUM7SUFJRDs7T0FFRztJQUNPLGtCQUFrQixDQUFDLEdBQUcsRUFBYTtRQUMzQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixLQUFLLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxVQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcENILHdDQXFDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoL2xpYi93aWRnZXQudHNcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi9cIjtcbmltcG9ydCB7IElNZXRyaWMgfSBmcm9tIFwiLi9tZXRyaWMtdHlwZXNcIjtcblxuLyoqXG4gKiBUaGUgd2lkdGggb2YgdGhlIGdyaWQgd2UncmUgZmlsbGluZ1xuICovXG5leHBvcnQgY29uc3QgR1JJRF9XSURUSCA9IDI0O1xuXG4vKipcbiAqIEEgc2luZ2xlIGRhc2hib2FyZCB3aWRnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJV2lkZ2V0IHtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgaG9yaXpvbnRhbCBncmlkIHVuaXRzIHRoZSB3aWRnZXQgd2lsbCB0YWtlIHVwXG4gICAqL1xuICByZWFkb25seSB3aWR0aDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHZlcnRpY2FsIGdyaWQgdW5pdHMgdGhlIHdpZGdldCB3aWxsIHRha2UgdXBcbiAgICovXG4gIHJlYWRvbmx5IGhlaWdodDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBbnkgd2FybmluZ3MgdGhhdCBhcmUgcHJvZHVjZWQgYXMgYSByZXN1bHQgb2YgcHV0dGluZyB0b2dldGhlciB0aGlzIHdpZGdldFxuICAgKiBAZGVwcmVjYXRlZCAtIHVzZSB3YXJuaW5nc1YyXG4gICAqL1xuICByZWFkb25seSB3YXJuaW5ncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbnkgd2FybmluZ3MgdGhhdCBhcmUgcHJvZHVjZWQgYXMgYSByZXN1bHQgb2YgcHV0dGluZyB0b2dldGhlciB0aGlzIHdpZGdldFxuICAgKi9cbiAgcmVhZG9ubHkgd2FybmluZ3NWMj86IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogUGxhY2UgdGhlIHdpZGdldCBhdCBhIGdpdmVuIHBvc2l0aW9uXG4gICAqL1xuICBwb3NpdGlvbih4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgd2lkZ2V0IEpTT04gZm9yIHVzZSBpbiB0aGUgZGFzaGJvYXJkXG4gICAqL1xuICB0b0pzb24oKTogYW55W107XG59XG5cbi8qKlxuICogQSByZWFsIENsb3VkV2F0Y2ggd2lkZ2V0IHRoYXQgaGFzIGl0cyBvd24gZml4ZWQgc2l6ZSBhbmQgcmVtZW1iZXJzIGl0cyBwb3NpdGlvblxuICpcbiAqIFRoaXMgaXMgaW4gY29udHJhc3QgdG8gb3RoZXIgd2lkZ2V0cyB3aGljaCBleGlzdCBmb3IgbGF5b3V0IHB1cnBvc2VzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29uY3JldGVXaWRnZXQgaW1wbGVtZW50cyBJV2lkZ2V0IHtcbiAgcHVibGljIHJlYWRvbmx5IHdpZHRoOiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBoZWlnaHQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIHg/OiBudW1iZXI7XG4gIHByb3RlY3RlZCB5PzogbnVtYmVyO1xuICBwcm90ZWN0ZWQgc3RhY2s6IEF3c1N0YWNrO1xuXG4gIHB1YmxpYyByZWFkb25seSB3YXJuaW5nczogc3RyaW5nW10gfCB1bmRlZmluZWQgPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IHdhcm5pbmdzVjI6IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgdGhpcy53aWR0aCA9IHdpZHRoO1xuICAgIHRoaXMuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgIHRoaXMuc3RhY2sgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSk7XG5cbiAgICBpZiAodGhpcy53aWR0aCA+IEdSSURfV0lEVEgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgV2lkZ2V0IGlzIHRvbyB3aWRlLCBtYXggJHtHUklEX1dJRFRIfSB1bml0cyBhbGxvd2VkYCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBvc2l0aW9uKHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy54ID0geDtcbiAgICB0aGlzLnkgPSB5O1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IHRvSnNvbigpOiBhbnlbXTtcblxuICAvKipcbiAgICogQ29weSB0aGUgd2FybmluZ3MgZnJvbSB0aGUgZ2l2ZW4gbWV0cmljXG4gICAqL1xuICBwcm90ZWN0ZWQgY29weU1ldHJpY1dhcm5pbmdzKC4uLm1zOiBJTWV0cmljW10pIHtcbiAgICBtcy5mb3JFYWNoKChtKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IFtpZCwgbWVzc2FnZV0gb2YgT2JqZWN0LmVudHJpZXMobS53YXJuaW5nc1YyID8/IHt9KSkge1xuICAgICAgICB0aGlzLndhcm5pbmdzVjIhW2lkXSA9IG1lc3NhZ2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,81 @@
1
+ import { sfnActivity } from "@cdktf/provider-aws";
2
+ import { Construct } from "constructs";
3
+ import { AwsConstructBase, IAwsConstruct, AwsConstructProps } from "../aws-construct";
4
+ import * as iam from "../iam";
5
+ /**
6
+ * Properties for defining a new Step Functions Activity
7
+ */
8
+ export interface ActivityProps extends AwsConstructProps {
9
+ /**
10
+ * The name for this activity.
11
+ *
12
+ * This name must be unique for your AWS account and region for 90 days.
13
+ * For more information, see [Limits Related to State Machine Executions][1] in the AWS Step Functions Developer Guide.
14
+ *
15
+ * To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.
16
+ * Length Constraints: Minimum length of 1. Maximum length of 80.
17
+ *
18
+ * [1]: https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions
19
+ *
20
+ * @default - If not supplied, a name is generated
21
+ */
22
+ readonly activityName?: string;
23
+ }
24
+ export interface ActivityOutputs {
25
+ /**
26
+ * The Amazon Resource Name (ARN) that identifies the created activity.
27
+ */
28
+ readonly arn: string;
29
+ }
30
+ /**
31
+ * Represents a Step Functions Activity
32
+ * https://docs.aws.amazon.com/step-functions/latest/dg/concepts-activities.html
33
+ */
34
+ export interface IActivity extends IAwsConstruct {
35
+ /** Strongly typed outputs */
36
+ readonly activityOutputs: ActivityOutputs;
37
+ /**
38
+ * The ARN of the activity
39
+ *
40
+ * @attribute
41
+ */
42
+ readonly activityArn: string;
43
+ /**
44
+ * The name of the activity
45
+ *
46
+ * @attribute
47
+ */
48
+ readonly activityName: string;
49
+ }
50
+ /**
51
+ * Define a new Step Functions Activity
52
+ */
53
+ export declare class Activity extends AwsConstructBase implements IActivity {
54
+ /**
55
+ * Construct an Activity from an existing Activity ARN
56
+ */
57
+ static fromActivityArn(scope: Construct, id: string, activityArn: string): IActivity;
58
+ /**
59
+ * Construct an Activity from an existing Activity Name
60
+ */
61
+ static fromActivityName(scope: Construct, id: string, activityName: string): IActivity;
62
+ get activityOutputs(): ActivityOutputs;
63
+ get outputs(): Record<string, any>;
64
+ readonly resource: sfnActivity.SfnActivity;
65
+ /**
66
+ * @attribute
67
+ */
68
+ readonly activityArn: string;
69
+ /**
70
+ * @attribute
71
+ */
72
+ readonly activityName: string;
73
+ constructor(scope: Construct, id: string, props?: ActivityProps);
74
+ /**
75
+ * Grant the given identity permissions on this Activity
76
+ *
77
+ * @param identity The principal
78
+ * @param actions The list of desired actions
79
+ */
80
+ grant(identity: iam.IGrantable, ...actions: string[]): iam.Grant;
81
+ }