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,443 @@
1
+ import { Construct } from "constructs";
2
+ import { IVpc, SubnetSelection } from "./vpc";
3
+ import { Duration } from "../../duration";
4
+ import { IAwsConstruct, AwsConstructBase } from "../aws-construct";
5
+ import * as cloudwatch from "../cloudwatch";
6
+ /**
7
+ * Outputs which may be registered for output via the Grid.
8
+ */
9
+ export interface VpnConnectionOutputs {
10
+ /**
11
+ * The id of the VPN connection.
12
+ * @attribute VpnConnectionId
13
+ */
14
+ readonly vpnId: string;
15
+ /**
16
+ * The id of the customer gateway.
17
+ */
18
+ readonly customerGatewayId: string;
19
+ /**
20
+ * The ip address of the customer gateway.
21
+ */
22
+ readonly customerGatewayIp: string;
23
+ /**
24
+ * The ASN of the customer gateway.
25
+ */
26
+ readonly customerGatewayAsn: number;
27
+ }
28
+ export interface IVpnConnection extends IAwsConstruct {
29
+ /** Strongly typed outputs */
30
+ readonly vpnConnectionOutputs: VpnConnectionOutputs;
31
+ /**
32
+ * The id of the VPN connection.
33
+ * @attribute VpnConnectionId
34
+ */
35
+ readonly vpnId: string;
36
+ /**
37
+ * The id of the customer gateway.
38
+ */
39
+ readonly customerGatewayId: string;
40
+ /**
41
+ * The ip address of the customer gateway.
42
+ */
43
+ readonly customerGatewayIp: string;
44
+ /**
45
+ * The ASN of the customer gateway.
46
+ */
47
+ readonly customerGatewayAsn: number;
48
+ }
49
+ /**
50
+ * Outputs which may be registered for output via the Grid.
51
+ */
52
+ export interface VpnGatewayOutputs {
53
+ /**
54
+ * The virtual private gateway Id
55
+ * @attribute VpnGatewayId
56
+ */
57
+ readonly gatewayId: string;
58
+ }
59
+ /**
60
+ * The virtual private gateway interface
61
+ */
62
+ export interface IVpnGateway extends IAwsConstruct {
63
+ /** Strongly typed outputs */
64
+ readonly vpnGatewayOutputs: VpnGatewayOutputs;
65
+ /**
66
+ * The virtual private gateway Id
67
+ */
68
+ readonly gatewayId: string;
69
+ }
70
+ export interface VpnTunnelOption {
71
+ /**
72
+ * The pre-shared key (PSK) to establish initial authentication between the
73
+ * virtual private gateway and customer gateway. Allowed characters are
74
+ * alphanumeric characters period `.` and underscores `_`. Must be between 8
75
+ * and 64 characters in length and cannot start with zero (0).
76
+ *
77
+ * @default an Amazon generated pre-shared key
78
+ */
79
+ readonly preSharedKey?: string;
80
+ /**
81
+ * The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be
82
+ * unique across all VPN connections that use the same virtual private gateway.
83
+ * A size /30 CIDR block from the 169.254.0.0/16 range.
84
+ *
85
+ * @default an Amazon generated inside IP CIDR
86
+ */
87
+ readonly tunnelInsideCidr?: string;
88
+ /**
89
+ * The IKE versions for the tunnel
90
+ */
91
+ readonly ikeVersions?: IkeVersion[];
92
+ /**
93
+ * The DPD timeout action for the tunnel
94
+ */
95
+ readonly dpdTimeoutAction?: DpdTimeoutAction;
96
+ /**
97
+ * The DPD timeout
98
+ */
99
+ readonly dpdTimeout?: Duration;
100
+ /**
101
+ * Enable tunnel lifecycle control
102
+ */
103
+ readonly enableTunnelLifecycleControl?: boolean;
104
+ /**
105
+ * The phase 1 DH group numbers
106
+ */
107
+ readonly phase1DhGroupNumbers?: Phase1DhGroupNumber[];
108
+ /**
109
+ * The phase 1 encryption algorithms
110
+ */
111
+ readonly phase1EncryptionAlgorithms?: EncryptionAlgorithm[];
112
+ /**
113
+ * The phase 1 integrity algorithms
114
+ */
115
+ readonly phase1IntegrityAlgorithms?: IntegrityAlgorithm[];
116
+ /**
117
+ * The phase 1 lifetime
118
+ */
119
+ readonly phase1Lifetime?: Duration;
120
+ /**
121
+ * The phase 2 DH group numbers
122
+ */
123
+ readonly phase2DhGroupNumbers?: Phase2DhGroupNumber[];
124
+ /**
125
+ * The phase 2 encryption algorithms
126
+ */
127
+ readonly phase2EncryptionAlgorithms?: EncryptionAlgorithm[];
128
+ /**
129
+ * The phase 2 integrity algorithms
130
+ */
131
+ readonly phase2IntegrityAlgorithms?: IntegrityAlgorithm[];
132
+ /**
133
+ * The phase 2 lifetime in seconds
134
+ */
135
+ readonly phase2Lifetime?: Duration;
136
+ /**
137
+ * The percentage of the rekey window during which the rekey time is randomly selected
138
+ * @default 100
139
+ * @minimum 0
140
+ * @maximum 100
141
+ */
142
+ readonly rekeyFuzzPercentage?: number;
143
+ /**
144
+ * The margin time before phase 2 lifetime expires for IKE rekey
145
+ * @default 540
146
+ * @minimum 60
147
+ * @remarks Must be between 60 and half of phase2LifetimeSeconds
148
+ */
149
+ readonly rekeyMarginTime?: Duration;
150
+ /**
151
+ * The number of packets in an IKE replay window
152
+ * @default 1024
153
+ * @minimum 64
154
+ * @maximum 2048
155
+ */
156
+ readonly replayWindowSize?: number;
157
+ /**
158
+ * The action to take when the establishing the tunnel for the second VPN connection.
159
+ *
160
+ * By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel.
161
+ * Specify `start` for AWS to initiate the IKE negotiation.
162
+ */
163
+ readonly startupAction?: TunnelStartupAction;
164
+ }
165
+ export interface VpnConnectionOptions {
166
+ /**
167
+ * The ip address of the customer gateway.
168
+ */
169
+ readonly ip: string;
170
+ /**
171
+ * The ASN of the customer gateway.
172
+ *
173
+ * @default 65000
174
+ */
175
+ readonly asn?: number;
176
+ /**
177
+ * The static routes to be routed from the VPN gateway to the customer gateway.
178
+ *
179
+ * @default Dynamic routing (BGP)
180
+ */
181
+ readonly staticRoutes?: string[];
182
+ /**
183
+ * The tunnel options for the VPN connection. At most two elements (one per tunnel).
184
+ * Duplicates not allowed.
185
+ *
186
+ * @default Amazon generated tunnel options
187
+ */
188
+ readonly tunnelOptions?: VpnTunnelOption[];
189
+ }
190
+ /**
191
+ * The VpnGateway Properties
192
+ */
193
+ export interface VpnGatewayProps {
194
+ /**
195
+ * Default type ipsec.1
196
+ *
197
+ * This is ignored by Terraform Provider AWS
198
+ *
199
+ * @see https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/resources/internet_gateway_attachment#argument-reference
200
+ * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html#cfn-ec2-vpngateway-type
201
+ */
202
+ readonly type: string;
203
+ /**
204
+ * Explicitly specify an Asn or let aws pick an Asn for you.
205
+ * @default 65000
206
+ */
207
+ readonly amazonSideAsn?: number;
208
+ }
209
+ /**
210
+ * Options for the Vpc.enableVpnGateway() method
211
+ */
212
+ export interface EnableVpnGatewayOptions extends VpnGatewayProps {
213
+ /**
214
+ * Provide an array of subnets where the route propagation should be added.
215
+ * @default noPropagation
216
+ */
217
+ readonly vpnRoutePropagation?: SubnetSelection[];
218
+ }
219
+ export interface VpnConnectionProps extends VpnConnectionOptions {
220
+ /**
221
+ * The VPC to connect to.
222
+ */
223
+ readonly vpc: IVpc;
224
+ }
225
+ /**
226
+ * The VPN connection type.
227
+ */
228
+ export declare enum VpnConnectionType {
229
+ /**
230
+ * The IPsec 1 VPN connection type.
231
+ */
232
+ IPSEC_1 = "ipsec.1",
233
+ /**
234
+ * Dummy member
235
+ * TODO: remove once https://github.com/aws/jsii/issues/231 is fixed
236
+ */
237
+ DUMMY = "dummy"
238
+ }
239
+ /**
240
+ * The VPN Gateway that shall be added to the VPC
241
+ *
242
+ * @resource aws_vpn_gateway
243
+ */
244
+ export declare class VpnGateway extends AwsConstructBase implements IVpnGateway {
245
+ /**
246
+ * The virtual private gateway Id
247
+ */
248
+ readonly gatewayId: string;
249
+ get vpnGatewayOutputs(): VpnGatewayOutputs;
250
+ get outputs(): Record<string, any>;
251
+ constructor(scope: Construct, id: string, props: VpnGatewayProps);
252
+ }
253
+ /**
254
+ * Attributes of an imported VpnConnection.
255
+ */
256
+ export interface VpnConnectionAttributes {
257
+ /**
258
+ * The id of the VPN connection.
259
+ */
260
+ readonly vpnId: string;
261
+ /**
262
+ * The id of the customer gateway.
263
+ */
264
+ readonly customerGatewayId: string;
265
+ /**
266
+ * The ip address of the customer gateway.
267
+ */
268
+ readonly customerGatewayIp: string;
269
+ /**
270
+ * The ASN of the customer gateway.
271
+ */
272
+ readonly customerGatewayAsn: number;
273
+ }
274
+ /**
275
+ * Base class for Vpn connections.
276
+ */
277
+ export declare abstract class VpnConnectionBase extends AwsConstructBase implements IVpnConnection {
278
+ abstract readonly vpnId: string;
279
+ abstract readonly customerGatewayId: string;
280
+ abstract readonly customerGatewayIp: string;
281
+ abstract readonly customerGatewayAsn: number;
282
+ get vpnConnectionOutputs(): VpnConnectionOutputs;
283
+ get outputs(): Record<string, any>;
284
+ }
285
+ /**
286
+ * Define a VPN Connection
287
+ *
288
+ * @resource AWS::EC2::VPNConnection
289
+ */
290
+ export declare class VpnConnection extends VpnConnectionBase {
291
+ /**
292
+ * Import a VPN connection by supplying all attributes directly
293
+ */
294
+ static fromVpnConnectionAttributes(scope: Construct, id: string, attrs: VpnConnectionAttributes): IVpnConnection;
295
+ /**
296
+ * Return the given named metric for all VPN connections in the account/region.
297
+ */
298
+ static metricAll(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
299
+ /**
300
+ * Metric for the tunnel state of all VPN connections in the account/region.
301
+ *
302
+ * @default average over 5 minutes
303
+ */
304
+ static metricAllTunnelState(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
305
+ /**
306
+ * Metric for the tunnel data in of all VPN connections in the account/region.
307
+ *
308
+ * @default sum over 5 minutes
309
+ */
310
+ static metricAllTunnelDataIn(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
311
+ /**
312
+ * Metric for the tunnel data out of all VPN connections.
313
+ *
314
+ * @default sum over 5 minutes
315
+ */
316
+ static metricAllTunnelDataOut(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
317
+ readonly vpnId: string;
318
+ readonly customerGatewayId: string;
319
+ readonly customerGatewayIp: string;
320
+ readonly customerGatewayAsn: number;
321
+ constructor(scope: Construct, id: string, props: VpnConnectionProps);
322
+ }
323
+ export declare const RESERVED_TUNNEL_INSIDE_CIDR: string[];
324
+ /**
325
+ * Action to take after DPD timeout occurs
326
+ */
327
+ export declare enum DpdTimeoutAction {
328
+ /**
329
+ * End the IKE session
330
+ */
331
+ CLEAR = "clear",
332
+ /**
333
+ * Take no action
334
+ */
335
+ NONE = "none",
336
+ /**
337
+ * Restart the IKE initiation
338
+ */
339
+ RESTART = "restart"
340
+ }
341
+ /**
342
+ * IKE versions permitted for VPN tunnels
343
+ */
344
+ export declare enum IkeVersion {
345
+ /**
346
+ * IKE version 1
347
+ */
348
+ IKEV1 = "ikev1",
349
+ /**
350
+ * IKE version 2
351
+ */
352
+ IKEV2 = "ikev2"
353
+ }
354
+ /**
355
+ * Phase 1 and 2 encryption algorithms
356
+ */
357
+ export declare enum EncryptionAlgorithm {
358
+ /**
359
+ * AES with 128-bit key
360
+ */
361
+ AES128 = "AES128",
362
+ /**
363
+ * AES with 256-bit key
364
+ */
365
+ AES256 = "AES256",
366
+ /**
367
+ * AES-GCM with 128-bit key and 16 byte integrity check
368
+ */
369
+ AES128_GCM_16 = "AES128-GCM-16",
370
+ /**
371
+ * AES-GCM with 256-bit key and 16 byte integrity check
372
+ */
373
+ AES256_GCM_16 = "AES256-GCM-16"
374
+ }
375
+ /**
376
+ * Phase 1 and 2 integrity algorithms
377
+ */
378
+ export declare enum IntegrityAlgorithm {
379
+ /**
380
+ * SHA-1 hash algorithm
381
+ */
382
+ SHA1 = "SHA1",
383
+ /**
384
+ * SHA-2 with 256-bit digest
385
+ */
386
+ SHA2_256 = "SHA2-256",
387
+ /**
388
+ * SHA-2 with 384-bit digest
389
+ */
390
+ SHA2_384 = "SHA2-384",
391
+ /**
392
+ * SHA-2 with 512-bit digest
393
+ */
394
+ SHA2_512 = "SHA2-512"
395
+ }
396
+ /**
397
+ * Phase 1 Diffie-Hellman group numbers
398
+ */
399
+ export declare enum Phase1DhGroupNumber {
400
+ GROUP_2 = 2,
401
+ GROUP_14 = 14,
402
+ GROUP_15 = 15,
403
+ GROUP_16 = 16,
404
+ GROUP_17 = 17,
405
+ GROUP_18 = 18,
406
+ GROUP_19 = 19,
407
+ GROUP_20 = 20,
408
+ GROUP_21 = 21,
409
+ GROUP_22 = 22,
410
+ GROUP_23 = 23,
411
+ GROUP_24 = 24
412
+ }
413
+ /**
414
+ * Phase 2 Diffie-Hellman group numbers
415
+ */
416
+ export declare enum Phase2DhGroupNumber {
417
+ GROUP_2 = 2,
418
+ GROUP_5 = 5,
419
+ GROUP_14 = 14,
420
+ GROUP_15 = 15,
421
+ GROUP_16 = 16,
422
+ GROUP_17 = 17,
423
+ GROUP_18 = 18,
424
+ GROUP_19 = 19,
425
+ GROUP_20 = 20,
426
+ GROUP_21 = 21,
427
+ GROUP_22 = 22,
428
+ GROUP_23 = 23,
429
+ GROUP_24 = 24
430
+ }
431
+ /**
432
+ * Tunnel startup action
433
+ */
434
+ export declare enum TunnelStartupAction {
435
+ /**
436
+ * Customer gateway must initiate IKE negotiation
437
+ */
438
+ ADD = "add",
439
+ /**
440
+ * AWS will initiate IKE negotiation
441
+ */
442
+ START = "start"
443
+ }