terraconstructs 0.0.10 → 0.0.12

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 (410) hide show
  1. package/.jsii +104486 -34582
  2. package/lib/aws/arn.js +1 -1
  3. package/lib/aws/aws-construct.d.ts +1 -1
  4. package/lib/aws/aws-construct.js +28 -2
  5. package/lib/aws/aws-stack.d.ts +2 -4
  6. package/lib/aws/aws-stack.js +21 -8
  7. package/lib/aws/aws-tags.d.ts +58 -0
  8. package/lib/aws/aws-tags.js +77 -0
  9. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  10. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  11. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  12. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  13. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  14. package/lib/aws/cloudwatch/alarm.js +1 -1
  15. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  16. package/lib/aws/cloudwatch/dashboard.js +1 -1
  17. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  18. package/lib/aws/cloudwatch/graph.js +8 -8
  19. package/lib/aws/cloudwatch/layout.js +3 -3
  20. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  21. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  22. package/lib/aws/cloudwatch/log-group.js +1 -1
  23. package/lib/aws/cloudwatch/log-query.js +1 -1
  24. package/lib/aws/cloudwatch/log-stream.js +1 -1
  25. package/lib/aws/cloudwatch/metric-filter.d.ts +1 -1
  26. package/lib/aws/cloudwatch/metric-filter.js +4 -4
  27. package/lib/aws/cloudwatch/metric.js +2 -2
  28. package/lib/aws/cloudwatch/pattern.js +3 -3
  29. package/lib/aws/cloudwatch/policy.js +1 -1
  30. package/lib/aws/cloudwatch/private/env-tokens.js +5 -6
  31. package/lib/aws/cloudwatch/private/metric-util.js +4 -5
  32. package/lib/aws/cloudwatch/private/object.js +2 -3
  33. package/lib/aws/cloudwatch/private/rendering.js +3 -3
  34. package/lib/aws/cloudwatch/private/statistic.js +6 -7
  35. package/lib/aws/cloudwatch/query-definition.js +2 -2
  36. package/lib/aws/cloudwatch/stats.js +1 -1
  37. package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
  38. package/lib/aws/cloudwatch/subscription-filter.js +4 -4
  39. package/lib/aws/cloudwatch/text.js +1 -1
  40. package/lib/aws/cloudwatch/variable.js +3 -3
  41. package/lib/aws/cloudwatch/widget.d.ts +1 -1
  42. package/lib/aws/cloudwatch/widget.js +4 -4
  43. package/lib/aws/compute/activity.js +3 -2
  44. package/lib/aws/compute/alb/application-listener-action.d.ts +334 -0
  45. package/lib/aws/compute/alb/application-listener-action.js +281 -0
  46. package/lib/aws/compute/alb/application-listener-certificate.d.ts +35 -0
  47. package/lib/aws/compute/alb/application-listener-certificate.js +35 -0
  48. package/lib/aws/compute/alb/application-listener-rule.d.ts +233 -0
  49. package/lib/aws/compute/alb/application-listener-rule.js +220 -0
  50. package/lib/aws/compute/alb/application-listener.d.ts +574 -0
  51. package/lib/aws/compute/alb/application-listener.js +538 -0
  52. package/lib/aws/compute/alb/application-load-balancer.d.ts +715 -0
  53. package/lib/aws/compute/alb/application-load-balancer.js +780 -0
  54. package/lib/aws/compute/alb/application-target-group.d.ts +339 -0
  55. package/lib/aws/compute/alb/application-target-group.js +427 -0
  56. package/lib/aws/compute/alb/conditions.d.ts +61 -0
  57. package/lib/aws/compute/alb/conditions.js +164 -0
  58. package/lib/aws/compute/alb/trust-store-revocation.d.ts +59 -0
  59. package/lib/aws/compute/alb/trust-store-revocation.js +46 -0
  60. package/lib/aws/compute/alb/trust-store.d.ts +86 -0
  61. package/lib/aws/compute/alb/trust-store.js +79 -0
  62. package/lib/aws/compute/architecture.js +1 -1
  63. package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +75 -0
  64. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +106 -0
  65. package/lib/aws/compute/bastion-host.d.ts +172 -0
  66. package/lib/aws/compute/bastion-host.js +114 -0
  67. package/lib/aws/compute/chain.js +1 -1
  68. package/lib/aws/compute/cidr-splits.d.ts +49 -0
  69. package/lib/aws/compute/cidr-splits.js +59 -0
  70. package/lib/aws/compute/client-vpn-authorization-rule.d.ts +43 -0
  71. package/lib/aws/compute/client-vpn-authorization-rule.js +30 -0
  72. package/lib/aws/compute/client-vpn-endpoint-types.d.ts +62 -0
  73. package/lib/aws/compute/client-vpn-endpoint-types.js +25 -0
  74. package/lib/aws/compute/client-vpn-endpoint.d.ts +239 -0
  75. package/lib/aws/compute/client-vpn-endpoint.js +259 -0
  76. package/lib/aws/compute/client-vpn-route.d.ts +67 -0
  77. package/lib/aws/compute/client-vpn-route.js +57 -0
  78. package/lib/aws/compute/condition.js +1 -1
  79. package/lib/aws/compute/connections.d.ts +137 -0
  80. package/lib/aws/compute/connections.js +208 -0
  81. package/lib/aws/compute/ec2-augmentations.generated.d.ts +53 -0
  82. package/lib/aws/compute/ec2-augmentations.generated.js +35 -0
  83. package/lib/aws/compute/ec2-canned-metrics.generated.d.ts +555 -0
  84. package/lib/aws/compute/ec2-canned-metrics.generated.js +681 -0
  85. package/lib/aws/compute/ec2-util-v2.d.ts +141 -0
  86. package/lib/aws/compute/ec2-util-v2.js +286 -0
  87. package/lib/aws/compute/ec2-util.d.ts +52 -0
  88. package/lib/aws/compute/ec2-util.js +138 -0
  89. package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.d.ts +176 -0
  90. package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.js +119 -0
  91. package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.d.ts +860 -0
  92. package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.js +597 -0
  93. package/lib/aws/compute/event-invoke-config.js +1 -1
  94. package/lib/aws/compute/event-source-filter.js +2 -2
  95. package/lib/aws/compute/event-source-mapping.js +1 -1
  96. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  97. package/lib/aws/compute/event-sources/s3.js +1 -1
  98. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  99. package/lib/aws/compute/event-sources/sqs.js +1 -1
  100. package/lib/aws/compute/fields.js +4 -4
  101. package/lib/aws/compute/function-alias.js +1 -1
  102. package/lib/aws/compute/function-base.js +2 -2
  103. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  104. package/lib/aws/compute/function-destinations/function.js +1 -1
  105. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  106. package/lib/aws/compute/function-nodejs.js +1 -1
  107. package/lib/aws/compute/function-url.js +1 -1
  108. package/lib/aws/compute/function-vpc-config.generated.d.ts +3 -3
  109. package/lib/aws/compute/function-vpc-config.generated.js +1 -1
  110. package/lib/aws/compute/function.d.ts +1 -1
  111. package/lib/aws/compute/function.js +5 -5
  112. package/lib/aws/compute/index-alpha.d.ts +5 -0
  113. package/lib/aws/compute/index-alpha.js +22 -0
  114. package/lib/aws/compute/index.d.ts +60 -0
  115. package/lib/aws/compute/index.js +70 -2
  116. package/lib/aws/compute/instance-types.d.ts +1354 -0
  117. package/lib/aws/compute/instance-types.js +1683 -0
  118. package/lib/aws/compute/instance.d.ts +436 -0
  119. package/lib/aws/compute/instance.js +262 -0
  120. package/lib/aws/compute/ip-addresses.d.ts +249 -0
  121. package/lib/aws/compute/ip-addresses.js +248 -0
  122. package/lib/aws/compute/ipam.d.ts +309 -0
  123. package/lib/aws/compute/ipam.js +306 -0
  124. package/lib/aws/compute/key-pair.d.ts +178 -0
  125. package/lib/aws/compute/key-pair.js +194 -0
  126. package/lib/aws/compute/lambda-augmentations.generated.d.ts +65 -0
  127. package/lib/aws/compute/lambda-augmentations.generated.js +41 -0
  128. package/lib/aws/compute/lambda-canned-metrics.generated.d.ts +316 -0
  129. package/lib/aws/compute/lambda-canned-metrics.generated.js +119 -0
  130. package/lib/aws/compute/launch-template.d.ts +540 -0
  131. package/lib/aws/compute/launch-template.js +468 -0
  132. package/lib/aws/compute/lb-shared/access-logs-accounts.d.ts +7 -0
  133. package/lib/aws/compute/lb-shared/access-logs-accounts.js +46 -0
  134. package/lib/aws/compute/lb-shared/base-listener.d.ts +113 -0
  135. package/lib/aws/compute/lb-shared/base-listener.js +181 -0
  136. package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +212 -0
  137. package/lib/aws/compute/lb-shared/base-load-balancer.js +290 -0
  138. package/lib/aws/compute/lb-shared/base-target-group.d.ts +382 -0
  139. package/lib/aws/compute/lb-shared/base-target-group.js +364 -0
  140. package/lib/aws/compute/lb-shared/enums.d.ts +282 -0
  141. package/lib/aws/compute/lb-shared/enums.js +301 -0
  142. package/lib/aws/compute/lb-shared/grid-lookup-types.d.ts +42 -0
  143. package/lib/aws/compute/lb-shared/grid-lookup-types.js +53 -0
  144. package/lib/aws/compute/lb-shared/imported.d.ts +24 -0
  145. package/lib/aws/compute/lb-shared/imported.js +27 -0
  146. package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +194 -0
  147. package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +3 -0
  148. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +56 -0
  149. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +3 -0
  150. package/lib/aws/compute/lb-shared/listener-action.d.ts +14 -0
  151. package/lib/aws/compute/lb-shared/listener-action.js +4 -0
  152. package/lib/aws/compute/lb-shared/listener-certificate.d.ts +28 -0
  153. package/lib/aws/compute/lb-shared/listener-certificate.js +29 -0
  154. package/lib/aws/compute/lb-shared/load-balancer-targets.d.ts +93 -0
  155. package/lib/aws/compute/lb-shared/load-balancer-targets.js +127 -0
  156. package/lib/aws/compute/lb-shared/util.d.ts +113 -0
  157. package/lib/aws/compute/lb-shared/util.js +264 -0
  158. package/lib/aws/compute/lb-targets/alb-target.d.ts +67 -0
  159. package/lib/aws/compute/lb-targets/alb-target.js +100 -0
  160. package/lib/aws/compute/lb-targets/index.d.ts +4 -0
  161. package/lib/aws/compute/lb-targets/index.js +22 -0
  162. package/lib/aws/compute/lb-targets/instance-target.d.ts +42 -0
  163. package/lib/aws/compute/lb-targets/instance-target.js +67 -0
  164. package/lib/aws/compute/lb-targets/ip-target.d.ts +55 -0
  165. package/lib/aws/compute/lb-targets/ip-target.js +79 -0
  166. package/lib/aws/compute/lb-targets/lambda-target.d.ts +25 -0
  167. package/lib/aws/compute/lb-targets/lambda-target.js +50 -0
  168. package/lib/aws/compute/load-balancer.d.ts +336 -0
  169. package/lib/aws/compute/load-balancer.js +287 -0
  170. package/lib/aws/compute/machine-image/amazon-linux-2022.d.ts +63 -0
  171. package/lib/aws/compute/machine-image/amazon-linux-2022.js +84 -0
  172. package/lib/aws/compute/machine-image/amazon-linux-2023.d.ts +63 -0
  173. package/lib/aws/compute/machine-image/amazon-linux-2023.js +84 -0
  174. package/lib/aws/compute/machine-image/amazon-linux2.d.ts +76 -0
  175. package/lib/aws/compute/machine-image/amazon-linux2.js +87 -0
  176. package/lib/aws/compute/machine-image/common.d.ts +181 -0
  177. package/lib/aws/compute/machine-image/common.js +122 -0
  178. package/lib/aws/compute/machine-image/index.d.ts +5 -0
  179. package/lib/aws/compute/machine-image/index.js +22 -0
  180. package/lib/aws/compute/machine-image/machine-image.d.ts +463 -0
  181. package/lib/aws/compute/machine-image/machine-image.js +566 -0
  182. package/lib/aws/compute/machine-image/utils.d.ts +2 -0
  183. package/lib/aws/compute/machine-image/utils.js +17 -0
  184. package/lib/aws/compute/nat.d.ts +325 -0
  185. package/lib/aws/compute/nat.js +455 -0
  186. package/lib/aws/compute/network-acl-types.d.ts +152 -0
  187. package/lib/aws/compute/network-acl-types.js +156 -0
  188. package/lib/aws/compute/network-acl.d.ts +285 -0
  189. package/lib/aws/compute/network-acl.js +207 -0
  190. package/lib/aws/compute/network-util.d.ts +116 -0
  191. package/lib/aws/compute/network-util.js +241 -0
  192. package/lib/aws/compute/nlb/network-listener-action.d.ts +92 -0
  193. package/lib/aws/compute/nlb/network-listener-action.js +146 -0
  194. package/lib/aws/compute/nlb/network-listener-certificate.d.ts +24 -0
  195. package/lib/aws/compute/nlb/network-listener-certificate.js +25 -0
  196. package/lib/aws/compute/nlb/network-listener.d.ts +248 -0
  197. package/lib/aws/compute/nlb/network-listener.js +217 -0
  198. package/lib/aws/compute/nlb/network-load-balancer.d.ts +315 -0
  199. package/lib/aws/compute/nlb/network-load-balancer.js +360 -0
  200. package/lib/aws/compute/nlb/network-target-group.d.ts +153 -0
  201. package/lib/aws/compute/nlb/network-target-group.js +223 -0
  202. package/lib/aws/compute/peer.d.ts +64 -0
  203. package/lib/aws/compute/peer.js +235 -0
  204. package/lib/aws/compute/placement-group.d.ts +161 -0
  205. package/lib/aws/compute/placement-group.js +133 -0
  206. package/lib/aws/compute/port.d.ts +287 -0
  207. package/lib/aws/compute/port.js +390 -0
  208. package/lib/aws/compute/prefix-list.d.ts +131 -0
  209. package/lib/aws/compute/prefix-list.js +114 -0
  210. package/lib/aws/compute/private/context-stub.d.ts +7 -0
  211. package/lib/aws/compute/private/context-stub.js +43 -0
  212. package/lib/aws/compute/private/ebs-util.d.ts +14 -0
  213. package/lib/aws/compute/private/ebs-util.js +145 -0
  214. package/lib/aws/compute/private/intrinstics.js +2 -1
  215. package/lib/aws/compute/private/json-path.js +8 -8
  216. package/lib/aws/compute/private/util.js +2 -3
  217. package/lib/aws/compute/route.d.ts +547 -0
  218. package/lib/aws/compute/route.js +469 -0
  219. package/lib/aws/compute/security-group.d.ts +414 -0
  220. package/lib/aws/compute/security-group.js +538 -0
  221. package/lib/aws/compute/state-graph.js +1 -1
  222. package/lib/aws/compute/state-machine-fragment.js +1 -1
  223. package/lib/aws/compute/state-machine.d.ts +2 -2
  224. package/lib/aws/compute/state-machine.js +14 -12
  225. package/lib/aws/compute/states/choice.js +1 -1
  226. package/lib/aws/compute/states/custom-state.js +1 -1
  227. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  228. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  229. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  230. package/lib/aws/compute/states/distributed-map.js +1 -1
  231. package/lib/aws/compute/states/fail.js +1 -1
  232. package/lib/aws/compute/states/map-base.js +1 -1
  233. package/lib/aws/compute/states/map.js +1 -1
  234. package/lib/aws/compute/states/parallel.js +1 -1
  235. package/lib/aws/compute/states/pass.js +2 -2
  236. package/lib/aws/compute/states/state.js +5 -5
  237. package/lib/aws/compute/states/succeed.js +1 -1
  238. package/lib/aws/compute/states/task-base.js +2 -2
  239. package/lib/aws/compute/states/task.js +1 -1
  240. package/lib/aws/compute/states/wait.js +2 -2
  241. package/lib/aws/compute/stepfunctions-canned-metrics.generated.d.ts +83 -0
  242. package/lib/aws/compute/stepfunctions-canned-metrics.generated.js +127 -0
  243. package/lib/aws/compute/subnet-v2.d.ts +213 -0
  244. package/lib/aws/compute/subnet-v2.js +405 -0
  245. package/lib/aws/compute/subnet.d.ts +37 -0
  246. package/lib/aws/compute/subnet.js +181 -0
  247. package/lib/aws/compute/task-credentials.js +1 -1
  248. package/lib/aws/compute/task-input.js +1 -1
  249. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  250. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  251. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  252. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  253. package/lib/aws/compute/tasks/private/task-utils.js +3 -4
  254. package/lib/aws/compute/tasks/resource-arn-suffix.js +2 -3
  255. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  256. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  257. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  258. package/lib/aws/compute/types.js +2 -2
  259. package/lib/aws/compute/user-data.d.ts +270 -0
  260. package/lib/aws/compute/user-data.js +487 -0
  261. package/lib/aws/compute/util.d.ts +1 -1
  262. package/lib/aws/compute/util.js +4 -5
  263. package/lib/aws/compute/volume.d.ts +480 -0
  264. package/lib/aws/compute/volume.js +426 -0
  265. package/lib/aws/compute/vpc-endpoint-service.d.ts +149 -0
  266. package/lib/aws/compute/vpc-endpoint-service.js +90 -0
  267. package/lib/aws/compute/vpc-endpoint.d.ts +742 -0
  268. package/lib/aws/compute/vpc-endpoint.js +811 -0
  269. package/lib/aws/compute/vpc-flow-logs.d.ts +551 -0
  270. package/lib/aws/compute/vpc-flow-logs.js +693 -0
  271. package/lib/aws/compute/vpc-lookup.d.ts +73 -0
  272. package/lib/aws/compute/vpc-lookup.js +3 -0
  273. package/lib/aws/compute/vpc-v2-base.d.ts +353 -0
  274. package/lib/aws/compute/vpc-v2-base.js +493 -0
  275. package/lib/aws/compute/vpc-v2.d.ts +385 -0
  276. package/lib/aws/compute/vpc-v2.js +408 -0
  277. package/lib/aws/compute/vpc.d.ts +1448 -0
  278. package/lib/aws/compute/vpc.js +1495 -0
  279. package/lib/aws/compute/vpn.d.ts +443 -0
  280. package/lib/aws/compute/vpn.js +397 -0
  281. package/lib/aws/compute/windows-versions.d.ts +418 -0
  282. package/lib/aws/compute/windows-versions.js +426 -0
  283. package/lib/aws/edge/certificate-base.d.ts +20 -0
  284. package/lib/aws/edge/certificate-base.js +28 -0
  285. package/lib/aws/edge/certificate.d.ts +23 -2
  286. package/lib/aws/edge/certificate.js +54 -4
  287. package/lib/aws/edge/distribution.js +3 -3
  288. package/lib/aws/edge/dns-alias-record-targets.js +2 -2
  289. package/lib/aws/edge/dns-record.js +16 -16
  290. package/lib/aws/edge/dns-zone.d.ts +20 -2
  291. package/lib/aws/edge/dns-zone.js +25 -10
  292. package/lib/aws/edge/function.js +2 -2
  293. package/lib/aws/edge/index.d.ts +1 -0
  294. package/lib/aws/edge/index.js +2 -1
  295. package/lib/aws/edge/key-value-store.js +4 -4
  296. package/lib/aws/edge/origin.js +8 -6
  297. package/lib/aws/edge/response-headers-policy.js +1 -1
  298. package/lib/aws/encryption/alias.js +1 -1
  299. package/lib/aws/encryption/key.js +1 -1
  300. package/lib/aws/encryption/via-service-principal.js +1 -1
  301. package/lib/aws/iam/grant.js +2 -2
  302. package/lib/aws/iam/index.d.ts +1 -0
  303. package/lib/aws/iam/index.js +2 -1
  304. package/lib/aws/iam/instance-profile.d.ts +155 -0
  305. package/lib/aws/iam/instance-profile.js +124 -0
  306. package/lib/aws/iam/managed-policy.js +1 -1
  307. package/lib/aws/iam/oidc-provider.js +1 -1
  308. package/lib/aws/iam/policy-document-config.generated.d.ts +8 -8
  309. package/lib/aws/iam/policy-document-config.generated.js +1 -1
  310. package/lib/aws/iam/policy-document.js +1 -1
  311. package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
  312. package/lib/aws/iam/policy-statement-props.generated.js +1 -1
  313. package/lib/aws/iam/policy-statement.js +9 -9
  314. package/lib/aws/iam/policy.js +1 -1
  315. package/lib/aws/iam/principals.js +26 -26
  316. package/lib/aws/iam/private/assume-role-policy.js +2 -3
  317. package/lib/aws/iam/private/comparable-principal.js +2 -3
  318. package/lib/aws/iam/private/immutable-role.d.ts +2 -1
  319. package/lib/aws/iam/private/immutable-role.js +3 -3
  320. package/lib/aws/iam/private/imported-role.d.ts +1 -1
  321. package/lib/aws/iam/private/imported-role.js +3 -3
  322. package/lib/aws/iam/private/merge-statements.js +2 -3
  323. package/lib/aws/iam/private/util.js +4 -4
  324. package/lib/aws/iam/role.js +1 -1
  325. package/lib/aws/iam/saml-provider.d.ts +1 -1
  326. package/lib/aws/iam/saml-provider.js +6 -6
  327. package/lib/aws/iam/unknown-principal.js +1 -1
  328. package/lib/aws/iam/utils.js +2 -3
  329. package/lib/aws/index.d.ts +1 -0
  330. package/lib/aws/index.js +4 -1
  331. package/lib/aws/network/simple-ipv4-vpc.js +5 -5
  332. package/lib/aws/network/subnet-group.js +3 -3
  333. package/lib/aws/network/subnet.d.ts +1 -1
  334. package/lib/aws/network/subnet.js +7 -7
  335. package/lib/aws/notify/archive.js +3 -2
  336. package/lib/aws/notify/connection.js +5 -4
  337. package/lib/aws/notify/event-bus.js +5 -4
  338. package/lib/aws/notify/event-pattern.js +3 -3
  339. package/lib/aws/notify/index.js +3 -1
  340. package/lib/aws/notify/input.js +4 -3
  341. package/lib/aws/notify/kinesis-stream.js +3 -2
  342. package/lib/aws/notify/on-event-options.js +2 -1
  343. package/lib/aws/notify/queue-config.generated.d.ts +18 -11
  344. package/lib/aws/notify/queue-config.generated.js +1 -1
  345. package/lib/aws/notify/queue-policy.js +1 -1
  346. package/lib/aws/notify/queue.js +1 -1
  347. package/lib/aws/notify/resource-policy.js +1 -1
  348. package/lib/aws/notify/rule.js +3 -2
  349. package/lib/aws/notify/schedule.js +2 -2
  350. package/lib/aws/notify/sqs-augmentations.generated.d.ts +125 -0
  351. package/lib/aws/notify/sqs-augmentations.generated.js +74 -0
  352. package/lib/aws/notify/target.js +2 -1
  353. package/lib/aws/notify/targets/event-bus.js +1 -1
  354. package/lib/aws/notify/targets/function.js +1 -1
  355. package/lib/aws/notify/targets/log-group.js +2 -2
  356. package/lib/aws/notify/targets/sqs.js +1 -1
  357. package/lib/aws/notify/targets/state-machine.js +1 -1
  358. package/lib/aws/notify/targets/util.d.ts +1 -1
  359. package/lib/aws/notify/targets/util.js +10 -11
  360. package/lib/aws/notify/util.js +4 -4
  361. package/lib/aws/provider-config.generated.d.ts +33 -33
  362. package/lib/aws/provider-config.generated.js +1 -1
  363. package/lib/aws/storage/bucket-notifications.js +1 -1
  364. package/lib/aws/storage/bucket-policy.js +1 -1
  365. package/lib/aws/storage/bucket-source.js +1 -1
  366. package/lib/aws/storage/bucket.d.ts +298 -65
  367. package/lib/aws/storage/bucket.js +548 -225
  368. package/lib/aws/storage/cors-config.generated.d.ts +3 -3
  369. package/lib/aws/storage/cors-config.generated.js +1 -1
  370. package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
  371. package/lib/aws/storage/cors-rule-config.generated.js +1 -1
  372. package/lib/aws/storage/index.d.ts +1 -0
  373. package/lib/aws/storage/index.js +2 -1
  374. package/lib/aws/storage/lifecycle-config.generated.d.ts +11 -11
  375. package/lib/aws/storage/lifecycle-config.generated.js +1 -1
  376. package/lib/aws/storage/notification-targets/function.js +6 -6
  377. package/lib/aws/storage/notification-targets/queue.js +1 -1
  378. package/lib/aws/storage/origin-access-identity.d.ts +1 -1
  379. package/lib/aws/storage/origin-access-identity.js +5 -4
  380. package/lib/aws/storage/parameter-util.d.ts +12 -0
  381. package/lib/aws/storage/parameter-util.js +65 -0
  382. package/lib/aws/storage/parameter.d.ts +526 -0
  383. package/lib/aws/storage/parameter.js +606 -0
  384. package/lib/aws/storage/s3-canned-metrics.generated.d.ts +22 -0
  385. package/lib/aws/storage/s3-canned-metrics.generated.js +23 -0
  386. package/lib/aws/storage/util.d.ts +25 -3
  387. package/lib/aws/storage/util.js +84 -17
  388. package/lib/aws/storage/website-config.generated.d.ts +5 -5
  389. package/lib/aws/storage/website-config.generated.js +1 -1
  390. package/lib/aws/util.js +2 -3
  391. package/lib/construct-base.d.ts +10 -1
  392. package/lib/construct-base.js +9 -6
  393. package/lib/duration.js +1 -1
  394. package/lib/expiration.d.ts +48 -0
  395. package/lib/expiration.js +68 -0
  396. package/lib/helpers-internal/index.d.ts +1 -0
  397. package/lib/helpers-internal/index.js +7 -0
  398. package/lib/index.d.ts +2 -0
  399. package/lib/index.js +3 -1
  400. package/lib/private/md5.d.ts +4 -0
  401. package/lib/private/md5.js +14 -0
  402. package/lib/private/unique-resource-name.js +3 -4
  403. package/lib/size.js +2 -2
  404. package/lib/stack-base.d.ts +4 -23
  405. package/lib/stack-base.js +9 -30
  406. package/lib/terra-func.d.ts +103 -0
  407. package/lib/terra-func.js +170 -0
  408. package/lib/token.js +5 -5
  409. package/package.json +15 -8
  410. package/bun.lockb +0 -0
