terraconstructs 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/.jsii +104486 -34582
  2. package/lib/aws/arn.js +1 -1
  3. package/lib/aws/aws-construct.d.ts +1 -1
  4. package/lib/aws/aws-construct.js +28 -2
  5. package/lib/aws/aws-stack.d.ts +2 -4
  6. package/lib/aws/aws-stack.js +21 -8
  7. package/lib/aws/aws-tags.d.ts +58 -0
  8. package/lib/aws/aws-tags.js +77 -0
  9. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  10. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  11. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  12. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  13. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  14. package/lib/aws/cloudwatch/alarm.js +1 -1
  15. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  16. package/lib/aws/cloudwatch/dashboard.js +1 -1
  17. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  18. package/lib/aws/cloudwatch/graph.js +8 -8
  19. package/lib/aws/cloudwatch/layout.js +3 -3
  20. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  21. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  22. package/lib/aws/cloudwatch/log-group.js +1 -1
  23. package/lib/aws/cloudwatch/log-query.js +1 -1
  24. package/lib/aws/cloudwatch/log-stream.js +1 -1
  25. package/lib/aws/cloudwatch/metric-filter.d.ts +1 -1
  26. package/lib/aws/cloudwatch/metric-filter.js +4 -4
  27. package/lib/aws/cloudwatch/metric.js +2 -2
  28. package/lib/aws/cloudwatch/pattern.js +3 -3
  29. package/lib/aws/cloudwatch/policy.js +1 -1
  30. package/lib/aws/cloudwatch/private/env-tokens.js +5 -6
  31. package/lib/aws/cloudwatch/private/metric-util.js +4 -5
  32. package/lib/aws/cloudwatch/private/object.js +2 -3
  33. package/lib/aws/cloudwatch/private/rendering.js +3 -3
  34. package/lib/aws/cloudwatch/private/statistic.js +6 -7
  35. package/lib/aws/cloudwatch/query-definition.js +2 -2
  36. package/lib/aws/cloudwatch/stats.js +1 -1
  37. package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
  38. package/lib/aws/cloudwatch/subscription-filter.js +4 -4
  39. package/lib/aws/cloudwatch/text.js +1 -1
  40. package/lib/aws/cloudwatch/variable.js +3 -3
  41. package/lib/aws/cloudwatch/widget.d.ts +1 -1
  42. package/lib/aws/cloudwatch/widget.js +4 -4
  43. package/lib/aws/compute/activity.js +3 -2
  44. package/lib/aws/compute/alb/application-listener-action.d.ts +334 -0
  45. package/lib/aws/compute/alb/application-listener-action.js +281 -0
  46. package/lib/aws/compute/alb/application-listener-certificate.d.ts +35 -0
  47. package/lib/aws/compute/alb/application-listener-certificate.js +35 -0
  48. package/lib/aws/compute/alb/application-listener-rule.d.ts +233 -0
  49. package/lib/aws/compute/alb/application-listener-rule.js +220 -0
  50. package/lib/aws/compute/alb/application-listener.d.ts +574 -0
  51. package/lib/aws/compute/alb/application-listener.js +538 -0
  52. package/lib/aws/compute/alb/application-load-balancer.d.ts +715 -0
  53. package/lib/aws/compute/alb/application-load-balancer.js +780 -0
  54. package/lib/aws/compute/alb/application-target-group.d.ts +339 -0
  55. package/lib/aws/compute/alb/application-target-group.js +427 -0
  56. package/lib/aws/compute/alb/conditions.d.ts +61 -0
  57. package/lib/aws/compute/alb/conditions.js +164 -0
  58. package/lib/aws/compute/alb/trust-store-revocation.d.ts +59 -0
  59. package/lib/aws/compute/alb/trust-store-revocation.js +46 -0
  60. package/lib/aws/compute/alb/trust-store.d.ts +86 -0
  61. package/lib/aws/compute/alb/trust-store.js +79 -0
  62. package/lib/aws/compute/architecture.js +1 -1
  63. package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +75 -0
  64. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +106 -0
  65. package/lib/aws/compute/bastion-host.d.ts +172 -0
  66. package/lib/aws/compute/bastion-host.js +114 -0
  67. package/lib/aws/compute/chain.js +1 -1
  68. package/lib/aws/compute/cidr-splits.d.ts +49 -0
  69. package/lib/aws/compute/cidr-splits.js +59 -0
  70. package/lib/aws/compute/client-vpn-authorization-rule.d.ts +43 -0
  71. package/lib/aws/compute/client-vpn-authorization-rule.js +30 -0
  72. package/lib/aws/compute/client-vpn-endpoint-types.d.ts +62 -0
  73. package/lib/aws/compute/client-vpn-endpoint-types.js +25 -0
  74. package/lib/aws/compute/client-vpn-endpoint.d.ts +239 -0
  75. package/lib/aws/compute/client-vpn-endpoint.js +259 -0
  76. package/lib/aws/compute/client-vpn-route.d.ts +67 -0
  77. package/lib/aws/compute/client-vpn-route.js +57 -0
  78. package/lib/aws/compute/condition.js +1 -1
  79. package/lib/aws/compute/connections.d.ts +137 -0
  80. package/lib/aws/compute/connections.js +208 -0
  81. package/lib/aws/compute/ec2-augmentations.generated.d.ts +53 -0
  82. package/lib/aws/compute/ec2-augmentations.generated.js +35 -0
  83. package/lib/aws/compute/ec2-canned-metrics.generated.d.ts +555 -0
  84. package/lib/aws/compute/ec2-canned-metrics.generated.js +681 -0
  85. package/lib/aws/compute/ec2-util-v2.d.ts +141 -0
  86. package/lib/aws/compute/ec2-util-v2.js +286 -0
  87. package/lib/aws/compute/ec2-util.d.ts +52 -0
  88. package/lib/aws/compute/ec2-util.js +138 -0
  89. package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.d.ts +176 -0
  90. package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.js +119 -0
  91. package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.d.ts +860 -0
  92. package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.js +597 -0
  93. package/lib/aws/compute/event-invoke-config.js +1 -1
  94. package/lib/aws/compute/event-source-filter.js +2 -2
  95. package/lib/aws/compute/event-source-mapping.js +1 -1
  96. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  97. package/lib/aws/compute/event-sources/s3.js +1 -1
  98. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  99. package/lib/aws/compute/event-sources/sqs.js +1 -1
  100. package/lib/aws/compute/fields.js +4 -4
  101. package/lib/aws/compute/function-alias.js +1 -1
  102. package/lib/aws/compute/function-base.js +2 -2
  103. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  104. package/lib/aws/compute/function-destinations/function.js +1 -1
  105. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  106. package/lib/aws/compute/function-nodejs.js +1 -1
  107. package/lib/aws/compute/function-url.js +1 -1
  108. package/lib/aws/compute/function-vpc-config.generated.d.ts +3 -3
  109. package/lib/aws/compute/function-vpc-config.generated.js +1 -1
  110. package/lib/aws/compute/function.d.ts +1 -1
  111. package/lib/aws/compute/function.js +5 -5
  112. package/lib/aws/compute/index-alpha.d.ts +5 -0
  113. package/lib/aws/compute/index-alpha.js +22 -0
  114. package/lib/aws/compute/index.d.ts +60 -0
  115. package/lib/aws/compute/index.js +70 -2
  116. package/lib/aws/compute/instance-types.d.ts +1354 -0
  117. package/lib/aws/compute/instance-types.js +1683 -0
  118. package/lib/aws/compute/instance.d.ts +436 -0
  119. package/lib/aws/compute/instance.js +262 -0
  120. package/lib/aws/compute/ip-addresses.d.ts +249 -0
  121. package/lib/aws/compute/ip-addresses.js +248 -0
  122. package/lib/aws/compute/ipam.d.ts +309 -0
  123. package/lib/aws/compute/ipam.js +306 -0
  124. package/lib/aws/compute/key-pair.d.ts +178 -0
  125. package/lib/aws/compute/key-pair.js +194 -0
  126. package/lib/aws/compute/lambda-augmentations.generated.d.ts +65 -0
  127. package/lib/aws/compute/lambda-augmentations.generated.js +41 -0
  128. package/lib/aws/compute/lambda-canned-metrics.generated.d.ts +316 -0
  129. package/lib/aws/compute/lambda-canned-metrics.generated.js +119 -0
  130. package/lib/aws/compute/launch-template.d.ts +540 -0
  131. package/lib/aws/compute/launch-template.js +468 -0
  132. package/lib/aws/compute/lb-shared/access-logs-accounts.d.ts +7 -0
  133. package/lib/aws/compute/lb-shared/access-logs-accounts.js +46 -0
  134. package/lib/aws/compute/lb-shared/base-listener.d.ts +113 -0
  135. package/lib/aws/compute/lb-shared/base-listener.js +181 -0
  136. package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +212 -0
  137. package/lib/aws/compute/lb-shared/base-load-balancer.js +290 -0
  138. package/lib/aws/compute/lb-shared/base-target-group.d.ts +382 -0
  139. package/lib/aws/compute/lb-shared/base-target-group.js +364 -0
  140. package/lib/aws/compute/lb-shared/enums.d.ts +282 -0
  141. package/lib/aws/compute/lb-shared/enums.js +301 -0
  142. package/lib/aws/compute/lb-shared/grid-lookup-types.d.ts +42 -0
  143. package/lib/aws/compute/lb-shared/grid-lookup-types.js +53 -0
  144. package/lib/aws/compute/lb-shared/imported.d.ts +24 -0
  145. package/lib/aws/compute/lb-shared/imported.js +27 -0
  146. package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +194 -0
  147. package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +3 -0
  148. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +56 -0
  149. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +3 -0
  150. package/lib/aws/compute/lb-shared/listener-action.d.ts +14 -0
  151. package/lib/aws/compute/lb-shared/listener-action.js +4 -0
  152. package/lib/aws/compute/lb-shared/listener-certificate.d.ts +28 -0
  153. package/lib/aws/compute/lb-shared/listener-certificate.js +29 -0
  154. package/lib/aws/compute/lb-shared/load-balancer-targets.d.ts +93 -0
  155. package/lib/aws/compute/lb-shared/load-balancer-targets.js +127 -0
  156. package/lib/aws/compute/lb-shared/util.d.ts +113 -0
  157. package/lib/aws/compute/lb-shared/util.js +264 -0
  158. package/lib/aws/compute/lb-targets/alb-target.d.ts +67 -0
  159. package/lib/aws/compute/lb-targets/alb-target.js +100 -0
  160. package/lib/aws/compute/lb-targets/index.d.ts +4 -0
  161. package/lib/aws/compute/lb-targets/index.js +22 -0
  162. package/lib/aws/compute/lb-targets/instance-target.d.ts +42 -0
  163. package/lib/aws/compute/lb-targets/instance-target.js +67 -0
  164. package/lib/aws/compute/lb-targets/ip-target.d.ts +55 -0
  165. package/lib/aws/compute/lb-targets/ip-target.js +79 -0
  166. package/lib/aws/compute/lb-targets/lambda-target.d.ts +25 -0
  167. package/lib/aws/compute/lb-targets/lambda-target.js +50 -0
  168. package/lib/aws/compute/load-balancer.d.ts +336 -0
  169. package/lib/aws/compute/load-balancer.js +287 -0
  170. package/lib/aws/compute/machine-image/amazon-linux-2022.d.ts +63 -0
  171. package/lib/aws/compute/machine-image/amazon-linux-2022.js +84 -0
  172. package/lib/aws/compute/machine-image/amazon-linux-2023.d.ts +63 -0
  173. package/lib/aws/compute/machine-image/amazon-linux-2023.js +84 -0
  174. package/lib/aws/compute/machine-image/amazon-linux2.d.ts +76 -0
  175. package/lib/aws/compute/machine-image/amazon-linux2.js +87 -0
  176. package/lib/aws/compute/machine-image/common.d.ts +181 -0
  177. package/lib/aws/compute/machine-image/common.js +122 -0
  178. package/lib/aws/compute/machine-image/index.d.ts +5 -0
  179. package/lib/aws/compute/machine-image/index.js +22 -0
  180. package/lib/aws/compute/machine-image/machine-image.d.ts +463 -0
  181. package/lib/aws/compute/machine-image/machine-image.js +566 -0
  182. package/lib/aws/compute/machine-image/utils.d.ts +2 -0
  183. package/lib/aws/compute/machine-image/utils.js +17 -0
  184. package/lib/aws/compute/nat.d.ts +325 -0
  185. package/lib/aws/compute/nat.js +455 -0
  186. package/lib/aws/compute/network-acl-types.d.ts +152 -0
  187. package/lib/aws/compute/network-acl-types.js +156 -0
  188. package/lib/aws/compute/network-acl.d.ts +285 -0
  189. package/lib/aws/compute/network-acl.js +207 -0
  190. package/lib/aws/compute/network-util.d.ts +116 -0
  191. package/lib/aws/compute/network-util.js +241 -0
  192. package/lib/aws/compute/nlb/network-listener-action.d.ts +92 -0
  193. package/lib/aws/compute/nlb/network-listener-action.js +146 -0
  194. package/lib/aws/compute/nlb/network-listener-certificate.d.ts +24 -0
  195. package/lib/aws/compute/nlb/network-listener-certificate.js +25 -0
  196. package/lib/aws/compute/nlb/network-listener.d.ts +248 -0
  197. package/lib/aws/compute/nlb/network-listener.js +217 -0
  198. package/lib/aws/compute/nlb/network-load-balancer.d.ts +315 -0
  199. package/lib/aws/compute/nlb/network-load-balancer.js +360 -0
  200. package/lib/aws/compute/nlb/network-target-group.d.ts +153 -0
  201. package/lib/aws/compute/nlb/network-target-group.js +223 -0
  202. package/lib/aws/compute/peer.d.ts +64 -0
  203. package/lib/aws/compute/peer.js +235 -0
  204. package/lib/aws/compute/placement-group.d.ts +161 -0
  205. package/lib/aws/compute/placement-group.js +133 -0
  206. package/lib/aws/compute/port.d.ts +287 -0
  207. package/lib/aws/compute/port.js +390 -0
  208. package/lib/aws/compute/prefix-list.d.ts +131 -0
  209. package/lib/aws/compute/prefix-list.js +114 -0
  210. package/lib/aws/compute/private/context-stub.d.ts +7 -0
  211. package/lib/aws/compute/private/context-stub.js +43 -0
  212. package/lib/aws/compute/private/ebs-util.d.ts +14 -0
  213. package/lib/aws/compute/private/ebs-util.js +145 -0
  214. package/lib/aws/compute/private/intrinstics.js +2 -1
  215. package/lib/aws/compute/private/json-path.js +8 -8
  216. package/lib/aws/compute/private/util.js +2 -3
  217. package/lib/aws/compute/route.d.ts +547 -0
  218. package/lib/aws/compute/route.js +469 -0
  219. package/lib/aws/compute/security-group.d.ts +414 -0
  220. package/lib/aws/compute/security-group.js +538 -0
  221. package/lib/aws/compute/state-graph.js +1 -1
  222. package/lib/aws/compute/state-machine-fragment.js +1 -1
  223. package/lib/aws/compute/state-machine.d.ts +2 -2
  224. package/lib/aws/compute/state-machine.js +14 -12
  225. package/lib/aws/compute/states/choice.js +1 -1
  226. package/lib/aws/compute/states/custom-state.js +1 -1
  227. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  228. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  229. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  230. package/lib/aws/compute/states/distributed-map.js +1 -1
  231. package/lib/aws/compute/states/fail.js +1 -1
  232. package/lib/aws/compute/states/map-base.js +1 -1
  233. package/lib/aws/compute/states/map.js +1 -1
  234. package/lib/aws/compute/states/parallel.js +1 -1
  235. package/lib/aws/compute/states/pass.js +2 -2
  236. package/lib/aws/compute/states/state.js +5 -5
  237. package/lib/aws/compute/states/succeed.js +1 -1
  238. package/lib/aws/compute/states/task-base.js +2 -2
  239. package/lib/aws/compute/states/task.js +1 -1
  240. package/lib/aws/compute/states/wait.js +2 -2
  241. package/lib/aws/compute/stepfunctions-canned-metrics.generated.d.ts +83 -0
  242. package/lib/aws/compute/stepfunctions-canned-metrics.generated.js +127 -0
  243. package/lib/aws/compute/subnet-v2.d.ts +213 -0
  244. package/lib/aws/compute/subnet-v2.js +405 -0
  245. package/lib/aws/compute/subnet.d.ts +37 -0
  246. package/lib/aws/compute/subnet.js +181 -0
  247. package/lib/aws/compute/task-credentials.js +1 -1
  248. package/lib/aws/compute/task-input.js +1 -1
  249. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  250. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  251. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  252. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  253. package/lib/aws/compute/tasks/private/task-utils.js +3 -4
  254. package/lib/aws/compute/tasks/resource-arn-suffix.js +2 -3
  255. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  256. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  257. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  258. package/lib/aws/compute/types.js +2 -2
  259. package/lib/aws/compute/user-data.d.ts +270 -0
  260. package/lib/aws/compute/user-data.js +487 -0
  261. package/lib/aws/compute/util.d.ts +1 -1
  262. package/lib/aws/compute/util.js +4 -5
  263. package/lib/aws/compute/volume.d.ts +480 -0
  264. package/lib/aws/compute/volume.js +426 -0
  265. package/lib/aws/compute/vpc-endpoint-service.d.ts +149 -0
  266. package/lib/aws/compute/vpc-endpoint-service.js +90 -0
  267. package/lib/aws/compute/vpc-endpoint.d.ts +742 -0
  268. package/lib/aws/compute/vpc-endpoint.js +811 -0
  269. package/lib/aws/compute/vpc-flow-logs.d.ts +551 -0
  270. package/lib/aws/compute/vpc-flow-logs.js +693 -0
  271. package/lib/aws/compute/vpc-lookup.d.ts +73 -0
  272. package/lib/aws/compute/vpc-lookup.js +3 -0
  273. package/lib/aws/compute/vpc-v2-base.d.ts +353 -0
  274. package/lib/aws/compute/vpc-v2-base.js +493 -0
  275. package/lib/aws/compute/vpc-v2.d.ts +385 -0
  276. package/lib/aws/compute/vpc-v2.js +408 -0
  277. package/lib/aws/compute/vpc.d.ts +1448 -0
  278. package/lib/aws/compute/vpc.js +1495 -0
  279. package/lib/aws/compute/vpn.d.ts +443 -0
  280. package/lib/aws/compute/vpn.js +397 -0
  281. package/lib/aws/compute/windows-versions.d.ts +418 -0
  282. package/lib/aws/compute/windows-versions.js +426 -0
  283. package/lib/aws/edge/certificate-base.d.ts +20 -0
  284. package/lib/aws/edge/certificate-base.js +28 -0
  285. package/lib/aws/edge/certificate.d.ts +23 -2
  286. package/lib/aws/edge/certificate.js +54 -4
  287. package/lib/aws/edge/distribution.js +3 -3
  288. package/lib/aws/edge/dns-alias-record-targets.js +2 -2
  289. package/lib/aws/edge/dns-record.js +16 -16
  290. package/lib/aws/edge/dns-zone.d.ts +20 -2
  291. package/lib/aws/edge/dns-zone.js +25 -10
  292. package/lib/aws/edge/function.js +2 -2
  293. package/lib/aws/edge/index.d.ts +1 -0
  294. package/lib/aws/edge/index.js +2 -1
  295. package/lib/aws/edge/key-value-store.js +4 -4
  296. package/lib/aws/edge/origin.js +8 -6
  297. package/lib/aws/edge/response-headers-policy.js +1 -1
  298. package/lib/aws/encryption/alias.js +1 -1
  299. package/lib/aws/encryption/key.js +1 -1
  300. package/lib/aws/encryption/via-service-principal.js +1 -1
  301. package/lib/aws/iam/grant.js +2 -2
  302. package/lib/aws/iam/index.d.ts +1 -0
  303. package/lib/aws/iam/index.js +2 -1
  304. package/lib/aws/iam/instance-profile.d.ts +155 -0
  305. package/lib/aws/iam/instance-profile.js +124 -0
  306. package/lib/aws/iam/managed-policy.js +1 -1
  307. package/lib/aws/iam/oidc-provider.js +1 -1
  308. package/lib/aws/iam/policy-document-config.generated.d.ts +8 -8
  309. package/lib/aws/iam/policy-document-config.generated.js +1 -1
  310. package/lib/aws/iam/policy-document.js +1 -1
  311. package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
  312. package/lib/aws/iam/policy-statement-props.generated.js +1 -1
  313. package/lib/aws/iam/policy-statement.js +9 -9
  314. package/lib/aws/iam/policy.js +1 -1
  315. package/lib/aws/iam/principals.js +26 -26
  316. package/lib/aws/iam/private/assume-role-policy.js +2 -3
  317. package/lib/aws/iam/private/comparable-principal.js +2 -3
  318. package/lib/aws/iam/private/immutable-role.d.ts +2 -1
  319. package/lib/aws/iam/private/immutable-role.js +3 -3
  320. package/lib/aws/iam/private/imported-role.d.ts +1 -1
  321. package/lib/aws/iam/private/imported-role.js +3 -3
  322. package/lib/aws/iam/private/merge-statements.js +2 -3
  323. package/lib/aws/iam/private/util.js +4 -4
  324. package/lib/aws/iam/role.js +1 -1
  325. package/lib/aws/iam/saml-provider.d.ts +1 -1
  326. package/lib/aws/iam/saml-provider.js +6 -6
  327. package/lib/aws/iam/unknown-principal.js +1 -1
  328. package/lib/aws/iam/utils.js +2 -3
  329. package/lib/aws/index.d.ts +1 -0
  330. package/lib/aws/index.js +4 -1
  331. package/lib/aws/network/simple-ipv4-vpc.js +5 -5
  332. package/lib/aws/network/subnet-group.js +3 -3
  333. package/lib/aws/network/subnet.d.ts +1 -1
  334. package/lib/aws/network/subnet.js +7 -7
  335. package/lib/aws/notify/archive.js +3 -2
  336. package/lib/aws/notify/connection.js +5 -4
  337. package/lib/aws/notify/event-bus.js +5 -4
  338. package/lib/aws/notify/event-pattern.js +3 -3
  339. package/lib/aws/notify/index.js +3 -1
  340. package/lib/aws/notify/input.js +4 -3
  341. package/lib/aws/notify/kinesis-stream.js +3 -2
  342. package/lib/aws/notify/on-event-options.js +2 -1
  343. package/lib/aws/notify/queue-config.generated.d.ts +18 -11
  344. package/lib/aws/notify/queue-config.generated.js +1 -1
  345. package/lib/aws/notify/queue-policy.js +1 -1
  346. package/lib/aws/notify/queue.js +1 -1
  347. package/lib/aws/notify/resource-policy.js +1 -1
  348. package/lib/aws/notify/rule.js +3 -2
  349. package/lib/aws/notify/schedule.js +2 -2
  350. package/lib/aws/notify/sqs-augmentations.generated.d.ts +125 -0
  351. package/lib/aws/notify/sqs-augmentations.generated.js +74 -0
  352. package/lib/aws/notify/target.js +2 -1
  353. package/lib/aws/notify/targets/event-bus.js +1 -1
  354. package/lib/aws/notify/targets/function.js +1 -1
  355. package/lib/aws/notify/targets/log-group.js +2 -2
  356. package/lib/aws/notify/targets/sqs.js +1 -1
  357. package/lib/aws/notify/targets/state-machine.js +1 -1
  358. package/lib/aws/notify/targets/util.d.ts +1 -1
  359. package/lib/aws/notify/targets/util.js +10 -11
  360. package/lib/aws/notify/util.js +4 -4
  361. package/lib/aws/provider-config.generated.d.ts +33 -33
  362. package/lib/aws/provider-config.generated.js +1 -1
  363. package/lib/aws/storage/bucket-notifications.js +1 -1
  364. package/lib/aws/storage/bucket-policy.js +1 -1
  365. package/lib/aws/storage/bucket-source.js +1 -1
  366. package/lib/aws/storage/bucket.d.ts +298 -65
  367. package/lib/aws/storage/bucket.js +548 -225
  368. package/lib/aws/storage/cors-config.generated.d.ts +3 -3
  369. package/lib/aws/storage/cors-config.generated.js +1 -1
  370. package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
  371. package/lib/aws/storage/cors-rule-config.generated.js +1 -1
  372. package/lib/aws/storage/index.d.ts +1 -0
  373. package/lib/aws/storage/index.js +2 -1
  374. package/lib/aws/storage/lifecycle-config.generated.d.ts +11 -11
  375. package/lib/aws/storage/lifecycle-config.generated.js +1 -1
  376. package/lib/aws/storage/notification-targets/function.js +6 -6
  377. package/lib/aws/storage/notification-targets/queue.js +1 -1
  378. package/lib/aws/storage/origin-access-identity.d.ts +1 -1
  379. package/lib/aws/storage/origin-access-identity.js +5 -4
  380. package/lib/aws/storage/parameter-util.d.ts +12 -0
  381. package/lib/aws/storage/parameter-util.js +65 -0
  382. package/lib/aws/storage/parameter.d.ts +526 -0
  383. package/lib/aws/storage/parameter.js +606 -0
  384. package/lib/aws/storage/s3-canned-metrics.generated.d.ts +22 -0
  385. package/lib/aws/storage/s3-canned-metrics.generated.js +23 -0
  386. package/lib/aws/storage/util.d.ts +25 -3
  387. package/lib/aws/storage/util.js +84 -17
  388. package/lib/aws/storage/website-config.generated.d.ts +5 -5
  389. package/lib/aws/storage/website-config.generated.js +1 -1
  390. package/lib/aws/util.js +2 -3
  391. package/lib/construct-base.d.ts +10 -1
  392. package/lib/construct-base.js +9 -6
  393. package/lib/duration.js +1 -1
  394. package/lib/expiration.d.ts +48 -0
  395. package/lib/expiration.js +68 -0
  396. package/lib/helpers-internal/index.d.ts +1 -0
  397. package/lib/helpers-internal/index.js +7 -0
  398. package/lib/index.d.ts +2 -0
  399. package/lib/index.js +3 -1
  400. package/lib/private/md5.d.ts +4 -0
  401. package/lib/private/md5.js +14 -0
  402. package/lib/private/unique-resource-name.js +3 -4
  403. package/lib/size.js +2 -2
  404. package/lib/stack-base.d.ts +4 -23
  405. package/lib/stack-base.js +9 -30
  406. package/lib/terra-func.d.ts +103 -0
  407. package/lib/terra-func.js +170 -0
  408. package/lib/token.js +5 -5
  409. package/package.json +15 -8
  410. package/bun.lockb +0 -0
