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,339 @@
1
+ import { IConstruct, Construct } from "constructs";
2
+ import { IApplicationListener } from "./application-listener";
3
+ import { HttpCodeTarget } from "./application-load-balancer";
4
+ import { Duration } from "../../../duration";
5
+ import * as cloudwatch from "../../cloudwatch";
6
+ import { IConnectable } from "../connections";
7
+ import { BaseTargetGroupProps, ITargetGroup, LoadBalancerTargetProps, TargetGroupAttributes, TargetGroupBase, TargetGroupImportProps } from "../lb-shared/base-target-group";
8
+ import { ApplicationProtocol, ApplicationProtocolVersion, TargetGroupLoadBalancingAlgorithmType } from "../lb-shared/enums";
9
+ import { Port } from "../port";
10
+ /**
11
+ * Properties for defining an Application Target Group
12
+ */
13
+ export interface ApplicationTargetGroupProps extends BaseTargetGroupProps {
14
+ /**
15
+ * The protocol used for communication with the target.
16
+ *
17
+ * This is not applicable for Lambda targets.
18
+ *
19
+ * @default - Determined from port if known
20
+ */
21
+ readonly protocol?: ApplicationProtocol;
22
+ /**
23
+ * The protocol version to use
24
+ *
25
+ * @default ApplicationProtocolVersion.HTTP1
26
+ */
27
+ readonly protocolVersion?: ApplicationProtocolVersion;
28
+ /**
29
+ * The port on which the target receives traffic.
30
+ *
31
+ * This is not applicable for Lambda targets.
32
+ *
33
+ * @default - Determined from protocol if known
34
+ */
35
+ readonly port?: number;
36
+ /**
37
+ * The time period during which the load balancer sends a newly registered
38
+ * target a linearly increasing share of the traffic to the target group.
39
+ *
40
+ * The range is 30-900 seconds (15 minutes).
41
+ *
42
+ * @default 0
43
+ */
44
+ readonly slowStart?: Duration;
45
+ /**
46
+ * The stickiness cookie expiration period.
47
+ *
48
+ * Setting this value enables load balancer stickiness.
49
+ *
50
+ * After this period, the cookie is considered stale. The minimum value is
51
+ * 1 second and the maximum value is 7 days (604800 seconds).
52
+ *
53
+ * @default - Stickiness is disabled
54
+ */
55
+ readonly stickinessCookieDuration?: Duration;
56
+ /**
57
+ * The name of an application-based stickiness cookie.
58
+ *
59
+ * Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP,
60
+ * and AWSALBTG; they're reserved for use by the load balancer.
61
+ *
62
+ * Note: `stickinessCookieName` parameter depends on the presence of `stickinessCookieDuration` parameter.
63
+ * If `stickinessCookieDuration` is not set, `stickinessCookieName` will be omitted.
64
+ *
65
+ * @default - If `stickinessCookieDuration` is set, a load-balancer generated cookie is used. Otherwise, no stickiness is defined.
66
+ * @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html
67
+ */
68
+ readonly stickinessCookieName?: string;
69
+ /**
70
+ * The load balancing algorithm to select targets for routing requests.
71
+ *
72
+ * @default TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN
73
+ */
74
+ readonly loadBalancingAlgorithmType?: TargetGroupLoadBalancingAlgorithmType;
75
+ /**
76
+ * The targets to add to this target group.
77
+ *
78
+ * Can be `Instance`, `IPAddress`, or any self-registering load balancing
79
+ * target. If you use either `Instance` or `IPAddress` as targets, all
80
+ * target must be of the same type.
81
+ *
82
+ * @default - No targets.
83
+ */
84
+ readonly targets?: IApplicationLoadBalancerTarget[];
85
+ /**
86
+ * Indicates whether anomaly mitigation is enabled.
87
+ *
88
+ * Only available when `loadBalancingAlgorithmType` is `TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`
89
+ *
90
+ * @default false
91
+ *
92
+ * @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#automatic-target-weights
93
+ */
94
+ readonly enableAnomalyMitigation?: boolean;
95
+ }
96
+ /**
97
+ * Contains all metrics for a Target Group of a Application Load Balancer.
98
+ */
99
+ export interface IApplicationTargetGroupMetrics {
100
+ /**
101
+ * Return the given named metric for this Network Target Group
102
+ *
103
+ * @default Average over 5 minutes
104
+ */
105
+ custom(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
106
+ /**
107
+ * The number of IPv6 requests received by the target group
108
+ *
109
+ * @default Sum over 5 minutes
110
+ */
111
+ ipv6RequestCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
112
+ /**
113
+ * The number of requests processed over IPv4 and IPv6.
114
+ *
115
+ * This count includes only the requests with a response generated by a target of the load balancer.
116
+ *
117
+ * @default Sum over 5 minutes
118
+ */
119
+ requestCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
120
+ /**
121
+ * The number of healthy hosts in the target group
122
+ *
123
+ * @default Average over 5 minutes
124
+ */
125
+ healthyHostCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
126
+ /**
127
+ * The number of unhealthy hosts in the target group
128
+ *
129
+ * @default Average over 5 minutes
130
+ */
131
+ unhealthyHostCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
132
+ /**
133
+ * The number of HTTP 2xx/3xx/4xx/5xx response codes generated by all targets in this target group.
134
+ *
135
+ * This does not include any response codes generated by the load balancer.
136
+ *
137
+ * @default Sum over 5 minutes
138
+ */
139
+ httpCodeTarget(code: HttpCodeTarget, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
140
+ /**
141
+ * The average number of requests received by each target in a target group.
142
+ *
143
+ * The only valid statistic is Sum. Note that this represents the average not the sum.
144
+ *
145
+ * @default Sum over 5 minutes
146
+ */
147
+ requestCountPerTarget(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
148
+ /**
149
+ * The number of connections that were not successfully established between the load balancer and target.
150
+ *
151
+ * @default Sum over 5 minutes
152
+ */
153
+ targetConnectionErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
154
+ /**
155
+ * The time elapsed, in seconds, after the request leaves the load balancer until a response from the target is received.
156
+ *
157
+ * @default Average over 5 minutes
158
+ */
159
+ targetResponseTime(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
160
+ /**
161
+ * The number of TLS connections initiated by the load balancer that did not establish a session with the target.
162
+ *
163
+ * Possible causes include a mismatch of ciphers or protocols.
164
+ *
165
+ * @default Sum over 5 minutes
166
+ */
167
+ targetTLSNegotiationErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
168
+ }
169
+ /**
170
+ * Define an Application Target Group
171
+ */
172
+ export declare class ApplicationTargetGroup extends TargetGroupBase implements IApplicationTargetGroup {
173
+ /**
174
+ * Import an existing target group
175
+ */
176
+ static fromTargetGroupAttributes(scope: Construct, id: string, attrs: TargetGroupAttributes): IApplicationTargetGroup;
177
+ /**
178
+ * Import an existing target group
179
+ *
180
+ * @deprecated Use `fromTargetGroupAttributes` instead
181
+ */
182
+ static import(scope: Construct, id: string, props: TargetGroupImportProps): IApplicationTargetGroup;
183
+ private readonly connectableMembers;
184
+ private readonly listeners;
185
+ private readonly protocol?;
186
+ private readonly port?;
187
+ private _metrics?;
188
+ constructor(scope: Construct, id: string, props?: ApplicationTargetGroupProps);
189
+ get metrics(): IApplicationTargetGroupMetrics;
190
+ /**
191
+ * Add a load balancing target to this target group
192
+ */
193
+ addTarget(...targets: IApplicationLoadBalancerTarget[]): void;
194
+ /**
195
+ * Enable sticky routing via a cookie to members of this target group.
196
+ *
197
+ * Note: If the `cookieName` parameter is set, application-based stickiness will be applied,
198
+ * otherwise it defaults to duration-based stickiness attributes (`lb_cookie`).
199
+ *
200
+ * @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html
201
+ */
202
+ enableCookieStickiness(duration: Duration, cookieName?: string): void;
203
+ /**
204
+ * Register a connectable as a member of this target group.
205
+ *
206
+ * Don't call this directly. It will be called by load balancing targets.
207
+ */
208
+ registerConnectable(connectable: IConnectable, portRange?: Port): void;
209
+ /**
210
+ * Register a listener that is load balancing to this target group.
211
+ *
212
+ * Don't call this directly. It will be called by listeners.
213
+ */
214
+ registerListener(listener: IApplicationListener, associatingConstruct?: IConstruct): void;
215
+ /**
216
+ * Full name of first load balancer
217
+ */
218
+ get firstLoadBalancerFullName(): string;
219
+ /**
220
+ * Return the given named metric for this Application Load Balancer Target Group
221
+ *
222
+ * Returns the metric for this target group from the point of view of the first
223
+ * load balancer load balancing to it. If you have multiple load balancers load
224
+ * sending traffic to the same target group, you will have to override the dimensions
225
+ * on this metric.
226
+ *
227
+ * @default Average over 5 minutes
228
+ */
229
+ metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
230
+ /**
231
+ * The number of IPv6 requests received by the target group
232
+ *
233
+ * @default Sum over 5 minutes
234
+ * @deprecated Use ``ApplicationTargetGroup.metrics.ipv6RequestCount`` instead
235
+ */
236
+ metricIpv6RequestCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
237
+ /**
238
+ * The number of requests processed over IPv4 and IPv6.
239
+ *
240
+ * This count includes only the requests with a response generated by a target of the load balancer.
241
+ *
242
+ * @default Sum over 5 minutes
243
+ * @deprecated Use ``ApplicationTargetGroup.metrics.requestCount`` instead
244
+ */
245
+ metricRequestCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
246
+ /**
247
+ * The number of healthy hosts in the target group
248
+ *
249
+ * @default Average over 5 minutes
250
+ * @deprecated Use ``ApplicationTargetGroup.metrics.healthyHostCount`` instead
251
+ */
252
+ metricHealthyHostCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
253
+ /**
254
+ * The number of unhealthy hosts in the target group
255
+ *
256
+ * @default Average over 5 minutes
257
+ * @deprecated Use ``ApplicationTargetGroup.metrics.unhealthyHostCount`` instead
258
+ */
259
+ metricUnhealthyHostCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
260
+ /**
261
+ * The number of HTTP 2xx/3xx/4xx/5xx response codes generated by all targets in this target group.
262
+ *
263
+ * This does not include any response codes generated by the load balancer.
264
+ *
265
+ * @default Sum over 5 minutes
266
+ * @deprecated Use ``ApplicationTargetGroup.metrics.httpCodeTarget`` instead
267
+ */
268
+ metricHttpCodeTarget(code: HttpCodeTarget, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
269
+ /**
270
+ * The average number of requests received by each target in a target group.
271
+ *
272
+ * The only valid statistic is Sum. Note that this represents the average not the sum.
273
+ *
274
+ * @default Sum over 5 minutes
275
+ * @deprecated Use `ApplicationTargetGroup.metrics.requestCountPerTarget` instead
276
+ */
277
+ metricRequestCountPerTarget(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
278
+ /**
279
+ * The number of connections that were not successfully established between the load balancer and target.
280
+ *
281
+ * @default Sum over 5 minutes
282
+ * @deprecated Use ``ApplicationTargetGroup.metrics.targetConnectionErrorCount`` instead
283
+ */
284
+ metricTargetConnectionErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
285
+ /**
286
+ * The time elapsed, in seconds, after the request leaves the load balancer until a response from the target is received.
287
+ *
288
+ * @default Average over 5 minutes
289
+ * @deprecated Use ``ApplicationTargetGroup.metrics.targetResponseTime`` instead
290
+ */
291
+ metricTargetResponseTime(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
292
+ /**
293
+ * The number of TLS connections initiated by the load balancer that did not establish a session with the target.
294
+ *
295
+ * Possible causes include a mismatch of ciphers or protocols.
296
+ *
297
+ * @default Sum over 5 minutes
298
+ * @deprecated Use ``ApplicationTargetGroup.metrics.tlsNegotiationErrorCount`` instead
299
+ */
300
+ metricTargetTLSNegotiationErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
301
+ protected validateTargetGroup(): string[];
302
+ }
303
+ /**
304
+ * A Target Group for Application Load Balancers
305
+ */
306
+ export interface IApplicationTargetGroup extends ITargetGroup {
307
+ /**
308
+ * All metrics available for this target group.
309
+ */
310
+ readonly metrics: IApplicationTargetGroupMetrics;
311
+ /**
312
+ * Register a listener that is load balancing to this target group.
313
+ *
314
+ * Don't call this directly. It will be called by listeners.
315
+ */
316
+ registerListener(listener: IApplicationListener, associatingConstruct?: IConstruct): void;
317
+ /**
318
+ * Register a connectable as a member of this target group.
319
+ *
320
+ * Don't call this directly. It will be called by load balancing targets.
321
+ */
322
+ registerConnectable(connectable: IConnectable, portRange?: Port): void;
323
+ /**
324
+ * Add a load balancing target to this target group
325
+ */
326
+ addTarget(...targets: IApplicationLoadBalancerTarget[]): void;
327
+ }
328
+ /**
329
+ * Interface for constructs that can be targets of an application load balancer
330
+ */
331
+ export interface IApplicationLoadBalancerTarget {
332
+ /**
333
+ * Attach load-balanced target to a TargetGroup
334
+ *
335
+ * May return JSON to directly add to the [Targets] list, or return undefined
336
+ * if the target will register itself with the load balancer.
337
+ */
338
+ attachToApplicationTargetGroup(targetGroup: IApplicationTargetGroup): LoadBalancerTargetProps;
339
+ }