@@ -0,0 +1,2 @@
1
+ import { Construct } from "constructs";
2
+ export declare function lookupImage(scope: Construct, _cachedInContext: boolean | undefined, parameterName: string): string;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ // https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-ec2/lib/machine-image/utils.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.lookupImage = lookupImage;
5
+ const storage = require("../../storage");
6
+ function lookupImage(scope, _cachedInContext, parameterName) {
7
+ // TODO: Add context lookups via Grid
8
+ return storage.StringParameter.valueForTypedStringParameterV2(scope, parameterName, storage.ParameterValueType.AWS_EC2_IMAGE_ID);
9
+ // return _cachedInContext
10
+ // ? storage.StringParameter.valueFromLookup(scope, parameterName)
11
+ // : storage.StringParameter.valueForTypedStringParameterV2(
12
+ // scope,
13
+ // parameterName,
14
+ // storage.ParameterValueType.AWS_EC2_IMAGE_ID,
15
+ // );
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvbWFjaGluZS1pbWFnZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdUdBQXVHOztBQUt2RyxrQ0FrQkM7QUFwQkQseUNBQXlDO0FBRXpDLFNBQWdCLFdBQVcsQ0FDekIsS0FBZ0IsRUFDaEIsZ0JBQXFDLEVBQ3JDLGFBQXFCO0lBRXJCLHFDQUFxQztJQUNyQyxPQUFPLE9BQU8sQ0FBQyxlQUFlLENBQUMsOEJBQThCLENBQzNELEtBQUssRUFDTCxhQUFhLEVBQ2IsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUM1QyxDQUFDO0lBQ0YsMEJBQTBCO0lBQzFCLG9FQUFvRTtJQUNwRSw4REFBOEQ7SUFDOUQsZUFBZTtJQUNmLHVCQUF1QjtJQUN2QixxREFBcUQ7SUFDckQsU0FBUztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzUuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWMyL2xpYi9tYWNoaW5lLWltYWdlL3V0aWxzLnRzXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBzdG9yYWdlIGZyb20gXCIuLi8uLi9zdG9yYWdlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBJbWFnZShcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgX2NhY2hlZEluQ29udGV4dDogYm9vbGVhbiB8IHVuZGVmaW5lZCxcbiAgcGFyYW1ldGVyTmFtZTogc3RyaW5nLFxuKSB7XG4gIC8vIFRPRE86IEFkZCBjb250ZXh0IGxvb2t1cHMgdmlhIEdyaWRcbiAgcmV0dXJuIHN0b3JhZ2UuU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yVHlwZWRTdHJpbmdQYXJhbWV0ZXJWMihcbiAgICBzY29wZSxcbiAgICBwYXJhbWV0ZXJOYW1lLFxuICAgIHN0b3JhZ2UuUGFyYW1ldGVyVmFsdWVUeXBlLkFXU19FQzJfSU1BR0VfSUQsXG4gICk7XG4gIC8vIHJldHVybiBfY2FjaGVkSW5Db250ZXh0XG4gIC8vICAgPyBzdG9yYWdlLlN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoc2NvcGUsIHBhcmFtZXRlck5hbWUpXG4gIC8vICAgOiBzdG9yYWdlLlN0cmluZ1BhcmFtZXRlci52YWx1ZUZvclR5cGVkU3RyaW5nUGFyYW1ldGVyVjIoXG4gIC8vICAgICAgIHNjb3BlLFxuICAvLyAgICAgICBwYXJhbWV0ZXJOYW1lLFxuICAvLyAgICAgICBzdG9yYWdlLlBhcmFtZXRlclZhbHVlVHlwZS5BV1NfRUMyX0lNQUdFX0lELFxuICAvLyAgICAgKTtcbn1cbiJdfQ==
@@ -0,0 +1,325 @@
1
+ import { Connections, IConnectable } from "./connections";
2
+ import { Instance } from "./instance";
3
+ import { InstanceType } from "./instance-types";
4
+ import { IKeyPair } from "./key-pair";
5
+ import { CpuCredits } from "./launch-template";
6
+ import { IMachineImage, LookupMachineImage } from "./machine-image";
7
+ import { ISecurityGroup } from "./security-group";
8
+ import { UserData } from "./user-data";
9
+ import { PrivateSubnet, PublicSubnet, Vpc } from "./vpc";
10
+ /**
11
+ * Direction of traffic to allow all by default.
12
+ */
13
+ export declare enum NatTrafficDirection {
14
+ /**
15
+ * Allow all outbound traffic and disallow all inbound traffic.
16
+ */
17
+ OUTBOUND_ONLY = "OUTBOUND_ONLY",
18
+ /**
19
+ * Allow all outbound and inbound traffic.
20
+ */
21
+ INBOUND_AND_OUTBOUND = "INBOUND_AND_OUTBOUND",
22
+ /**
23
+ * Disallow all outbound and inbound traffic.
24
+ */
25
+ NONE = "NONE"
26
+ }
27
+ /**
28
+ * Pair represents a gateway created by NAT Provider
29
+ */
30
+ export interface GatewayConfig {
31
+ /**
32
+ * Availability Zone
33
+ */
34
+ readonly az: string;
35
+ /**
36
+ * Identity of gateway spawned by the provider
37
+ */
38
+ readonly gatewayId: string;
39
+ }
40
+ /**
41
+ * NAT providers
42
+ *
43
+ * Determines what type of NAT provider to create, either NAT gateways or NAT
44
+ * instance.
45
+ *
46
+ *
47
+ */
48
+ export declare abstract class NatProvider {
49
+ /**
50
+ * Use NAT Gateways to provide NAT services for your VPC
51
+ *
52
+ * NAT gateways are managed by AWS.
53
+ *
54
+ * @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html
55
+ */
56
+ static gateway(props?: NatGatewayProps): NatProvider;
57
+ /**
58
+ * Use NAT instances to provide NAT services for your VPC
59
+ *
60
+ * NAT instances are managed by you, but in return allow more configuration.
61
+ *
62
+ * Be aware that instances created using this provider will not be
63
+ * automatically replaced if they are stopped for any reason. You should implement
64
+ * your own NatProvider based on AutoScaling groups if you need that.
65
+ *
66
+ * @see https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html
67
+ *
68
+ * @deprecated use instanceV2. 'instance' is deprecated since NatInstanceProvider
69
+ * uses a instance image that has reached EOL on Dec 31 2023
70
+ */
71
+ static instance(props: NatInstanceProps): NatInstanceProvider;
72
+ /**
73
+ * Use NAT instances to provide NAT services for your VPC
74
+ *
75
+ * NAT instances are managed by you, but in return allow more configuration.
76
+ *
77
+ * Be aware that instances created using this provider will not be
78
+ * automatically replaced if they are stopped for any reason. You should implement
79
+ * your own NatProvider based on AutoScaling groups if you need that.
80
+ *
81
+ * @see https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html
82
+ */
83
+ static instanceV2(props: NatInstanceProps): NatInstanceProviderV2;
84
+ /**
85
+ * Return list of gateways spawned by the provider
86
+ */
87
+ abstract readonly configuredGateways: GatewayConfig[];
88
+ /**
89
+ * Called by the VPC to configure NAT
90
+ *
91
+ * Don't call this directly, the VPC will call it automatically.
92
+ */
93
+ abstract configureNat(options: ConfigureNatOptions): void;
94
+ /**
95
+ * Configures subnet with the gateway
96
+ *
97
+ * Don't call this directly, the VPC will call it automatically.
98
+ */
99
+ abstract configureSubnet(subnet: PrivateSubnet): void;
100
+ }
101
+ /**
102
+ * Options passed by the VPC when NAT needs to be configured
103
+ *
104
+ *
105
+ */
106
+ export interface ConfigureNatOptions {
107
+ /**
108
+ * The VPC we're configuring NAT for
109
+ */
110
+ readonly vpc: Vpc;
111
+ /**
112
+ * The public subnets where the NAT providers need to be placed
113
+ */
114
+ readonly natSubnets: PublicSubnet[];
115
+ /**
116
+ * The private subnets that need to route through the NAT providers.
117
+ *
118
+ * There may be more private subnets than public subnets with NAT providers.
119
+ */
120
+ readonly privateSubnets: PrivateSubnet[];
121
+ }
122
+ /**
123
+ * Properties for a NAT gateway
124
+ *
125
+ */
126
+ export interface NatGatewayProps {
127
+ /**
128
+ * EIP allocation IDs for the NAT gateways
129
+ *
130
+ * @default - No fixed EIPs allocated for the NAT gateways
131
+ */
132
+ readonly eipAllocationIds?: string[];
133
+ }
134
+ /**
135
+ * Properties for a NAT instance
136
+ *
137
+ *
138
+ */
139
+ export interface NatInstanceProps {
140
+ /**
141
+ * The machine image (AMI) to use
142
+ *
143
+ * By default, will do an AMI lookup for the latest NAT instance image.
144
+ *
145
+ * If you have a specific AMI ID you want to use, pass a `GenericLinuxImage`. For example:
146
+ *
147
+ * ```ts
148
+ * compute.NatProvider.instance({
149
+ * instanceType: new compute.InstanceType('t3.micro'),
150
+ * machineImage: new compute.GenericLinuxImage({
151
+ * 'us-east-2': 'ami-0f9c61b5a562a16af'
152
+ * })
153
+ * })
154
+ * ```
155
+ *
156
+ * @default - Latest NAT instance image
157
+ */
158
+ readonly machineImage?: IMachineImage;
159
+ /**
160
+ * Instance type of the NAT instance
161
+ */
162
+ readonly instanceType: InstanceType;
163
+ /**
164
+ * Whether to associate a public IP address to the primary network interface attached to this instance.
165
+ *
166
+ * @default undefined - No public IP address associated
167
+ */
168
+ readonly associatePublicIpAddress?: boolean;
169
+ /**
170
+ * Name of SSH keypair to grant access to instance
171
+ *
172
+ * @default - No SSH access will be possible.
173
+ * @deprecated - Use `keyPair` instead - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2-readme.html#using-an-existing-ec2-key-pair
174
+ */
175
+ readonly keyName?: string;
176
+ /**
177
+ * The SSH keypair to grant access to the instance.
178
+ *
179
+ * @default - No SSH access will be possible.
180
+ */
181
+ readonly keyPair?: IKeyPair;
182
+ /**
183
+ * Security Group for NAT instances
184
+ *
185
+ * @default - A new security group will be created
186
+ * @deprecated - Cannot create a new security group before the VPC is created,
187
+ * and cannot create the VPC without the NAT provider.
188
+ * Set {@link defaultAllowedTraffic} to {@link NatTrafficDirection.NONE}
189
+ * and use {@link NatInstanceProviderV2.gatewayInstances} to retrieve
190
+ * the instances on the fly and add security groups
191
+ *
192
+ * @example
193
+ * const natGatewayProvider = compute.NatProvider.instanceV2({
194
+ * instanceType: new compute.InstanceType('t3.small'),
195
+ * defaultAllowedTraffic: compute.NatTrafficDirection.NONE,
196
+ * });
197
+ * const vpc = new compute.Vpc(this, 'Vpc', { natGatewayProvider });
198
+ *
199
+ * const securityGroup = new compute.SecurityGroup(this, 'SecurityGroup', {
200
+ * vpc,
201
+ * allowAllOutbound: false,
202
+ * });
203
+ * securityGroup.addEgressRule(compute.Peer.anyIpv4(), compute.Port.tcp(443));
204
+ * for (const gatewayInstance of natGatewayProvider.gatewayInstances) {
205
+ * gatewayInstance.addSecurityGroup(securityGroup);
206
+ * }
207
+ */
208
+ readonly securityGroup?: ISecurityGroup;
209
+ /**
210
+ * Allow all inbound traffic through the NAT instance
211
+ *
212
+ * If you set this to false, you must configure the NAT instance's security
213
+ * groups in another way, either by passing in a fully configured Security
214
+ * Group using the `securityGroup` property, or by configuring it using the
215
+ * `.securityGroup` or `.connections` members after passing the NAT Instance
216
+ * Provider to a Vpc.
217
+ *
218
+ * @default true
219
+ * @deprecated - Use `defaultAllowedTraffic`.
220
+ */
221
+ readonly allowAllTraffic?: boolean;
222
+ /**
223
+ * Direction to allow all traffic through the NAT instance by default.
224
+ *
225
+ * By default, inbound and outbound traffic is allowed.
226
+ *
227
+ * If you set this to another value than INBOUND_AND_OUTBOUND, you must
228
+ * configure the NAT instance's security groups in another way, either by
229
+ * passing in a fully configured Security Group using the `securityGroup`
230
+ * property, or by configuring it using the `.securityGroup` or
231
+ * `.connections` members after passing the NAT Instance Provider to a Vpc.
232
+ *
233
+ * @default NatTrafficDirection.INBOUND_AND_OUTBOUND
234
+ */
235
+ readonly defaultAllowedTraffic?: NatTrafficDirection;
236
+ /**
237
+ * Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc).
238
+ * The unlimited CPU credit option is not supported for T3 instances with dedicated host (`host`) tenancy.
239
+ *
240
+ * @default - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
241
+ */
242
+ readonly creditSpecification?: CpuCredits;
243
+ /**
244
+ * Custom user data to run on the NAT instances
245
+ *
246
+ * @default UserData.forLinux().addCommands(...NatInstanceProviderV2.DEFAULT_USER_DATA_COMMANDS); - Appropriate user data commands to initialize and configure the NAT instances
247
+ * @see https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#create-nat-ami
248
+ */
249
+ readonly userData?: UserData;
250
+ }
251
+ /**
252
+ * Provider for NAT Gateways
253
+ */
254
+ export declare class NatGatewayProvider extends NatProvider {
255
+ private readonly props;
256
+ private gateways;
257
+ constructor(props?: NatGatewayProps);
258
+ configureNat(options: ConfigureNatOptions): void;
259
+ configureSubnet(subnet: PrivateSubnet): void;
260
+ get configuredGateways(): GatewayConfig[];
261
+ }
262
+ /**
263
+ * NAT provider which uses NAT Instances
264
+ *
265
+ * @deprecated use NatInstanceProviderV2. NatInstanceProvider is deprecated since
266
+ * the instance image used has reached EOL on Dec 31 2023
267
+ */
268
+ export declare class NatInstanceProvider extends NatProvider implements IConnectable {
269
+ private readonly props;
270
+ private gateways;
271
+ private _securityGroup?;
272
+ private _connections?;
273
+ constructor(props: NatInstanceProps);
274
+ configureNat(options: ConfigureNatOptions): void;
275
+ /**
276
+ * The Security Group associated with the NAT instances
277
+ */
278
+ get securityGroup(): ISecurityGroup;
279
+ /**
280
+ * Manage the Security Groups associated with the NAT instances
281
+ */
282
+ get connections(): Connections;
283
+ get configuredGateways(): GatewayConfig[];
284
+ configureSubnet(subnet: PrivateSubnet): void;
285
+ }
286
+ /**
287
+ * Modern NAT provider which uses NAT Instances.
288
+ * The instance uses Amazon Linux 2023 as the operating system.
289
+ */
290
+ export declare class NatInstanceProviderV2 extends NatProvider implements IConnectable {
291
+ private readonly props;
292
+ /**
293
+ * Amazon Linux 2023 NAT instance user data commands
294
+ * Enable iptables on the instance, enable persistent IP forwarding, configure NAT on instance
295
+ * @see https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#create-nat-ami
296
+ */
297
+ static readonly DEFAULT_USER_DATA_COMMANDS: string[];
298
+ private gateways;
299
+ private _securityGroup?;
300
+ private _connections?;
301
+ /**
302
+ * Array of gateway instances spawned by the provider after internal configuration
303
+ */
304
+ get gatewayInstances(): Instance[];
305
+ constructor(props: NatInstanceProps);
306
+ configureNat(options: ConfigureNatOptions): void;
307
+ /**
308
+ * The Security Group associated with the NAT instances
309
+ */
310
+ get securityGroup(): ISecurityGroup;
311
+ /**
312
+ * Manage the Security Groups associated with the NAT instances
313
+ */
314
+ get connections(): Connections;
315
+ get configuredGateways(): GatewayConfig[];
316
+ configureSubnet(subnet: PrivateSubnet): void;
317
+ }
318
+ /**
319
+ * Machine image representing the latest NAT instance image
320
+ *
321
+ *
322
+ */
323
+ export declare class NatInstanceImage extends LookupMachineImage {
324
+ constructor();
325
+ }