@@ -0,0 +1,463 @@
1
+ import { Construct } from "constructs";
2
+ import { AmazonLinux2022ImageSsmParameterProps } from "./amazon-linux-2022";
3
+ import { AmazonLinux2023ImageSsmParameterProps } from "./amazon-linux-2023";
4
+ import { AmazonLinux2ImageSsmParameterProps } from "./amazon-linux2";
5
+ import { AmazonLinuxCpuType, AmazonLinuxEdition, AmazonLinuxGeneration, AmazonLinuxStorage, AmazonLinuxVirt, IMachineImage, MachineImageConfig, OperatingSystemType } from "./common";
6
+ import { UserData } from "../user-data";
7
+ import { WindowsVersion } from "../windows-versions";
8
+ /**
9
+ * Factory functions for standard Amazon Machine Image objects.
10
+ */
11
+ export declare abstract class MachineImage {
12
+ /**
13
+ * A Windows image that is automatically kept up-to-date
14
+ *
15
+ * This Machine Image automatically updates to the latest version on every
16
+ * deployment. Be aware this will cause your instances to be replaced when a
17
+ * new version of the image becomes available. Do not store stateful information
18
+ * on the instance if you are using this image.
19
+ */
20
+ static latestWindows(version: WindowsVersion, props?: WindowsImageProps): IMachineImage;
21
+ /**
22
+ * An Amazon Linux 2 image that is automatically kept up-to-date
23
+ *
24
+ * This Machine Image automatically updates to the latest version on every
25
+ * deployment. Be aware this will cause your instances to be replaced when a
26
+ * new version of the image becomes available. Do not store stateful information
27
+ * on the instance if you are using this image.
28
+ */
29
+ static latestAmazonLinux2(props?: AmazonLinux2ImageSsmParameterProps): IMachineImage;
30
+ /**
31
+ * An Amazon Linux 2022 image that is automatically kept up-to-date
32
+ *
33
+ * This Machine Image automatically updates to the latest version on every
34
+ * deployment. Be aware this will cause your instances to be replaced when a
35
+ * new version of the image becomes available. Do not store stateful information
36
+ * on the instance if you are using this image.
37
+ *
38
+ * @deprecated - use latestAmazonLinux2023() instead
39
+ */
40
+ static latestAmazonLinux2022(props?: AmazonLinux2022ImageSsmParameterProps): IMachineImage;
41
+ /**
42
+ * An Amazon Linux 2023 image that is automatically kept up-to-date
43
+ *
44
+ * This Machine Image automatically updates to the latest version on every
45
+ * deployment. Be aware this will cause your instances to be replaced when a
46
+ * new version of the image becomes available. Do not store stateful information
47
+ * on the instance if you are using this image.
48
+ */
49
+ static latestAmazonLinux2023(props?: AmazonLinux2023ImageSsmParameterProps): IMachineImage;
50
+ /**
51
+ * An Amazon Linux image that is automatically kept up-to-date
52
+ *
53
+ * This Machine Image automatically updates to the latest version on every
54
+ * deployment. Be aware this will cause your instances to be replaced when a
55
+ * new version of the image becomes available. Do not store stateful information
56
+ * on the instance if you are using this image.
57
+ *
58
+ * N.B.: "latest" in the name of this function indicates that it always uses the most recent
59
+ * image of a particular generation of Amazon Linux, not that it uses the "latest generation".
60
+ * For backwards compatibility, this function uses Amazon Linux 1 if no generation
61
+ * is specified.
62
+ *
63
+ * Specify the desired generation using the `generation` property:
64
+ *
65
+ * ```ts
66
+ * compute.MachineImage.latestAmazonLinux({
67
+ * // Use Amazon Linux 2
68
+ * generation: ec2.AmazonLinuxGeneration.AMAZON_LINUX_2,
69
+ * })
70
+ * ```
71
+ * @deprecated use MachineImage.latestAmazonLinux2 instead
72
+ */
73
+ static latestAmazonLinux(props?: AmazonLinuxImageProps): IMachineImage;
74
+ /**
75
+ * A Linux image where you specify the AMI ID for every region
76
+ *
77
+ * @param amiMap For every region where you are deploying the stack,
78
+ * specify the AMI ID for that region.
79
+ * @param props Customize the image by supplying additional props
80
+ */
81
+ static genericLinux(amiMap: Record<string, string>, props?: GenericLinuxImageProps): IMachineImage;
82
+ /**
83
+ * A Windows image where you specify the AMI ID for every region
84
+ *
85
+ * @param amiMap For every region where you are deploying the stack,
86
+ * specify the AMI ID for that region.
87
+ * @param props Customize the image by supplying additional props
88
+ */
89
+ static genericWindows(amiMap: Record<string, string>, props?: GenericWindowsImageProps): IMachineImage;
90
+ /**
91
+ * An image specified in SSM parameter store that is automatically kept up-to-date
92
+ *
93
+ * This Machine Image automatically updates to the latest version on every
94
+ * deployment. Be aware this will cause your instances to be replaced when a
95
+ * new version of the image becomes available. Do not store stateful information
96
+ * on the instance if you are using this image.
97
+ *
98
+ * @param parameterName The name of SSM parameter containing the AMi id
99
+ * @param os The operating system type of the AMI
100
+ * @param userData optional user data for the given image
101
+ * @deprecated Use `MachineImage.fromSsmParameter()` instead
102
+ */
103
+ static fromSSMParameter(parameterName: string, os: OperatingSystemType, userData?: UserData): IMachineImage;
104
+ /**
105
+ * An image specified in SSM parameter store
106
+ *
107
+ * By default, the SSM parameter is refreshed at every deployment,
108
+ * causing your instances to be replaced whenever a new version of the AMI
109
+ * is released.
110
+ *
111
+ * Pass `{ cachedInContext: true }` to keep the AMI ID stable. If you do, you
112
+ * will have to remember to periodically invalidate the context to refresh
113
+ * to the newest AMI ID.
114
+ */
115
+ static fromSsmParameter(parameterName: string, options?: SsmParameterImageOptions): IMachineImage;
116
+ /**
117
+ * An image specified in SSM parameter store that will be resolved at instance launch time.
118
+ *
119
+ * The AMI ID will be resolved at instance launch time.
120
+ *
121
+ * @param parameterName The name of SSM parameter containing the AMI ID
122
+ * @param options The parameter image options
123
+ *
124
+ * @see https://docs.aws.amazon.com/autoscaling/ec2/userguide/using-systems-manager-parameters.html
125
+ *
126
+ */
127
+ static resolveSsmParameterAtLaunch(parameterName: string, options?: SsmParameterImageOptions): IMachineImage;
128
+ /**
129
+ * Look up a shared Machine Image using DescribeImages
130
+ *
131
+ * The most recent, available, launchable image matching the given filter
132
+ * criteria will be used. Looking up AMIs may take a long time; specify
133
+ * as many filter criteria as possible to narrow down the search.
134
+ *
135
+ * The AMI selected will be cached in `cdk.context.json` and the same value
136
+ * will be used on future runs. To refresh the AMI lookup, you will have to
137
+ * evict the value from the cache using the `cdk context` command. See
138
+ * https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information.
139
+ *
140
+ * This function can not be used in environment-agnostic stacks.
141
+ */
142
+ static lookup(props: LookupMachineImageProps): IMachineImage;
143
+ }
144
+ /**
145
+ * Select the image based on a given SSM parameter at deployment time of the CloudFormation Stack.
146
+ *
147
+ * This Machine Image automatically updates to the latest version on every
148
+ * deployment. Be aware this will cause your instances to be replaced when a
149
+ * new version of the image becomes available. Do not store stateful information
150
+ * on the instance if you are using this image.
151
+ *
152
+ * The AMI ID is selected using the values published to the SSM parameter store.
153
+ */
154
+ export declare class GenericSSMParameterImage implements IMachineImage {
155
+ private readonly os;
156
+ private readonly userData?;
157
+ /**
158
+ * Name of the SSM parameter we're looking up
159
+ */
160
+ readonly parameterName: string;
161
+ constructor(parameterName: string, os: OperatingSystemType, userData?: UserData | undefined);
162
+ /**
163
+ * Return the image to use in the given context
164
+ */
165
+ getImage(scope: Construct): MachineImageConfig;
166
+ }
167
+ /**
168
+ * Select the image based on a given SSM parameter at instance launch time.
169
+ *
170
+ * This Machine Image comes with an imageId as `resolve:ssm:parameter-name` or `resolve:ssm:parameter-name:version` format
171
+ * as described in the document:
172
+ *
173
+ * @see https://docs.aws.amazon.com/autoscaling/ec2/userguide/using-systems-manager-parameters.html
174
+ *
175
+ * The AMI ID would be selected at instance launch time.
176
+ */
177
+ export declare class ResolveSsmParameterAtLaunchImage implements IMachineImage {
178
+ private readonly props;
179
+ /**
180
+ * Name of the SSM parameter we're looking up
181
+ */
182
+ readonly parameterName: string;
183
+ constructor(parameterName: string, props?: SsmParameterImageOptions);
184
+ /**
185
+ * Return the image to use in the given context
186
+ */
187
+ getImage(_: Construct): MachineImageConfig;
188
+ }
189
+ /**
190
+ * Properties for GenericSsmParameterImage
191
+ */
192
+ export interface SsmParameterImageOptions {
193
+ /**
194
+ * Operating system
195
+ *
196
+ * @default OperatingSystemType.LINUX
197
+ */
198
+ readonly os?: OperatingSystemType;
199
+ /**
200
+ * Custom UserData
201
+ *
202
+ * @default - UserData appropriate for the OS
203
+ */
204
+ readonly userData?: UserData;
205
+ /**
206
+ * Whether the AMI ID is cached to be stable between deployments
207
+ *
208
+ * By default, the newest image is used on each deployment. This will cause
209
+ * instances to be replaced whenever a new version is released, and may cause
210
+ * downtime if there aren't enough running instances in the AutoScalingGroup
211
+ * to reschedule the tasks on.
212
+ *
213
+ * If set to true, the AMI ID will be cached in `cdk.context.json` and the
214
+ * same value will be used on future runs. Your instances will not be replaced
215
+ * but your AMI version will grow old over time. To refresh the AMI lookup,
216
+ * you will have to evict the value from the cache using the `cdk context`
217
+ * command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for
218
+ * more information.
219
+ *
220
+ * Can not be set to `true` in environment-agnostic stacks.
221
+ *
222
+ * @default false
223
+ */
224
+ readonly cachedInContext?: boolean;
225
+ /**
226
+ * The version of the SSM parameter.
227
+ *
228
+ * @default no version specified.
229
+ */
230
+ readonly parameterVersion?: string;
231
+ }
232
+ /**
233
+ * Configuration options for WindowsImage
234
+ */
235
+ export interface WindowsImageProps {
236
+ /**
237
+ * Initial user data
238
+ *
239
+ * @default - Empty UserData for Windows machines
240
+ */
241
+ readonly userData?: UserData;
242
+ }
243
+ /**
244
+ * Select the latest version of the indicated Windows version
245
+ *
246
+ * This Machine Image automatically updates to the latest version on every
247
+ * deployment. Be aware this will cause your instances to be replaced when a
248
+ * new version of the image becomes available. Do not store stateful information
249
+ * on the instance if you are using this image.
250
+ *
251
+ * The AMI ID is selected using the values published to the SSM parameter store.
252
+ *
253
+ * https://aws.amazon.com/blogs/mt/query-for-the-latest-windows-ami-using-systems-manager-parameter-store/
254
+ */
255
+ export declare class WindowsImage extends GenericSSMParameterImage {
256
+ private static DEPRECATED_VERSION_NAME_MAP;
257
+ constructor(version: WindowsVersion, props?: WindowsImageProps);
258
+ }
259
+ /**
260
+ * Amazon Linux image properties
261
+ */
262
+ export interface AmazonLinuxImageProps {
263
+ /**
264
+ * What generation of Amazon Linux to use
265
+ *
266
+ * @default AmazonLinux
267
+ */
268
+ readonly generation?: AmazonLinuxGeneration;
269
+ /**
270
+ * What edition of Amazon Linux to use
271
+ *
272
+ * @default Standard
273
+ */
274
+ readonly edition?: AmazonLinuxEdition;
275
+ /**
276
+ * What kernel version of Amazon Linux to use
277
+ *
278
+ * @default -
279
+ */
280
+ readonly kernel?: AmazonLinuxKernel;
281
+ /**
282
+ * What storage backed image to use
283
+ *
284
+ * @default GeneralPurpose
285
+ */
286
+ readonly storage?: AmazonLinuxStorage;
287
+ /**
288
+ * Initial user data
289
+ *
290
+ * @default - Empty UserData for Linux machines
291
+ */
292
+ readonly userData?: UserData;
293
+ /**
294
+ * CPU Type
295
+ *
296
+ * @default X86_64
297
+ */
298
+ readonly cpuType?: AmazonLinuxCpuType;
299
+ /**
300
+ * Virtualization type
301
+ *
302
+ * @default HVM
303
+ */
304
+ readonly virtualization?: AmazonLinuxVirt;
305
+ /**
306
+ * Whether the AMI ID is cached to be stable between deployments
307
+ *
308
+ * By default, the newest image is used on each deployment. This will cause
309
+ * instances to be replaced whenever a new version is released, and may cause
310
+ * downtime if there aren't enough running instances in the AutoScalingGroup
311
+ * to reschedule the tasks on.
312
+ *
313
+ * If set to true, the AMI ID will be cached in `cdk.context.json` and the
314
+ * same value will be used on future runs. Your instances will not be replaced
315
+ * but your AMI version will grow old over time. To refresh the AMI lookup,
316
+ * you will have to evict the value from the cache using the `cdk context`
317
+ * command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for
318
+ * more information.
319
+ *
320
+ * Can not be set to `true` in environment-agnostic stacks.
321
+ *
322
+ * @default false
323
+ */
324
+ readonly cachedInContext?: boolean;
325
+ }
326
+ /**
327
+ * Selects the latest version of Amazon Linux
328
+ *
329
+ * This Machine Image automatically updates to the latest version on every
330
+ * deployment. Be aware this will cause your instances to be replaced when a
331
+ * new version of the image becomes available. Do not store stateful information
332
+ * on the instance if you are using this image.
333
+ *
334
+ * The AMI ID is selected using the values published to the SSM parameter store.
335
+ */
336
+ export declare class AmazonLinuxImage extends GenericSSMParameterImage {
337
+ private readonly props;
338
+ /**
339
+ * Return the SSM parameter name that will contain the Amazon Linux image with the given attributes
340
+ */
341
+ static ssmParameterName(props?: AmazonLinuxImageProps): string;
342
+ private readonly cachedInContext;
343
+ constructor(props?: AmazonLinuxImageProps);
344
+ /**
345
+ * Return the image to use in the given context
346
+ */
347
+ getImage(scope: Construct): MachineImageConfig;
348
+ }
349
+ /**
350
+ * Amazon Linux Kernel
351
+ */
352
+ export declare enum AmazonLinuxKernel {
353
+ /**
354
+ * Kernel version 5.10
355
+ */
356
+ KERNEL5_X = "kernel-5.10",
357
+ /**
358
+ * Kernel version 6.1
359
+ */
360
+ KERNEL6_1 = "kernel-6.1"
361
+ }
362
+ /**
363
+ * Configuration options for GenericLinuxImage
364
+ */
365
+ export interface GenericLinuxImageProps {
366
+ /**
367
+ * Initial user data
368
+ *
369
+ * @default - Empty UserData for Linux machines
370
+ */
371
+ readonly userData?: UserData;
372
+ }
373
+ /**
374
+ * Configuration options for GenericWindowsImage
375
+ */
376
+ export interface GenericWindowsImageProps {
377
+ /**
378
+ * Initial user data
379
+ *
380
+ * @default - Empty UserData for Windows machines
381
+ */
382
+ readonly userData?: UserData;
383
+ }
384
+ /**
385
+ * Construct a Linux machine image from an AMI map
386
+ *
387
+ * Linux images IDs are not published to SSM parameter store yet, so you'll have to
388
+ * manually specify an AMI map.
389
+ */
390
+ export declare class GenericLinuxImage implements IMachineImage {
391
+ private readonly amiMap;
392
+ private readonly props;
393
+ constructor(amiMap: {
394
+ [region: string]: string;
395
+ }, props?: GenericLinuxImageProps);
396
+ getImage(scope: Construct): MachineImageConfig;
397
+ }
398
+ /**
399
+ * Construct a Windows machine image from an AMI map
400
+ *
401
+ * Allows you to create a generic Windows EC2 , manually specify an AMI map.
402
+ */
403
+ export declare class GenericWindowsImage implements IMachineImage {
404
+ private readonly amiMap;
405
+ private readonly props;
406
+ constructor(amiMap: {
407
+ [region: string]: string;
408
+ }, props?: GenericWindowsImageProps);
409
+ getImage(scope: Construct): MachineImageConfig;
410
+ }
411
+ /**
412
+ * A machine image whose AMI ID will be searched using DescribeImages.
413
+ *
414
+ * The most recent, available, launchable image matching the given filter
415
+ * criteria will be used. Looking up AMIs may take a long time; specify
416
+ * as many filter criteria as possible to narrow down the search.
417
+ *
418
+ * The AMI selected will be cached in `grid.context.json` and the same value
419
+ * will be used on future runs. To refresh the AMI lookup, you will have to
420
+ * evict the value from the cache using the `grid context` command. See
421
+ * https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information.
422
+ */
423
+ export declare class LookupMachineImage implements IMachineImage {
424
+ private readonly props;
425
+ constructor(props: LookupMachineImageProps);
426
+ getImage(scope: Construct): MachineImageConfig;
427
+ }
428
+ /**
429
+ * Properties for looking up an image
430
+ */
431
+ export interface LookupMachineImageProps {
432
+ /**
433
+ * Name of the image (may contain wildcards)
434
+ */
435
+ readonly name: string;
436
+ /**
437
+ * Owner account IDs or aliases
438
+ *
439
+ * @default - All owners
440
+ */
441
+ readonly owners?: string[];
442
+ /**
443
+ * Additional filters on the AMI
444
+ *
445
+ * @see https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html
446
+ * @default - No additional filters
447
+ */
448
+ readonly filters?: {
449
+ [key: string]: string[];
450
+ };
451
+ /**
452
+ * Look for Windows images
453
+ *
454
+ * @default false
455
+ */
456
+ readonly windows?: boolean;
457
+ /**
458
+ * Custom userdata for this image
459
+ *
460
+ * @default - Empty user data appropriate for the platform type
461
+ */
462
+ readonly userData?: UserData;
463
+ }