terraconstructs 0.0.25 → 0.1.1

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 (422) hide show
  1. package/.jsii +83939 -55116
  2. package/.mise.toml +2 -2
  3. package/.nvmrc +1 -1
  4. package/LICENSE +202 -674
  5. package/go.mod +1 -1
  6. package/go.sum +2 -2
  7. package/lib/asset-manager.d.ts +23 -0
  8. package/lib/asset-manager.js +3 -0
  9. package/lib/asset-staging.d.ts +178 -0
  10. package/lib/asset-staging.js +589 -0
  11. package/lib/assets.d.ts +359 -0
  12. package/lib/assets.js +55 -0
  13. package/lib/aws/arn.js +16 -15
  14. package/lib/aws/aws-asset-manager.d.ts +91 -0
  15. package/lib/aws/aws-asset-manager.js +244 -0
  16. package/lib/aws/aws-construct.js +1 -1
  17. package/lib/aws/aws-stack.d.ts +37 -0
  18. package/lib/aws/aws-stack.js +30 -9
  19. package/lib/aws/aws-tags.js +2 -2
  20. package/lib/aws/cloudwatch/actions/appscaling.d.ts +15 -0
  21. package/lib/aws/cloudwatch/actions/appscaling.js +24 -0
  22. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  23. package/lib/aws/cloudwatch/actions/index.d.ts +3 -0
  24. package/lib/aws/cloudwatch/actions/index.js +4 -4
  25. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  26. package/lib/aws/cloudwatch/actions/sns.d.ts +14 -0
  27. package/lib/aws/cloudwatch/actions/sns.js +23 -0
  28. package/lib/aws/cloudwatch/actions/ssm.d.ts +72 -0
  29. package/lib/aws/cloudwatch/actions/ssm.js +104 -0
  30. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  31. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  32. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  33. package/lib/aws/cloudwatch/alarm.js +1 -1
  34. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  35. package/lib/aws/cloudwatch/dashboard.js +1 -1
  36. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  37. package/lib/aws/cloudwatch/graph.js +8 -8
  38. package/lib/aws/cloudwatch/layout.js +3 -3
  39. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  40. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  41. package/lib/aws/cloudwatch/log-group.js +1 -1
  42. package/lib/aws/cloudwatch/log-query.js +1 -1
  43. package/lib/aws/cloudwatch/log-stream.js +1 -1
  44. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  45. package/lib/aws/cloudwatch/metric.js +2 -2
  46. package/lib/aws/cloudwatch/pattern.js +3 -3
  47. package/lib/aws/cloudwatch/policy.js +1 -1
  48. package/lib/aws/cloudwatch/query-definition.js +2 -2
  49. package/lib/aws/cloudwatch/stats.js +1 -1
  50. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  51. package/lib/aws/cloudwatch/text.js +1 -1
  52. package/lib/aws/cloudwatch/variable.js +3 -3
  53. package/lib/aws/cloudwatch/widget.js +1 -1
  54. package/lib/aws/compute/access-log.d.ts +478 -0
  55. package/lib/aws/compute/access-log.js +649 -0
  56. package/lib/aws/compute/activity.js +1 -1
  57. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  58. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  59. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  60. package/lib/aws/compute/alb/application-listener.js +1 -1
  61. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  62. package/lib/aws/compute/alb/application-target-group.js +1 -1
  63. package/lib/aws/compute/alb/conditions.js +1 -1
  64. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  65. package/lib/aws/compute/alb/trust-store.js +1 -1
  66. package/lib/aws/compute/api-definition.d.ts +106 -0
  67. package/lib/aws/compute/api-definition.js +200 -0
  68. package/lib/aws/compute/api-key.d.ts +184 -0
  69. package/lib/aws/compute/api-key.js +197 -0
  70. package/lib/aws/compute/apigateway-canned-metrics.generated.d.ts +169 -0
  71. package/lib/aws/compute/apigateway-canned-metrics.generated.js +63 -0
  72. package/lib/aws/compute/apigateway-util.d.ts +31 -0
  73. package/lib/aws/compute/apigateway-util.js +152 -0
  74. package/lib/aws/compute/architecture.js +1 -1
  75. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  76. package/lib/aws/compute/authorizer.d.ts +35 -0
  77. package/lib/aws/compute/authorizer.js +28 -0
  78. package/lib/aws/compute/authorizers/identity-source.d.ts +37 -0
  79. package/lib/aws/compute/authorizers/identity-source.js +61 -0
  80. package/lib/aws/compute/authorizers/index.d.ts +2 -0
  81. package/lib/aws/compute/authorizers/index.js +20 -0
  82. package/lib/aws/compute/authorizers/lambda.d.ts +140 -0
  83. package/lib/aws/compute/authorizers/lambda.js +208 -0
  84. package/lib/aws/compute/base-path-mapping.d.ts +49 -0
  85. package/lib/aws/compute/base-path-mapping.js +52 -0
  86. package/lib/aws/compute/base-scalable-attribute.js +3 -3
  87. package/lib/aws/compute/bastion-host.js +1 -1
  88. package/lib/aws/compute/chain.js +1 -1
  89. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  90. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  91. package/lib/aws/compute/client-vpn-route.js +2 -2
  92. package/lib/aws/compute/code.d.ts +415 -0
  93. package/lib/aws/compute/code.js +424 -0
  94. package/lib/aws/compute/condition.js +1 -1
  95. package/lib/aws/compute/connections.js +1 -1
  96. package/lib/aws/compute/cors.d.ts +102 -0
  97. package/lib/aws/compute/cors.js +33 -0
  98. package/lib/aws/compute/deployment.d.ts +83 -0
  99. package/lib/aws/compute/deployment.js +158 -0
  100. package/lib/aws/compute/domain-name.d.ts +153 -0
  101. package/lib/aws/compute/domain-name.js +158 -0
  102. package/lib/aws/compute/event-invoke-config.d.ts +2 -2
  103. package/lib/aws/compute/event-invoke-config.js +4 -4
  104. package/lib/aws/compute/event-source-filter.js +2 -2
  105. package/lib/aws/compute/event-source-mapping.d.ts +2 -2
  106. package/lib/aws/compute/event-source-mapping.js +9 -7
  107. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  108. package/lib/aws/compute/event-sources/s3.js +1 -1
  109. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  110. package/lib/aws/compute/event-sources/sqs.js +3 -2
  111. package/lib/aws/compute/fields.js +4 -4
  112. package/lib/aws/compute/function-alias.d.ts +2 -0
  113. package/lib/aws/compute/function-alias.js +14 -2
  114. package/lib/aws/compute/function-base.d.ts +23 -0
  115. package/lib/aws/compute/function-base.js +4 -4
  116. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  117. package/lib/aws/compute/function-destinations/function.js +1 -1
  118. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  119. package/lib/aws/compute/function-nodejs/bundling.d.ts +75 -0
  120. package/lib/aws/compute/function-nodejs/bundling.js +405 -0
  121. package/lib/aws/compute/function-nodejs/function.d.ts +99 -0
  122. package/lib/aws/compute/function-nodejs/function.js +175 -0
  123. package/lib/aws/compute/function-nodejs/index.d.ts +2 -0
  124. package/lib/aws/compute/function-nodejs/index.js +19 -0
  125. package/lib/aws/compute/function-nodejs/package-installation.d.ts +8 -0
  126. package/lib/aws/compute/function-nodejs/package-installation.js +36 -0
  127. package/lib/aws/compute/function-nodejs/package-manager.d.ts +33 -0
  128. package/lib/aws/compute/function-nodejs/package-manager.js +99 -0
  129. package/lib/aws/compute/function-nodejs/types.d.ts +410 -0
  130. package/lib/aws/compute/function-nodejs/types.js +81 -0
  131. package/lib/aws/compute/function-nodejs/util.d.ts +60 -0
  132. package/lib/aws/compute/function-nodejs/util.js +202 -0
  133. package/lib/aws/compute/function-url.d.ts +2 -2
  134. package/lib/aws/compute/function-url.js +4 -4
  135. package/lib/aws/compute/function.d.ts +43 -5
  136. package/lib/aws/compute/function.js +106 -18
  137. package/lib/aws/compute/gateway-response.d.ts +157 -0
  138. package/lib/aws/compute/gateway-response.js +156 -0
  139. package/lib/aws/compute/handler.d.ts +10 -0
  140. package/lib/aws/compute/handler.js +20 -0
  141. package/lib/aws/compute/index.d.ts +27 -0
  142. package/lib/aws/compute/index.js +29 -1
  143. package/lib/aws/compute/instance-types.js +1 -1
  144. package/lib/aws/compute/instance.js +1 -1
  145. package/lib/aws/compute/integration.d.ts +311 -0
  146. package/lib/aws/compute/integration.js +165 -0
  147. package/lib/aws/compute/integrations/aws.d.ts +72 -0
  148. package/lib/aws/compute/integrations/aws.js +55 -0
  149. package/lib/aws/compute/integrations/http.d.ts +37 -0
  150. package/lib/aws/compute/integrations/http.js +35 -0
  151. package/lib/aws/compute/integrations/index.d.ts +6 -0
  152. package/lib/aws/compute/integrations/index.js +24 -0
  153. package/lib/aws/compute/integrations/lambda.d.ts +40 -0
  154. package/lib/aws/compute/integrations/lambda.js +73 -0
  155. package/lib/aws/compute/integrations/mock.d.ts +16 -0
  156. package/lib/aws/compute/integrations/mock.js +30 -0
  157. package/lib/aws/compute/integrations/request-context.d.ts +144 -0
  158. package/lib/aws/compute/integrations/request-context.js +3 -0
  159. package/lib/aws/compute/integrations/stepfunctions.d.ts +102 -0
  160. package/lib/aws/compute/integrations/stepfunctions.js +268 -0
  161. package/lib/aws/compute/ip-addresses.js +2 -2
  162. package/lib/aws/compute/ipam.js +1 -1
  163. package/lib/aws/compute/json-schema.d.ts +75 -0
  164. package/lib/aws/compute/json-schema.js +23 -0
  165. package/lib/aws/compute/key-pair.js +1 -1
  166. package/lib/aws/compute/lambda-api.d.ts +46 -0
  167. package/lib/aws/compute/lambda-api.js +64 -0
  168. package/lib/aws/compute/launch-template.js +2 -2
  169. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  170. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  171. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  172. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  173. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  174. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  175. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  176. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  177. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  178. package/lib/aws/compute/load-balancer.js +3 -3
  179. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  180. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  181. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  182. package/lib/aws/compute/machine-image/common.js +1 -1
  183. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  184. package/lib/aws/compute/method.d.ts +219 -0
  185. package/lib/aws/compute/method.js +396 -0
  186. package/lib/aws/compute/methodresponse.d.ts +28 -0
  187. package/lib/aws/compute/methodresponse.js +3 -0
  188. package/lib/aws/compute/model.d.ts +143 -0
  189. package/lib/aws/compute/model.js +141 -0
  190. package/lib/aws/compute/nat.js +5 -5
  191. package/lib/aws/compute/network-acl-types.js +2 -2
  192. package/lib/aws/compute/network-acl.js +3 -3
  193. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  194. package/lib/aws/compute/nlb/network-listener.js +1 -1
  195. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  196. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  197. package/lib/aws/compute/peer.js +1 -1
  198. package/lib/aws/compute/placement-group.js +1 -1
  199. package/lib/aws/compute/port.js +1 -1
  200. package/lib/aws/compute/prefix-list.js +1 -1
  201. package/lib/aws/compute/requestvalidator.d.ts +50 -0
  202. package/lib/aws/compute/requestvalidator.js +59 -0
  203. package/lib/aws/compute/resource.d.ts +223 -0
  204. package/lib/aws/compute/resource.js +316 -0
  205. package/lib/aws/compute/restapi.d.ts +510 -0
  206. package/lib/aws/compute/restapi.js +626 -0
  207. package/lib/aws/compute/route.js +8 -8
  208. package/lib/aws/compute/runtime.d.ts +282 -0
  209. package/lib/aws/compute/runtime.js +337 -0
  210. package/lib/aws/compute/scalable-target.js +3 -3
  211. package/lib/aws/compute/schedule.js +3 -3
  212. package/lib/aws/compute/security-group.js +1 -1
  213. package/lib/aws/compute/stage.d.ts +350 -0
  214. package/lib/aws/compute/stage.js +304 -0
  215. package/lib/aws/compute/state-graph.js +1 -1
  216. package/lib/aws/compute/state-machine-fragment.js +1 -1
  217. package/lib/aws/compute/state-machine.js +4 -4
  218. package/lib/aws/compute/states/choice.js +1 -1
  219. package/lib/aws/compute/states/custom-state.js +1 -1
  220. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  221. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  222. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  223. package/lib/aws/compute/states/distributed-map.js +1 -1
  224. package/lib/aws/compute/states/fail.js +1 -1
  225. package/lib/aws/compute/states/map-base.js +1 -1
  226. package/lib/aws/compute/states/map.js +1 -1
  227. package/lib/aws/compute/states/parallel.js +1 -1
  228. package/lib/aws/compute/states/pass.js +2 -2
  229. package/lib/aws/compute/states/state.js +1 -1
  230. package/lib/aws/compute/states/succeed.js +1 -1
  231. package/lib/aws/compute/states/task-base.js +2 -2
  232. package/lib/aws/compute/states/task.js +1 -1
  233. package/lib/aws/compute/states/wait.js +2 -2
  234. package/lib/aws/compute/step-scaling-action.js +3 -3
  235. package/lib/aws/compute/step-scaling-policy.js +1 -1
  236. package/lib/aws/compute/stepfunctions-api.d.ts +103 -0
  237. package/lib/aws/compute/stepfunctions-api.js +39 -0
  238. package/lib/aws/compute/subnet-v2.js +2 -2
  239. package/lib/aws/compute/subnet.js +1 -1
  240. package/lib/aws/compute/target-tracking-scaling-policy.js +3 -3
  241. package/lib/aws/compute/task-credentials.js +1 -1
  242. package/lib/aws/compute/task-input.js +1 -1
  243. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  244. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  245. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  246. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  247. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  248. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  249. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  250. package/lib/aws/compute/types.js +1 -1
  251. package/lib/aws/compute/usage-plan.d.ts +194 -0
  252. package/lib/aws/compute/usage-plan.js +174 -0
  253. package/lib/aws/compute/user-data.js +3 -3
  254. package/lib/aws/compute/volume.js +2 -2
  255. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  256. package/lib/aws/compute/vpc-endpoint.js +6 -6
  257. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  258. package/lib/aws/compute/vpc-link.d.ts +104 -0
  259. package/lib/aws/compute/vpc-link.js +137 -0
  260. package/lib/aws/compute/vpc-v2-base.js +1 -1
  261. package/lib/aws/compute/vpc-v2.js +2 -2
  262. package/lib/aws/compute/vpc.js +4 -4
  263. package/lib/aws/compute/vpn.js +3 -3
  264. package/lib/aws/edge/certificate.js +1 -1
  265. package/lib/aws/edge/distribution.js +3 -3
  266. package/lib/aws/edge/dns-alias-record-targets.js +3 -3
  267. package/lib/aws/edge/dns-record.js +13 -13
  268. package/lib/aws/edge/dns-zone.js +1 -1
  269. package/lib/aws/edge/function.js +2 -2
  270. package/lib/aws/edge/key-value-store.js +4 -4
  271. package/lib/aws/edge/origin.js +3 -3
  272. package/lib/aws/edge/response-headers-policy.js +1 -1
  273. package/lib/aws/encryption/alias.js +1 -1
  274. package/lib/aws/encryption/key.js +1 -1
  275. package/lib/aws/encryption/via-service-principal.js +1 -1
  276. package/lib/aws/iam/grant.js +2 -2
  277. package/lib/aws/iam/group.js +1 -1
  278. package/lib/aws/iam/instance-profile.js +1 -1
  279. package/lib/aws/iam/managed-policy.js +1 -1
  280. package/lib/aws/iam/oidc-provider.js +1 -1
  281. package/lib/aws/iam/policy-document.js +1 -1
  282. package/lib/aws/iam/policy-statement.js +1 -1
  283. package/lib/aws/iam/policy.js +1 -1
  284. package/lib/aws/iam/principals.js +20 -20
  285. package/lib/aws/iam/role.js +1 -1
  286. package/lib/aws/iam/saml-provider.js +2 -2
  287. package/lib/aws/iam/unknown-principal.js +1 -1
  288. package/lib/aws/iam/user.js +5 -5
  289. package/lib/aws/index.d.ts +1 -0
  290. package/lib/aws/index.js +4 -1
  291. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  292. package/lib/aws/network/subnet-group.js +3 -3
  293. package/lib/aws/network/subnet.js +4 -4
  294. package/lib/aws/notify/archive.js +1 -1
  295. package/lib/aws/notify/connection.js +3 -3
  296. package/lib/aws/notify/event-bus.js +3 -3
  297. package/lib/aws/notify/event-pattern.js +1 -1
  298. package/lib/aws/notify/input.js +2 -2
  299. package/lib/aws/notify/kinesis-stream.js +1 -1
  300. package/lib/aws/notify/notification-rule.d.ts +1 -1
  301. package/lib/aws/notify/notification-rule.js +5 -5
  302. package/lib/aws/notify/policy.js +1 -1
  303. package/lib/aws/notify/queue-policy.js +1 -1
  304. package/lib/aws/notify/queue.js +1 -1
  305. package/lib/aws/notify/resource-policy.js +1 -1
  306. package/lib/aws/notify/rule.js +1 -1
  307. package/lib/aws/notify/schedule.js +1 -1
  308. package/lib/aws/notify/subscription-filter.js +1 -1
  309. package/lib/aws/notify/subscription.js +4 -4
  310. package/lib/aws/notify/subscriptions/email.js +1 -1
  311. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  312. package/lib/aws/notify/subscriptions/sms.js +1 -1
  313. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  314. package/lib/aws/notify/subscriptions/url.js +1 -1
  315. package/lib/aws/notify/targets/event-bus.js +1 -1
  316. package/lib/aws/notify/targets/function.js +1 -1
  317. package/lib/aws/notify/targets/log-group.js +2 -2
  318. package/lib/aws/notify/targets/sqs.js +1 -1
  319. package/lib/aws/notify/targets/state-machine.js +1 -1
  320. package/lib/aws/notify/topic-base.js +1 -1
  321. package/lib/aws/notify/topic.js +6 -5
  322. package/lib/aws/partition.d.ts +21 -0
  323. package/lib/aws/partition.js +42 -0
  324. package/lib/aws/storage/assets/image-asset.d.ts +379 -0
  325. package/lib/aws/storage/assets/image-asset.js +247 -0
  326. package/lib/aws/storage/assets/index.d.ts +2 -0
  327. package/lib/aws/storage/assets/index.js +21 -0
  328. package/lib/aws/storage/assets/s3.d.ts +125 -0
  329. package/lib/aws/storage/assets/s3.js +80 -0
  330. package/lib/aws/storage/auth-token.d.ts +25 -0
  331. package/lib/aws/storage/auth-token.js +54 -0
  332. package/lib/aws/storage/billing.js +1 -1
  333. package/lib/aws/storage/bucket-notifications.js +1 -1
  334. package/lib/aws/storage/bucket-policy.js +1 -1
  335. package/lib/aws/storage/bucket-source.d.ts +1 -1
  336. package/lib/aws/storage/bucket-source.js +4 -4
  337. package/lib/aws/storage/bucket.d.ts +14 -6
  338. package/lib/aws/storage/bucket.js +48 -40
  339. package/lib/aws/storage/capacity.js +1 -1
  340. package/lib/aws/storage/ecr-lifecycle.d.ts +88 -0
  341. package/lib/aws/storage/ecr-lifecycle.js +23 -0
  342. package/lib/aws/storage/ecr-repository.d.ts +446 -0
  343. package/lib/aws/storage/ecr-repository.js +685 -0
  344. package/lib/aws/storage/encryption.js +1 -1
  345. package/lib/aws/storage/index.d.ts +5 -0
  346. package/lib/aws/storage/index.js +10 -3
  347. package/lib/aws/storage/location.d.ts +17 -0
  348. package/lib/aws/storage/location.js +4 -0
  349. package/lib/aws/storage/notification-targets/function.js +1 -1
  350. package/lib/aws/storage/notification-targets/queue.js +1 -1
  351. package/lib/aws/storage/origin-access-identity.js +1 -1
  352. package/lib/aws/storage/parameter.js +2 -2
  353. package/lib/aws/storage/table.js +3 -3
  354. package/lib/aws/storage/util.d.ts +8 -20
  355. package/lib/aws/storage/util.js +56 -34
  356. package/lib/aws/util.d.ts +1 -0
  357. package/lib/aws/util.js +6 -1
  358. package/lib/bundling.d.ts +434 -0
  359. package/lib/bundling.js +368 -0
  360. package/lib/construct-base.js +2 -2
  361. package/lib/duration.js +1 -1
  362. package/lib/expiration.js +1 -1
  363. package/lib/fs/copy.d.ts +2 -0
  364. package/lib/fs/copy.js +57 -0
  365. package/lib/fs/fingerprint.d.ts +21 -0
  366. package/lib/fs/fingerprint.js +165 -0
  367. package/lib/fs/ignore.d.ts +107 -0
  368. package/lib/fs/ignore.js +190 -0
  369. package/lib/fs/index.d.ts +47 -0
  370. package/lib/fs/index.js +88 -0
  371. package/lib/fs/options.d.ts +110 -0
  372. package/lib/fs/options.js +60 -0
  373. package/lib/fs/utils.d.ts +11 -0
  374. package/lib/fs/utils.js +34 -0
  375. package/lib/index.d.ts +5 -0
  376. package/lib/index.js +7 -1
  377. package/lib/private/asset-staging.d.ts +83 -0
  378. package/lib/private/asset-staging.js +205 -0
  379. package/lib/private/cache.d.ts +17 -0
  380. package/lib/private/cache.js +35 -0
  381. package/lib/private/jsii-deprecated.d.ts +2 -0
  382. package/lib/private/jsii-deprecated.js +19 -0
  383. package/lib/private/unique-resource-name.js +3 -2
  384. package/lib/size.js +1 -1
  385. package/lib/stack-base.js +1 -1
  386. package/lib/terra-func.js +2 -2
  387. package/lib/time-zone.js +1 -1
  388. package/node_modules/@balena/dockerignore/CHANGELOG.md +31 -0
  389. package/node_modules/@balena/dockerignore/LICENSE.md +206 -0
  390. package/node_modules/@balena/dockerignore/README.md +261 -0
  391. package/node_modules/@balena/dockerignore/ignore.js +363 -0
  392. package/node_modules/@balena/dockerignore/index.d.ts +45 -0
  393. package/node_modules/@balena/dockerignore/package.json +49 -0
  394. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  395. package/node_modules/balanced-match/LICENSE.md +21 -0
  396. package/node_modules/balanced-match/README.md +97 -0
  397. package/node_modules/balanced-match/index.js +62 -0
  398. package/node_modules/balanced-match/package.json +48 -0
  399. package/node_modules/concat-map/.travis.yml +4 -0
  400. package/node_modules/concat-map/LICENSE +18 -0
  401. package/node_modules/concat-map/README.markdown +62 -0
  402. package/node_modules/concat-map/example/map.js +6 -0
  403. package/node_modules/concat-map/index.js +13 -0
  404. package/node_modules/concat-map/package.json +43 -0
  405. package/node_modules/concat-map/test/map.js +39 -0
  406. package/node_modules/ignore/LICENSE-MIT +21 -0
  407. package/node_modules/ignore/README.md +412 -0
  408. package/node_modules/ignore/index.d.ts +61 -0
  409. package/node_modules/ignore/index.js +636 -0
  410. package/node_modules/ignore/legacy.js +559 -0
  411. package/node_modules/ignore/package.json +74 -0
  412. package/node_modules/minimatch/LICENSE +15 -0
  413. package/node_modules/minimatch/README.md +230 -0
  414. package/node_modules/minimatch/minimatch.js +947 -0
  415. package/node_modules/minimatch/node_modules/brace-expansion/LICENSE +21 -0
  416. package/node_modules/minimatch/node_modules/brace-expansion/README.md +129 -0
  417. package/node_modules/minimatch/node_modules/brace-expansion/index.js +201 -0
  418. package/node_modules/minimatch/node_modules/brace-expansion/package.json +47 -0
  419. package/node_modules/minimatch/package.json +33 -0
  420. package/package.json +14 -5
  421. package/lib/aws/compute/function-nodejs.d.ts +0 -55
  422. package/lib/aws/compute/function-nodejs.js +0 -70
