terraconstructs 0.0.11 → 0.0.13

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 (411) hide show
  1. package/.jsii +105205 -35113
  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 +7 -5
  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.d.ts +26 -1
  339. package/lib/aws/notify/event-pattern.js +49 -5
  340. package/lib/aws/notify/index.js +3 -1
  341. package/lib/aws/notify/input.js +4 -3
  342. package/lib/aws/notify/kinesis-stream.js +3 -2
  343. package/lib/aws/notify/on-event-options.js +2 -1
  344. package/lib/aws/notify/queue-config.generated.d.ts +18 -11
  345. package/lib/aws/notify/queue-config.generated.js +1 -1
  346. package/lib/aws/notify/queue-policy.js +1 -1
  347. package/lib/aws/notify/queue.js +1 -1
  348. package/lib/aws/notify/resource-policy.js +1 -1
  349. package/lib/aws/notify/rule.js +3 -2
  350. package/lib/aws/notify/schedule.js +2 -2
  351. package/lib/aws/notify/sqs-augmentations.generated.d.ts +125 -0
  352. package/lib/aws/notify/sqs-augmentations.generated.js +74 -0
  353. package/lib/aws/notify/target.js +2 -1
  354. package/lib/aws/notify/targets/event-bus.js +1 -1
  355. package/lib/aws/notify/targets/function.js +1 -1
  356. package/lib/aws/notify/targets/log-group.js +2 -2
  357. package/lib/aws/notify/targets/sqs.js +1 -1
  358. package/lib/aws/notify/targets/state-machine.js +1 -1
  359. package/lib/aws/notify/targets/util.d.ts +1 -1
  360. package/lib/aws/notify/targets/util.js +10 -11
  361. package/lib/aws/notify/util.js +4 -4
  362. package/lib/aws/provider-config.generated.d.ts +33 -33
  363. package/lib/aws/provider-config.generated.js +1 -1
  364. package/lib/aws/storage/bucket-notifications.js +1 -1
  365. package/lib/aws/storage/bucket-policy.js +1 -1
  366. package/lib/aws/storage/bucket-source.js +1 -1
  367. package/lib/aws/storage/bucket.d.ts +298 -65
  368. package/lib/aws/storage/bucket.js +548 -225
  369. package/lib/aws/storage/cors-config.generated.d.ts +3 -3
  370. package/lib/aws/storage/cors-config.generated.js +1 -1
  371. package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
  372. package/lib/aws/storage/cors-rule-config.generated.js +1 -1
  373. package/lib/aws/storage/index.d.ts +1 -0
  374. package/lib/aws/storage/index.js +2 -1
  375. package/lib/aws/storage/lifecycle-config.generated.d.ts +11 -11
  376. package/lib/aws/storage/lifecycle-config.generated.js +1 -1
  377. package/lib/aws/storage/notification-targets/function.js +6 -6
  378. package/lib/aws/storage/notification-targets/queue.js +1 -1
  379. package/lib/aws/storage/origin-access-identity.d.ts +1 -1
  380. package/lib/aws/storage/origin-access-identity.js +5 -4
  381. package/lib/aws/storage/parameter-util.d.ts +12 -0
  382. package/lib/aws/storage/parameter-util.js +65 -0
  383. package/lib/aws/storage/parameter.d.ts +526 -0
  384. package/lib/aws/storage/parameter.js +606 -0
  385. package/lib/aws/storage/s3-canned-metrics.generated.d.ts +22 -0
  386. package/lib/aws/storage/s3-canned-metrics.generated.js +23 -0
  387. package/lib/aws/storage/util.d.ts +25 -3
  388. package/lib/aws/storage/util.js +84 -17
  389. package/lib/aws/storage/website-config.generated.d.ts +5 -5
  390. package/lib/aws/storage/website-config.generated.js +1 -1
  391. package/lib/aws/util.js +2 -3
  392. package/lib/construct-base.d.ts +10 -1
  393. package/lib/construct-base.js +9 -6
  394. package/lib/duration.js +1 -1
  395. package/lib/expiration.d.ts +48 -0
  396. package/lib/expiration.js +68 -0
  397. package/lib/helpers-internal/index.d.ts +1 -0
  398. package/lib/helpers-internal/index.js +7 -0
  399. package/lib/index.d.ts +2 -0
  400. package/lib/index.js +3 -1
  401. package/lib/private/md5.d.ts +4 -0
  402. package/lib/private/md5.js +14 -0
  403. package/lib/private/unique-resource-name.js +3 -4
  404. package/lib/size.js +2 -2
  405. package/lib/stack-base.d.ts +4 -23
  406. package/lib/stack-base.js +9 -30
  407. package/lib/terra-func.d.ts +103 -0
  408. package/lib/terra-func.js +170 -0
  409. package/lib/token.js +5 -5
  410. package/package.json +15 -8
  411. package/bun.lockb +0 -0
