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,40 @@
1
+ import { IConstruct } from "constructs";
2
+ import { BucketOutputs } from "./bucket";
3
+ export declare function parseBucketArn(construct: IConstruct, outputs: BucketOutputs): string;
4
+ export declare function parseBucketName(construct: IConstruct, outputs: BucketOutputs): string | undefined;
5
+ /**
6
+ * All http request methods
7
+ */
8
+ export declare enum HttpMethods {
9
+ /**
10
+ * The GET method requests a representation of the specified resource.
11
+ */
12
+ GET = "GET",
13
+ /**
14
+ * The PUT method replaces all current representations of the target resource with the request payload.
15
+ */
16
+ PUT = "PUT",
17
+ /**
18
+ * The HEAD method asks for a response identical to that of a GET request, but without the response body.
19
+ */
20
+ HEAD = "HEAD",
21
+ /**
22
+ * The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server.
23
+ */
24
+ POST = "POST",
25
+ /**
26
+ * The DELETE method deletes the specified resource.
27
+ */
28
+ DELETE = "DELETE"
29
+ }
30
+ /**
31
+ * All http request methods
32
+ */
33
+ export declare enum RedirectProtocol {
34
+ HTTP = "http",
35
+ HTTPS = "https"
36
+ }
37
+ /**
38
+ * Normalize windows paths to be posix-like.
39
+ */
40
+ export declare function normalPath(path: string): string;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalPath = exports.RedirectProtocol = exports.HttpMethods = exports.parseBucketName = exports.parseBucketArn = void 0;
4
+ const __1 = require("..");
5
+ function parseBucketArn(construct, outputs) {
6
+ // if we have an explicit bucket ARN, use it.
7
+ if (outputs.arn) {
8
+ return outputs.arn;
9
+ }
10
+ if (outputs.name) {
11
+ return __1.AwsStack.ofAwsConstruct(construct).formatArn({
12
+ // S3 Bucket names are globally unique in a partition,
13
+ // and so their ARNs have empty region and account components
14
+ region: "",
15
+ account: "",
16
+ service: "s3",
17
+ resource: outputs.name,
18
+ });
19
+ }
20
+ throw new Error("Cannot determine bucket ARN. At least `bucketArn` or `bucketName` is needed");
21
+ }
22
+ exports.parseBucketArn = parseBucketArn;
23
+ function parseBucketName(construct, outputs) {
24
+ // if we have an explicit bucket name, use it.
25
+ if (outputs.name) {
26
+ return outputs.name;
27
+ }
28
+ // extract bucket name from bucket arn
29
+ if (outputs.arn) {
30
+ return __1.AwsStack.ofAwsConstruct(construct).splitArn(outputs.arn, __1.ArnFormat.SLASH_RESOURCE_NAME).resource;
31
+ }
32
+ // no bucket name is okay since it's optional.
33
+ return undefined;
34
+ }
35
+ exports.parseBucketName = parseBucketName;
36
+ /**
37
+ * All http request methods
38
+ */
39
+ var HttpMethods;
40
+ (function (HttpMethods) {
41
+ /**
42
+ * The GET method requests a representation of the specified resource.
43
+ */
44
+ HttpMethods["GET"] = "GET";
45
+ /**
46
+ * The PUT method replaces all current representations of the target resource with the request payload.
47
+ */
48
+ HttpMethods["PUT"] = "PUT";
49
+ /**
50
+ * The HEAD method asks for a response identical to that of a GET request, but without the response body.
51
+ */
52
+ HttpMethods["HEAD"] = "HEAD";
53
+ /**
54
+ * The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server.
55
+ */
56
+ HttpMethods["POST"] = "POST";
57
+ /**
58
+ * The DELETE method deletes the specified resource.
59
+ */
60
+ HttpMethods["DELETE"] = "DELETE";
61
+ })(HttpMethods || (exports.HttpMethods = HttpMethods = {}));
62
+ /**
63
+ * All http request methods
64
+ */
65
+ var RedirectProtocol;
66
+ (function (RedirectProtocol) {
67
+ RedirectProtocol["HTTP"] = "http";
68
+ RedirectProtocol["HTTPS"] = "https";
69
+ })(RedirectProtocol || (exports.RedirectProtocol = RedirectProtocol = {}));
70
+ /**
71
+ * Normalize windows paths to be posix-like.
72
+ */
73
+ function normalPath(path) {
74
+ // ref: https://github.com/winglang/wing/blob/v0.83.8/libs/wingsdk/src/shared/misc.ts#L15
75
+ if (process.platform === "win32") {
76
+ return (path
77
+ // force posix path separator
78
+ .replace(/\\+/g, "/"));
79
+ }
80
+ else {
81
+ return path;
82
+ }
83
+ }
84
+ exports.normalPath = normalPath;
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBCQUF5QztBQUd6QyxTQUFnQixjQUFjLENBQzVCLFNBQXFCLEVBQ3JCLE9BQXNCO0lBRXRCLDZDQUE2QztJQUM3QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sWUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEQsc0RBQXNEO1lBQ3RELDZEQUE2RDtZQUM3RCxNQUFNLEVBQUUsRUFBRTtZQUNWLE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUk7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQ2IsNkVBQTZFLENBQzlFLENBQUM7QUFDSixDQUFDO0FBdkJELHdDQXVCQztBQUVELFNBQWdCLGVBQWUsQ0FDN0IsU0FBcUIsRUFDckIsT0FBc0I7SUFFdEIsOENBQThDO0lBQzlDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sWUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQ2hELE9BQU8sQ0FBQyxHQUFHLEVBQ1gsYUFBUyxDQUFDLG1CQUFtQixDQUM5QixDQUFDLFFBQVEsQ0FBQztJQUNiLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQW5CRCwwQ0FtQkM7QUFFRDs7R0FFRztBQUNILElBQVksV0FxQlg7QUFyQkQsV0FBWSxXQUFXO0lBQ3JCOztPQUVHO0lBQ0gsMEJBQVcsQ0FBQTtJQUNYOztPQUVHO0lBQ0gsMEJBQVcsQ0FBQTtJQUNYOztPQUVHO0lBQ0gsNEJBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsNEJBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsZ0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQXJCVyxXQUFXLDJCQUFYLFdBQVcsUUFxQnRCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLG1DQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBRzNCO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixVQUFVLENBQUMsSUFBWTtJQUNyQyx5RkFBeUY7SUFDekYsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE9BQU8sQ0FDTCxJQUFJO1lBQ0YsNkJBQTZCO2FBQzVCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQ3hCLENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFYRCxnQ0FXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXdzU3RhY2ssIEFybkZvcm1hdCB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgQnVja2V0T3V0cHV0cyB9IGZyb20gXCIuL2J1Y2tldFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCdWNrZXRBcm4oXG4gIGNvbnN0cnVjdDogSUNvbnN0cnVjdCxcbiAgb3V0cHV0czogQnVja2V0T3V0cHV0cyxcbik6IHN0cmluZyB7XG4gIC8vIGlmIHdlIGhhdmUgYW4gZXhwbGljaXQgYnVja2V0IEFSTiwgdXNlIGl0LlxuICBpZiAob3V0cHV0cy5hcm4pIHtcbiAgICByZXR1cm4gb3V0cHV0cy5hcm47XG4gIH1cblxuICBpZiAob3V0cHV0cy5uYW1lKSB7XG4gICAgcmV0dXJuIEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KGNvbnN0cnVjdCkuZm9ybWF0QXJuKHtcbiAgICAgIC8vIFMzIEJ1Y2tldCBuYW1lcyBhcmUgZ2xvYmFsbHkgdW5pcXVlIGluIGEgcGFydGl0aW9uLFxuICAgICAgLy8gYW5kIHNvIHRoZWlyIEFSTnMgaGF2ZSBlbXB0eSByZWdpb24gYW5kIGFjY291bnQgY29tcG9uZW50c1xuICAgICAgcmVnaW9uOiBcIlwiLFxuICAgICAgYWNjb3VudDogXCJcIixcbiAgICAgIHNlcnZpY2U6IFwiczNcIixcbiAgICAgIHJlc291cmNlOiBvdXRwdXRzLm5hbWUsXG4gICAgfSk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgXCJDYW5ub3QgZGV0ZXJtaW5lIGJ1Y2tldCBBUk4uIEF0IGxlYXN0IGBidWNrZXRBcm5gIG9yIGBidWNrZXROYW1lYCBpcyBuZWVkZWRcIixcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQnVja2V0TmFtZShcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuICBvdXRwdXRzOiBCdWNrZXRPdXRwdXRzLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gaWYgd2UgaGF2ZSBhbiBleHBsaWNpdCBidWNrZXQgbmFtZSwgdXNlIGl0LlxuICBpZiAob3V0cHV0cy5uYW1lKSB7XG4gICAgcmV0dXJuIG91dHB1dHMubmFtZTtcbiAgfVxuXG4gIC8vIGV4dHJhY3QgYnVja2V0IG5hbWUgZnJvbSBidWNrZXQgYXJuXG4gIGlmIChvdXRwdXRzLmFybikge1xuICAgIHJldHVybiBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChjb25zdHJ1Y3QpLnNwbGl0QXJuKFxuICAgICAgb3V0cHV0cy5hcm4sXG4gICAgICBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICApLnJlc291cmNlO1xuICB9XG5cbiAgLy8gbm8gYnVja2V0IG5hbWUgaXMgb2theSBzaW5jZSBpdCdzIG9wdGlvbmFsLlxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEFsbCBodHRwIHJlcXVlc3QgbWV0aG9kc1xuICovXG5leHBvcnQgZW51bSBIdHRwTWV0aG9kcyB7XG4gIC8qKlxuICAgKiBUaGUgR0VUIG1ldGhvZCByZXF1ZXN0cyBhIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UuXG4gICAqL1xuICBHRVQgPSBcIkdFVFwiLFxuICAvKipcbiAgICogVGhlIFBVVCBtZXRob2QgcmVwbGFjZXMgYWxsIGN1cnJlbnQgcmVwcmVzZW50YXRpb25zIG9mIHRoZSB0YXJnZXQgcmVzb3VyY2Ugd2l0aCB0aGUgcmVxdWVzdCBwYXlsb2FkLlxuICAgKi9cbiAgUFVUID0gXCJQVVRcIixcbiAgLyoqXG4gICAqIFRoZSBIRUFEIG1ldGhvZCBhc2tzIGZvciBhIHJlc3BvbnNlIGlkZW50aWNhbCB0byB0aGF0IG9mIGEgR0VUIHJlcXVlc3QsIGJ1dCB3aXRob3V0IHRoZSByZXNwb25zZSBib2R5LlxuICAgKi9cbiAgSEVBRCA9IFwiSEVBRFwiLFxuICAvKipcbiAgICogVGhlIFBPU1QgbWV0aG9kIGlzIHVzZWQgdG8gc3VibWl0IGFuIGVudGl0eSB0byB0aGUgc3BlY2lmaWVkIHJlc291cmNlLCBvZnRlbiBjYXVzaW5nIGEgY2hhbmdlIGluIHN0YXRlIG9yIHNpZGUgZWZmZWN0cyBvbiB0aGUgc2VydmVyLlxuICAgKi9cbiAgUE9TVCA9IFwiUE9TVFwiLFxuICAvKipcbiAgICogVGhlIERFTEVURSBtZXRob2QgZGVsZXRlcyB0aGUgc3BlY2lmaWVkIHJlc291cmNlLlxuICAgKi9cbiAgREVMRVRFID0gXCJERUxFVEVcIixcbn1cblxuLyoqXG4gKiBBbGwgaHR0cCByZXF1ZXN0IG1ldGhvZHNcbiAqL1xuZXhwb3J0IGVudW0gUmVkaXJlY3RQcm90b2NvbCB7XG4gIEhUVFAgPSBcImh0dHBcIixcbiAgSFRUUFMgPSBcImh0dHBzXCIsXG59XG5cbi8qKlxuICogTm9ybWFsaXplIHdpbmRvd3MgcGF0aHMgdG8gYmUgcG9zaXgtbGlrZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbFBhdGgocGF0aDogc3RyaW5nKSB7XG4gIC8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL3dpbmdsYW5nL3dpbmcvYmxvYi92MC44My44L2xpYnMvd2luZ3Nkay9zcmMvc2hhcmVkL21pc2MudHMjTDE1XG4gIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSBcIndpbjMyXCIpIHtcbiAgICByZXR1cm4gKFxuICAgICAgcGF0aFxuICAgICAgICAvLyBmb3JjZSBwb3NpeCBwYXRoIHNlcGFyYXRvclxuICAgICAgICAucmVwbGFjZSgvXFxcXCsvZywgXCIvXCIpXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxufVxuIl19
@@ -0,0 +1,73 @@
1
+ import type { FileProvisioner, IResolvable, ITerraformDependable, ITerraformIterator, LocalExecProvisioner, RemoteExecProvisioner, SSHProvisionerConnection, TerraformCount, TerraformProvider, TerraformResourceLifecycle, WinrmProvisionerConnection } from 'cdktf';
2
+ import type { s3BucketWebsiteConfiguration } from '@cdktf/provider-aws';
3
+ /**
4
+ * Provides an S3 bucket website configuration resource.
5
+ *
6
+ * For more information, see [Hosting Websites on S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).
7
+ */
8
+ export interface WebsiteConfig {
9
+ /**
10
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/resources/s3_bucket_website_configuration#routing_rules S3BucketWebsiteConfiguration#routing_rules}.
11
+ * @stability stable
12
+ */
13
+ readonly routingRules?: string;
14
+ /**
15
+ * routing_rule block.
16
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/resources/s3_bucket_website_configuration#routing_rule S3BucketWebsiteConfiguration#routing_rule}
17
+ * @stability stable
18
+ */
19
+ readonly routingRule?: IResolvable | Array<s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationRoutingRule>;
20
+ /**
21
+ * index_document block.
22
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/resources/s3_bucket_website_configuration#index_document S3BucketWebsiteConfiguration#index_document}
23
+ * @default index.html
24
+ * @stability stable
25
+ */
26
+ readonly indexDocument?: string;
27
+ /**
28
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/resources/s3_bucket_website_configuration#id S3BucketWebsiteConfiguration#id}.
29
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
30
+ * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
31
+ * @stability stable
32
+ */
33
+ readonly id?: string;
34
+ /**
35
+ * error_document block.
36
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/resources/s3_bucket_website_configuration#error_document S3BucketWebsiteConfiguration#error_document}
37
+ * @stability stable
38
+ */
39
+ readonly errorDocument?: s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationErrorDocument;
40
+ /**
41
+ * @stability experimental
42
+ */
43
+ readonly provisioners?: Array<FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner>;
44
+ /**
45
+ * @stability experimental
46
+ */
47
+ readonly provider?: TerraformProvider;
48
+ /**
49
+ * @stability experimental
50
+ */
51
+ readonly lifecycle?: TerraformResourceLifecycle;
52
+ /**
53
+ * @stability experimental
54
+ */
55
+ readonly forEach?: ITerraformIterator;
56
+ /**
57
+ * @stability experimental
58
+ */
59
+ readonly dependsOn?: Array<ITerraformDependable>;
60
+ /**
61
+ * @stability experimental
62
+ */
63
+ readonly count?: number | TerraformCount;
64
+ /**
65
+ * @stability experimental
66
+ */
67
+ readonly connection?: SSHProvisionerConnection | WinrmProvisionerConnection;
68
+ /**
69
+ * Set this to true to enable static website hosting.
70
+ * @default `true`
71
+ */
72
+ readonly enabled: boolean;
73
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS1jb25maWcuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9zdG9yYWdlL3dlYnNpdGUtY29uZmlnLmdlbmVyYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBGaWxlUHJvdmlzaW9uZXIsIElSZXNvbHZhYmxlLCBJVGVycmFmb3JtRGVwZW5kYWJsZSwgSVRlcnJhZm9ybUl0ZXJhdG9yLCBMb2NhbEV4ZWNQcm92aXNpb25lciwgUmVtb3RlRXhlY1Byb3Zpc2lvbmVyLCBTU0hQcm92aXNpb25lckNvbm5lY3Rpb24sIFRlcnJhZm9ybUNvdW50LCBUZXJyYWZvcm1Qcm92aWRlciwgVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGUsIFdpbnJtUHJvdmlzaW9uZXJDb25uZWN0aW9uIH0gZnJvbSAnY2RrdGYnO1xuaW1wb3J0IHR5cGUgeyBzM0J1Y2tldFdlYnNpdGVDb25maWd1cmF0aW9uIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cyc7XG5cbi8qKlxuICogUHJvdmlkZXMgYW4gUzMgYnVja2V0IHdlYnNpdGUgY29uZmlndXJhdGlvbiByZXNvdXJjZS5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtIb3N0aW5nIFdlYnNpdGVzIG9uIFMzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUzMvbGF0ZXN0L2Rldi9XZWJzaXRlSG9zdGluZy5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXZWJzaXRlQ29uZmlnIHtcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL3MzX2J1Y2tldF93ZWJzaXRlX2NvbmZpZ3VyYXRpb24jcm91dGluZ19ydWxlcyBTM0J1Y2tldFdlYnNpdGVDb25maWd1cmF0aW9uI3JvdXRpbmdfcnVsZXN9LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGluZ1J1bGVzPzogc3RyaW5nO1xuICAvKipcbiAgICogcm91dGluZ19ydWxlIGJsb2NrLlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9zM19idWNrZXRfd2Vic2l0ZV9jb25maWd1cmF0aW9uI3JvdXRpbmdfcnVsZSBTM0J1Y2tldFdlYnNpdGVDb25maWd1cmF0aW9uI3JvdXRpbmdfcnVsZX1cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJvdXRpbmdSdWxlPzogSVJlc29sdmFibGUgfCBBcnJheTxzM0J1Y2tldFdlYnNpdGVDb25maWd1cmF0aW9uLlMzQnVja2V0V2Vic2l0ZUNvbmZpZ3VyYXRpb25Sb3V0aW5nUnVsZT47XG4gIC8qKlxuICAgKiBpbmRleF9kb2N1bWVudCBibG9jay5cbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvczNfYnVja2V0X3dlYnNpdGVfY29uZmlndXJhdGlvbiNpbmRleF9kb2N1bWVudCBTM0J1Y2tldFdlYnNpdGVDb25maWd1cmF0aW9uI2luZGV4X2RvY3VtZW50fVxuICAgKiBAZGVmYXVsdCBpbmRleC5odG1sXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBpbmRleERvY3VtZW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvczNfYnVja2V0X3dlYnNpdGVfY29uZmlndXJhdGlvbiNpZCBTM0J1Y2tldFdlYnNpdGVDb25maWd1cmF0aW9uI2lkfS5cbiAgICogUGxlYXNlIGJlIGF3YXJlIHRoYXQgdGhlIGlkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWxsIHJlc291cmNlcyBpbiBUZXJyYWZvcm0gcHJvdmlkZXJzIHVzaW5nIGEgVGVycmFmb3JtIHByb3ZpZGVyIFNESyB2ZXJzaW9uIGJlbG93IDIuXG4gICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBlcnJvcl9kb2N1bWVudCBibG9jay5cbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvczNfYnVja2V0X3dlYnNpdGVfY29uZmlndXJhdGlvbiNlcnJvcl9kb2N1bWVudCBTM0J1Y2tldFdlYnNpdGVDb25maWd1cmF0aW9uI2Vycm9yX2RvY3VtZW50fVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3JEb2N1bWVudD86IHMzQnVja2V0V2Vic2l0ZUNvbmZpZ3VyYXRpb24uUzNCdWNrZXRXZWJzaXRlQ29uZmlndXJhdGlvbkVycm9yRG9jdW1lbnQ7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlzaW9uZXJzPzogQXJyYXk8RmlsZVByb3Zpc2lvbmVyIHwgTG9jYWxFeGVjUHJvdmlzaW9uZXIgfCBSZW1vdGVFeGVjUHJvdmlzaW9uZXI+O1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyPzogVGVycmFmb3JtUHJvdmlkZXI7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgbGlmZWN5Y2xlPzogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGU7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZm9yRWFjaD86IElUZXJyYWZvcm1JdGVyYXRvcjtcbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRzT24/OiBBcnJheTxJVGVycmFmb3JtRGVwZW5kYWJsZT47XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgY291bnQ/OiBudW1iZXIgfCBUZXJyYWZvcm1Db3VudDtcbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uPzogU1NIUHJvdmlzaW9uZXJDb25uZWN0aW9uIHwgV2lucm1Qcm92aXNpb25lckNvbm5lY3Rpb247XG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIHRvIGVuYWJsZSBzdGF0aWMgd2Vic2l0ZSBob3N0aW5nLlxuICAgKiBAZGVmYXVsdCBgdHJ1ZWBcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns a copy of `obj` without `undefined` (or `null`) values in maps or arrays.
3
+ */
4
+ export declare function filterUndefined(obj: any): any;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ // ref: https://github.com/aws/aws-cdk/blob/v2.150.0/packages/aws-cdk-lib/core/lib/util.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.filterUndefined = void 0;
5
+ /**
6
+ * Returns a copy of `obj` without `undefined` (or `null`) values in maps or arrays.
7
+ */
8
+ function filterUndefined(obj) {
9
+ if (Array.isArray(obj)) {
10
+ return obj.filter((x) => x != null).map((x) => filterUndefined(x));
11
+ }
12
+ if (typeof obj === "object") {
13
+ const ret = {};
14
+ for (const [key, value] of Object.entries(obj)) {
15
+ if (value == null) {
16
+ continue;
17
+ }
18
+ ret[key] = filterUndefined(value);
19
+ }
20
+ return ret;
21
+ }
22
+ return obj;
23
+ }
24
+ exports.filterUndefined = filterUndefined;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3MvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEZBQTBGOzs7QUFFMUY7O0dBRUc7QUFDSCxTQUFnQixlQUFlLENBQUMsR0FBUTtJQUN0QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9DLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNsQixTQUFTO1lBQ1gsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQWpCRCwwQ0FpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2NvcmUvbGliL3V0aWwudHNcblxuLyoqXG4gKiBSZXR1cm5zIGEgY29weSBvZiBgb2JqYCB3aXRob3V0IGB1bmRlZmluZWRgIChvciBgbnVsbGApIHZhbHVlcyBpbiBtYXBzIG9yIGFycmF5cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclVuZGVmaW5lZChvYmo6IGFueSk6IGFueSB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLmZpbHRlcigoeCkgPT4geCAhPSBudWxsKS5tYXAoKHgpID0+IGZpbHRlclVuZGVmaW5lZCh4KSk7XG4gIH1cblxuICBpZiAodHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHJldDogYW55ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICByZXRba2V5XSA9IGZpbHRlclVuZGVmaW5lZCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuIl19
@@ -0,0 +1,69 @@
1
+ import { TerraformElement, TerraformMetaArguments, IAspect } from "cdktf";
2
+ import { Construct, IConstruct } from "constructs";
3
+ export interface TerraConstructProps extends TerraformMetaArguments {
4
+ /**
5
+ * The friendly name for TerraConstruct resources
6
+ *
7
+ * @default - `environmentName-id`
8
+ */
9
+ readonly friendlyName?: string;
10
+ /**
11
+ * Whether to register Terraform outputs for this TerraConstruct
12
+ *
13
+ * @default false
14
+ */
15
+ readonly registerOutputs?: boolean;
16
+ /**
17
+ * Optional override for the outputs name
18
+ *
19
+ * @default id
20
+ */
21
+ readonly outputName?: string;
22
+ }
23
+ export interface ITerraConstruct extends IConstruct {
24
+ /**
25
+ * Environment Name passed in from the CLI
26
+ */
27
+ readonly environmentName: string;
28
+ readonly gridUUID: string;
29
+ readonly outputs: Record<string, any>;
30
+ }
31
+ export declare class GridTags implements IAspect {
32
+ private tagsToAdd;
33
+ constructor(tagsToAdd: Record<string, string>);
34
+ visit(node: IConstruct): void;
35
+ }
36
+ /**
37
+ * Base class for all TerraConstructs
38
+ *
39
+ * Allows a TerraConstruct to lazily register its outputs with its parent Stack
40
+ */
41
+ export declare abstract class TerraConstructBase extends TerraformElement implements ITerraConstruct {
42
+ private readonly constructId;
43
+ /**
44
+ * Returns true if the construct was created by CDKTF, and false otherwise
45
+ */
46
+ static isOwnedResource(construct: IConstruct): boolean;
47
+ /**
48
+ * The name under which the outputs are registered in the parent Scope
49
+ */
50
+ readonly outputName: string;
51
+ /**
52
+ * TerraConstruct friendly name
53
+ */
54
+ readonly friendlyName: string;
55
+ /**
56
+ * TerraConstruct unique grid identifier
57
+ */
58
+ get gridUUID(): string;
59
+ /**
60
+ * Environment Name passed in from the CLI
61
+ */
62
+ get environmentName(): string;
63
+ /**
64
+ * Outputs to register with the parent Scope or undefined if there are no outputs
65
+ */
66
+ abstract get outputs(): Record<string, any>;
67
+ constructor(scope: Construct, constructId: string, props?: TerraConstructProps);
68
+ get fqn(): string;
69
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TerraConstructBase = exports.GridTags = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const cdktf_1 = require("cdktf");
7
+ const stack_base_1 = require("./stack-base");
8
+ function isTaggableConstruct(x) {
9
+ return (cdktf_1.TerraformResource.isTerraformResource(x) && "tags" in x && "tagsInput" in x);
10
+ }
11
+ const GRID_TAG_PREFIX = "grid";
12
+ // Add Grid Tags to all TerraConstruct resources
13
+ class GridTags {
14
+ constructor(tagsToAdd) {
15
+ this.tagsToAdd = tagsToAdd;
16
+ }
17
+ visit(node) {
18
+ if (isTaggableConstruct(node)) {
19
+ // https://developer.hashicorp.com/terraform/cdktf/concepts/aspects
20
+ const currentTags = node.tagsInput || {};
21
+ node.tags = { ...this.tagsToAdd, ...currentTags };
22
+ }
23
+ }
24
+ }
25
+ exports.GridTags = GridTags;
26
+ _a = JSII_RTTI_SYMBOL_1;
27
+ GridTags[_a] = { fqn: "terraconstructs.GridTags", version: "0.0.8" };
28
+ /**
29
+ * Base class for all TerraConstructs
30
+ *
31
+ * Allows a TerraConstruct to lazily register its outputs with its parent Stack
32
+ */
33
+ class TerraConstructBase extends cdktf_1.TerraformElement {
34
+ /**
35
+ * Returns true if the construct was created by CDKTF, and false otherwise
36
+ */
37
+ static isOwnedResource(construct) {
38
+ return construct.node.defaultChild
39
+ ? cdktf_1.TerraformResource.isTerraformResource(construct.node.defaultChild)
40
+ : false;
41
+ }
42
+ /**
43
+ * TerraConstruct unique grid identifier
44
+ */
45
+ get gridUUID() {
46
+ return stack_base_1.StackBase.ofTerraConstruct(this).gridUUID;
47
+ }
48
+ /**
49
+ * Environment Name passed in from the CLI
50
+ */
51
+ get environmentName() {
52
+ return stack_base_1.StackBase.ofTerraConstruct(this).environmentName;
53
+ }
54
+ constructor(scope, constructId, props = {}) {
55
+ super(scope, constructId);
56
+ this.constructId = constructId;
57
+ this.outputName = props.outputName || `${constructId}Outputs`;
58
+ this.friendlyName =
59
+ props.friendlyName || `${this.environmentName}-${constructId}`;
60
+ cdktf_1.Aspects.of(this) // Add Grid tags to every resource defined within.
61
+ .add(new GridTags({
62
+ [`${GRID_TAG_PREFIX}:EnvironmentName`]: this.environmentName,
63
+ [`${GRID_TAG_PREFIX}:UUID`]: this.gridUUID,
64
+ Name: this.friendlyName,
65
+ }));
66
+ const registerOutputs = props.registerOutputs || false;
67
+ if (registerOutputs) {
68
+ new cdktf_1.TerraformOutput(scope, this.outputName, {
69
+ staticId: true,
70
+ description: `Outputs for ${this.friendlyName}`,
71
+ value: cdktf_1.Lazy.anyValue({ produce: () => this.outputs || null }),
72
+ });
73
+ }
74
+ }
75
+ // force usage of node.addDependency instead of passing TerraConstructs via dependsOn
76
+ // Refering a TerraConstruct by fqn always triggers an error?
77
+ get fqn() {
78
+ // try {
79
+ // return super.fqn;
80
+ // } catch (e) {
81
+ // ref: https://github.com/aws/constructs/blob/10.x/src/construct.ts#L345
82
+ throw new Error(`Use Construct node.addDependency instead of passing TerraConstruct fqn ${this.constructor.name} ${this.constructId}`);
83
+ // }
84
+ }
85
+ }
86
+ exports.TerraConstructBase = TerraConstructBase;
87
+ _b = JSII_RTTI_SYMBOL_1;
88
+ TerraConstructBase[_b] = { fqn: "terraconstructs.TerraConstructBase", version: "0.0.8" };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RydWN0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FRZTtBQUVmLDZDQUF5QztBQXVDekMsU0FBUyxtQkFBbUIsQ0FBQyxDQUFhO0lBQ3hDLE9BQU8sQ0FDTCx5QkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLFdBQVcsSUFBSSxDQUFDLENBQzVFLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDO0FBRS9CLGdEQUFnRDtBQUNoRCxNQUFhLFFBQVE7SUFDbkIsWUFBb0IsU0FBaUM7UUFBakMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7SUFBRyxDQUFDO0lBQ3pELEtBQUssQ0FBQyxJQUFnQjtRQUNwQixJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUIsbUVBQW1FO1lBQ25FLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQzs7QUFSSCw0QkFTQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQXNCLGtCQUNwQixTQUFRLHdCQUFnQjtJQUd4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBcUI7UUFDakQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDaEMsQ0FBQyxDQUFDLHlCQUFpQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDWixDQUFDO0lBWUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxzQkFBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxzQkFBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUMxRCxDQUFDO0lBT0QsWUFDRSxLQUFnQixFQUNDLFdBQW1CLEVBQ3BDLFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUhULGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBSXBDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxHQUFHLFdBQVcsU0FBUyxDQUFDO1FBQzlELElBQUksQ0FBQyxZQUFZO1lBQ2YsS0FBSyxDQUFDLFlBQVksSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksV0FBVyxFQUFFLENBQUM7UUFFakUsZUFBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxrREFBa0Q7YUFDaEUsR0FBRyxDQUNGLElBQUksUUFBUSxDQUFDO1lBQ1gsQ0FBQyxHQUFHLGVBQWUsa0JBQWtCLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUM1RCxDQUFDLEdBQUcsZUFBZSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUMxQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDeEIsQ0FBQyxDQUNILENBQUM7UUFDSixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQztRQUN2RCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksdUJBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDMUMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsV0FBVyxFQUFFLGVBQWUsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDL0MsS0FBSyxFQUFFLFlBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQzthQUM5RCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELHFGQUFxRjtJQUNyRiw2REFBNkQ7SUFDN0QsSUFBVyxHQUFHO1FBQ1osUUFBUTtRQUNSLHNCQUFzQjtRQUN0QixnQkFBZ0I7UUFDaEIseUVBQXlFO1FBQ3pFLE1BQU0sSUFBSSxLQUFLLENBQ2IsMEVBQTBFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FDdEgsQ0FBQztRQUNGLElBQUk7SUFDTixDQUFDOztBQWpGSCxnREFrRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMYXp5LFxuICBUZXJyYWZvcm1SZXNvdXJjZSxcbiAgVGVycmFmb3JtRWxlbWVudCxcbiAgVGVycmFmb3JtT3V0cHV0LFxuICBUZXJyYWZvcm1NZXRhQXJndW1lbnRzLFxuICBBc3BlY3RzLFxuICBJQXNwZWN0LFxufSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTdGFja0Jhc2UgfSBmcm9tIFwiLi9zdGFjay1iYXNlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFDb25zdHJ1Y3RQcm9wcyBleHRlbmRzIFRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgICogVGhlIGZyaWVuZGx5IG5hbWUgZm9yIFRlcnJhQ29uc3RydWN0IHJlc291cmNlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGBlbnZpcm9ubWVudE5hbWUtaWRgXG4gICAqL1xuICByZWFkb25seSBmcmllbmRseU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVnaXN0ZXIgVGVycmFmb3JtIG91dHB1dHMgZm9yIHRoaXMgVGVycmFDb25zdHJ1Y3RcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lzdGVyT3V0cHV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgb3V0cHV0cyBuYW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IGlkXG4gICAqL1xuICByZWFkb25seSBvdXRwdXROYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZXJyYUNvbnN0cnVjdCBleHRlbmRzIElDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogRW52aXJvbm1lbnQgTmFtZSBwYXNzZWQgaW4gZnJvbSB0aGUgQ0xJXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZ3JpZFVVSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgb3V0cHV0czogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxudHlwZSBUYWdnYWJsZUNvbnN0cnVjdCA9IElDb25zdHJ1Y3QgJiB7XG4gIHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICB0YWdzSW5wdXQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufTtcblxuZnVuY3Rpb24gaXNUYWdnYWJsZUNvbnN0cnVjdCh4OiBJQ29uc3RydWN0KTogeCBpcyBUYWdnYWJsZUNvbnN0cnVjdCB7XG4gIHJldHVybiAoXG4gICAgVGVycmFmb3JtUmVzb3VyY2UuaXNUZXJyYWZvcm1SZXNvdXJjZSh4KSAmJiBcInRhZ3NcIiBpbiB4ICYmIFwidGFnc0lucHV0XCIgaW4geFxuICApO1xufVxuXG5jb25zdCBHUklEX1RBR19QUkVGSVggPSBcImdyaWRcIjtcblxuLy8gQWRkIEdyaWQgVGFncyB0byBhbGwgVGVycmFDb25zdHJ1Y3QgcmVzb3VyY2VzXG5leHBvcnQgY2xhc3MgR3JpZFRhZ3MgaW1wbGVtZW50cyBJQXNwZWN0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YWdzVG9BZGQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHt9XG4gIHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpIHtcbiAgICBpZiAoaXNUYWdnYWJsZUNvbnN0cnVjdChub2RlKSkge1xuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vY2RrdGYvY29uY2VwdHMvYXNwZWN0c1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBub2RlLnRhZ3NJbnB1dCB8fCB7fTtcbiAgICAgIG5vZGUudGFncyA9IHsgLi4udGhpcy50YWdzVG9BZGQsIC4uLmN1cnJlbnRUYWdzIH07XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWxsIFRlcnJhQ29uc3RydWN0c1xuICpcbiAqIEFsbG93cyBhIFRlcnJhQ29uc3RydWN0IHRvIGxhemlseSByZWdpc3RlciBpdHMgb3V0cHV0cyB3aXRoIGl0cyBwYXJlbnQgU3RhY2tcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRlcnJhQ29uc3RydWN0QmFzZVxuICBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnRcbiAgaW1wbGVtZW50cyBJVGVycmFDb25zdHJ1Y3RcbntcbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uc3RydWN0IHdhcyBjcmVhdGVkIGJ5IENES1RGLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzT3duZWRSZXNvdXJjZShjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29uc3RydWN0Lm5vZGUuZGVmYXVsdENoaWxkXG4gICAgICA/IFRlcnJhZm9ybVJlc291cmNlLmlzVGVycmFmb3JtUmVzb3VyY2UoY29uc3RydWN0Lm5vZGUuZGVmYXVsdENoaWxkKVxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSB1bmRlciB3aGljaCB0aGUgb3V0cHV0cyBhcmUgcmVnaXN0ZXJlZCBpbiB0aGUgcGFyZW50IFNjb3BlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUZXJyYUNvbnN0cnVjdCBmcmllbmRseSBuYW1lXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZnJpZW5kbHlOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRlcnJhQ29uc3RydWN0IHVuaXF1ZSBncmlkIGlkZW50aWZpZXJcbiAgICovXG4gIHB1YmxpYyBnZXQgZ3JpZFVVSUQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RhY2tCYXNlLm9mVGVycmFDb25zdHJ1Y3QodGhpcykuZ3JpZFVVSUQ7XG4gIH1cblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgTmFtZSBwYXNzZWQgaW4gZnJvbSB0aGUgQ0xJXG4gICAqL1xuICBwdWJsaWMgZ2V0IGVudmlyb25tZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdGFja0Jhc2Uub2ZUZXJyYUNvbnN0cnVjdCh0aGlzKS5lbnZpcm9ubWVudE5hbWU7XG4gIH1cblxuICAvKipcbiAgICogT3V0cHV0cyB0byByZWdpc3RlciB3aXRoIHRoZSBwYXJlbnQgU2NvcGUgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGFyZSBubyBvdXRwdXRzXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PjsgLy8gVE9ETzogc2hvdWxkIGJlIGFsbG93ZWQgdG8gYmUgdW5kZWZpbmVkP1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25zdHJ1Y3RJZDogc3RyaW5nLFxuICAgIHByb3BzOiBUZXJyYUNvbnN0cnVjdFByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBjb25zdHJ1Y3RJZCk7XG4gICAgdGhpcy5vdXRwdXROYW1lID0gcHJvcHMub3V0cHV0TmFtZSB8fCBgJHtjb25zdHJ1Y3RJZH1PdXRwdXRzYDtcbiAgICB0aGlzLmZyaWVuZGx5TmFtZSA9XG4gICAgICBwcm9wcy5mcmllbmRseU5hbWUgfHwgYCR7dGhpcy5lbnZpcm9ubWVudE5hbWV9LSR7Y29uc3RydWN0SWR9YDtcblxuICAgIEFzcGVjdHMub2YodGhpcykgLy8gQWRkIEdyaWQgdGFncyB0byBldmVyeSByZXNvdXJjZSBkZWZpbmVkIHdpdGhpbi5cbiAgICAgIC5hZGQoXG4gICAgICAgIG5ldyBHcmlkVGFncyh7XG4gICAgICAgICAgW2Ake0dSSURfVEFHX1BSRUZJWH06RW52aXJvbm1lbnROYW1lYF06IHRoaXMuZW52aXJvbm1lbnROYW1lLFxuICAgICAgICAgIFtgJHtHUklEX1RBR19QUkVGSVh9OlVVSURgXTogdGhpcy5ncmlkVVVJRCxcbiAgICAgICAgICBOYW1lOiB0aGlzLmZyaWVuZGx5TmFtZSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIGNvbnN0IHJlZ2lzdGVyT3V0cHV0cyA9IHByb3BzLnJlZ2lzdGVyT3V0cHV0cyB8fCBmYWxzZTtcbiAgICBpZiAocmVnaXN0ZXJPdXRwdXRzKSB7XG4gICAgICBuZXcgVGVycmFmb3JtT3V0cHV0KHNjb3BlLCB0aGlzLm91dHB1dE5hbWUsIHtcbiAgICAgICAgc3RhdGljSWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgT3V0cHV0cyBmb3IgJHt0aGlzLmZyaWVuZGx5TmFtZX1gLFxuICAgICAgICB2YWx1ZTogTGF6eS5hbnlWYWx1ZSh7IHByb2R1Y2U6ICgpID0+IHRoaXMub3V0cHV0cyB8fCBudWxsIH0pLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gZm9yY2UgdXNhZ2Ugb2Ygbm9kZS5hZGREZXBlbmRlbmN5IGluc3RlYWQgb2YgcGFzc2luZyBUZXJyYUNvbnN0cnVjdHMgdmlhIGRlcGVuZHNPblxuICAvLyBSZWZlcmluZyBhIFRlcnJhQ29uc3RydWN0IGJ5IGZxbiBhbHdheXMgdHJpZ2dlcnMgYW4gZXJyb3I/XG4gIHB1YmxpYyBnZXQgZnFuKCk6IHN0cmluZyB7XG4gICAgLy8gdHJ5IHtcbiAgICAvLyAgIHJldHVybiBzdXBlci5mcW47XG4gICAgLy8gfSBjYXRjaCAoZSkge1xuICAgIC8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9jb25zdHJ1Y3RzL2Jsb2IvMTAueC9zcmMvY29uc3RydWN0LnRzI0wzNDVcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVXNlIENvbnN0cnVjdCBub2RlLmFkZERlcGVuZGVuY3kgaW5zdGVhZCBvZiBwYXNzaW5nIFRlcnJhQ29uc3RydWN0IGZxbiAke3RoaXMuY29uc3RydWN0b3IubmFtZX0gJHt0aGlzLmNvbnN0cnVjdElkfWAsXG4gICAgKTtcbiAgICAvLyB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Represents a length of time.
3
+ *
4
+ * The amount can be specified either as a literal value (e.g: `10`) which
5
+ * cannot be negative, or as an unresolved number token.
6
+ *
7
+ * When the amount is passed as a token, unit conversion is not possible.
8
+ */
9
+ export declare class Duration {
10
+ /**
11
+ * Create a Duration representing an amount of milliseconds
12
+ *
13
+ * @param amount the amount of Milliseconds the `Duration` will represent.
14
+ * @returns a new `Duration` representing `amount` ms.
15
+ */
16
+ static millis(amount: number): Duration;
17
+ /**
18
+ * Create a Duration representing an amount of seconds
19
+ *
20
+ * @param amount the amount of Seconds the `Duration` will represent.
21
+ * @returns a new `Duration` representing `amount` Seconds.
22
+ */
23
+ static seconds(amount: number): Duration;
24
+ /**
25
+ * Create a Duration representing an amount of minutes
26
+ *
27
+ * @param amount the amount of Minutes the `Duration` will represent.
28
+ * @returns a new `Duration` representing `amount` Minutes.
29
+ */
30
+ static minutes(amount: number): Duration;
31
+ /**
32
+ * Create a Duration representing an amount of hours
33
+ *
34
+ * @param amount the amount of Hours the `Duration` will represent.
35
+ * @returns a new `Duration` representing `amount` Hours.
36
+ */
37
+ static hours(amount: number): Duration;
38
+ /**
39
+ * Create a Duration representing an amount of days
40
+ *
41
+ * @param amount the amount of Days the `Duration` will represent.
42
+ * @returns a new `Duration` representing `amount` Days.
43
+ */
44
+ static days(amount: number): Duration;
45
+ /**
46
+ * Parse a period formatted according to the ISO 8601 standard
47
+ *
48
+ * Days are the largest ISO duration supported, i.e.,
49
+ * weeks, months, and years are not supported.
50
+ *
51
+ * @example
52
+ * // This represents 1 day, 2 hours, 3 minutes, 4 seconds, and 567 milliseconds.
53
+ * 'P1DT2H3M4.567S'
54
+ *
55
+ * @see https://www.iso.org/standard/70907.html
56
+ * @param duration an ISO-formatted duration to be parsed.
57
+ * @returns the parsed `Duration`.
58
+ */
59
+ static parse(duration: string): Duration;
60
+ private readonly amount;
61
+ private readonly unit;
62
+ private constructor();
63
+ /**
64
+ * Add two Durations together
65
+ */
66
+ plus(rhs: Duration): Duration;
67
+ /**
68
+ * Substract two Durations together
69
+ */
70
+ minus(rhs: Duration): Duration;
71
+ /**
72
+ * Return the total number of milliseconds in this Duration
73
+ *
74
+ * @returns the value of this `Duration` expressed in Milliseconds.
75
+ */
76
+ toMilliseconds(opts?: TimeConversionOptions): number;
77
+ /**
78
+ * Return the total number of seconds in this Duration
79
+ *
80
+ * @returns the value of this `Duration` expressed in Seconds.
81
+ */
82
+ toSeconds(opts?: TimeConversionOptions): number;
83
+ /**
84
+ * Return the total number of minutes in this Duration
85
+ *
86
+ * @returns the value of this `Duration` expressed in Minutes.
87
+ */
88
+ toMinutes(opts?: TimeConversionOptions): number;
89
+ /**
90
+ * Return the total number of hours in this Duration
91
+ *
92
+ * @returns the value of this `Duration` expressed in Hours.
93
+ */
94
+ toHours(opts?: TimeConversionOptions): number;
95
+ /**
96
+ * Return the total number of days in this Duration
97
+ *
98
+ * @returns the value of this `Duration` expressed in Days.
99
+ */
100
+ toDays(opts?: TimeConversionOptions): number;
101
+ /**
102
+ * Return an ISO 8601 representation of this period
103
+ *
104
+ * @returns a string starting with 'P' describing the period
105
+ * @see https://www.iso.org/standard/70907.html
106
+ */
107
+ toIsoString(): string;
108
+ /**
109
+ * Return an ISO 8601 representation of this period
110
+ *
111
+ * @returns a string starting with 'P' describing the period
112
+ * @see https://www.iso.org/standard/70907.html
113
+ * @deprecated Use `toIsoString()` instead.
114
+ */
115
+ toISOString(): string;
116
+ /**
117
+ * Turn this duration into a human-readable string
118
+ */
119
+ toHumanString(): string;
120
+ /**
121
+ * Returns a string representation of this `Duration`
122
+ *
123
+ * This is is never the right function to use when you want to use the `Duration`
124
+ * object in a template. Use `toSeconds()`, `toMinutes()`, `toDays()`, etc. instead.
125
+ */
126
+ toString(): string;
127
+ /**
128
+ * Return the duration in a set of whole numbered time components, ordered from largest to smallest
129
+ *
130
+ * Only components != 0 will be returned.
131
+ *
132
+ * Can combine millis and seconds together for the benefit of toIsoString,
133
+ * makes the logic in there simpler.
134
+ */
135
+ private components;
136
+ /**
137
+ * Checks if duration is a token or a resolvable object
138
+ */
139
+ isUnresolved(): boolean;
140
+ /**
141
+ * Returns unit of the duration
142
+ */
143
+ unitLabel(): string;
144
+ /**
145
+ * Returns stringified number of duration
146
+ */
147
+ formatTokenToNumber(): string;
148
+ }
149
+ /**
150
+ * Options for how to convert time to a different unit.
151
+ */
152
+ export interface TimeConversionOptions {
153
+ /**
154
+ * If `true`, conversions into a larger time unit (e.g. `Seconds` to `Minutes`) will fail if the result is not an
155
+ * integer.
156
+ *
157
+ * @default true
158
+ */
159
+ readonly integral?: boolean;
160
+ }