@@ -0,0 +1,415 @@
1
+ import * as cdktf from "cdktf";
2
+ import { Construct } from "constructs";
3
+ import { DockerBuildOptions } from "../../bundling";
4
+ import { IKey } from "../encryption";
5
+ import * as storage from "../storage";
6
+ import * as ecr_assets from "../storage/assets/image-asset";
7
+ import * as s3_assets from "../storage/assets/s3";
8
+ /**
9
+ * Represents the Lambda Handler Code.
10
+ */
11
+ export declare abstract class Code {
12
+ /**
13
+ * Lambda handler code as an S3 object.
14
+ * @param bucket The S3 bucket
15
+ * @param key The object key
16
+ * @param objectVersion Optional S3 object version
17
+ */
18
+ static fromBucket(bucket: storage.IBucket, key: string, objectVersion?: string): S3Code;
19
+ /**
20
+ * Lambda handler code as an S3 object.
21
+ * @param bucket The S3 bucket
22
+ * @param key The object key
23
+ * @param options Optional parameters for setting the code, current optional parameters to set here are
24
+ * 1. `objectVersion` to set S3 object version
25
+ * 2. `sourceKMSKey` to set KMS Key for encryption of code
26
+ */
27
+ static fromBucketV2(bucket: storage.IBucket, key: string, options?: BucketOptions): S3CodeV2;
28
+ /**
29
+ * DEPRECATED
30
+ * @deprecated use `fromBucket`
31
+ */
32
+ static bucket(bucket: storage.IBucket, key: string, objectVersion?: string): S3Code;
33
+ /**
34
+ * Inline code for Lambda handler
35
+ * @returns `LambdaInlineCode` with inline code.
36
+ * @param code The actual handler code (the resulting zip file cannot exceed 4MB)
37
+ */
38
+ static fromInline(code: string): InlineCode;
39
+ /**
40
+ * DEPRECATED
41
+ * @deprecated use `fromInline`
42
+ */
43
+ static inline(code: string): InlineCode;
44
+ /**
45
+ * Loads the function code from a local disk path.
46
+ *
47
+ * @param path Either a directory with the Lambda code bundle or a .zip file
48
+ */
49
+ static fromAsset(path: string, options?: s3_assets.AssetOptions): AssetCode;
50
+ /**
51
+ * Runs a command to build the code asset that will be used.
52
+ *
53
+ * @param output Where the output of the command will be directed, either a directory or a .zip file with the output Lambda code bundle
54
+ * * For example, if you use the command to run a build script (e.g., [ 'node', 'bundle_code.js' ]), and the build script generates a directory `/my/lambda/code`
55
+ * containing code that should be ran in a Lambda function, then output should be set to `/my/lambda/code`
56
+ * @param command The command which will be executed to generate the output, for example, [ 'node', 'bundle_code.js' ]
57
+ * @param options options for the custom command, and other asset options -- but bundling options are not allowed.
58
+ */
59
+ static fromCustomCommand(output: string, command: string[], options?: CustomCommandOptions): AssetCode;
60
+ /**
61
+ * Loads the function code from an asset created by a Docker build.
62
+ *
63
+ * By default, the asset is expected to be located at `/asset` in the
64
+ * image.
65
+ *
66
+ * @param path The path to the directory containing the Docker file
67
+ * @param options Docker build options
68
+ */
69
+ static fromDockerBuild(path: string, options?: DockerBuildAssetOptions): AssetCode;
70
+ /**
71
+ * DEPRECATED
72
+ * @deprecated use `fromAsset`
73
+ */
74
+ static asset(path: string): AssetCode;
75
+ /**
76
+ * Creates a new Lambda source defined using Terraform variables.
77
+ *
78
+ * @returns a new instance of `TerraformVariablesCode`
79
+ * @param props optional construction properties of `TerraformVariablesCode`
80
+ */
81
+ static fromTerraformVariables(props?: TerraformVariablesCodeProps): TerraformVariablesCode;
82
+ /**
83
+ * DEPRECATED
84
+ * @deprecated use `fromCfnParameters`
85
+ */
86
+ static terraformVariables(props?: TerraformVariablesCodeProps): TerraformVariablesCode;
87
+ /**
88
+ * Use an existing ECR image as the Lambda code.
89
+ * @param repository the ECR repository that the image is in
90
+ * @param props properties to further configure the selected image
91
+ */
92
+ static fromEcrImage(repository: storage.IRepository, props?: EcrImageCodeProps): EcrImageCode;
93
+ /**
94
+ * Create an ECR image from the specified asset and bind it as the Lambda code.
95
+ * @param directory the directory from which the asset must be created
96
+ * @param props properties to further configure the selected image
97
+ */
98
+ static fromAssetImage(directory: string, props?: AssetImageCodeProps): AssetImageCode;
99
+ /**
100
+ * Determines whether this Code is inline code or not.
101
+ *
102
+ * @deprecated this value is ignored since inline is now determined based on the
103
+ * the `inlineCode` field of `CodeConfig` returned from `bind()`.
104
+ */
105
+ abstract readonly isInline: boolean;
106
+ /**
107
+ * Called when the lambda or layer is initialized to allow this object to bind
108
+ * to the stack, add resources and have fun.
109
+ *
110
+ * @param scope The binding scope. Don't be smart about trying to down-cast or
111
+ * assume it's initialized. You may just use it as a construct scope.
112
+ */
113
+ abstract bind(scope: Construct): CodeConfig;
114
+ }
115
+ /**
116
+ * Result of binding `Code` into a `Function`.
117
+ */
118
+ export interface CodeConfig {
119
+ /**
120
+ * The location of the code in S3 (mutually exclusive with `inlineCode` and `image`).
121
+ * @default - code is not an s3 location
122
+ */
123
+ readonly s3Location?: storage.S3Location;
124
+ /**
125
+ * Inline code (mutually exclusive with `s3Location` and `image`).
126
+ * @default - code is not inline code
127
+ */
128
+ readonly inlineCode?: string;
129
+ /**
130
+ * Docker image configuration (mutually exclusive with `s3Location` and `inlineCode`).
131
+ * @default - code is not an ECR container image
132
+ */
133
+ readonly image?: CodeImageConfig;
134
+ /**
135
+ * The ARN of the KMS key used to encrypt the handler code.
136
+ * @default - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
137
+ */
138
+ readonly sourceKMSKeyArn?: string;
139
+ /**
140
+ * A hash of the source code, used to determine if the code has changed.
141
+ */
142
+ readonly sourceCodeHash?: string;
143
+ }
144
+ /**
145
+ * Result of the bind when an ECR image is used.
146
+ */
147
+ export interface CodeImageConfig {
148
+ /**
149
+ * URI to the Docker image.
150
+ */
151
+ readonly imageUri: string;
152
+ /**
153
+ * Specify or override the CMD on the specified Docker image or Dockerfile.
154
+ * This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
155
+ * @see https://docs.docker.com/engine/reference/builder/#cmd
156
+ * @default - use the CMD specified in the docker image or Dockerfile.
157
+ */
158
+ readonly cmd?: string[];
159
+ /**
160
+ * Specify or override the ENTRYPOINT on the specified Docker image or Dockerfile.
161
+ * An ENTRYPOINT allows you to configure a container that will run as an executable.
162
+ * This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
163
+ * @see https://docs.docker.com/engine/reference/builder/#entrypoint
164
+ * @default - use the ENTRYPOINT in the docker image or Dockerfile.
165
+ */
166
+ readonly entrypoint?: string[];
167
+ /**
168
+ * Specify or override the WORKDIR on the specified Docker image or Dockerfile.
169
+ * A WORKDIR allows you to configure the working directory the container will use.
170
+ * @see https://docs.docker.com/engine/reference/builder/#workdir
171
+ * @default - use the WORKDIR in the docker image or Dockerfile.
172
+ */
173
+ readonly workingDirectory?: string;
174
+ }
175
+ /**
176
+ * Lambda code from an S3 archive.
177
+ */
178
+ export declare class S3Code extends Code {
179
+ private key;
180
+ private objectVersion?;
181
+ readonly isInline = false;
182
+ private bucketName;
183
+ constructor(bucket: storage.IBucket, key: string, objectVersion?: string | undefined);
184
+ bind(_scope: Construct): CodeConfig;
185
+ }
186
+ /**
187
+ * Lambda code from an S3 archive. With option to set KMSKey for encryption.
188
+ */
189
+ export declare class S3CodeV2 extends Code {
190
+ private key;
191
+ private options?;
192
+ readonly isInline = false;
193
+ private bucketName;
194
+ constructor(bucket: storage.IBucket, key: string, options?: BucketOptions | undefined);
195
+ bind(_scope: Construct): CodeConfig;
196
+ }
197
+ /**
198
+ * Lambda code from an inline string.
199
+ */
200
+ export declare class InlineCode extends Code {
201
+ private code;
202
+ readonly isInline = true;
203
+ constructor(code: string);
204
+ bind(_scope: Construct): CodeConfig;
205
+ }
206
+ /**
207
+ * Lambda code from a local directory.
208
+ */
209
+ export declare class AssetCode extends Code {
210
+ readonly path: string;
211
+ private readonly options;
212
+ readonly isInline = false;
213
+ private asset?;
214
+ /**
215
+ * @param path The path to the asset file or directory.
216
+ */
217
+ constructor(path: string, options?: s3_assets.AssetOptions);
218
+ bind(scope: Construct): CodeConfig;
219
+ }
220
+ export interface ResourceBindOptions {
221
+ /**
222
+ * The name of the property to annotate with asset metadata.
223
+ * @see https://github.com/aws/aws-cdk/issues/1432
224
+ * @default Code
225
+ */
226
+ readonly resourceProperty?: string;
227
+ }
228
+ /**
229
+ * Construction properties for `TerraformVariablesCode`.
230
+ */
231
+ export interface TerraformVariablesCodeProps {
232
+ /**
233
+ * The Terraform variable that represents the name of the S3 Bucket
234
+ * where the Lambda code will be located in.
235
+ * Must be of type 'String'.
236
+ *
237
+ * @default a new variable will be created
238
+ */
239
+ readonly bucketNameVar?: cdktf.TerraformVariable;
240
+ /**
241
+ * The Terraform variable that represents the path inside the S3 Bucket
242
+ * where the Lambda code will be located at.
243
+ * Must be of type 'String'.
244
+ *
245
+ * @default a new variable will be created
246
+ */
247
+ readonly objectKeyVar?: cdktf.TerraformVariable;
248
+ /**
249
+ * The ARN of the KMS key used to encrypt the handler code.
250
+ * @default - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
251
+ */
252
+ readonly sourceKMSKey?: IKey;
253
+ }
254
+ /**
255
+ * Lambda code defined using 2 Terraform variables.
256
+ * Useful when you don't have access to the code of your Lambda from your CDK code, so you can't use Assets,
257
+ * and you want to deploy the Lambda in a pipeline, during Terraform execution.
258
+ */
259
+ export declare class TerraformVariablesCode extends Code {
260
+ readonly isInline = false;
261
+ private _bucketNameVar?;
262
+ private _objectKeyVar?;
263
+ private _sourceKMSKey?;
264
+ constructor(props?: TerraformVariablesCodeProps);
265
+ bind(scope: Construct): CodeConfig;
266
+ /**
267
+ * Create a parameters map from this instance's Terraform variables.
268
+ *
269
+ * It returns a map with 2 keys that correspond to the names of the parameters defined in this Lambda code,
270
+ * and as values it contains the appropriate expressions pointing at the provided S3 location
271
+ * (most likely, obtained from a CodePipeline Artifact by calling the `artifact.s3Location` method).
272
+ * The result should be provided to the CloudFormation Action
273
+ * that is deploying the Stack that the Lambda with this code is part of,
274
+ * in the `parameterOverrides` property.
275
+ *
276
+ * @param location the location of the object in S3 that represents the Lambda code
277
+ */
278
+ assign(location: storage.S3Location): {
279
+ [name: string]: any;
280
+ };
281
+ get bucketNameVar(): string;
282
+ get objectKeyVar(): string;
283
+ }
284
+ /**
285
+ * Properties to initialize a new EcrImageCode
286
+ */
287
+ export interface EcrImageCodeProps {
288
+ /**
289
+ * Specify or override the CMD on the specified Docker image or Dockerfile.
290
+ * This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
291
+ * @see https://docs.docker.com/engine/reference/builder/#cmd
292
+ * @default - use the CMD specified in the docker image or Dockerfile.
293
+ */
294
+ readonly cmd?: string[];
295
+ /**
296
+ * Specify or override the ENTRYPOINT on the specified Docker image or Dockerfile.
297
+ * An ENTRYPOINT allows you to configure a container that will run as an executable.
298
+ * This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
299
+ * @see https://docs.docker.com/engine/reference/builder/#entrypoint
300
+ * @default - use the ENTRYPOINT in the docker image or Dockerfile.
301
+ */
302
+ readonly entrypoint?: string[];
303
+ /**
304
+ * Specify or override the WORKDIR on the specified Docker image or Dockerfile.
305
+ * A WORKDIR allows you to configure the working directory the container will use.
306
+ * @see https://docs.docker.com/engine/reference/builder/#workdir
307
+ * @default - use the WORKDIR in the docker image or Dockerfile.
308
+ */
309
+ readonly workingDirectory?: string;
310
+ /**
311
+ * The image tag to use when pulling the image from ECR.
312
+ * @default 'latest'
313
+ * @deprecated use `tagOrDigest`
314
+ */
315
+ readonly tag?: string;
316
+ /**
317
+ * The image tag or digest to use when pulling the image from ECR (digests must start with `sha256:`).
318
+ * @default 'latest'
319
+ */
320
+ readonly tagOrDigest?: string;
321
+ }
322
+ /**
323
+ * Represents a Docker image in ECR that can be bound as Lambda Code.
324
+ */
325
+ export declare class EcrImageCode extends Code {
326
+ private readonly repository;
327
+ private readonly props;
328
+ readonly isInline: boolean;
329
+ constructor(repository: storage.IRepository, props?: EcrImageCodeProps);
330
+ bind(_scope: Construct): CodeConfig;
331
+ }
332
+ /**
333
+ * Properties to initialize a new AssetImage
334
+ */
335
+ export interface AssetImageCodeProps extends ecr_assets.DockerImageAssetOptions {
336
+ /**
337
+ * Specify or override the CMD on the specified Docker image or Dockerfile.
338
+ * This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
339
+ * @see https://docs.docker.com/engine/reference/builder/#cmd
340
+ * @default - use the CMD specified in the docker image or Dockerfile.
341
+ */
342
+ readonly cmd?: string[];
343
+ /**
344
+ * Specify or override the ENTRYPOINT on the specified Docker image or Dockerfile.
345
+ * An ENTRYPOINT allows you to configure a container that will run as an executable.
346
+ * This needs to be in the 'exec form', viz., `[ 'executable', 'param1', 'param2' ]`.
347
+ * @see https://docs.docker.com/engine/reference/builder/#entrypoint
348
+ * @default - use the ENTRYPOINT in the docker image or Dockerfile.
349
+ */
350
+ readonly entrypoint?: string[];
351
+ /**
352
+ * Specify or override the WORKDIR on the specified Docker image or Dockerfile.
353
+ * A WORKDIR allows you to configure the working directory the container will use.
354
+ * @see https://docs.docker.com/engine/reference/builder/#workdir
355
+ * @default - use the WORKDIR in the docker image or Dockerfile.
356
+ */
357
+ readonly workingDirectory?: string;
358
+ }
359
+ /**
360
+ * Represents an ECR image that will be constructed from the specified asset and can be bound as Lambda code.
361
+ */
362
+ export declare class AssetImageCode extends Code {
363
+ private readonly directory;
364
+ private readonly props;
365
+ readonly isInline: boolean;
366
+ private asset?;
367
+ constructor(directory: string, props: AssetImageCodeProps);
368
+ bind(scope: Construct): CodeConfig;
369
+ }
370
+ /**
371
+ * Options when creating an asset from a Docker build.
372
+ */
373
+ export interface DockerBuildAssetOptions extends DockerBuildOptions {
374
+ /**
375
+ * The path in the Docker image where the asset is located after the build
376
+ * operation.
377
+ *
378
+ * @default /asset
379
+ */
380
+ readonly imagePath?: string;
381
+ /**
382
+ * The path on the local filesystem where the asset will be copied
383
+ * using `docker cp`.
384
+ *
385
+ * @default - a unique temporary directory in the system temp directory
386
+ */
387
+ readonly outputPath?: string;
388
+ }
389
+ /**
390
+ * Options for creating `AssetCode` with a custom command, such as running a buildfile.
391
+ */
392
+ export interface CustomCommandOptions extends s3_assets.AssetOptions {
393
+ /**
394
+ * options that are passed to the spawned process, which determine the characteristics of the spawned process.
395
+ *
396
+ * @default: see `child_process.SpawnSyncOptions` (https://nodejs.org/api/child_process.html#child_processspawnsynccommand-args-options).
397
+ */
398
+ readonly commandOptions?: {
399
+ [options: string]: any;
400
+ };
401
+ }
402
+ /**
403
+ * Optional parameters for creating code using bucket
404
+ */
405
+ export interface BucketOptions {
406
+ /**
407
+ * Optional S3 object version
408
+ */
409
+ readonly objectVersion?: string;
410
+ /**
411
+ * The ARN of the KMS key used to encrypt the handler code.
412
+ * @default - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
413
+ */
414
+ readonly sourceKMSKey?: IKey;
415
+ }