@@ -0,0 +1,385 @@
1
+ import { vpc } from "@cdktf/provider-aws";
2
+ import { TerraformResource } from "cdktf";
3
+ import { Construct, IDependable } from "constructs";
4
+ import { AwsConstructProps } from "../aws-construct";
5
+ import { IpamOptions, IIpamPool } from "./ipam";
6
+ import { DefaultInstanceTenancy, ISubnet } from "./vpc";
7
+ import { SubnetV2Attributes } from "./subnet-v2";
8
+ import { IVpcV2, VpcV2Base } from "./vpc-v2-base";
9
+ /**
10
+ * Additional props needed for secondary Address
11
+ */
12
+ export interface SecondaryAddressProps {
13
+ /**
14
+ * Required to set Secondary cidr block resource name
15
+ * in order to generate unique logical id for the resource.
16
+ */
17
+ readonly cidrBlockName: string;
18
+ }
19
+ /**
20
+ * IpAddress options to define VPC V2
21
+ */
22
+ export declare class IpAddresses {
23
+ /**
24
+ * An IPv4 CIDR Range
25
+ */
26
+ static ipv4(ipv4Cidr: string, props?: SecondaryAddressProps): IIpAddresses;
27
+ /**
28
+ * An Ipv4 Ipam Pool
29
+ */
30
+ static ipv4Ipam(ipv4IpamOptions: IpamOptions): IIpAddresses;
31
+ /**
32
+ * An Ipv6 Ipam Pool
33
+ */
34
+ static ipv6Ipam(ipv6IpamOptions: IpamOptions): IIpAddresses;
35
+ /**
36
+ * Amazon Provided Ipv6 range
37
+ */
38
+ static amazonProvidedIpv6(props: SecondaryAddressProps): IIpAddresses;
39
+ }
40
+ /**
41
+ * Consolidated return parameters to pass to VPC construct
42
+ */
43
+ export interface VpcCidrOptions {
44
+ /**
45
+ * IPv4 CIDR Block
46
+ *
47
+ * @default '10.0.0.0/16'
48
+ */
49
+ readonly ipv4CidrBlock?: string;
50
+ /**
51
+ * CIDR Mask for Vpc
52
+ *
53
+ * @default - Only required when using IPAM Ipv4
54
+ */
55
+ readonly ipv4NetmaskLength?: number;
56
+ /**
57
+ * Ipv4 IPAM Pool
58
+ *
59
+ * @default - Only required when using IPAM Ipv4
60
+ */
61
+ readonly ipv4IpamPool?: IIpamPool;
62
+ /**
63
+ * CIDR Mask for Vpc
64
+ *
65
+ * @default - Only required when using AWS Ipam
66
+ */
67
+ readonly ipv6NetmaskLength?: number;
68
+ /**
69
+ * Ipv6 IPAM pool id for VPC range, can only be defined
70
+ * under public scope
71
+ *
72
+ * @default - no pool id
73
+ */
74
+ readonly ipv6IpamPool?: IIpamPool;
75
+ /**
76
+ * Use amazon provided IP range
77
+ *
78
+ * @default false
79
+ */
80
+ readonly amazonProvided?: boolean;
81
+ /**
82
+ * Dependency to associate Ipv6 CIDR block
83
+ *
84
+ * @default - No dependency
85
+ */
86
+ readonly dependencies?: TerraformResource[];
87
+ /**
88
+ * Required to set Secondary cidr block resource name
89
+ * in order to generate unique logical id for the resource.
90
+ *
91
+ * @default - no name for primary addresses
92
+ */
93
+ readonly cidrBlockName?: string;
94
+ /**
95
+ * IPv4 CIDR provisioned under pool
96
+ * Required to check for overlapping CIDRs after provisioning
97
+ * is complete under IPAM pool
98
+ * @default - no IPAM IPv4 CIDR range is provisioned using IPAM
99
+ */
100
+ readonly ipv4IpamProvisionedCidrs?: string[];
101
+ }
102
+ /**
103
+ * Implements ip address allocation according to the IPAdress type
104
+ */
105
+ export interface IIpAddresses {
106
+ /**
107
+ * Method to define the implementation logic of
108
+ * IP address allocation
109
+ */
110
+ allocateVpcCidr(): VpcCidrOptions;
111
+ }
112
+ /**
113
+ * Properties to define VPC
114
+ * [disable-awslint:from-method]
115
+ */
116
+ export interface VpcV2Props extends AwsConstructProps {
117
+ /** A must IPv4 CIDR block for the VPC
118
+ * @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html
119
+ *
120
+ * @default - Ipv4 CIDR Block ('10.0.0.0/16')
121
+ */
122
+ readonly primaryAddressBlock?: IIpAddresses;
123
+ /**
124
+ * The secondary CIDR blocks associated with the VPC.
125
+ * Can be IPv4 or IPv6, two IPv4 ranges must follow RFC#1918 convention
126
+ * For more information, @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html#vpc-resize}.
127
+ *
128
+ * @default - No secondary IP address
129
+ */
130
+ readonly secondaryAddressBlocks?: IIpAddresses[];
131
+ /**
132
+ * Indicates whether the instances launched in the VPC get DNS hostnames.
133
+ *
134
+ * @default true
135
+ */
136
+ readonly enableDnsHostnames?: boolean;
137
+ /**
138
+ * Indicates whether the DNS resolution is supported for the VPC.
139
+ *
140
+ * @default true
141
+ */
142
+ readonly enableDnsSupport?: boolean;
143
+ /**
144
+ * The default tenancy of instances launched into the VPC.
145
+ *
146
+ * By setting this to dedicated tenancy, instances will be launched on
147
+ * hardware dedicated to a single AWS customer, unless specifically specified
148
+ * at instance launch time. Please note, not all instance types are usable
149
+ * with Dedicated tenancy.
150
+ *
151
+ * @default DefaultInstanceTenancy.Default (shared) tenancy
152
+ */
153
+ readonly defaultInstanceTenancy?: DefaultInstanceTenancy;
154
+ /**
155
+ * Physical name for the VPC
156
+ *
157
+ * @default - autogenerated by CDK
158
+ */
159
+ readonly vpcName?: string;
160
+ }
161
+ /**
162
+ * Options to import a VPC created outside of CDK stack
163
+ */
164
+ export interface VpcV2Attributes {
165
+ /**
166
+ * The VPC ID
167
+ * Refers to physical Id of the resource
168
+ */
169
+ readonly vpcId: string;
170
+ /**
171
+ * Region in which imported VPC is hosted
172
+ * required in case of cross region VPC
173
+ * as given value will be used to set field region for imported VPC,
174
+ * which then later can be used for establishing VPC peering connection.
175
+ *
176
+ * @default - constructed with stack region value
177
+ */
178
+ readonly region?: string;
179
+ /**
180
+ * The ID of the AWS account that owns the imported VPC
181
+ * required in case of cross account VPC
182
+ * as given value will be used to set field account for imported VPC,
183
+ * which then later can be used for establishing VPC peering connection.
184
+ *
185
+ * @default - constructed with stack account value
186
+ */
187
+ readonly ownerAccountId?: string;
188
+ /**
189
+ * Primary VPC CIDR Block of the imported VPC
190
+ * Can only be IPv4
191
+ */
192
+ readonly vpcCidrBlock: string;
193
+ /**
194
+ * A VPN Gateway is attached to the VPC
195
+ *
196
+ * @default - No VPN Gateway
197
+ */
198
+ readonly vpnGatewayId?: string;
199
+ /**
200
+ * Subnets associated with imported VPC
201
+ *
202
+ * @default - no subnets provided to be imported
203
+ */
204
+ readonly subnets?: SubnetV2Attributes[];
205
+ /**
206
+ * Import Secondary CIDR blocks associated with VPC
207
+ *
208
+ * @default - No secondary IP address
209
+ */
210
+ readonly secondaryCidrBlocks?: VPCCidrBlockattributes[];
211
+ }
212
+ /**
213
+ * This class provides a foundation for creating and configuring a VPC with advanced features such as IPAM (IP Address Management) and IPv6 support.
214
+ *
215
+ * For more information, see the {@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html|AWS CDK Documentation on VPCs}.
216
+ *
217
+ * @resource aws_vpc
218
+ */
219
+ export declare class VpcV2 extends VpcV2Base {
220
+ /**
221
+ * Create a VPC from existing attributes
222
+ */
223
+ static fromVpcV2Attributes(scope: Construct, id: string, attrs: VpcV2Attributes): IVpcV2;
224
+ /**
225
+ * Identifier for this VPC
226
+ */
227
+ readonly vpcId: string;
228
+ /**
229
+ * @attribute
230
+ */
231
+ readonly vpcArn: string;
232
+ /**
233
+ * @attribute
234
+ */
235
+ readonly vpcCidrBlock: string;
236
+ /**
237
+ * The IPv6 CIDR blocks for the VPC.
238
+ *
239
+ * See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#aws-resource-ec2-vpc-return-values
240
+ */
241
+ readonly ipv6CidrBlocks: string[];
242
+ /**
243
+ * The provider of ipv4 addresses
244
+ */
245
+ readonly ipAddresses: IIpAddresses;
246
+ /**
247
+ * The AWS CloudFormation resource representing the VPC.
248
+ */
249
+ readonly resource: vpc.Vpc;
250
+ /**
251
+ * Indicates if instances launched in this VPC will have public DNS hostnames.
252
+ */
253
+ readonly dnsHostnamesEnabled: boolean;
254
+ /**
255
+ * Indicates if DNS support is enabled for this VPC.
256
+ */
257
+ readonly dnsSupportEnabled: boolean;
258
+ /**
259
+ * Isolated Subnets that are part of this VPC.
260
+ */
261
+ readonly isolatedSubnets: ISubnet[];
262
+ /**
263
+ * Public Subnets that are part of this VPC.
264
+ */
265
+ readonly publicSubnets: ISubnet[];
266
+ /**
267
+ * Public Subnets that are part of this VPC.
268
+ */
269
+ readonly privateSubnets: ISubnet[];
270
+ /**
271
+ * To define dependency on internet connectivity
272
+ */
273
+ readonly internetConnectivityEstablished: IDependable;
274
+ /**
275
+ * reference to all secondary blocks attached
276
+ */
277
+ readonly secondaryCidrBlock?: IVPCCidrBlock[];
278
+ /**
279
+ * IPv4 CIDR provisioned using IPAM pool
280
+ * Required to check for overlapping CIDRs after provisioning
281
+ * is complete under IPAM
282
+ */
283
+ readonly ipv4IpamProvisionedCidrs?: string[];
284
+ /**
285
+ * Region for this VPC
286
+ */
287
+ readonly region: string;
288
+ /**
289
+ * Identifier of the owner for this VPC
290
+ */
291
+ readonly ownerAccountId: string;
292
+ /**
293
+ * For validation to define IPv6 subnets, set to true in case of
294
+ * Amazon Provided IPv6 cidr range
295
+ * if true, IPv6 addresses can be attached to the subnets.
296
+ *
297
+ * @default false
298
+ */
299
+ readonly useIpv6: boolean;
300
+ /**
301
+ * VpcName to be used for tagging its components
302
+ * @attribute
303
+ */
304
+ readonly vpcName?: string;
305
+ readonly ipv4CidrBlock: string;
306
+ constructor(scope: Construct, id: string, props?: VpcV2Props);
307
+ }
308
+ /**
309
+ * Interface to create L2 for VPC Cidr Block
310
+ */
311
+ export interface IVPCCidrBlock {
312
+ /**
313
+ * Amazon Provided Ipv6
314
+ */
315
+ readonly amazonProvidedIpv6CidrBlock?: boolean;
316
+ /**
317
+ * The secondary IPv4 CIDR Block
318
+ *
319
+ * @default - no CIDR block provided
320
+ */
321
+ readonly cidrBlock?: string;
322
+ /**
323
+ * IPAM pool for IPv6 address type
324
+ */
325
+ readonly ipv6IpamPoolId?: string;
326
+ /**
327
+ * IPAM pool for IPv4 address type
328
+ */
329
+ readonly ipv4IpamPoolId?: string;
330
+ }
331
+ /**
332
+ * Attributes for VPCCidrBlock used for defining a new CIDR Block
333
+ * and also for importing an existing CIDR
334
+ */
335
+ export interface VPCCidrBlockattributes {
336
+ /**
337
+ * Amazon Provided Ipv6
338
+ *
339
+ * @default false
340
+ */
341
+ readonly amazonProvidedIpv6CidrBlock?: boolean;
342
+ /**
343
+ * The secondary IPv4 CIDR Block
344
+ *
345
+ * @default - no CIDR block provided
346
+ */
347
+ readonly cidrBlock?: string;
348
+ /**
349
+ * The secondary IPv4 CIDR Block
350
+ *
351
+ * @default - no CIDR block provided
352
+ */
353
+ readonly cidrBlockName?: string;
354
+ /**
355
+ * Net mask length for IPv6 address type
356
+ *
357
+ * @default - no Net mask length configured for IPv6
358
+ */
359
+ readonly ipv6NetmaskLength?: number;
360
+ /**
361
+ * Net mask length for IPv4 address type
362
+ *
363
+ * @default - no Net mask length configured for IPv4
364
+ */
365
+ readonly ipv4NetmaskLength?: number;
366
+ /**
367
+ * IPAM pool for IPv6 address type
368
+ *
369
+ * @default - no IPAM pool Id provided for IPv6
370
+ */
371
+ readonly ipv6IpamPoolId?: string;
372
+ /**
373
+ * IPAM pool for IPv4 address type
374
+ *
375
+ * @default - no IPAM pool Id provided for IPv4
376
+ */
377
+ readonly ipv4IpamPoolId?: string;
378
+ /**
379
+ * IPv4 CIDR provisioned under pool
380
+ * Required to check for overlapping CIDRs after provisioning
381
+ * is complete under IPAM pool
382
+ * @default - no IPAM IPv4 CIDR range is provisioned using IPAM
383
+ */
384
+ readonly ipv4IpamProvisionedCidrs?: string[];
385
+ }