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,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatesMetrics = void 0;
4
+ class StatesMetrics {
5
+ static executionTimeAverage(dimensions) {
6
+ return {
7
+ "namespace": "AWS/States",
8
+ "metricName": "ExecutionTime",
9
+ "dimensionsMap": dimensions,
10
+ "statistic": "Average"
11
+ };
12
+ }
13
+ static executionsFailedSum(dimensions) {
14
+ return {
15
+ "namespace": "AWS/States",
16
+ "metricName": "ExecutionsFailed",
17
+ "dimensionsMap": dimensions,
18
+ "statistic": "Sum"
19
+ };
20
+ }
21
+ static executionsSucceededSum(dimensions) {
22
+ return {
23
+ "namespace": "AWS/States",
24
+ "metricName": "ExecutionsSucceeded",
25
+ "dimensionsMap": dimensions,
26
+ "statistic": "Sum"
27
+ };
28
+ }
29
+ static executionsThrottledSum(dimensions) {
30
+ return {
31
+ "namespace": "AWS/States",
32
+ "metricName": "ExecutionsThrottled",
33
+ "dimensionsMap": dimensions,
34
+ "statistic": "Sum"
35
+ };
36
+ }
37
+ static executionsAbortedSum(dimensions) {
38
+ return {
39
+ "namespace": "AWS/States",
40
+ "metricName": "ExecutionsAborted",
41
+ "dimensionsMap": dimensions,
42
+ "statistic": "Sum"
43
+ };
44
+ }
45
+ static executionsTimedOutSum(dimensions) {
46
+ return {
47
+ "namespace": "AWS/States",
48
+ "metricName": "ExecutionsTimedOut",
49
+ "dimensionsMap": dimensions,
50
+ "statistic": "Sum"
51
+ };
52
+ }
53
+ static activityTimeAverage(dimensions) {
54
+ return {
55
+ "namespace": "AWS/States",
56
+ "metricName": "ActivityTime",
57
+ "dimensionsMap": dimensions,
58
+ "statistic": "Average"
59
+ };
60
+ }
61
+ static activitiesSucceededSum(dimensions) {
62
+ return {
63
+ "namespace": "AWS/States",
64
+ "metricName": "ActivitiesSucceeded",
65
+ "dimensionsMap": dimensions,
66
+ "statistic": "Sum"
67
+ };
68
+ }
69
+ static activitiesFailedSum(dimensions) {
70
+ return {
71
+ "namespace": "AWS/States",
72
+ "metricName": "ActivitiesFailed",
73
+ "dimensionsMap": dimensions,
74
+ "statistic": "Sum"
75
+ };
76
+ }
77
+ static activitiesHeartbeatTimedOutSum(dimensions) {
78
+ return {
79
+ "namespace": "AWS/States",
80
+ "metricName": "ActivitiesHeartbeatTimedOut",
81
+ "dimensionsMap": dimensions,
82
+ "statistic": "Sum"
83
+ };
84
+ }
85
+ static activitiesScheduledSum(dimensions) {
86
+ return {
87
+ "namespace": "AWS/States",
88
+ "metricName": "ActivitiesScheduled",
89
+ "dimensionsMap": dimensions,
90
+ "statistic": "Sum"
91
+ };
92
+ }
93
+ static activitiesStartedSum(dimensions) {
94
+ return {
95
+ "namespace": "AWS/States",
96
+ "metricName": "ActivitiesStarted",
97
+ "dimensionsMap": dimensions,
98
+ "statistic": "Sum"
99
+ };
100
+ }
101
+ static activitiesTimedOutSum(dimensions) {
102
+ return {
103
+ "namespace": "AWS/States",
104
+ "metricName": "ActivitiesTimedOut",
105
+ "dimensionsMap": dimensions,
106
+ "statistic": "Sum"
107
+ };
108
+ }
109
+ static activityRunTimeAverage(dimensions) {
110
+ return {
111
+ "namespace": "AWS/States",
112
+ "metricName": "ActivityRunTime",
113
+ "dimensionsMap": dimensions,
114
+ "statistic": "Average"
115
+ };
116
+ }
117
+ static activityScheduleTimeAverage(dimensions) {
118
+ return {
119
+ "namespace": "AWS/States",
120
+ "metricName": "ActivityScheduleTime",
121
+ "dimensionsMap": dimensions,
122
+ "statistic": "Average"
123
+ };
124
+ }
125
+ }
126
+ exports.StatesMetrics = StatesMetrics;
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcGZ1bmN0aW9ucy1jYW5uZWQtbWV0cmljcy5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvc3RlcGZ1bmN0aW9ucy1jYW5uZWQtbWV0cmljcy5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0EsTUFBYSxhQUFhO0lBQ2pCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxVQUF3QztRQUN6RSxPQUFPO1lBQ0wsV0FBVyxFQUFFLFlBQVk7WUFDekIsWUFBWSxFQUFFLGVBQWU7WUFDN0IsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLFNBQVM7U0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBd0M7UUFDeEUsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxrQkFBa0I7WUFDaEMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsVUFBd0M7UUFDM0UsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxxQkFBcUI7WUFDbkMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsVUFBd0M7UUFDM0UsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxxQkFBcUI7WUFDbkMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBd0M7UUFDekUsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBd0M7UUFDMUUsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxvQkFBb0I7WUFDbEMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBb0M7UUFDcEUsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxjQUFjO1lBQzVCLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQW9DO1FBQ3ZFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUscUJBQXFCO1lBQ25DLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQW9DO1FBQ3BFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsa0JBQWtCO1lBQ2hDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLDhCQUE4QixDQUFDLFVBQW9DO1FBQy9FLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsNkJBQTZCO1lBQzNDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQW9DO1FBQ3ZFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUscUJBQXFCO1lBQ25DLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLFVBQW9DO1FBQ3JFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsbUJBQW1CO1lBQ2pDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQW9DO1FBQ3RFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsb0JBQW9CO1lBQ2xDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQW9DO1FBQ3ZFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsaUJBQWlCO1lBQy9CLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLFVBQW9DO1FBQzVFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF2SUQsc0NBdUlDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcHJldHRpZXIvcHJldHRpZXIsbWF4LWxlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNXaXRoRGltczxEPiB7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IG1ldHJpY05hbWU6IHN0cmluZztcblxuICByZWFkb25seSBzdGF0aXN0aWM6IHN0cmluZztcblxuICByZWFkb25seSBkaW1lbnNpb25zTWFwOiBEO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhdGVzTWV0cmljcyB7XG4gIHB1YmxpYyBzdGF0aWMgZXhlY3V0aW9uVGltZUF2ZXJhZ2UoZGltZW5zaW9uczogeyBTdGF0ZU1hY2hpbmVBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJFeGVjdXRpb25UaW1lXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiQXZlcmFnZVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXhlY3V0aW9uc0ZhaWxlZFN1bShkaW1lbnNpb25zOiB7IFN0YXRlTWFjaGluZUFybjogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBTdGF0ZU1hY2hpbmVBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkV4ZWN1dGlvbnNGYWlsZWRcIixcbiAgICAgIFwiZGltZW5zaW9uc01hcFwiOiBkaW1lbnNpb25zLFxuICAgICAgXCJzdGF0aXN0aWNcIjogXCJTdW1cIlxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGV4ZWN1dGlvbnNTdWNjZWVkZWRTdW0oZGltZW5zaW9uczogeyBTdGF0ZU1hY2hpbmVBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJFeGVjdXRpb25zU3VjY2VlZGVkXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBleGVjdXRpb25zVGhyb3R0bGVkU3VtKGRpbWVuc2lvbnM6IHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IFN0YXRlTWFjaGluZUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiRXhlY3V0aW9uc1Rocm90dGxlZFwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXhlY3V0aW9uc0Fib3J0ZWRTdW0oZGltZW5zaW9uczogeyBTdGF0ZU1hY2hpbmVBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJFeGVjdXRpb25zQWJvcnRlZFwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXhlY3V0aW9uc1RpbWVkT3V0U3VtKGRpbWVuc2lvbnM6IHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IFN0YXRlTWFjaGluZUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiRXhlY3V0aW9uc1RpbWVkT3V0XCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0eVRpbWVBdmVyYWdlKGRpbWVuc2lvbnM6IHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkFjdGl2aXR5VGltZVwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIkF2ZXJhZ2VcIlxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGl2aXRpZXNTdWNjZWVkZWRTdW0oZGltZW5zaW9uczogeyBBY3Rpdml0eUFybjogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBBY3Rpdml0eUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiQWN0aXZpdGllc1N1Y2NlZWRlZFwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWN0aXZpdGllc0ZhaWxlZFN1bShkaW1lbnNpb25zOiB7IEFjdGl2aXR5QXJuOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IEFjdGl2aXR5QXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJBY3Rpdml0aWVzRmFpbGVkXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0aWVzSGVhcnRiZWF0VGltZWRPdXRTdW0oZGltZW5zaW9uczogeyBBY3Rpdml0eUFybjogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBBY3Rpdml0eUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiQWN0aXZpdGllc0hlYXJ0YmVhdFRpbWVkT3V0XCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0aWVzU2NoZWR1bGVkU3VtKGRpbWVuc2lvbnM6IHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkFjdGl2aXRpZXNTY2hlZHVsZWRcIixcbiAgICAgIFwiZGltZW5zaW9uc01hcFwiOiBkaW1lbnNpb25zLFxuICAgICAgXCJzdGF0aXN0aWNcIjogXCJTdW1cIlxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGl2aXRpZXNTdGFydGVkU3VtKGRpbWVuc2lvbnM6IHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkFjdGl2aXRpZXNTdGFydGVkXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0aWVzVGltZWRPdXRTdW0oZGltZW5zaW9uczogeyBBY3Rpdml0eUFybjogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBBY3Rpdml0eUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiQWN0aXZpdGllc1RpbWVkT3V0XCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0eVJ1blRpbWVBdmVyYWdlKGRpbWVuc2lvbnM6IHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkFjdGl2aXR5UnVuVGltZVwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIkF2ZXJhZ2VcIlxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGl2aXR5U2NoZWR1bGVUaW1lQXZlcmFnZShkaW1lbnNpb25zOiB7IEFjdGl2aXR5QXJuOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IEFjdGl2aXR5QXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJBY3Rpdml0eVNjaGVkdWxlVGltZVwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIkF2ZXJhZ2VcIlxuICAgIH07XG4gIH1cbn0iXX0=
@@ -0,0 +1,213 @@
1
+ import { subnet as tfSubnet } from "@cdktf/provider-aws";
2
+ import { Construct, IDependable } from "constructs";
3
+ import { INetworkAcl } from "./network-acl";
4
+ import { AwsConstructBase, AwsConstructProps } from "../aws-construct";
5
+ import { IRouteTable, ISubnet, SubnetOutputs, SubnetType } from "./vpc";
6
+ import { IVpcV2 } from "./vpc-v2-base";
7
+ /**
8
+ * Interface to define subnet CIDR
9
+ */
10
+ interface ICidr {
11
+ readonly cidr: string;
12
+ }
13
+ /**
14
+ * IPv4 or IPv6 CIDR range for the subnet
15
+ */
16
+ export declare class IpCidr implements ICidr {
17
+ /**
18
+ * IPv6 CIDR range for the subnet
19
+ * Allowed only if IPv6 is enabled on VPc
20
+ */
21
+ readonly cidr: string;
22
+ constructor(props: string);
23
+ }
24
+ /**
25
+ * Properties to define subnet for VPC.
26
+ */
27
+ export interface SubnetV2Props extends AwsConstructProps {
28
+ /**
29
+ * VPC Prop
30
+ */
31
+ readonly vpc: IVpcV2;
32
+ /**
33
+ * ipv4 cidr to assign to this subnet.
34
+ * See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-cidrblock
35
+ */
36
+ readonly ipv4CidrBlock: IpCidr;
37
+ /**
38
+ * Ipv6 CIDR Range for subnet
39
+ *
40
+ * @default - No Ipv6 address
41
+ */
42
+ readonly ipv6CidrBlock?: IpCidr;
43
+ /**
44
+ * Custom AZ for the subnet
45
+ */
46
+ readonly availabilityZone: string;
47
+ /**
48
+ * Custom Route for subnet
49
+ *
50
+ * @default - a default route table created
51
+ */
52
+ readonly routeTable?: IRouteTable;
53
+ /**
54
+ * The type of Subnet to configure.
55
+ *
56
+ * The Subnet type will control the ability to route and connect to the
57
+ * Internet.
58
+ *
59
+ * TODO: Add validation check `subnetType` when adding resources (e.g. cannot add NatGateway to private)
60
+ */
61
+ readonly subnetType: SubnetType;
62
+ /**
63
+ * Subnet name
64
+ *
65
+ * @default - provisioned with an autogenerated name by CDK
66
+ */
67
+ readonly subnetName?: string;
68
+ /**
69
+ * Indicates whether a network interface created in this subnet receives an IPv6 address.
70
+ * If you specify AssignIpv6AddressOnCreation, you must also specify Ipv6CidrBlock.
71
+ *
72
+ * @default - undefined in case not provided as an input
73
+ */
74
+ readonly assignIpv6AddressOnCreation?: boolean;
75
+ }
76
+ /**
77
+ * Interface with additional properties for SubnetV2
78
+ */
79
+ export interface ISubnetV2 extends ISubnet {
80
+ /**
81
+ * The IPv6 CIDR block for this subnet
82
+ */
83
+ readonly ipv6CidrBlock?: string;
84
+ /**
85
+ * The type of subnet (public or private) that this subnet represents.
86
+ *
87
+ * @attribute SubnetType
88
+ */
89
+ readonly subnetType?: SubnetType;
90
+ }
91
+ /**
92
+ * The SubnetV2 class represents a subnet within a VPC (Virtual Private Cloud) in AWS.
93
+ * It extends the Resource class and implements the ISubnet interface.
94
+ *
95
+ * Instances of this class can be used to create and manage subnets within a VpcV2 instance.
96
+ * Subnets can be configured with specific IP address ranges (IPv4 and IPv6), availability zones,
97
+ * and subnet types (e.g., public, private, isolated).
98
+ *
99
+ * @resource AWS::EC2::Subnet
100
+ *
101
+ */
102
+ export declare class SubnetV2 extends AwsConstructBase implements ISubnetV2 {
103
+ /**
104
+ * Import an existing subnet to the VPC
105
+ */
106
+ static fromSubnetV2Attributes(scope: Construct, id: string, attrs: SubnetV2Attributes): ISubnetV2;
107
+ get subnetOutputs(): SubnetOutputs;
108
+ get outputs(): Record<string, any>;
109
+ /**
110
+ * The Availability Zone the subnet is located in
111
+ */
112
+ readonly availabilityZone: string;
113
+ /**
114
+ * The subnetId for this particular subnet
115
+ * @attribute
116
+ */
117
+ readonly subnetId: string;
118
+ /**
119
+ * Dependencies for internet connectivity
120
+ * This Property exposes the RouteTable-Subnet association so that other resources can depend on it.
121
+ */
122
+ readonly internetConnectivityEstablished: IDependable;
123
+ /**
124
+ * The variable name `internetConnectivityEstablished` does not reflect what it actually is.
125
+ * The naming is enforced by ISubnet. We need to keep it to maintain compatibility.
126
+ * It exposes the RouteTable-Subnet association so that other resources can depend on it.
127
+ * E.g. Resources in a subnet, when being deleted, may need the RouteTable to exist in order to delete properly
128
+ */
129
+ private readonly _internetConnectivityEstablished;
130
+ /**
131
+ * The IPv4 CIDR block for this subnet
132
+ */
133
+ readonly ipv4CidrBlock: string;
134
+ /**
135
+ * The IPv6 CIDR Block for this subnet
136
+ */
137
+ readonly ipv6CidrBlock?: string;
138
+ /**
139
+ * The type of subnet (public or private) that this subnet represents.
140
+ * @attribute SubnetType
141
+ */
142
+ readonly subnetType?: SubnetType;
143
+ private _networkAcl?;
144
+ resource: tfSubnet.Subnet;
145
+ private _routeTable;
146
+ /**
147
+ * Constructs a new SubnetV2 instance.
148
+ * @param scope The parent Construct that this resource will be part of.
149
+ * @param id The unique identifier for this resource.
150
+ * @param props The configuration properties for the subnet.
151
+ */
152
+ constructor(scope: Construct, id: string, props: SubnetV2Props);
153
+ /**
154
+ * Associate a Network ACL with this subnet
155
+ *
156
+ * @param id The unique identifier for this association.
157
+ * @param networkAcl The Network ACL to associate with this subnet.
158
+ * This allows controlling inbound and outbound traffic for instances in this subnet.
159
+ */
160
+ associateNetworkAcl(id: string, networkAcl: INetworkAcl): void;
161
+ /**
162
+ * Return the Route Table associated with this subnet
163
+ */
164
+ get routeTable(): IRouteTable;
165
+ /**
166
+ * Returns the Network ACL associated with this subnet.
167
+ */
168
+ get networkAcl(): INetworkAcl | undefined;
169
+ }
170
+ /**
171
+ * Properties required to import a subnet
172
+ */
173
+ export interface SubnetV2Attributes {
174
+ /**
175
+ * The Availability Zone this subnet is located in
176
+ *
177
+ * @default - No AZ information, cannot use AZ selection features
178
+ */
179
+ readonly availabilityZone: string;
180
+ /**
181
+ * The IPv4 CIDR block associated with the subnet
182
+ *
183
+ * @default - No CIDR information, cannot use CIDR filter features
184
+ */
185
+ readonly ipv4CidrBlock: string;
186
+ /**
187
+ * The IPv4 CIDR block associated with the subnet
188
+ *
189
+ * @default - No CIDR information, cannot use CIDR filter features
190
+ */
191
+ readonly ipv6CidrBlock?: string;
192
+ /**
193
+ * The ID of the route table for this particular subnet
194
+ *
195
+ * @default - No route table information, cannot create VPC endpoints
196
+ */
197
+ readonly routeTableId?: string;
198
+ /**
199
+ * The subnetId for this particular subnet
200
+ */
201
+ readonly subnetId: string;
202
+ /**
203
+ * The type of subnet (public or private) that this subnet represents.
204
+ */
205
+ readonly subnetType: SubnetType;
206
+ /**
207
+ * Name of the given subnet
208
+ *
209
+ * @default - no subnet name
210
+ */
211
+ readonly subnetName?: string;
212
+ }
213
+ export {};