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,123 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.StepFunctionsStartExecution = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const compute = require("../../");
7
+ const arn_1 = require("../../../arn");
8
+ const aws_stack_1 = require("../../../aws-stack");
9
+ const iam = require("../../../iam");
10
+ const task_utils_1 = require("../private/task-utils");
11
+ /**
12
+ * A Step Functions Task to call StartExecution on another state machine.
13
+ *
14
+ * It supports three service integration patterns: REQUEST_RESPONSE, RUN_JOB, and WAIT_FOR_TASK_TOKEN.
15
+ */
16
+ class StepFunctionsStartExecution extends compute.TaskStateBase {
17
+ constructor(scope, id, props) {
18
+ super(scope, id, props);
19
+ this.props = props;
20
+ this.integrationPattern =
21
+ props.integrationPattern || compute.IntegrationPattern.REQUEST_RESPONSE;
22
+ (0, task_utils_1.validatePatternSupported)(this.integrationPattern, StepFunctionsStartExecution.SUPPORTED_INTEGRATION_PATTERNS);
23
+ if (this.integrationPattern ===
24
+ compute.IntegrationPattern.WAIT_FOR_TASK_TOKEN &&
25
+ !compute.FieldUtils.containsTaskToken(props.input)) {
26
+ throw new Error("Task Token is required in `input` for callback. Use JsonPath.taskToken to set the token.");
27
+ }
28
+ if (this.props.associateWithParent &&
29
+ props.input &&
30
+ props.input.type !== compute.InputType.OBJECT) {
31
+ throw new Error("Could not enable `associateWithParent` because `input` is taken directly from a JSON path. Use `sfn.TaskInput.fromObject` instead.");
32
+ }
33
+ this.taskPolicies = this.createScopedAccessPolicy();
34
+ }
35
+ /**
36
+ * @internal
37
+ */
38
+ _renderTask() {
39
+ // suffix of ':2' indicates that the output of the nested state machine should be JSON
40
+ // suffix is only applicable when waiting for a nested state machine to complete (RUN_JOB)
41
+ // https://docs.aws.amazon.com/step-functions/latest/dg/connect-stepfunctions.html
42
+ const suffix = this.integrationPattern === compute.IntegrationPattern.RUN_JOB
43
+ ? ":2"
44
+ : "";
45
+ let input;
46
+ if (this.props.associateWithParent) {
47
+ const associateWithParentEntry = {
48
+ AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID: compute.JsonPath.stringAt("$$.Execution.Id"),
49
+ };
50
+ input = this.props.input
51
+ ? { ...this.props.input.value, ...associateWithParentEntry }
52
+ : associateWithParentEntry;
53
+ }
54
+ else {
55
+ input = this.props.input
56
+ ? this.props.input.value
57
+ : compute.TaskInput.fromJsonPathAt("$").value;
58
+ }
59
+ return {
60
+ Resource: `${(0, task_utils_1.integrationResourceArn)(this, "states", "startExecution", this.integrationPattern)}${suffix}`,
61
+ Parameters: compute.FieldUtils.renderObject({
62
+ Input: input,
63
+ StateMachineArn: this.props.stateMachine.stateMachineArn,
64
+ Name: this.props.name,
65
+ }),
66
+ };
67
+ }
68
+ /**
69
+ * As StateMachineArn is extracted automatically from the state machine object included in the constructor,
70
+ *
71
+ * the scoped access policy should be generated accordingly.
72
+ *
73
+ * This means the action of StartExecution should be restricted on the given state machine, instead of being granted to all the resources (*).
74
+ */
75
+ createScopedAccessPolicy() {
76
+ const stack = aws_stack_1.AwsStack.ofAwsConstruct(this);
77
+ const policyStatements = [
78
+ new iam.PolicyStatement({
79
+ actions: ["states:StartExecution"],
80
+ resources: [this.props.stateMachine.stateMachineArn],
81
+ }),
82
+ ];
83
+ // Step Functions use Cloud Watch managed rules to deal with synchronous tasks.
84
+ if (this.integrationPattern === compute.IntegrationPattern.RUN_JOB) {
85
+ policyStatements.push(new iam.PolicyStatement({
86
+ actions: ["states:DescribeExecution", "states:StopExecution"],
87
+ // https://docs.aws.amazon.com/step-functions/latest/dg/concept-create-iam-advanced.html#concept-create-iam-advanced-execution
88
+ resources: [
89
+ stack.formatArn({
90
+ service: "states",
91
+ resource: "execution",
92
+ arnFormat: arn_1.ArnFormat.COLON_RESOURCE_NAME,
93
+ resourceName: `${stack.splitArn(this.props.stateMachine.stateMachineArn, arn_1.ArnFormat.COLON_RESOURCE_NAME).resourceName}*`,
94
+ }),
95
+ ],
96
+ }));
97
+ policyStatements.push(new iam.PolicyStatement({
98
+ actions: [
99
+ "events:PutTargets",
100
+ "events:PutRule",
101
+ "events:DescribeRule",
102
+ ],
103
+ resources: [
104
+ stack.formatArn({
105
+ service: "events",
106
+ resource: "rule",
107
+ resourceName: "StepFunctionsGetEventsForStepFunctionsExecutionRule",
108
+ }),
109
+ ],
110
+ }));
111
+ }
112
+ return policyStatements;
113
+ }
114
+ }
115
+ exports.StepFunctionsStartExecution = StepFunctionsStartExecution;
116
+ _a = JSII_RTTI_SYMBOL_1;
117
+ StepFunctionsStartExecution[_a] = { fqn: "terraconstructs.aws.compute.tasks.StepFunctionsStartExecution", version: "0.0.8" };
118
+ StepFunctionsStartExecution.SUPPORTED_INTEGRATION_PATTERNS = [
119
+ compute.IntegrationPattern.REQUEST_RESPONSE,
120
+ compute.IntegrationPattern.RUN_JOB,
121
+ compute.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
122
+ ];
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL3Rhc2tzL3N0ZXBmdW5jdGlvbnMvc3RhcnQtZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0Esa0NBQWtDO0FBQ2xDLHNDQUF5QztBQUN6QyxrREFBOEM7QUFDOUMsb0NBQW9DO0FBQ3BDLHNEQUcrQjtBQTJDL0I7Ozs7R0FJRztBQUNILE1BQWEsMkJBQTRCLFNBQVEsT0FBTyxDQUFDLGFBQWE7SUFZcEUsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ08sS0FBdUM7UUFFeEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFGUCxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQUl4RCxJQUFJLENBQUMsa0JBQWtCO1lBQ3JCLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7UUFDMUUsSUFBQSxxQ0FBd0IsRUFDdEIsSUFBSSxDQUFDLGtCQUFrQixFQUN2QiwyQkFBMkIsQ0FBQyw4QkFBOEIsQ0FDM0QsQ0FBQztRQUVGLElBQ0UsSUFBSSxDQUFDLGtCQUFrQjtZQUNyQixPQUFPLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CO1lBQ2hELENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQ2xELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDBGQUEwRixDQUMzRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUIsS0FBSyxDQUFDLEtBQUs7WUFDWCxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFDN0MsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQ2Isb0lBQW9JLENBQ3JJLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxXQUFXO1FBQ25CLHNGQUFzRjtRQUN0RiwwRkFBMEY7UUFDMUYsa0ZBQWtGO1FBQ2xGLE1BQU0sTUFBTSxHQUNWLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTztZQUM1RCxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVCxJQUFJLEtBQVUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ25DLE1BQU0sd0JBQXdCLEdBQUc7Z0JBQy9CLDBDQUEwQyxFQUN4QyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQzthQUMvQyxDQUFDO1lBQ0YsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztnQkFDdEIsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyx3QkFBd0IsRUFBRTtnQkFDNUQsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUs7Z0JBQ3hCLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbEQsQ0FBQztRQUVELE9BQU87WUFDTCxRQUFRLEVBQUUsR0FBRyxJQUFBLG1DQUFzQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsTUFBTSxFQUFFO1lBQ3pHLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGVBQWU7Z0JBQ3hELElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7YUFDdEIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssd0JBQXdCO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sZ0JBQWdCLEdBQUc7WUFDdkIsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDbEMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDO2FBQ3JELENBQUM7U0FDSCxDQUFDO1FBRUYsK0VBQStFO1FBQy9FLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQ25CLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLENBQUMsMEJBQTBCLEVBQUUsc0JBQXNCLENBQUM7Z0JBQzdELDhIQUE4SDtnQkFDOUgsU0FBUyxFQUFFO29CQUNULEtBQUssQ0FBQyxTQUFTLENBQUM7d0JBQ2QsT0FBTyxFQUFFLFFBQVE7d0JBQ2pCLFFBQVEsRUFBRSxXQUFXO3dCQUNyQixTQUFTLEVBQUUsZUFBUyxDQUFDLG1CQUFtQjt3QkFDeEMsWUFBWSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsZUFBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBWSxHQUFHO3FCQUN4SCxDQUFDO2lCQUNIO2FBQ0YsQ0FBQyxDQUNILENBQUM7WUFFRixnQkFBZ0IsQ0FBQyxJQUFJLENBQ25CLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdEIsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixxQkFBcUI7aUJBQ3RCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxLQUFLLENBQUMsU0FBUyxDQUFDO3dCQUNkLE9BQU8sRUFBRSxRQUFRO3dCQUNqQixRQUFRLEVBQUUsTUFBTTt3QkFDaEIsWUFBWSxFQUNWLHFEQUFxRDtxQkFDeEQsQ0FBQztpQkFDSDthQUNGLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQzs7QUExSUgsa0VBMklDOzs7QUExSXlCLDBEQUE4QixHQUFHO0lBQ3ZELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0I7SUFDM0MsT0FBTyxDQUFDLGtCQUFrQixDQUFDLE9BQU87SUFDbEMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQjtDQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uLy4uL1wiO1xuaW1wb3J0IHsgQXJuRm9ybWF0IH0gZnJvbSBcIi4uLy4uLy4uL2FyblwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vLi4vLi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uLy4uLy4uL2lhbVwiO1xuaW1wb3J0IHtcbiAgaW50ZWdyYXRpb25SZXNvdXJjZUFybixcbiAgdmFsaWRhdGVQYXR0ZXJuU3VwcG9ydGVkLFxufSBmcm9tIFwiLi4vcHJpdmF0ZS90YXNrLXV0aWxzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgU3RhcnRFeGVjdXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGVwRnVuY3Rpb25zU3RhcnRFeGVjdXRpb25Qcm9wc1xuICBleHRlbmRzIGNvbXB1dGUuVGFza1N0YXRlQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBTdGVwIEZ1bmN0aW9ucyBzdGF0ZSBtYWNoaW5lIHRvIHN0YXJ0IHRoZSBleGVjdXRpb24gb24uXG4gICAqL1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmU6IGNvbXB1dGUuSVN0YXRlTWFjaGluZTtcblxuICAvKipcbiAgICogVGhlIEpTT04gaW5wdXQgZm9yIHRoZSBleGVjdXRpb24sIHNhbWUgYXMgdGhhdCBvZiBTdGFydEV4ZWN1dGlvbi5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3RlcC1mdW5jdGlvbnMvbGF0ZXN0L2FwaXJlZmVyZW5jZS9BUElfU3RhcnRFeGVjdXRpb24uaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFRoZSBzdGF0ZSBpbnB1dCAoSlNPTiBwYXRoICckJylcbiAgICovXG4gIHJlYWRvbmx5IGlucHV0PzogY29tcHV0ZS5UYXNrSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBleGVjdXRpb24sIHNhbWUgYXMgdGhhdCBvZiBTdGFydEV4ZWN1dGlvbi5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3RlcC1mdW5jdGlvbnMvbGF0ZXN0L2FwaXJlZmVyZW5jZS9BUElfU3RhcnRFeGVjdXRpb24uaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhc3MgdGhlIGV4ZWN1dGlvbiBJRCBmcm9tIHRoZSBjb250ZXh0IG9iamVjdCB0byB0aGUgZXhlY3V0aW9uIGlucHV0LlxuICAgKiBUaGlzIGFsbG93cyB0aGUgU3RlcCBGdW5jdGlvbnMgVUkgdG8gbGluayBjaGlsZCBleGVjdXRpb25zIGZyb20gcGFyZW50IGV4ZWN1dGlvbnMsIG1ha2luZyBpdCBlYXNpZXIgdG8gdHJhY2UgZXhlY3V0aW9uIGZsb3cgYWNyb3NzIHN0YXRlIG1hY2hpbmVzLlxuICAgKlxuICAgKiBJZiB5b3Ugc2V0IHRoaXMgcHJvcGVydHkgdG8gYHRydWVgLCB0aGUgYGlucHV0YCBwcm9wZXJ0eSBtdXN0IGJlIGFuIG9iamVjdCAocHJvdmlkZWQgYnkgYHNmbi5UYXNrSW5wdXQuZnJvbU9iamVjdGApIG9yIG9taXR0ZWQgZW50aXJlbHkuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9jb25jZXB0cy1uZXN0ZWQtd29ya2Zsb3dzLmh0bWwjbmVzdGVkLWV4ZWN1dGlvbi1zdGFydGlkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFzc29jaWF0ZVdpdGhQYXJlbnQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgU3RlcCBGdW5jdGlvbnMgVGFzayB0byBjYWxsIFN0YXJ0RXhlY3V0aW9uIG9uIGFub3RoZXIgc3RhdGUgbWFjaGluZS5cbiAqXG4gKiBJdCBzdXBwb3J0cyB0aHJlZSBzZXJ2aWNlIGludGVncmF0aW9uIHBhdHRlcm5zOiBSRVFVRVNUX1JFU1BPTlNFLCBSVU5fSk9CLCBhbmQgV0FJVF9GT1JfVEFTS19UT0tFTi5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0ZXBGdW5jdGlvbnNTdGFydEV4ZWN1dGlvbiBleHRlbmRzIGNvbXB1dGUuVGFza1N0YXRlQmFzZSB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNVUFBPUlRFRF9JTlRFR1JBVElPTl9QQVRURVJOUyA9IFtcbiAgICBjb21wdXRlLkludGVncmF0aW9uUGF0dGVybi5SRVFVRVNUX1JFU1BPTlNFLFxuICAgIGNvbXB1dGUuSW50ZWdyYXRpb25QYXR0ZXJuLlJVTl9KT0IsXG4gICAgY29tcHV0ZS5JbnRlZ3JhdGlvblBhdHRlcm4uV0FJVF9GT1JfVEFTS19UT0tFTixcbiAgXTtcblxuICAvLyBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFza01ldHJpY3M/OiBjb21wdXRlLlRhc2tNZXRyaWNzQ29uZmlnO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFza1BvbGljaWVzPzogaWFtLlBvbGljeVN0YXRlbWVudFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW50ZWdyYXRpb25QYXR0ZXJuOiBjb21wdXRlLkludGVncmF0aW9uUGF0dGVybjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogU3RlcEZ1bmN0aW9uc1N0YXJ0RXhlY3V0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblBhdHRlcm4gPVxuICAgICAgcHJvcHMuaW50ZWdyYXRpb25QYXR0ZXJuIHx8IGNvbXB1dGUuSW50ZWdyYXRpb25QYXR0ZXJuLlJFUVVFU1RfUkVTUE9OU0U7XG4gICAgdmFsaWRhdGVQYXR0ZXJuU3VwcG9ydGVkKFxuICAgICAgdGhpcy5pbnRlZ3JhdGlvblBhdHRlcm4sXG4gICAgICBTdGVwRnVuY3Rpb25zU3RhcnRFeGVjdXRpb24uU1VQUE9SVEVEX0lOVEVHUkFUSU9OX1BBVFRFUk5TLFxuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmludGVncmF0aW9uUGF0dGVybiA9PT1cbiAgICAgICAgY29tcHV0ZS5JbnRlZ3JhdGlvblBhdHRlcm4uV0FJVF9GT1JfVEFTS19UT0tFTiAmJlxuICAgICAgIWNvbXB1dGUuRmllbGRVdGlscy5jb250YWluc1Rhc2tUb2tlbihwcm9wcy5pbnB1dClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJUYXNrIFRva2VuIGlzIHJlcXVpcmVkIGluIGBpbnB1dGAgZm9yIGNhbGxiYWNrLiBVc2UgSnNvblBhdGgudGFza1Rva2VuIHRvIHNldCB0aGUgdG9rZW4uXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMucHJvcHMuYXNzb2NpYXRlV2l0aFBhcmVudCAmJlxuICAgICAgcHJvcHMuaW5wdXQgJiZcbiAgICAgIHByb3BzLmlucHV0LnR5cGUgIT09IGNvbXB1dGUuSW5wdXRUeXBlLk9CSkVDVFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNvdWxkIG5vdCBlbmFibGUgYGFzc29jaWF0ZVdpdGhQYXJlbnRgIGJlY2F1c2UgYGlucHV0YCBpcyB0YWtlbiBkaXJlY3RseSBmcm9tIGEgSlNPTiBwYXRoLiBVc2UgYHNmbi5UYXNrSW5wdXQuZnJvbU9iamVjdGAgaW5zdGVhZC5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy50YXNrUG9saWNpZXMgPSB0aGlzLmNyZWF0ZVNjb3BlZEFjY2Vzc1BvbGljeSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIF9yZW5kZXJUYXNrKCk6IGFueSB7XG4gICAgLy8gc3VmZml4IG9mICc6MicgaW5kaWNhdGVzIHRoYXQgdGhlIG91dHB1dCBvZiB0aGUgbmVzdGVkIHN0YXRlIG1hY2hpbmUgc2hvdWxkIGJlIEpTT05cbiAgICAvLyBzdWZmaXggaXMgb25seSBhcHBsaWNhYmxlIHdoZW4gd2FpdGluZyBmb3IgYSBuZXN0ZWQgc3RhdGUgbWFjaGluZSB0byBjb21wbGV0ZSAoUlVOX0pPQilcbiAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3RlcC1mdW5jdGlvbnMvbGF0ZXN0L2RnL2Nvbm5lY3Qtc3RlcGZ1bmN0aW9ucy5odG1sXG4gICAgY29uc3Qgc3VmZml4ID1cbiAgICAgIHRoaXMuaW50ZWdyYXRpb25QYXR0ZXJuID09PSBjb21wdXRlLkludGVncmF0aW9uUGF0dGVybi5SVU5fSk9CXG4gICAgICAgID8gXCI6MlwiXG4gICAgICAgIDogXCJcIjtcbiAgICBsZXQgaW5wdXQ6IGFueTtcbiAgICBpZiAodGhpcy5wcm9wcy5hc3NvY2lhdGVXaXRoUGFyZW50KSB7XG4gICAgICBjb25zdCBhc3NvY2lhdGVXaXRoUGFyZW50RW50cnkgPSB7XG4gICAgICAgIEFXU19TVEVQX0ZVTkNUSU9OU19TVEFSVEVEX0JZX0VYRUNVVElPTl9JRDpcbiAgICAgICAgICBjb21wdXRlLkpzb25QYXRoLnN0cmluZ0F0KFwiJCQuRXhlY3V0aW9uLklkXCIpLFxuICAgICAgfTtcbiAgICAgIGlucHV0ID0gdGhpcy5wcm9wcy5pbnB1dFxuICAgICAgICA/IHsgLi4udGhpcy5wcm9wcy5pbnB1dC52YWx1ZSwgLi4uYXNzb2NpYXRlV2l0aFBhcmVudEVudHJ5IH1cbiAgICAgICAgOiBhc3NvY2lhdGVXaXRoUGFyZW50RW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlucHV0ID0gdGhpcy5wcm9wcy5pbnB1dFxuICAgICAgICA/IHRoaXMucHJvcHMuaW5wdXQudmFsdWVcbiAgICAgICAgOiBjb21wdXRlLlRhc2tJbnB1dC5mcm9tSnNvblBhdGhBdChcIiRcIikudmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIFJlc291cmNlOiBgJHtpbnRlZ3JhdGlvblJlc291cmNlQXJuKHRoaXMsIFwic3RhdGVzXCIsIFwic3RhcnRFeGVjdXRpb25cIiwgdGhpcy5pbnRlZ3JhdGlvblBhdHRlcm4pfSR7c3VmZml4fWAsXG4gICAgICBQYXJhbWV0ZXJzOiBjb21wdXRlLkZpZWxkVXRpbHMucmVuZGVyT2JqZWN0KHtcbiAgICAgICAgSW5wdXQ6IGlucHV0LFxuICAgICAgICBTdGF0ZU1hY2hpbmVBcm46IHRoaXMucHJvcHMuc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybixcbiAgICAgICAgTmFtZTogdGhpcy5wcm9wcy5uYW1lLFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcyBTdGF0ZU1hY2hpbmVBcm4gaXMgZXh0cmFjdGVkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgc3RhdGUgbWFjaGluZSBvYmplY3QgaW5jbHVkZWQgaW4gdGhlIGNvbnN0cnVjdG9yLFxuICAgKlxuICAgKiB0aGUgc2NvcGVkIGFjY2VzcyBwb2xpY3kgc2hvdWxkIGJlIGdlbmVyYXRlZCBhY2NvcmRpbmdseS5cbiAgICpcbiAgICogVGhpcyBtZWFucyB0aGUgYWN0aW9uIG9mIFN0YXJ0RXhlY3V0aW9uIHNob3VsZCBiZSByZXN0cmljdGVkIG9uIHRoZSBnaXZlbiBzdGF0ZSBtYWNoaW5lLCBpbnN0ZWFkIG9mIGJlaW5nIGdyYW50ZWQgdG8gYWxsIHRoZSByZXNvdXJjZXMgKCopLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTY29wZWRBY2Nlc3NQb2xpY3koKTogaWFtLlBvbGljeVN0YXRlbWVudFtdIHtcbiAgICBjb25zdCBzdGFjayA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMpO1xuICAgIGNvbnN0IHBvbGljeVN0YXRlbWVudHMgPSBbXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcInN0YXRlczpTdGFydEV4ZWN1dGlvblwiXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5wcm9wcy5zdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuXSxcbiAgICAgIH0pLFxuICAgIF07XG5cbiAgICAvLyBTdGVwIEZ1bmN0aW9ucyB1c2UgQ2xvdWQgV2F0Y2ggbWFuYWdlZCBydWxlcyB0byBkZWFsIHdpdGggc3luY2hyb25vdXMgdGFza3MuXG4gICAgaWYgKHRoaXMuaW50ZWdyYXRpb25QYXR0ZXJuID09PSBjb21wdXRlLkludGVncmF0aW9uUGF0dGVybi5SVU5fSk9CKSB7XG4gICAgICBwb2xpY3lTdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzdGF0ZXM6RGVzY3JpYmVFeGVjdXRpb25cIiwgXCJzdGF0ZXM6U3RvcEV4ZWN1dGlvblwiXSxcbiAgICAgICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3RlcC1mdW5jdGlvbnMvbGF0ZXN0L2RnL2NvbmNlcHQtY3JlYXRlLWlhbS1hZHZhbmNlZC5odG1sI2NvbmNlcHQtY3JlYXRlLWlhbS1hZHZhbmNlZC1leGVjdXRpb25cbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIHN0YWNrLmZvcm1hdEFybih7XG4gICAgICAgICAgICAgIHNlcnZpY2U6IFwic3RhdGVzXCIsXG4gICAgICAgICAgICAgIHJlc291cmNlOiBcImV4ZWN1dGlvblwiLFxuICAgICAgICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IGAke3N0YWNrLnNwbGl0QXJuKHRoaXMucHJvcHMuc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybiwgQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZX0qYCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgcG9saWN5U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgXCJldmVudHM6UHV0VGFyZ2V0c1wiLFxuICAgICAgICAgICAgXCJldmVudHM6UHV0UnVsZVwiLFxuICAgICAgICAgICAgXCJldmVudHM6RGVzY3JpYmVSdWxlXCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIHN0YWNrLmZvcm1hdEFybih7XG4gICAgICAgICAgICAgIHNlcnZpY2U6IFwiZXZlbnRzXCIsXG4gICAgICAgICAgICAgIHJlc291cmNlOiBcInJ1bGVcIixcbiAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOlxuICAgICAgICAgICAgICAgIFwiU3RlcEZ1bmN0aW9uc0dldEV2ZW50c0ZvclN0ZXBGdW5jdGlvbnNFeGVjdXRpb25SdWxlXCIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBvbGljeVN0YXRlbWVudHM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,214 @@
1
+ import { Chain } from "./chain";
2
+ import { Duration } from "../..";
3
+ import { State } from "./states/state";
4
+ /**
5
+ * Interface for states that can have 'next' states
6
+ */
7
+ export interface INextable {
8
+ /**
9
+ * Go to the indicated state after this state
10
+ *
11
+ * @returns The chain of states built up
12
+ */
13
+ next(state: IChainable): Chain;
14
+ }
15
+ /**
16
+ * Interface for objects that can be used in a Chain
17
+ */
18
+ export interface IChainable {
19
+ /**
20
+ * Descriptive identifier for this chainable
21
+ */
22
+ readonly id: string;
23
+ /**
24
+ * The start state of this chainable
25
+ */
26
+ readonly startState: State;
27
+ /**
28
+ * The chainable end state(s) of this chainable
29
+ */
30
+ readonly endStates: INextable[];
31
+ }
32
+ /**
33
+ * Values allowed in the retrier JitterStrategy field
34
+ */
35
+ export declare enum JitterType {
36
+ /**
37
+ * Calculates the delay to be a random number between 0 and the computed backoff for the given retry attempt count
38
+ */
39
+ FULL = "FULL",
40
+ /**
41
+ * Calculates the delay to be the computed backoff for the given retry attempt count (equivalent to if Jitter was not declared - i.e. the default value)
42
+ */
43
+ NONE = "NONE"
44
+ }
45
+ /**
46
+ * Predefined error strings
47
+ * Error names in Amazon States Language - https://states-language.net/spec.html#appendix-a
48
+ * Error handling in Step Functions - https://docs.aws.amazon.com/step-functions/latest/dg/concepts-error-handling.html
49
+ */
50
+ export declare class Errors {
51
+ /**
52
+ * Matches any Error.
53
+ */
54
+ static readonly ALL = "States.ALL";
55
+ /**
56
+ * A Task State failed to heartbeat for a time longer than the “HeartbeatSeconds” value.
57
+ */
58
+ static readonly HEARTBEAT_TIMEOUT = "States.HeartbeatTimeout";
59
+ /**
60
+ * A Task State either ran longer than the “TimeoutSeconds” value, or
61
+ * failed to heartbeat for a time longer than the “HeartbeatSeconds” value.
62
+ */
63
+ static readonly TIMEOUT = "States.Timeout";
64
+ /**
65
+ * A Task State failed during the execution.
66
+ */
67
+ static readonly TASKS_FAILED = "States.TaskFailed";
68
+ /**
69
+ * A Task State failed because it had insufficient privileges to execute
70
+ * the specified code.
71
+ */
72
+ static readonly PERMISSIONS = "States.Permissions";
73
+ /**
74
+ * A Task State’s “ResultPath” field cannot be applied to the input the state received.
75
+ */
76
+ static readonly RESULT_PATH_MATCH_FAILURE = "States.ResultPathMatchFailure";
77
+ /**
78
+ * Within a state’s “Parameters” field, the attempt to replace a field whose
79
+ * name ends in “.$” using a Path failed.
80
+ */
81
+ static readonly PARAMETER_PATH_FAILURE = "States.ParameterPathFailure";
82
+ /**
83
+ * A branch of a Parallel state failed.
84
+ */
85
+ static readonly BRANCH_FAILED = "States.BranchFailed";
86
+ /**
87
+ * A Choice state failed to find a match for the condition field extracted
88
+ * from its input.
89
+ */
90
+ static readonly NO_CHOICE_MATCHED = "States.NoChoiceMatched";
91
+ }
92
+ /**
93
+ * Retry details
94
+ */
95
+ export interface RetryProps {
96
+ /**
97
+ * Errors to retry
98
+ *
99
+ * A list of error strings to retry, which can be either predefined errors
100
+ * (for example Errors.NoChoiceMatched) or a self-defined error.
101
+ *
102
+ * @default All errors
103
+ */
104
+ readonly errors?: string[];
105
+ /**
106
+ * How many seconds to wait initially before retrying
107
+ *
108
+ * @default Duration.seconds(1)
109
+ */
110
+ readonly interval?: Duration;
111
+ /**
112
+ * How many times to retry this particular error.
113
+ *
114
+ * May be 0 to disable retry for specific errors (in case you have
115
+ * a catch-all retry policy).
116
+ *
117
+ * @default 3
118
+ */
119
+ readonly maxAttempts?: number;
120
+ /**
121
+ * Maximum limit on retry interval growth during exponential backoff.
122
+ *
123
+ * @default - No max delay
124
+ */
125
+ readonly maxDelay?: Duration;
126
+ /**
127
+ * Introduces a randomization over the retry interval.
128
+ *
129
+ * @default - No jitter strategy
130
+ */
131
+ readonly jitterStrategy?: JitterType;
132
+ /**
133
+ * Multiplication for how much longer the wait interval gets on every retry
134
+ *
135
+ * @default 2
136
+ */
137
+ readonly backoffRate?: number;
138
+ }
139
+ /**
140
+ * Error handler details
141
+ */
142
+ export interface CatchProps {
143
+ /**
144
+ * Errors to recover from by going to the given state
145
+ *
146
+ * A list of error strings to retry, which can be either predefined errors
147
+ * (for example Errors.NoChoiceMatched) or a self-defined error.
148
+ *
149
+ * @default All errors
150
+ */
151
+ readonly errors?: string[];
152
+ /**
153
+ * JSONPath expression to indicate where to inject the error data
154
+ *
155
+ * May also be the special value JsonPath.DISCARD, which will cause the error
156
+ * data to be discarded.
157
+ *
158
+ * @default $
159
+ */
160
+ readonly resultPath?: string;
161
+ }
162
+ /**
163
+ * Mode of the Map workflow.
164
+ */
165
+ export declare enum ProcessorMode {
166
+ /**
167
+ * Inline Map mode.
168
+ */
169
+ INLINE = "INLINE",
170
+ /**
171
+ * Distributed Map mode.
172
+ */
173
+ DISTRIBUTED = "DISTRIBUTED"
174
+ }
175
+ /**
176
+ * Execution type for the Map workflow.
177
+ */
178
+ export declare enum ProcessorType {
179
+ /**
180
+ * Standard execution type.
181
+ */
182
+ STANDARD = "STANDARD",
183
+ /**
184
+ * Express execution type.
185
+ */
186
+ EXPRESS = "EXPRESS"
187
+ }
188
+ /**
189
+ * Specifies the configuration for the processor Map state.
190
+ */
191
+ export interface ProcessorConfig {
192
+ /**
193
+ * Specifies the execution mode for the Map workflow.
194
+ *
195
+ * @default - ProcessorMode.INLINE if using the `Map` class, ProcessorMode.DISTRIBUTED if using the `DistributedMap` class
196
+ */
197
+ readonly mode?: ProcessorMode;
198
+ /**
199
+ * Specifies the execution type for the Map workflow.
200
+ *
201
+ * If you use the `Map` class, you must provide this field if you specified `DISTRIBUTED` for the `mode` sub-field.
202
+ *
203
+ * If you use the `DistributedMap` class, this property is ignored.
204
+ * Use the `mapExecutionType` in the `DistributedMap` class instead.
205
+ *
206
+ * @default - no execution type
207
+ */
208
+ readonly executionType?: ProcessorType;
209
+ }
210
+ /**
211
+ * Special string value to discard state input, output or result
212
+ * @deprecated use JsonPath.DISCARD
213
+ */
214
+ export declare const DISCARD = "DISCARD";
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DISCARD = exports.ProcessorType = exports.ProcessorMode = exports.Errors = exports.JitterType = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Values allowed in the retrier JitterStrategy field
8
+ */
9
+ var JitterType;
10
+ (function (JitterType) {
11
+ /**
12
+ * Calculates the delay to be a random number between 0 and the computed backoff for the given retry attempt count
13
+ */
14
+ JitterType["FULL"] = "FULL";
15
+ /**
16
+ * Calculates the delay to be the computed backoff for the given retry attempt count (equivalent to if Jitter was not declared - i.e. the default value)
17
+ */
18
+ JitterType["NONE"] = "NONE";
19
+ })(JitterType || (exports.JitterType = JitterType = {}));
20
+ /**
21
+ * Predefined error strings
22
+ * Error names in Amazon States Language - https://states-language.net/spec.html#appendix-a
23
+ * Error handling in Step Functions - https://docs.aws.amazon.com/step-functions/latest/dg/concepts-error-handling.html
24
+ */
25
+ class Errors {
26
+ }
27
+ exports.Errors = Errors;
28
+ _a = JSII_RTTI_SYMBOL_1;
29
+ Errors[_a] = { fqn: "terraconstructs.aws.compute.Errors", version: "0.0.8" };
30
+ /**
31
+ * Matches any Error.
32
+ */
33
+ Errors.ALL = "States.ALL";
34
+ /**
35
+ * A Task State failed to heartbeat for a time longer than the “HeartbeatSeconds” value.
36
+ */
37
+ Errors.HEARTBEAT_TIMEOUT = "States.HeartbeatTimeout";
38
+ /**
39
+ * A Task State either ran longer than the “TimeoutSeconds” value, or
40
+ * failed to heartbeat for a time longer than the “HeartbeatSeconds” value.
41
+ */
42
+ Errors.TIMEOUT = "States.Timeout";
43
+ /**
44
+ * A Task State failed during the execution.
45
+ */
46
+ Errors.TASKS_FAILED = "States.TaskFailed";
47
+ /**
48
+ * A Task State failed because it had insufficient privileges to execute
49
+ * the specified code.
50
+ */
51
+ Errors.PERMISSIONS = "States.Permissions";
52
+ /**
53
+ * A Task State’s “ResultPath” field cannot be applied to the input the state received.
54
+ */
55
+ Errors.RESULT_PATH_MATCH_FAILURE = "States.ResultPathMatchFailure";
56
+ /**
57
+ * Within a state’s “Parameters” field, the attempt to replace a field whose
58
+ * name ends in “.$” using a Path failed.
59
+ */
60
+ Errors.PARAMETER_PATH_FAILURE = "States.ParameterPathFailure";
61
+ /**
62
+ * A branch of a Parallel state failed.
63
+ */
64
+ Errors.BRANCH_FAILED = "States.BranchFailed";
65
+ /**
66
+ * A Choice state failed to find a match for the condition field extracted
67
+ * from its input.
68
+ */
69
+ Errors.NO_CHOICE_MATCHED = "States.NoChoiceMatched";
70
+ /**
71
+ * Mode of the Map workflow.
72
+ */
73
+ var ProcessorMode;
74
+ (function (ProcessorMode) {
75
+ /**
76
+ * Inline Map mode.
77
+ */
78
+ ProcessorMode["INLINE"] = "INLINE";
79
+ /**
80
+ * Distributed Map mode.
81
+ */
82
+ ProcessorMode["DISTRIBUTED"] = "DISTRIBUTED";
83
+ })(ProcessorMode || (exports.ProcessorMode = ProcessorMode = {}));
84
+ /**
85
+ * Execution type for the Map workflow.
86
+ */
87
+ var ProcessorType;
88
+ (function (ProcessorType) {
89
+ /**
90
+ * Standard execution type.
91
+ */
92
+ ProcessorType["STANDARD"] = "STANDARD";
93
+ /**
94
+ * Express execution type.
95
+ */
96
+ ProcessorType["EXPRESS"] = "EXPRESS";
97
+ })(ProcessorType || (exports.ProcessorType = ProcessorType = {}));
98
+ /**
99
+ * Special string value to discard state input, output or result
100
+ * @deprecated use JsonPath.DISCARD
101
+ */
102
+ exports.DISCARD = "DISCARD";
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFxQ0E7O0dBRUc7QUFDSCxJQUFZLFVBVVg7QUFWRCxXQUFZLFVBQVU7SUFDcEI7O09BRUc7SUFDSCwyQkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCwyQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVZXLFVBQVUsMEJBQVYsVUFBVSxRQVVyQjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLE1BQU07O0FBQW5CLHdCQWtEQzs7O0FBakRDOztHQUVHO0FBQ29CLFVBQUcsR0FBRyxZQUFZLENBQUM7QUFFMUM7O0dBRUc7QUFDb0Isd0JBQWlCLEdBQUcseUJBQXlCLENBQUM7QUFFckU7OztHQUdHO0FBQ29CLGNBQU8sR0FBRyxnQkFBZ0IsQ0FBQztBQUVsRDs7R0FFRztBQUNvQixtQkFBWSxHQUFHLG1CQUFtQixDQUFDO0FBRTFEOzs7R0FHRztBQUNvQixrQkFBVyxHQUFHLG9CQUFvQixDQUFDO0FBRTFEOztHQUVHO0FBQ29CLGdDQUF5QixHQUM5QywrQkFBK0IsQ0FBQztBQUVsQzs7O0dBR0c7QUFDb0IsNkJBQXNCLEdBQUcsNkJBQTZCLENBQUM7QUFFOUU7O0dBRUc7QUFDb0Isb0JBQWEsR0FBRyxxQkFBcUIsQ0FBQztBQUU3RDs7O0dBR0c7QUFDb0Isd0JBQWlCLEdBQUcsd0JBQXdCLENBQUM7QUFpRnRFOztHQUVHO0FBQ0gsSUFBWSxhQVVYO0FBVkQsV0FBWSxhQUFhO0lBQ3ZCOztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCw0Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBVlcsYUFBYSw2QkFBYixhQUFhLFFBVXhCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGFBVVg7QUFWRCxXQUFZLGFBQWE7SUFDdkI7O09BRUc7SUFDSCxzQ0FBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILG9DQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFWVyxhQUFhLDZCQUFiLGFBQWEsUUFVeEI7QUEwQkQ7OztHQUdHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTYwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMvbGliL3R5cGVzLnRzXG5pbXBvcnQgeyBDaGFpbiB9IGZyb20gXCIuL2NoYWluXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCIuLi8uLlwiO1xuaW1wb3J0IHsgU3RhdGUgfSBmcm9tIFwiLi9zdGF0ZXMvc3RhdGVcIjtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIHN0YXRlcyB0aGF0IGNhbiBoYXZlICduZXh0JyBzdGF0ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmV4dGFibGUge1xuICAvKipcbiAgICogR28gdG8gdGhlIGluZGljYXRlZCBzdGF0ZSBhZnRlciB0aGlzIHN0YXRlXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBjaGFpbiBvZiBzdGF0ZXMgYnVpbHQgdXBcbiAgICovXG4gIG5leHQoc3RhdGU6IElDaGFpbmFibGUpOiBDaGFpbjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIG9iamVjdHMgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIENoYWluXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYWluYWJsZSB7XG4gIC8qKlxuICAgKiBEZXNjcmlwdGl2ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNoYWluYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXJ0IHN0YXRlIG9mIHRoaXMgY2hhaW5hYmxlXG4gICAqL1xuICByZWFkb25seSBzdGFydFN0YXRlOiBTdGF0ZTtcblxuICAvKipcbiAgICogVGhlIGNoYWluYWJsZSBlbmQgc3RhdGUocykgb2YgdGhpcyBjaGFpbmFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVuZFN0YXRlczogSU5leHRhYmxlW107XG59XG5cbi8qKlxuICogVmFsdWVzIGFsbG93ZWQgaW4gdGhlIHJldHJpZXIgSml0dGVyU3RyYXRlZ3kgZmllbGRcbiAqL1xuZXhwb3J0IGVudW0gSml0dGVyVHlwZSB7XG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBkZWxheSB0byBiZSBhIHJhbmRvbSBudW1iZXIgYmV0d2VlbiAwIGFuZCB0aGUgY29tcHV0ZWQgYmFja29mZiBmb3IgdGhlIGdpdmVuIHJldHJ5IGF0dGVtcHQgY291bnRcbiAgICovXG4gIEZVTEwgPSBcIkZVTExcIixcblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgZGVsYXkgdG8gYmUgdGhlIGNvbXB1dGVkIGJhY2tvZmYgZm9yIHRoZSBnaXZlbiByZXRyeSBhdHRlbXB0IGNvdW50IChlcXVpdmFsZW50IHRvIGlmIEppdHRlciB3YXMgbm90IGRlY2xhcmVkIC0gaS5lLiB0aGUgZGVmYXVsdCB2YWx1ZSlcbiAgICovXG4gIE5PTkUgPSBcIk5PTkVcIixcbn1cblxuLyoqXG4gKiBQcmVkZWZpbmVkIGVycm9yIHN0cmluZ3NcbiAqIEVycm9yIG5hbWVzIGluIEFtYXpvbiBTdGF0ZXMgTGFuZ3VhZ2UgLSBodHRwczovL3N0YXRlcy1sYW5ndWFnZS5uZXQvc3BlYy5odG1sI2FwcGVuZGl4LWFcbiAqIEVycm9yIGhhbmRsaW5nIGluIFN0ZXAgRnVuY3Rpb25zIC0gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9jb25jZXB0cy1lcnJvci1oYW5kbGluZy5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBFcnJvcnMge1xuICAvKipcbiAgICogTWF0Y2hlcyBhbnkgRXJyb3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFMTCA9IFwiU3RhdGVzLkFMTFwiO1xuXG4gIC8qKlxuICAgKiBBIFRhc2sgU3RhdGUgZmFpbGVkIHRvIGhlYXJ0YmVhdCBmb3IgYSB0aW1lIGxvbmdlciB0aGFuIHRoZSDigJxIZWFydGJlYXRTZWNvbmRz4oCdIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBIRUFSVEJFQVRfVElNRU9VVCA9IFwiU3RhdGVzLkhlYXJ0YmVhdFRpbWVvdXRcIjtcblxuICAvKipcbiAgICogQSBUYXNrIFN0YXRlIGVpdGhlciByYW4gbG9uZ2VyIHRoYW4gdGhlIOKAnFRpbWVvdXRTZWNvbmRz4oCdIHZhbHVlLCBvclxuICAgKiBmYWlsZWQgdG8gaGVhcnRiZWF0IGZvciBhIHRpbWUgbG9uZ2VyIHRoYW4gdGhlIOKAnEhlYXJ0YmVhdFNlY29uZHPigJ0gdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRJTUVPVVQgPSBcIlN0YXRlcy5UaW1lb3V0XCI7XG5cbiAgLyoqXG4gICAqIEEgVGFzayBTdGF0ZSBmYWlsZWQgZHVyaW5nIHRoZSBleGVjdXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBU0tTX0ZBSUxFRCA9IFwiU3RhdGVzLlRhc2tGYWlsZWRcIjtcblxuICAvKipcbiAgICogQSBUYXNrIFN0YXRlIGZhaWxlZCBiZWNhdXNlIGl0IGhhZCBpbnN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBleGVjdXRlXG4gICAqIHRoZSBzcGVjaWZpZWQgY29kZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEVSTUlTU0lPTlMgPSBcIlN0YXRlcy5QZXJtaXNzaW9uc1wiO1xuXG4gIC8qKlxuICAgKiBBIFRhc2sgU3RhdGXigJlzIOKAnFJlc3VsdFBhdGjigJ0gZmllbGQgY2Fubm90IGJlIGFwcGxpZWQgdG8gdGhlIGlucHV0IHRoZSBzdGF0ZSByZWNlaXZlZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUkVTVUxUX1BBVEhfTUFUQ0hfRkFJTFVSRSA9XG4gICAgXCJTdGF0ZXMuUmVzdWx0UGF0aE1hdGNoRmFpbHVyZVwiO1xuXG4gIC8qKlxuICAgKiBXaXRoaW4gYSBzdGF0ZeKAmXMg4oCcUGFyYW1ldGVyc+KAnSBmaWVsZCwgdGhlIGF0dGVtcHQgdG8gcmVwbGFjZSBhIGZpZWxkIHdob3NlXG4gICAqIG5hbWUgZW5kcyBpbiDigJwuJOKAnSB1c2luZyBhIFBhdGggZmFpbGVkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTUVURVJfUEFUSF9GQUlMVVJFID0gXCJTdGF0ZXMuUGFyYW1ldGVyUGF0aEZhaWx1cmVcIjtcblxuICAvKipcbiAgICogQSBicmFuY2ggb2YgYSBQYXJhbGxlbCBzdGF0ZSBmYWlsZWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJSQU5DSF9GQUlMRUQgPSBcIlN0YXRlcy5CcmFuY2hGYWlsZWRcIjtcblxuICAvKipcbiAgICogQSBDaG9pY2Ugc3RhdGUgZmFpbGVkIHRvIGZpbmQgYSBtYXRjaCBmb3IgdGhlIGNvbmRpdGlvbiBmaWVsZCBleHRyYWN0ZWRcbiAgICogZnJvbSBpdHMgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PX0NIT0lDRV9NQVRDSEVEID0gXCJTdGF0ZXMuTm9DaG9pY2VNYXRjaGVkXCI7XG59XG5cbi8qKlxuICogUmV0cnkgZGV0YWlsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJldHJ5UHJvcHMge1xuICAvKipcbiAgICogRXJyb3JzIHRvIHJldHJ5XG4gICAqXG4gICAqIEEgbGlzdCBvZiBlcnJvciBzdHJpbmdzIHRvIHJldHJ5LCB3aGljaCBjYW4gYmUgZWl0aGVyIHByZWRlZmluZWQgZXJyb3JzXG4gICAqIChmb3IgZXhhbXBsZSBFcnJvcnMuTm9DaG9pY2VNYXRjaGVkKSBvciBhIHNlbGYtZGVmaW5lZCBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgQWxsIGVycm9yc1xuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3JzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IHNlY29uZHMgdG8gd2FpdCBpbml0aWFsbHkgYmVmb3JlIHJldHJ5aW5nXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLnNlY29uZHMoMSlcbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IHRpbWVzIHRvIHJldHJ5IHRoaXMgcGFydGljdWxhciBlcnJvci5cbiAgICpcbiAgICogTWF5IGJlIDAgdG8gZGlzYWJsZSByZXRyeSBmb3Igc3BlY2lmaWMgZXJyb3JzIChpbiBjYXNlIHlvdSBoYXZlXG4gICAqIGEgY2F0Y2gtYWxsIHJldHJ5IHBvbGljeSkuXG4gICAqXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIHJlYWRvbmx5IG1heEF0dGVtcHRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGxpbWl0IG9uIHJldHJ5IGludGVydmFsIGdyb3d0aCBkdXJpbmcgZXhwb25lbnRpYWwgYmFja29mZi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBtYXggZGVsYXlcbiAgICovXG4gIHJlYWRvbmx5IG1heERlbGF5PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEludHJvZHVjZXMgYSByYW5kb21pemF0aW9uIG92ZXIgdGhlIHJldHJ5IGludGVydmFsLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGppdHRlciBzdHJhdGVneVxuICAgKi9cbiAgcmVhZG9ubHkgaml0dGVyU3RyYXRlZ3k/OiBKaXR0ZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBNdWx0aXBsaWNhdGlvbiBmb3IgaG93IG11Y2ggbG9uZ2VyIHRoZSB3YWl0IGludGVydmFsIGdldHMgb24gZXZlcnkgcmV0cnlcbiAgICpcbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgcmVhZG9ubHkgYmFja29mZlJhdGU/OiBudW1iZXI7XG59XG5cbi8qKlxuICogRXJyb3IgaGFuZGxlciBkZXRhaWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2F0Y2hQcm9wcyB7XG4gIC8qKlxuICAgKiBFcnJvcnMgdG8gcmVjb3ZlciBmcm9tIGJ5IGdvaW5nIHRvIHRoZSBnaXZlbiBzdGF0ZVxuICAgKlxuICAgKiBBIGxpc3Qgb2YgZXJyb3Igc3RyaW5ncyB0byByZXRyeSwgd2hpY2ggY2FuIGJlIGVpdGhlciBwcmVkZWZpbmVkIGVycm9yc1xuICAgKiAoZm9yIGV4YW1wbGUgRXJyb3JzLk5vQ2hvaWNlTWF0Y2hlZCkgb3IgYSBzZWxmLWRlZmluZWQgZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IEFsbCBlcnJvcnNcbiAgICovXG4gIHJlYWRvbmx5IGVycm9ycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBKU09OUGF0aCBleHByZXNzaW9uIHRvIGluZGljYXRlIHdoZXJlIHRvIGluamVjdCB0aGUgZXJyb3IgZGF0YVxuICAgKlxuICAgKiBNYXkgYWxzbyBiZSB0aGUgc3BlY2lhbCB2YWx1ZSBKc29uUGF0aC5ESVNDQVJELCB3aGljaCB3aWxsIGNhdXNlIHRoZSBlcnJvclxuICAgKiBkYXRhIHRvIGJlIGRpc2NhcmRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdWx0UGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBNb2RlIG9mIHRoZSBNYXAgd29ya2Zsb3cuXG4gKi9cbmV4cG9ydCBlbnVtIFByb2Nlc3Nvck1vZGUge1xuICAvKipcbiAgICogSW5saW5lIE1hcCBtb2RlLlxuICAgKi9cbiAgSU5MSU5FID0gXCJJTkxJTkVcIixcblxuICAvKipcbiAgICogRGlzdHJpYnV0ZWQgTWFwIG1vZGUuXG4gICAqL1xuICBESVNUUklCVVRFRCA9IFwiRElTVFJJQlVURURcIixcbn1cblxuLyoqXG4gKiBFeGVjdXRpb24gdHlwZSBmb3IgdGhlIE1hcCB3b3JrZmxvdy5cbiAqL1xuZXhwb3J0IGVudW0gUHJvY2Vzc29yVHlwZSB7XG4gIC8qKlxuICAgKiBTdGFuZGFyZCBleGVjdXRpb24gdHlwZS5cbiAgICovXG4gIFNUQU5EQVJEID0gXCJTVEFOREFSRFwiLFxuXG4gIC8qKlxuICAgKiBFeHByZXNzIGV4ZWN1dGlvbiB0eXBlLlxuICAgKi9cbiAgRVhQUkVTUyA9IFwiRVhQUkVTU1wiLFxufVxuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHByb2Nlc3NvciBNYXAgc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc29yQ29uZmlnIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZXhlY3V0aW9uIG1vZGUgZm9yIHRoZSBNYXAgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUHJvY2Vzc29yTW9kZS5JTkxJTkUgaWYgdXNpbmcgdGhlIGBNYXBgIGNsYXNzLCBQcm9jZXNzb3JNb2RlLkRJU1RSSUJVVEVEIGlmIHVzaW5nIHRoZSBgRGlzdHJpYnV0ZWRNYXBgIGNsYXNzXG4gICAqL1xuICByZWFkb25seSBtb2RlPzogUHJvY2Vzc29yTW9kZTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBleGVjdXRpb24gdHlwZSBmb3IgdGhlIE1hcCB3b3JrZmxvdy5cbiAgICpcbiAgICogSWYgeW91IHVzZSB0aGUgYE1hcGAgY2xhc3MsIHlvdSBtdXN0IHByb3ZpZGUgdGhpcyBmaWVsZCBpZiB5b3Ugc3BlY2lmaWVkIGBESVNUUklCVVRFRGAgZm9yIHRoZSBgbW9kZWAgc3ViLWZpZWxkLlxuICAgKlxuICAgKiBJZiB5b3UgdXNlIHRoZSBgRGlzdHJpYnV0ZWRNYXBgIGNsYXNzLCB0aGlzIHByb3BlcnR5IGlzIGlnbm9yZWQuXG4gICAqIFVzZSB0aGUgYG1hcEV4ZWN1dGlvblR5cGVgIGluIHRoZSBgRGlzdHJpYnV0ZWRNYXBgIGNsYXNzIGluc3RlYWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZXhlY3V0aW9uIHR5cGVcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWN1dGlvblR5cGU/OiBQcm9jZXNzb3JUeXBlO1xufVxuXG4vKipcbiAqIFNwZWNpYWwgc3RyaW5nIHZhbHVlIHRvIGRpc2NhcmQgc3RhdGUgaW5wdXQsIG91dHB1dCBvciByZXN1bHRcbiAqIEBkZXByZWNhdGVkIHVzZSBKc29uUGF0aC5ESVNDQVJEXG4gKi9cbmV4cG9ydCBjb25zdCBESVNDQVJEID0gXCJESVNDQVJEXCI7XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { Construct } from "constructs";
2
+ import { Alias, AliasOptions } from "./function-alias";
3
+ import { IFunction } from "./function-base";
4
+ export declare function addAlias(scope: Construct, lambda: IFunction, version: string, aliasName: string, options?: AliasOptions): Alias;
5
+ /**
6
+ * Map a function over an array and concatenate the results
7
+ */
8
+ export declare function flatMap<T, U>(xs: T[], fn: (x: T, i: number) => U[]): U[];
9
+ /**
10
+ * Flatten a list of lists into a list of elements
11
+ */
12
+ export declare function flatten<T>(xs: T[][]): T[];
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.flatten = exports.flatMap = exports.addAlias = void 0;
4
+ const function_alias_1 = require("./function-alias");
5
+ // import { IVersion } from "./function-version";
6
+ function addAlias(scope, lambda, version, aliasName, options = {}) {
7
+ return new function_alias_1.Alias(scope, `Alias${aliasName}`, {
8
+ aliasName,
9
+ version,
10
+ function: lambda,
11
+ ...options,
12
+ });
13
+ }
14
+ exports.addAlias = addAlias;
15
+ /**
16
+ * Map a function over an array and concatenate the results
17
+ */
18
+ function flatMap(xs, fn) {
19
+ return flatten(xs.map(fn));
20
+ }
21
+ exports.flatMap = flatMap;
22
+ /**
23
+ * Flatten a list of lists into a list of elements
24
+ */
25
+ function flatten(xs) {
26
+ return Array.prototype.concat.apply([], xs);
27
+ }
28
+ exports.flatten = flatten;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUF1RDtBQUV2RCxpREFBaUQ7QUFFakQsU0FBZ0IsUUFBUSxDQUN0QixLQUFnQixFQUNoQixNQUFpQixFQUNqQixPQUFlLEVBQ2YsU0FBaUIsRUFDakIsVUFBd0IsRUFBRTtJQUUxQixPQUFPLElBQUksc0JBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxTQUFTLEVBQUUsRUFBRTtRQUMzQyxTQUFTO1FBQ1QsT0FBTztRQUNQLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQztBQUNMLENBQUM7QUFiRCw0QkFhQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFPLEVBQU8sRUFBRSxFQUE0QjtJQUNqRSxPQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUZELDBCQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixPQUFPLENBQUksRUFBUztJQUNsQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUZELDBCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFsaWFzLCBBbGlhc09wdGlvbnMgfSBmcm9tIFwiLi9mdW5jdGlvbi1hbGlhc1wiO1xuaW1wb3J0IHsgSUZ1bmN0aW9uIH0gZnJvbSBcIi4vZnVuY3Rpb24tYmFzZVwiO1xuLy8gaW1wb3J0IHsgSVZlcnNpb24gfSBmcm9tIFwiLi9mdW5jdGlvbi12ZXJzaW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRBbGlhcyhcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgbGFtYmRhOiBJRnVuY3Rpb24sXG4gIHZlcnNpb246IHN0cmluZyxcbiAgYWxpYXNOYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IEFsaWFzT3B0aW9ucyA9IHt9LFxuKSB7XG4gIHJldHVybiBuZXcgQWxpYXMoc2NvcGUsIGBBbGlhcyR7YWxpYXNOYW1lfWAsIHtcbiAgICBhbGlhc05hbWUsXG4gICAgdmVyc2lvbixcbiAgICBmdW5jdGlvbjogbGFtYmRhLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIE1hcCBhIGZ1bmN0aW9uIG92ZXIgYW4gYXJyYXkgYW5kIGNvbmNhdGVuYXRlIHRoZSByZXN1bHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmbGF0TWFwPFQsIFU+KHhzOiBUW10sIGZuOiAoeDogVCwgaTogbnVtYmVyKSA9PiBVW10pOiBVW10ge1xuICByZXR1cm4gZmxhdHRlbih4cy5tYXAoZm4pKTtcbn1cblxuLyoqXG4gKiBGbGF0dGVuIGEgbGlzdCBvZiBsaXN0cyBpbnRvIGEgbGlzdCBvZiBlbGVtZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbjxUPih4czogVFtdW10pOiBUW10ge1xuICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSwgeHMpO1xufVxuIl19
@@ -0,0 +1,144 @@
1
+ import { acmCertificate } from "@cdktf/provider-aws";
2
+ import { Construct } from "constructs";
3
+ import { IDnsZone } from ".";
4
+ import { AwsConstructBase, IAwsConstruct, AwsConstructProps } from "../aws-construct";
5
+ export interface CertificateOutputs {
6
+ /**
7
+ * Status of the certificate.
8
+ */
9
+ readonly status: string;
10
+ /**
11
+ * The ARN of the certificate.
12
+ */
13
+ readonly arn: string;
14
+ /**
15
+ * Set of domain validation objects which can be used to complete certificate validation.
16
+ * Can have more than one element, e.g., if SANs are defined.
17
+ *
18
+ * Only set if DNS-validation was used.
19
+ */
20
+ readonly domainValidationOptions?: acmCertificate.AcmCertificateDomainValidationOptionsList;
21
+ }
22
+ export interface ICertificate extends IAwsConstruct {
23
+ /** Strongly typed outputs */
24
+ readonly certificateOutputs: CertificateOutputs;
25
+ /**
26
+ * Domain name of the certificate.
27
+ */
28
+ readonly domainName: string;
29
+ /**
30
+ * The ARN of the certificate.
31
+ */
32
+ readonly certificateArn: string;
33
+ }
34
+ export interface PublicCertificateProps extends AwsConstructProps {
35
+ /**
36
+ * Domain name of the certificate.
37
+ *
38
+ * Changing this property will force a new resource.
39
+ */
40
+ readonly domainName: string;
41
+ /**
42
+ * SANs for the domain.
43
+ *
44
+ * Changing this property will force a new resource.
45
+ */
46
+ readonly subjectAlternativeNames?: string[];
47
+ /**
48
+ * Specifies the algorithm of the public and private key pair that your Amazon issued
49
+ * certificate uses to encrypt data.
50
+ * See [ACM Certificate characteristics][acm-certificate-algorithms] for more details.
51
+ *
52
+ * @default RSA_2048
53
+ *
54
+ * [acm-certificate-algorithms]: https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate-characteristics.html#algorithms
55
+ */
56
+ readonly keyAlgorithm?: string;
57
+ /**
58
+ * Validation configuration for the certificate.
59
+ */
60
+ readonly validation?: CertificateValidationOption;
61
+ }
62
+ export interface CertificateValidationOption {
63
+ /**
64
+ * How to validate this certificate
65
+ *
66
+ * To validate ownership by adding appropriate DNS records
67
+ *
68
+ * @default ValidationMethod.EMAIL
69
+ *
70
+ * @see https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html
71
+ */
72
+ readonly method: ValidationMethod;
73
+ /**
74
+ * Hosted zone to use for DNS validation
75
+ *
76
+ * @default - use email validation
77
+ */
78
+ readonly hostedZone?: IDnsZone;
79
+ /**
80
+ * A map of hosted zones to use for DNS validation
81
+ *
82
+ * @default - use `hostedZone`
83
+ */
84
+ readonly hostedZones?: {
85
+ [domainName: string]: IDnsZone;
86
+ };
87
+ /**
88
+ * Validation domains to use for email validation
89
+ *
90
+ * @default - Apex domain
91
+ */
92
+ readonly validationDomains?: {
93
+ [domainName: string]: string;
94
+ };
95
+ }
96
+ /**
97
+ * Amazon issued certificate
98
+ */
99
+ export declare class PublicCertificate extends AwsConstructBase implements ICertificate {
100
+ resource: acmCertificate.AcmCertificate;
101
+ private readonly _outputs;
102
+ get certificateOutputs(): CertificateOutputs;
103
+ get outputs(): Record<string, any>;
104
+ private readonly _domainName;
105
+ get domainName(): string;
106
+ private readonly _certificateArn;
107
+ get certificateArn(): string;
108
+ constructor(scope: Construct, id: string, props: PublicCertificateProps);
109
+ }
110
+ /**
111
+ * Method used to assert ownership of the domain
112
+ */
113
+ export declare enum ValidationMethod {
114
+ /**
115
+ * Send email to a number of email addresses associated with the domain
116
+ *
117
+ * IMPORTANT: if you are creating a certificate as part of your stack, the stack
118
+ * will not complete creating until you read and follow the instructions in the
119
+ * email that you will receive.
120
+ *
121
+ * ACM will send validation emails to the following addresses:
122
+ *
123
+ * admin@domain.com
124
+ * administrator@domain.com
125
+ * hostmaster@domain.com
126
+ * postmaster@domain.com
127
+ * webmaster@domain.com
128
+ *
129
+ * For every domain that you register.
130
+ *
131
+ * @see https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html
132
+ */
133
+ EMAIL = "EMAIL",
134
+ /**
135
+ * Validate ownership by adding appropriate DNS records
136
+ *
137
+ * IMPORTANT: If `hostedZone` is not specified, DNS records must be added
138
+ * manually and the stack will not complete creating until the records are
139
+ * added.
140
+ *
141
+ * @see https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html
142
+ */
143
+ DNS = "DNS"
144
+ }