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,78 @@
1
+ import { Construct } from "constructs";
2
+ import { Duration } from "../../..";
3
+ import { State } from "./state";
4
+ import { Chain } from "../chain";
5
+ import { IChainable, INextable } from "../types";
6
+ /**
7
+ * Represents the Wait state which delays a state machine from continuing for a specified time
8
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-wait-state.html
9
+ */
10
+ export declare class WaitTime {
11
+ private readonly json;
12
+ /**
13
+ * Wait a fixed amount of time.
14
+ */
15
+ static duration(duration: Duration): WaitTime;
16
+ /**
17
+ * Wait until the given ISO8601 timestamp
18
+ *
19
+ * Example value: `2016-03-14T01:59:00Z`
20
+ */
21
+ static timestamp(timestamp: string): WaitTime;
22
+ /**
23
+ * Wait for a number of seconds stored in the state object.
24
+ *
25
+ * Example value: `$.waitSeconds`
26
+ */
27
+ static secondsPath(path: string): WaitTime;
28
+ /**
29
+ * Wait until a timestamp found in the state object.
30
+ *
31
+ * Example value: `$.waitTimestamp`
32
+ */
33
+ static timestampPath(path: string): WaitTime;
34
+ private constructor();
35
+ /**
36
+ * @internal
37
+ */
38
+ get _json(): any;
39
+ }
40
+ /**
41
+ * Properties for defining a Wait state
42
+ */
43
+ export interface WaitProps {
44
+ /**
45
+ * Optional name for this state
46
+ *
47
+ * @default - The construct ID will be used as state name
48
+ */
49
+ readonly stateName?: string;
50
+ /**
51
+ * An optional description for this state
52
+ *
53
+ * @default No comment
54
+ */
55
+ readonly comment?: string;
56
+ /**
57
+ * Wait duration.
58
+ */
59
+ readonly time: WaitTime;
60
+ }
61
+ /**
62
+ * Define a Wait state in the state machine
63
+ *
64
+ * A Wait state can be used to delay execution of the state machine for a while.
65
+ */
66
+ export declare class Wait extends State implements INextable {
67
+ readonly endStates: INextable[];
68
+ private readonly time;
69
+ constructor(scope: Construct, id: string, props: WaitProps);
70
+ /**
71
+ * Continue normal execution with the given state
72
+ */
73
+ next(next: IChainable): Chain;
74
+ /**
75
+ * Return the Amazon States Language object for this state
76
+ */
77
+ toStateJson(): object;
78
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Wait = exports.WaitTime = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const state_type_1 = require("./private/state-type");
7
+ const state_1 = require("./state");
8
+ const chain_1 = require("../chain");
9
+ /**
10
+ * Represents the Wait state which delays a state machine from continuing for a specified time
11
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-wait-state.html
12
+ */
13
+ class WaitTime {
14
+ /**
15
+ * Wait a fixed amount of time.
16
+ */
17
+ static duration(duration) {
18
+ return new WaitTime({ Seconds: duration.toSeconds() });
19
+ }
20
+ /**
21
+ * Wait until the given ISO8601 timestamp
22
+ *
23
+ * Example value: `2016-03-14T01:59:00Z`
24
+ */
25
+ static timestamp(timestamp) {
26
+ return new WaitTime({ Timestamp: timestamp });
27
+ }
28
+ /**
29
+ * Wait for a number of seconds stored in the state object.
30
+ *
31
+ * Example value: `$.waitSeconds`
32
+ */
33
+ static secondsPath(path) {
34
+ return new WaitTime({ SecondsPath: path });
35
+ }
36
+ /**
37
+ * Wait until a timestamp found in the state object.
38
+ *
39
+ * Example value: `$.waitTimestamp`
40
+ */
41
+ static timestampPath(path) {
42
+ return new WaitTime({ TimestampPath: path });
43
+ }
44
+ constructor(json) {
45
+ this.json = json;
46
+ }
47
+ /**
48
+ * @internal
49
+ */
50
+ get _json() {
51
+ return this.json;
52
+ }
53
+ }
54
+ exports.WaitTime = WaitTime;
55
+ _a = JSII_RTTI_SYMBOL_1;
56
+ WaitTime[_a] = { fqn: "terraconstructs.aws.compute.WaitTime", version: "0.0.8" };
57
+ /**
58
+ * Define a Wait state in the state machine
59
+ *
60
+ * A Wait state can be used to delay execution of the state machine for a while.
61
+ */
62
+ class Wait extends state_1.State {
63
+ constructor(scope, id, props) {
64
+ super(scope, id, props);
65
+ this.time = props.time;
66
+ this.endStates = [this];
67
+ }
68
+ /**
69
+ * Continue normal execution with the given state
70
+ */
71
+ next(next) {
72
+ super.makeNext(next.startState);
73
+ return chain_1.Chain.sequence(this, next);
74
+ }
75
+ /**
76
+ * Return the Amazon States Language object for this state
77
+ */
78
+ toStateJson() {
79
+ return {
80
+ Type: state_type_1.StateType.WAIT,
81
+ Comment: this.comment,
82
+ ...this.time._json,
83
+ ...this.renderNextEnd(),
84
+ };
85
+ }
86
+ }
87
+ exports.Wait = Wait;
88
+ _b = JSII_RTTI_SYMBOL_1;
89
+ Wait[_b] = { fqn: "terraconstructs.aws.compute.Wait", version: "0.0.8" };
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9zdGF0ZXMvd2FpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLHFEQUFpRDtBQUNqRCxtQ0FBZ0M7QUFDaEMsb0NBQWlDO0FBR2pDOzs7R0FHRztBQUNILE1BQWEsUUFBUTtJQUNuQjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBa0I7UUFDdkMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFpQjtRQUN2QyxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVk7UUFDcEMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFZO1FBQ3RDLE9BQU8sSUFBSSxRQUFRLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBcUMsSUFBUztRQUFULFNBQUksR0FBSixJQUFJLENBQUs7SUFBRyxDQUFDO0lBRWxEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7O0FBMUNILDRCQTJDQzs7O0FBMEJEOzs7O0dBSUc7QUFDSCxNQUFhLElBQUssU0FBUSxhQUFLO0lBSzdCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0I7UUFDeEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUMsSUFBZ0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsT0FBTyxhQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU87WUFDTCxJQUFJLEVBQUUsc0JBQVMsQ0FBQyxJQUFJO1lBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNsQixHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7U0FDeEIsQ0FBQztJQUNKLENBQUM7O0FBOUJILG9CQStCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE2MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zL2xpYi9zdGF0ZXMvd2FpdC50c1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiLi4vLi4vLi5cIjtcbmltcG9ydCB7IFN0YXRlVHlwZSB9IGZyb20gXCIuL3ByaXZhdGUvc3RhdGUtdHlwZVwiO1xuaW1wb3J0IHsgU3RhdGUgfSBmcm9tIFwiLi9zdGF0ZVwiO1xuaW1wb3J0IHsgQ2hhaW4gfSBmcm9tIFwiLi4vY2hhaW5cIjtcbmltcG9ydCB7IElDaGFpbmFibGUsIElOZXh0YWJsZSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIFdhaXQgc3RhdGUgd2hpY2ggZGVsYXlzIGEgc3RhdGUgbWFjaGluZSBmcm9tIGNvbnRpbnVpbmcgZm9yIGEgc3BlY2lmaWVkIHRpbWVcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9hbWF6b24tc3RhdGVzLWxhbmd1YWdlLXdhaXQtc3RhdGUuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgV2FpdFRpbWUge1xuICAvKipcbiAgICogV2FpdCBhIGZpeGVkIGFtb3VudCBvZiB0aW1lLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkdXJhdGlvbihkdXJhdGlvbjogRHVyYXRpb24pIHtcbiAgICByZXR1cm4gbmV3IFdhaXRUaW1lKHsgU2Vjb25kczogZHVyYXRpb24udG9TZWNvbmRzKCkgfSk7XG4gIH1cblxuICAvKipcbiAgICogV2FpdCB1bnRpbCB0aGUgZ2l2ZW4gSVNPODYwMSB0aW1lc3RhbXBcbiAgICpcbiAgICogRXhhbXBsZSB2YWx1ZTogYDIwMTYtMDMtMTRUMDE6NTk6MDBaYFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB0aW1lc3RhbXAodGltZXN0YW1wOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFdhaXRUaW1lKHsgVGltZXN0YW1wOiB0aW1lc3RhbXAgfSk7XG4gIH1cblxuICAvKipcbiAgICogV2FpdCBmb3IgYSBudW1iZXIgb2Ygc2Vjb25kcyBzdG9yZWQgaW4gdGhlIHN0YXRlIG9iamVjdC5cbiAgICpcbiAgICogRXhhbXBsZSB2YWx1ZTogYCQud2FpdFNlY29uZHNgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNlY29uZHNQYXRoKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgV2FpdFRpbWUoeyBTZWNvbmRzUGF0aDogcGF0aCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYWl0IHVudGlsIGEgdGltZXN0YW1wIGZvdW5kIGluIHRoZSBzdGF0ZSBvYmplY3QuXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWU6IGAkLndhaXRUaW1lc3RhbXBgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRpbWVzdGFtcFBhdGgocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBXYWl0VGltZSh7IFRpbWVzdGFtcFBhdGg6IHBhdGggfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkganNvbjogYW55KSB7fVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgX2pzb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuanNvbjtcbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgV2FpdCBzdGF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhaXRQcm9wcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBuYW1lIGZvciB0aGlzIHN0YXRlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIGNvbnN0cnVjdCBJRCB3aWxsIGJlIHVzZWQgYXMgc3RhdGUgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBkZXNjcmlwdGlvbiBmb3IgdGhpcyBzdGF0ZVxuICAgKlxuICAgKiBAZGVmYXVsdCBObyBjb21tZW50XG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXYWl0IGR1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZTogV2FpdFRpbWU7XG59XG5cbi8qKlxuICogRGVmaW5lIGEgV2FpdCBzdGF0ZSBpbiB0aGUgc3RhdGUgbWFjaGluZVxuICpcbiAqIEEgV2FpdCBzdGF0ZSBjYW4gYmUgdXNlZCB0byBkZWxheSBleGVjdXRpb24gb2YgdGhlIHN0YXRlIG1hY2hpbmUgZm9yIGEgd2hpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBXYWl0IGV4dGVuZHMgU3RhdGUgaW1wbGVtZW50cyBJTmV4dGFibGUge1xuICBwdWJsaWMgcmVhZG9ubHkgZW5kU3RhdGVzOiBJTmV4dGFibGVbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRpbWU6IFdhaXRUaW1lO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXYWl0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMudGltZSA9IHByb3BzLnRpbWU7XG4gICAgdGhpcy5lbmRTdGF0ZXMgPSBbdGhpc107XG4gIH1cblxuICAvKipcbiAgICogQ29udGludWUgbm9ybWFsIGV4ZWN1dGlvbiB3aXRoIHRoZSBnaXZlbiBzdGF0ZVxuICAgKi9cbiAgcHVibGljIG5leHQobmV4dDogSUNoYWluYWJsZSk6IENoYWluIHtcbiAgICBzdXBlci5tYWtlTmV4dChuZXh0LnN0YXJ0U3RhdGUpO1xuICAgIHJldHVybiBDaGFpbi5zZXF1ZW5jZSh0aGlzLCBuZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIEFtYXpvbiBTdGF0ZXMgTGFuZ3VhZ2Ugb2JqZWN0IGZvciB0aGlzIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgdG9TdGF0ZUpzb24oKTogb2JqZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgVHlwZTogU3RhdGVUeXBlLldBSVQsXG4gICAgICBDb21tZW50OiB0aGlzLmNvbW1lbnQsXG4gICAgICAuLi50aGlzLnRpbWUuX2pzb24sXG4gICAgICAuLi50aGlzLnJlbmRlck5leHRFbmQoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { Duration } from "../..";
2
+ import * as iam from "../iam";
3
+ import { Task } from "./states/task";
4
+ /**
5
+ * Interface for resources that can be used as tasks
6
+ */
7
+ export interface IStepFunctionsTask {
8
+ /**
9
+ * Called when the task object is used in a workflow
10
+ */
11
+ bind(task: Task): StepFunctionsTaskConfig;
12
+ }
13
+ /**
14
+ * Properties that define what kind of task should be created
15
+ */
16
+ export interface StepFunctionsTaskConfig {
17
+ /**
18
+ * The resource that represents the work to be executed
19
+ *
20
+ * Either the ARN of a Lambda Function or Activity, or a special
21
+ * ARN.
22
+ */
23
+ readonly resourceArn: string;
24
+ /**
25
+ * Parameters pass a collection of key-value pairs, either static values or JSONPath expressions that select from the input.
26
+ *
27
+ * The meaning of these parameters is task-dependent.
28
+ *
29
+ * Its values will be merged with the `parameters` property which is configured directly
30
+ * on the Task state.
31
+ *
32
+ * @see
33
+ * https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-parameters
34
+ *
35
+ * @default No parameters
36
+ */
37
+ readonly parameters?: {
38
+ [name: string]: any;
39
+ };
40
+ /**
41
+ * Maximum time between heart beats
42
+ *
43
+ * If the time between heart beats takes longer than this, a 'Timeout' error is raised.
44
+ *
45
+ * This is only relevant when using an Activity type as resource.
46
+ *
47
+ * @default No heart beat timeout
48
+ */
49
+ readonly heartbeat?: Duration;
50
+ /**
51
+ * Additional policy statements to add to the execution role
52
+ *
53
+ * @default No policy roles
54
+ */
55
+ readonly policyStatements?: iam.PolicyStatement[];
56
+ }
57
+ /**
58
+ * Three ways to call an integrated service: Request Response, Run a Job and Wait for a Callback with Task Token.
59
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html
60
+ *
61
+ * Here, they are named as FIRE_AND_FORGET, SYNC and WAIT_FOR_TASK_TOKEN respectfully.
62
+ *
63
+ * @default FIRE_AND_FORGET
64
+ */
65
+ export declare enum ServiceIntegrationPattern {
66
+ /**
67
+ * Call a service and progress to the next state immediately after the API call completes
68
+ */
69
+ FIRE_AND_FORGET = "FIRE_AND_FORGET",
70
+ /**
71
+ * Call a service and wait for a job to complete.
72
+ */
73
+ SYNC = "SYNC",
74
+ /**
75
+ * Call a service with a task token and wait until that token is returned by SendTaskSuccess/SendTaskFailure with payload.
76
+ */
77
+ WAIT_FOR_TASK_TOKEN = "WAIT_FOR_TASK_TOKEN"
78
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceIntegrationPattern = void 0;
4
+ /**
5
+ * Three ways to call an integrated service: Request Response, Run a Job and Wait for a Callback with Task Token.
6
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html
7
+ *
8
+ * Here, they are named as FIRE_AND_FORGET, SYNC and WAIT_FOR_TASK_TOKEN respectfully.
9
+ *
10
+ * @default FIRE_AND_FORGET
11
+ */
12
+ var ServiceIntegrationPattern;
13
+ (function (ServiceIntegrationPattern) {
14
+ /**
15
+ * Call a service and progress to the next state immediately after the API call completes
16
+ */
17
+ ServiceIntegrationPattern["FIRE_AND_FORGET"] = "FIRE_AND_FORGET";
18
+ /**
19
+ * Call a service and wait for a job to complete.
20
+ */
21
+ ServiceIntegrationPattern["SYNC"] = "SYNC";
22
+ /**
23
+ * Call a service with a task token and wait until that token is returned by SendTaskSuccess/SendTaskFailure with payload.
24
+ */
25
+ ServiceIntegrationPattern["WAIT_FOR_TASK_TOKEN"] = "WAIT_FOR_TASK_TOKEN";
26
+ })(ServiceIntegrationPattern || (exports.ServiceIntegrationPattern = ServiceIntegrationPattern = {}));
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1mdW5jdGlvbnMtdGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9zdGVwLWZ1bmN0aW9ucy10YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQStEQTs7Ozs7OztHQU9HO0FBQ0gsSUFBWSx5QkFlWDtBQWZELFdBQVkseUJBQXlCO0lBQ25DOztPQUVHO0lBQ0gsZ0VBQW1DLENBQUE7SUFFbkM7O09BRUc7SUFDSCwwQ0FBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCx3RUFBMkMsQ0FBQTtBQUM3QyxDQUFDLEVBZlcseUJBQXlCLHlDQUF6Qix5QkFBeUIsUUFlcEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNjAuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucy9saWIvc3RlcC1mdW5jdGlvbnMtdGFzay50c1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiLi4vLi5cIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vaWFtXCI7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSBcIi4vc3RhdGVzL3Rhc2tcIjtcblxuLy8gVE9ETzogVGhpcyBzaG91bGQgYWxsIGJlIGRlcHJlY2F0ZWQgYnkgVGFza1N0YXRlQmFzZVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgcmVzb3VyY2VzIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGFza3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU3RlcEZ1bmN0aW9uc1Rhc2sge1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHRhc2sgb2JqZWN0IGlzIHVzZWQgaW4gYSB3b3JrZmxvd1xuICAgKi9cbiAgYmluZCh0YXNrOiBUYXNrKTogU3RlcEZ1bmN0aW9uc1Rhc2tDb25maWc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyB0aGF0IGRlZmluZSB3aGF0IGtpbmQgb2YgdGFzayBzaG91bGQgYmUgY3JlYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXBGdW5jdGlvbnNUYXNrQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgdGhlIHdvcmsgdG8gYmUgZXhlY3V0ZWRcbiAgICpcbiAgICogRWl0aGVyIHRoZSBBUk4gb2YgYSBMYW1iZGEgRnVuY3Rpb24gb3IgQWN0aXZpdHksIG9yIGEgc3BlY2lhbFxuICAgKiBBUk4uXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXJhbWV0ZXJzIHBhc3MgYSBjb2xsZWN0aW9uIG9mIGtleS12YWx1ZSBwYWlycywgZWl0aGVyIHN0YXRpYyB2YWx1ZXMgb3IgSlNPTlBhdGggZXhwcmVzc2lvbnMgdGhhdCBzZWxlY3QgZnJvbSB0aGUgaW5wdXQuXG4gICAqXG4gICAqIFRoZSBtZWFuaW5nIG9mIHRoZXNlIHBhcmFtZXRlcnMgaXMgdGFzay1kZXBlbmRlbnQuXG4gICAqXG4gICAqIEl0cyB2YWx1ZXMgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGUgYHBhcmFtZXRlcnNgIHByb3BlcnR5IHdoaWNoIGlzIGNvbmZpZ3VyZWQgZGlyZWN0bHlcbiAgICogb24gdGhlIFRhc2sgc3RhdGUuXG4gICAqXG4gICAqIEBzZWVcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9pbnB1dC1vdXRwdXQtaW5wdXRwYXRoLXBhcmFtcy5odG1sI2lucHV0LW91dHB1dC1wYXJhbWV0ZXJzXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIHBhcmFtZXRlcnNcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcblxuICAvKipcbiAgICogTWF4aW11bSB0aW1lIGJldHdlZW4gaGVhcnQgYmVhdHNcbiAgICpcbiAgICogSWYgdGhlIHRpbWUgYmV0d2VlbiBoZWFydCBiZWF0cyB0YWtlcyBsb25nZXIgdGhhbiB0aGlzLCBhICdUaW1lb3V0JyBlcnJvciBpcyByYWlzZWQuXG4gICAqXG4gICAqIFRoaXMgaXMgb25seSByZWxldmFudCB3aGVuIHVzaW5nIGFuIEFjdGl2aXR5IHR5cGUgYXMgcmVzb3VyY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIGhlYXJ0IGJlYXQgdGltZW91dFxuICAgKi9cbiAgcmVhZG9ubHkgaGVhcnRiZWF0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgcG9saWN5IHN0YXRlbWVudHMgdG8gYWRkIHRvIHRoZSBleGVjdXRpb24gcm9sZVxuICAgKlxuICAgKiBAZGVmYXVsdCBObyBwb2xpY3kgcm9sZXNcbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeVN0YXRlbWVudHM/OiBpYW0uUG9saWN5U3RhdGVtZW50W107XG59XG5cbi8qKlxuICogVGhyZWUgd2F5cyB0byBjYWxsIGFuIGludGVncmF0ZWQgc2VydmljZTogUmVxdWVzdCBSZXNwb25zZSwgUnVuIGEgSm9iIGFuZCBXYWl0IGZvciBhIENhbGxiYWNrIHdpdGggVGFzayBUb2tlbi5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9jb25uZWN0LXRvLXJlc291cmNlLmh0bWxcbiAqXG4gKiBIZXJlLCB0aGV5IGFyZSBuYW1lZCBhcyBGSVJFX0FORF9GT1JHRVQsIFNZTkMgYW5kIFdBSVRfRk9SX1RBU0tfVE9LRU4gcmVzcGVjdGZ1bGx5LlxuICpcbiAqIEBkZWZhdWx0IEZJUkVfQU5EX0ZPUkdFVFxuICovXG5leHBvcnQgZW51bSBTZXJ2aWNlSW50ZWdyYXRpb25QYXR0ZXJuIHtcbiAgLyoqXG4gICAqIENhbGwgYSBzZXJ2aWNlIGFuZCBwcm9ncmVzcyB0byB0aGUgbmV4dCBzdGF0ZSBpbW1lZGlhdGVseSBhZnRlciB0aGUgQVBJIGNhbGwgY29tcGxldGVzXG4gICAqL1xuICBGSVJFX0FORF9GT1JHRVQgPSBcIkZJUkVfQU5EX0ZPUkdFVFwiLFxuXG4gIC8qKlxuICAgKiBDYWxsIGEgc2VydmljZSBhbmQgd2FpdCBmb3IgYSBqb2IgdG8gY29tcGxldGUuXG4gICAqL1xuICBTWU5DID0gXCJTWU5DXCIsXG5cbiAgLyoqXG4gICAqIENhbGwgYSBzZXJ2aWNlIHdpdGggYSB0YXNrIHRva2VuIGFuZCB3YWl0IHVudGlsIHRoYXQgdG9rZW4gaXMgcmV0dXJuZWQgYnkgU2VuZFRhc2tTdWNjZXNzL1NlbmRUYXNrRmFpbHVyZSB3aXRoIHBheWxvYWQuXG4gICAqL1xuICBXQUlUX0ZPUl9UQVNLX1RPS0VOID0gXCJXQUlUX0ZPUl9UQVNLX1RPS0VOXCIsXG59XG4iXX0=
@@ -0,0 +1,45 @@
1
+ import * as iam from "../iam";
2
+ /**
3
+ * Specifies a target role assumed by the State Machine's execution role for invoking the task's resource.
4
+ *
5
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
6
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-task-state.html#task-state-fields
7
+ */
8
+ export interface Credentials {
9
+ /**
10
+ * The role to be assumed for executing the Task.
11
+ */
12
+ readonly role: TaskRole;
13
+ }
14
+ /**
15
+ * Role to be assumed by the State Machine's execution role for invoking a task's resource.
16
+ *
17
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
18
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-task-state.html#task-state-fields
19
+ */
20
+ export declare abstract class TaskRole {
21
+ /**
22
+ * Construct a task role retrieved from task inputs using a json expression
23
+ *
24
+ * @param expression json expression to roleArn
25
+ *
26
+ * @example
27
+ *
28
+ * sfn.TaskRole.fromRoleArnJsonPath('$.RoleArn');
29
+ */
30
+ static fromRoleArnJsonPath(expression: string): TaskRole;
31
+ /**
32
+ * Construct a task role based on the provided IAM Role
33
+ *
34
+ * @param role IAM Role
35
+ */
36
+ static fromRole(role: iam.IRole): TaskRole;
37
+ /**
38
+ * Retrieves the roleArn for this TaskRole
39
+ */
40
+ abstract readonly roleArn: string;
41
+ /**
42
+ * Retrieves the resource for use in IAM Policies for this TaskRole
43
+ */
44
+ abstract readonly resource: string;
45
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TaskRole = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const fields_1 = require("./fields");
7
+ /**
8
+ * Role to be assumed by the State Machine's execution role for invoking a task's resource.
9
+ *
10
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
11
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-task-state.html#task-state-fields
12
+ */
13
+ class TaskRole {
14
+ /**
15
+ * Construct a task role retrieved from task inputs using a json expression
16
+ *
17
+ * @param expression json expression to roleArn
18
+ *
19
+ * @example
20
+ *
21
+ * sfn.TaskRole.fromRoleArnJsonPath('$.RoleArn');
22
+ */
23
+ static fromRoleArnJsonPath(expression) {
24
+ return new JsonExpressionTaskRole(expression);
25
+ }
26
+ /**
27
+ * Construct a task role based on the provided IAM Role
28
+ *
29
+ * @param role IAM Role
30
+ */
31
+ static fromRole(role) {
32
+ return new IamRoleTaskRole(role);
33
+ }
34
+ }
35
+ exports.TaskRole = TaskRole;
36
+ _a = JSII_RTTI_SYMBOL_1;
37
+ TaskRole[_a] = { fqn: "terraconstructs.aws.compute.TaskRole", version: "0.0.8" };
38
+ class JsonExpressionTaskRole extends TaskRole {
39
+ constructor(expression) {
40
+ super();
41
+ this.roleArn = fields_1.JsonPath.stringAt(expression);
42
+ this.resource = "*";
43
+ }
44
+ }
45
+ class IamRoleTaskRole extends TaskRole {
46
+ constructor(role) {
47
+ super();
48
+ this.roleArn = role.roleArn;
49
+ this.resource = role.roleArn;
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVkZW50aWFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS90YXNrLWNyZWRlbnRpYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EscUNBQW9DO0FBZXBDOzs7OztHQUtHO0FBQ0gsTUFBc0IsUUFBUTtJQUM1Qjs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFrQjtRQUNsRCxPQUFPLElBQUksc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQWU7UUFDcEMsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOztBQXJCSCw0QkFnQ0M7OztBQUVELE1BQU0sc0JBQXVCLFNBQVEsUUFBUTtJQUkzQyxZQUFZLFVBQWtCO1FBQzVCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLGVBQWdCLFNBQVEsUUFBUTtJQUlwQyxZQUFZLElBQWU7UUFDekIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE2MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zL2xpYi90YXNrLWNyZWRlbnRpYWxzLnRzXG5cbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vaWFtXCI7XG5pbXBvcnQgeyBKc29uUGF0aCB9IGZyb20gXCIuL2ZpZWxkc1wiO1xuXG4vKipcbiAqIFNwZWNpZmllcyBhIHRhcmdldCByb2xlIGFzc3VtZWQgYnkgdGhlIFN0YXRlIE1hY2hpbmUncyBleGVjdXRpb24gcm9sZSBmb3IgaW52b2tpbmcgdGhlIHRhc2sncyByZXNvdXJjZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zdGVwLWZ1bmN0aW9ucy9sYXRlc3QvZGcvY29uY2VwdHMtYWNjZXNzLWNyb3NzLWFjY3QtcmVzb3VyY2VzLmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9hbWF6b24tc3RhdGVzLWxhbmd1YWdlLXRhc2stc3RhdGUuaHRtbCN0YXNrLXN0YXRlLWZpZWxkc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWRlbnRpYWxzIHtcbiAgLyoqXG4gICAqIFRoZSByb2xlIHRvIGJlIGFzc3VtZWQgZm9yIGV4ZWN1dGluZyB0aGUgVGFzay5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGU6IFRhc2tSb2xlO1xufVxuXG4vKipcbiAqIFJvbGUgdG8gYmUgYXNzdW1lZCBieSB0aGUgU3RhdGUgTWFjaGluZSdzIGV4ZWN1dGlvbiByb2xlIGZvciBpbnZva2luZyBhIHRhc2sncyByZXNvdXJjZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zdGVwLWZ1bmN0aW9ucy9sYXRlc3QvZGcvY29uY2VwdHMtYWNjZXNzLWNyb3NzLWFjY3QtcmVzb3VyY2VzLmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9hbWF6b24tc3RhdGVzLWxhbmd1YWdlLXRhc2stc3RhdGUuaHRtbCN0YXNrLXN0YXRlLWZpZWxkc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGFza1JvbGUge1xuICAvKipcbiAgICogQ29uc3RydWN0IGEgdGFzayByb2xlIHJldHJpZXZlZCBmcm9tIHRhc2sgaW5wdXRzIHVzaW5nIGEganNvbiBleHByZXNzaW9uXG4gICAqXG4gICAqIEBwYXJhbSBleHByZXNzaW9uIGpzb24gZXhwcmVzc2lvbiB0byByb2xlQXJuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIHNmbi5UYXNrUm9sZS5mcm9tUm9sZUFybkpzb25QYXRoKCckLlJvbGVBcm4nKTtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJvbGVBcm5Kc29uUGF0aChleHByZXNzaW9uOiBzdHJpbmcpOiBUYXNrUm9sZSB7XG4gICAgcmV0dXJuIG5ldyBKc29uRXhwcmVzc2lvblRhc2tSb2xlKGV4cHJlc3Npb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCBhIHRhc2sgcm9sZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgSUFNIFJvbGVcbiAgICpcbiAgICogQHBhcmFtIHJvbGUgSUFNIFJvbGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJvbGUocm9sZTogaWFtLklSb2xlKTogVGFza1JvbGUge1xuICAgIHJldHVybiBuZXcgSWFtUm9sZVRhc2tSb2xlKHJvbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgcm9sZUFybiBmb3IgdGhpcyBUYXNrUm9sZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSByZXNvdXJjZSBmb3IgdXNlIGluIElBTSBQb2xpY2llcyBmb3IgdGhpcyBUYXNrUm9sZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHJlc291cmNlOiBzdHJpbmc7XG59XG5cbmNsYXNzIEpzb25FeHByZXNzaW9uVGFza1JvbGUgZXh0ZW5kcyBUYXNrUm9sZSB7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZUFybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGV4cHJlc3Npb246IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yb2xlQXJuID0gSnNvblBhdGguc3RyaW5nQXQoZXhwcmVzc2lvbik7XG4gICAgdGhpcy5yZXNvdXJjZSA9IFwiKlwiO1xuICB9XG59XG5cbmNsYXNzIElhbVJvbGVUYXNrUm9sZSBleHRlbmRzIFRhc2tSb2xlIHtcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iocm9sZTogaWFtLklSb2xlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJvbGVBcm4gPSByb2xlLnJvbGVBcm47XG4gICAgdGhpcy5yZXNvdXJjZSA9IHJvbGUucm9sZUFybjtcbiAgfVxufVxuIl19
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Type union for task classes that accept multiple types of payload
3
+ */
4
+ export declare class TaskInput {
5
+ readonly type: InputType;
6
+ readonly value: any;
7
+ /**
8
+ * Use a literal string as task input
9
+ *
10
+ * This might be a JSON-encoded object, or just a text.
11
+ */
12
+ static fromText(text: string): TaskInput;
13
+ /**
14
+ * Use an object as task input
15
+ *
16
+ * This object may contain JSON path fields as object values, if desired.
17
+ *
18
+ * Use `sfn.JsonPath.DISCARD` in place of `null` for languages that do not support `null` (i.e. Python).
19
+ */
20
+ static fromObject(obj: {
21
+ [key: string]: any;
22
+ }): TaskInput;
23
+ /**
24
+ * Use a part of the execution data or task context as task input
25
+ *
26
+ * Use this when you want to use a subobject or string from
27
+ * the current state machine execution or the current task context
28
+ * as complete payload to a task.
29
+ */
30
+ static fromJsonPathAt(path: string): TaskInput;
31
+ /**
32
+ * Use a part of the execution data as task input
33
+ *
34
+ * Use this when you want to use a subobject or string from
35
+ * the current state machine execution as complete payload
36
+ * to a task.
37
+ *
38
+ * @deprecated Use `fromJsonPathAt`.
39
+ */
40
+ static fromDataAt(path: string): TaskInput;
41
+ /**
42
+ * Use a part of the task context as task input
43
+ *
44
+ * Use this when you want to use a subobject or string from
45
+ * the current task context as complete payload
46
+ * to a task.
47
+ *
48
+ * @deprecated Use `fromJsonPathAt`.
49
+ */
50
+ static fromContextAt(path: string): TaskInput;
51
+ /**
52
+ *
53
+ * @param type type of task input
54
+ * @param value payload for the corresponding input type.
55
+ * It can be a JSON-encoded object, context, data, etc.
56
+ */
57
+ private constructor();
58
+ }
59
+ /**
60
+ * The type of task input
61
+ */
62
+ export declare enum InputType {
63
+ /**
64
+ * Use a literal string
65
+ * This might be a JSON-encoded object, or just text.
66
+ * valid JSON text: standalone, quote-delimited strings; objects; arrays; numbers; Boolean values; and null.
67
+ *
68
+ * example: `literal string`
69
+ * example: {"json": "encoded"}
70
+ */
71
+ TEXT = 0,
72
+ /**
73
+ * Use an object which may contain Data and Context fields
74
+ * as object values, if desired.
75
+ *
76
+ * example:
77
+ * {
78
+ * literal: 'literal',
79
+ * SomeInput: sfn.JsonPath.stringAt('$.someField')
80
+ * }
81
+ *
82
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-data.html
83
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/input-output-contextobject.html
84
+ */
85
+ OBJECT = 1
86
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.InputType = exports.TaskInput = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/v2.160.0/packages/aws-cdk-lib/aws-stepfunctions/lib/input.ts
7
+ const fields_1 = require("./fields");
8
+ /**
9
+ * Type union for task classes that accept multiple types of payload
10
+ */
11
+ class TaskInput {
12
+ /**
13
+ * Use a literal string as task input
14
+ *
15
+ * This might be a JSON-encoded object, or just a text.
16
+ */
17
+ static fromText(text) {
18
+ return new TaskInput(InputType.TEXT, text);
19
+ }
20
+ /**
21
+ * Use an object as task input
22
+ *
23
+ * This object may contain JSON path fields as object values, if desired.
24
+ *
25
+ * Use `sfn.JsonPath.DISCARD` in place of `null` for languages that do not support `null` (i.e. Python).
26
+ */
27
+ static fromObject(obj) {
28
+ return new TaskInput(InputType.OBJECT, obj);
29
+ }
30
+ /**
31
+ * Use a part of the execution data or task context as task input
32
+ *
33
+ * Use this when you want to use a subobject or string from
34
+ * the current state machine execution or the current task context
35
+ * as complete payload to a task.
36
+ */
37
+ static fromJsonPathAt(path) {
38
+ return new TaskInput(InputType.TEXT, fields_1.JsonPath.stringAt(path));
39
+ }
40
+ /**
41
+ * Use a part of the execution data as task input
42
+ *
43
+ * Use this when you want to use a subobject or string from
44
+ * the current state machine execution as complete payload
45
+ * to a task.
46
+ *
47
+ * @deprecated Use `fromJsonPathAt`.
48
+ */
49
+ static fromDataAt(path) {
50
+ return new TaskInput(InputType.TEXT, fields_1.JsonPath.stringAt(path));
51
+ }
52
+ /**
53
+ * Use a part of the task context as task input
54
+ *
55
+ * Use this when you want to use a subobject or string from
56
+ * the current task context as complete payload
57
+ * to a task.
58
+ *
59
+ * @deprecated Use `fromJsonPathAt`.
60
+ */
61
+ static fromContextAt(path) {
62
+ return new TaskInput(InputType.TEXT, fields_1.JsonPath.stringAt(path));
63
+ }
64
+ /**
65
+ *
66
+ * @param type type of task input
67
+ * @param value payload for the corresponding input type.
68
+ * It can be a JSON-encoded object, context, data, etc.
69
+ */
70
+ constructor(type, value) {
71
+ this.type = type;
72
+ this.value = value;
73
+ }
74
+ }
75
+ exports.TaskInput = TaskInput;
76
+ _a = JSII_RTTI_SYMBOL_1;
77
+ TaskInput[_a] = { fqn: "terraconstructs.aws.compute.TaskInput", version: "0.0.8" };
78
+ /**
79
+ * The type of task input
80
+ */
81
+ var InputType;
82
+ (function (InputType) {
83
+ /**
84
+ * Use a literal string
85
+ * This might be a JSON-encoded object, or just text.
86
+ * valid JSON text: standalone, quote-delimited strings; objects; arrays; numbers; Boolean values; and null.
87
+ *
88
+ * example: `literal string`
89
+ * example: {"json": "encoded"}
90
+ */
91
+ InputType[InputType["TEXT"] = 0] = "TEXT";
92
+ /**
93
+ * Use an object which may contain Data and Context fields
94
+ * as object values, if desired.
95
+ *
96
+ * example:
97
+ * {
98
+ * literal: 'literal',
99
+ * SomeInput: sfn.JsonPath.stringAt('$.someField')
100
+ * }
101
+ *
102
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-data.html
103
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/input-output-contextobject.html
104
+ */
105
+ InputType[InputType["OBJECT"] = 1] = "OBJECT";
106
+ })(InputType || (exports.InputType = InputType = {}));
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS90YXNrLWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUdBQW1HO0FBRW5HLHFDQUFvQztBQUVwQzs7R0FFRztBQUNILE1BQWEsU0FBUztJQUNwQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUEyQjtRQUNsRCxPQUFPLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUN2QyxPQUFPLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsaUJBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLElBQVk7UUFDbkMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGlCQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFZO1FBQ3RDLE9BQU8sSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxpQkFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQ2tCLElBQWUsRUFDZixLQUFVO1FBRFYsU0FBSSxHQUFKLElBQUksQ0FBVztRQUNmLFVBQUssR0FBTCxLQUFLLENBQUs7SUFDekIsQ0FBQzs7QUFuRU4sOEJBb0VDOzs7QUFFRDs7R0FFRztBQUNILElBQVksU0F3Qlg7QUF4QkQsV0FBWSxTQUFTO0lBQ25COzs7Ozs7O09BT0c7SUFDSCx5Q0FBSSxDQUFBO0lBQ0o7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsNkNBQU0sQ0FBQTtBQUNSLENBQUMsRUF4QlcsU0FBUyx5QkFBVCxTQUFTLFFBd0JwQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE2MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zL2xpYi9pbnB1dC50c1xuXG5pbXBvcnQgeyBKc29uUGF0aCB9IGZyb20gXCIuL2ZpZWxkc1wiO1xuXG4vKipcbiAqIFR5cGUgdW5pb24gZm9yIHRhc2sgY2xhc3NlcyB0aGF0IGFjY2VwdCBtdWx0aXBsZSB0eXBlcyBvZiBwYXlsb2FkXG4gKi9cbmV4cG9ydCBjbGFzcyBUYXNrSW5wdXQge1xuICAvKipcbiAgICogVXNlIGEgbGl0ZXJhbCBzdHJpbmcgYXMgdGFzayBpbnB1dFxuICAgKlxuICAgKiBUaGlzIG1pZ2h0IGJlIGEgSlNPTi1lbmNvZGVkIG9iamVjdCwgb3IganVzdCBhIHRleHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21UZXh0KHRleHQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgVGFza0lucHV0KElucHV0VHlwZS5URVhULCB0ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYW4gb2JqZWN0IGFzIHRhc2sgaW5wdXRcbiAgICpcbiAgICogVGhpcyBvYmplY3QgbWF5IGNvbnRhaW4gSlNPTiBwYXRoIGZpZWxkcyBhcyBvYmplY3QgdmFsdWVzLCBpZiBkZXNpcmVkLlxuICAgKlxuICAgKiBVc2UgYHNmbi5Kc29uUGF0aC5ESVNDQVJEYCBpbiBwbGFjZSBvZiBgbnVsbGAgZm9yIGxhbmd1YWdlcyB0aGF0IGRvIG5vdCBzdXBwb3J0IGBudWxsYCAoaS5lLiBQeXRob24pLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tT2JqZWN0KG9iajogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHJldHVybiBuZXcgVGFza0lucHV0KElucHV0VHlwZS5PQkpFQ1QsIG9iaik7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGEgcGFydCBvZiB0aGUgZXhlY3V0aW9uIGRhdGEgb3IgdGFzayBjb250ZXh0IGFzIHRhc2sgaW5wdXRcbiAgICpcbiAgICogVXNlIHRoaXMgd2hlbiB5b3Ugd2FudCB0byB1c2UgYSBzdWJvYmplY3Qgb3Igc3RyaW5nIGZyb21cbiAgICogdGhlIGN1cnJlbnQgc3RhdGUgbWFjaGluZSBleGVjdXRpb24gb3IgdGhlIGN1cnJlbnQgdGFzayBjb250ZXh0XG4gICAqIGFzIGNvbXBsZXRlIHBheWxvYWQgdG8gYSB0YXNrLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tSnNvblBhdGhBdChwYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFRhc2tJbnB1dChJbnB1dFR5cGUuVEVYVCwgSnNvblBhdGguc3RyaW5nQXQocGF0aCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSBhIHBhcnQgb2YgdGhlIGV4ZWN1dGlvbiBkYXRhIGFzIHRhc2sgaW5wdXRcbiAgICpcbiAgICogVXNlIHRoaXMgd2hlbiB5b3Ugd2FudCB0byB1c2UgYSBzdWJvYmplY3Qgb3Igc3RyaW5nIGZyb21cbiAgICogdGhlIGN1cnJlbnQgc3RhdGUgbWFjaGluZSBleGVjdXRpb24gYXMgY29tcGxldGUgcGF5bG9hZFxuICAgKiB0byBhIHRhc2suXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgZnJvbUpzb25QYXRoQXRgLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRGF0YUF0KHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgVGFza0lucHV0KElucHV0VHlwZS5URVhULCBKc29uUGF0aC5zdHJpbmdBdChwYXRoKSk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGEgcGFydCBvZiB0aGUgdGFzayBjb250ZXh0IGFzIHRhc2sgaW5wdXRcbiAgICpcbiAgICogVXNlIHRoaXMgd2hlbiB5b3Ugd2FudCB0byB1c2UgYSBzdWJvYmplY3Qgb3Igc3RyaW5nIGZyb21cbiAgICogdGhlIGN1cnJlbnQgdGFzayBjb250ZXh0IGFzIGNvbXBsZXRlIHBheWxvYWRcbiAgICogdG8gYSB0YXNrLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGZyb21Kc29uUGF0aEF0YC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvbnRleHRBdChwYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFRhc2tJbnB1dChJbnB1dFR5cGUuVEVYVCwgSnNvblBhdGguc3RyaW5nQXQocGF0aCkpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIHR5cGUgb2YgdGFzayBpbnB1dFxuICAgKiBAcGFyYW0gdmFsdWUgcGF5bG9hZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgaW5wdXQgdHlwZS5cbiAgICogSXQgY2FuIGJlIGEgSlNPTi1lbmNvZGVkIG9iamVjdCwgY29udGV4dCwgZGF0YSwgZXRjLlxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogSW5wdXRUeXBlLFxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogYW55LFxuICApIHt9XG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdGFzayBpbnB1dFxuICovXG5leHBvcnQgZW51bSBJbnB1dFR5cGUge1xuICAvKipcbiAgICogVXNlIGEgbGl0ZXJhbCBzdHJpbmdcbiAgICogVGhpcyBtaWdodCBiZSBhIEpTT04tZW5jb2RlZCBvYmplY3QsIG9yIGp1c3QgdGV4dC5cbiAgICogdmFsaWQgSlNPTiB0ZXh0OiBzdGFuZGFsb25lLCBxdW90ZS1kZWxpbWl0ZWQgc3RyaW5nczsgb2JqZWN0czsgYXJyYXlzOyBudW1iZXJzOyBCb29sZWFuIHZhbHVlczsgYW5kIG51bGwuXG4gICAqXG4gICAqIGV4YW1wbGU6IGBsaXRlcmFsIHN0cmluZ2BcbiAgICogZXhhbXBsZToge1wianNvblwiOiBcImVuY29kZWRcIn1cbiAgICovXG4gIFRFWFQsXG4gIC8qKlxuICAgKiBVc2UgYW4gb2JqZWN0IHdoaWNoIG1heSBjb250YWluIERhdGEgYW5kIENvbnRleHQgZmllbGRzXG4gICAqIGFzIG9iamVjdCB2YWx1ZXMsIGlmIGRlc2lyZWQuXG4gICAqXG4gICAqIGV4YW1wbGU6XG4gICAqIHtcbiAgICogIGxpdGVyYWw6ICdsaXRlcmFsJyxcbiAgICogIFNvbWVJbnB1dDogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLnNvbWVGaWVsZCcpXG4gICAqIH1cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3RlcC1mdW5jdGlvbnMvbGF0ZXN0L2RnL2NvbmNlcHRzLXN0YXRlLW1hY2hpbmUtZGF0YS5odG1sXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9pbnB1dC1vdXRwdXQtY29udGV4dG9iamVjdC5odG1sXG4gICAqL1xuICBPQkpFQ1QsXG59XG4iXX0=
@@ -0,0 +1,73 @@
1
+ import { Construct } from "constructs";
2
+ import * as compute from "../../";
3
+ import * as iam from "../../../iam";
4
+ /**
5
+ * Properties for calling an AWS service's API action from your
6
+ * state machine.
7
+ *
8
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/supported-services-awssdk.html
9
+ */
10
+ export interface CallAwsServiceProps extends compute.TaskStateBaseProps {
11
+ /**
12
+ * The AWS service to call.
13
+ *
14
+ * @see https://docs.aws.amazon.com/step-functions/latest/dg/supported-services-awssdk.html
15
+ */
16
+ readonly service: string;
17
+ /**
18
+ * The API action to call.
19
+ *
20
+ * Use camelCase.
21
+ */
22
+ readonly action: string;
23
+ /**
24
+ * Parameters for the API action call.
25
+ *
26
+ * Use PascalCase for the parameter names.
27
+ *
28
+ * @default - no parameters
29
+ */
30
+ readonly parameters?: {
31
+ [key: string]: any;
32
+ };
33
+ /**
34
+ * The resources for the IAM statement that will be added to the state
35
+ * machine role's policy to allow the state machine to make the API call.
36
+ *
37
+ * By default the action for this IAM statement will be `service:action`.
38
+ */
39
+ readonly iamResources: string[];
40
+ /**
41
+ * The action for the IAM statement that will be added to the state
42
+ * machine role's policy to allow the state machine to make the API call.
43
+ *
44
+ * Use in the case where the IAM action name does not match with the
45
+ * API service/action name, e.g. `s3:ListBuckets` requires `s3:ListAllMyBuckets`.
46
+ *
47
+ * @default - service:action
48
+ */
49
+ readonly iamAction?: string;
50
+ /**
51
+ * Additional IAM statements that will be added to the state machine
52
+ * role's policy.
53
+ *
54
+ * Use in the case where the call requires more than a single statement to
55
+ * be executed, e.g. `rekognition:detectLabels` requires also S3 permissions
56
+ * to read the object on which it must act.
57
+ *
58
+ * @default - no additional statements are added
59
+ */
60
+ readonly additionalIamStatements?: iam.PolicyStatement[];
61
+ }
62
+ /**
63
+ * A StepFunctions task to call an AWS service API
64
+ */
65
+ export declare class CallAwsService extends compute.TaskStateBase {
66
+ private readonly props;
67
+ protected readonly taskPolicies?: iam.PolicyStatement[];
68
+ constructor(scope: Construct, id: string, props: CallAwsServiceProps);
69
+ /**
70
+ * @internal
71
+ */
72
+ protected _renderTask(): any;
73
+ }