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,551 @@
1
+ import { flowLog } from "@cdktf/provider-aws";
2
+ import { Construct } from "constructs";
3
+ import { ISubnet, IVpc } from "./vpc";
4
+ import { IAwsConstruct, AwsConstructBase } from "../aws-construct";
5
+ import * as logs from "../cloudwatch";
6
+ import * as iam from "../iam";
7
+ import * as storage from "../storage";
8
+ /**
9
+ * Outputs which may be registered for output via the Grid.
10
+ */
11
+ export interface FlowLogOutputs {
12
+ /**
13
+ * The Id of the VPC Flow Log
14
+ *
15
+ * @attribute
16
+ */
17
+ readonly flowLogId: string;
18
+ }
19
+ /**
20
+ * A FlowLog
21
+ */
22
+ export interface IFlowLog extends IAwsConstruct {
23
+ /** Strongly typed outputs */
24
+ readonly flowLogOutputs: FlowLogOutputs;
25
+ /**
26
+ * The Id of the VPC Flow Log
27
+ *
28
+ * @attribute
29
+ */
30
+ readonly flowLogId: string;
31
+ }
32
+ /**
33
+ * The type of VPC traffic to log
34
+ */
35
+ export declare enum FlowLogTrafficType {
36
+ /**
37
+ * Only log accepts
38
+ */
39
+ ACCEPT = "ACCEPT",
40
+ /**
41
+ * Log all requests
42
+ */
43
+ ALL = "ALL",
44
+ /**
45
+ * Only log rejects
46
+ */
47
+ REJECT = "REJECT"
48
+ }
49
+ /**
50
+ * The available destination types for Flow Logs
51
+ */
52
+ export declare enum FlowLogDestinationType {
53
+ /**
54
+ * Send flow logs to CloudWatch Logs Group
55
+ */
56
+ CLOUD_WATCH_LOGS = "cloud-watch-logs",
57
+ /**
58
+ * Send flow logs to S3 Bucket
59
+ */
60
+ S3 = "s3",
61
+ /**
62
+ * Send flow logs to Kinesis Data Firehose
63
+ */
64
+ KINESIS_DATA_FIREHOSE = "kinesis-data-firehose"
65
+ }
66
+ /**
67
+ * The type of resource to create the flow log for
68
+ */
69
+ export declare abstract class FlowLogResourceType {
70
+ /**
71
+ * The subnet to attach the Flow Log to
72
+ */
73
+ static fromSubnet(subnet: ISubnet): FlowLogResourceType;
74
+ /**
75
+ * The VPC to attach the Flow Log to
76
+ */
77
+ static fromVpc(vpc: IVpc): FlowLogResourceType;
78
+ /**
79
+ * The Network Interface to attach the Flow Log to
80
+ */
81
+ static fromNetworkInterfaceId(id: string): FlowLogResourceType;
82
+ /**
83
+ * The Transit Gateway to attach the Flow Log to
84
+ */
85
+ static fromTransitGatewayId(id: string): FlowLogResourceType;
86
+ /**
87
+ * The Transit Gateway Attachment to attach the Flow Log to
88
+ */
89
+ static fromTransitGatewayAttachmentId(id: string): FlowLogResourceType;
90
+ /**
91
+ * The type of resource to attach a flow log to.
92
+ */
93
+ abstract resourceType: string;
94
+ /**
95
+ * The Id of the resource that the flow log should be attached to.
96
+ */
97
+ abstract resourceId: string;
98
+ }
99
+ /**
100
+ * The file format for flow logs written to an S3 bucket destination
101
+ */
102
+ export declare enum FlowLogFileFormat {
103
+ /**
104
+ * File will be written as plain text
105
+ *
106
+ * This is the default value
107
+ */
108
+ PLAIN_TEXT = "plain-text",
109
+ /**
110
+ * File will be written in parquet format
111
+ */
112
+ PARQUET = "parquet"
113
+ }
114
+ /**
115
+ * Options for writing logs to a S3 destination
116
+ */
117
+ export interface S3DestinationOptions {
118
+ /**
119
+ * Use Hive-compatible prefixes for flow logs
120
+ * stored in Amazon S3
121
+ *
122
+ * @default false
123
+ */
124
+ readonly hiveCompatiblePartitions?: boolean;
125
+ /**
126
+ * The format for the flow log
127
+ *
128
+ * @default FlowLogFileFormat.PLAIN_TEXT
129
+ */
130
+ readonly fileFormat?: FlowLogFileFormat;
131
+ /**
132
+ * Partition the flow log per hour
133
+ *
134
+ * @default false
135
+ */
136
+ readonly perHourPartition?: boolean;
137
+ }
138
+ /**
139
+ * The destination type for the flow log
140
+ */
141
+ export declare abstract class FlowLogDestination {
142
+ /**
143
+ * Use CloudWatch logs as the destination
144
+ */
145
+ static toCloudWatchLogs(logGroup?: logs.ILogGroup, iamRole?: iam.IRole): FlowLogDestination;
146
+ /**
147
+ * Use S3 as the destination
148
+ *
149
+ * @param bucket optional s3 bucket to publish logs to. If one is not provided
150
+ * a default bucket will be created
151
+ * @param keyPrefix optional prefix within the bucket to write logs to
152
+ * @param options additional s3 destination options
153
+ */
154
+ static toS3(bucket?: storage.IBucket, keyPrefix?: string, options?: S3DestinationOptions): FlowLogDestination;
155
+ /**
156
+ * Use Kinesis Data Firehose as the destination
157
+ *
158
+ * @param deliveryStreamArn the ARN of Kinesis Data Firehose delivery stream to publish logs to
159
+ */
160
+ static toKinesisDataFirehoseDestination(deliveryStreamArn: string): FlowLogDestination;
161
+ /**
162
+ * Generates a flow log destination configuration
163
+ */
164
+ abstract bind(scope: Construct, f: FlowLog): FlowLogDestinationConfig;
165
+ }
166
+ /**
167
+ * Flow Log Destination configuration
168
+ */
169
+ export interface FlowLogDestinationConfig {
170
+ /**
171
+ * The type of destination to publish the flow logs to.
172
+ *
173
+ * @default - CLOUD_WATCH_LOGS
174
+ */
175
+ readonly logDestinationType: FlowLogDestinationType;
176
+ /**
177
+ * The IAM Role that has access to publish to CloudWatch logs
178
+ *
179
+ * @default - default IAM role is created for you
180
+ */
181
+ readonly iamRole?: iam.IRole;
182
+ /**
183
+ * The CloudWatch Logs Log Group to publish the flow logs to
184
+ *
185
+ * @default - default log group is created for you
186
+ */
187
+ readonly logGroup?: logs.ILogGroup;
188
+ /**
189
+ * S3 bucket to publish the flow logs to
190
+ *
191
+ * @default - undefined
192
+ */
193
+ readonly s3Bucket?: storage.IBucket;
194
+ /**
195
+ * S3 bucket key prefix to publish the flow logs to
196
+ *
197
+ * @default - undefined
198
+ */
199
+ readonly keyPrefix?: string;
200
+ /**
201
+ * The ARN of Kinesis Data Firehose delivery stream to publish the flow logs to
202
+ *
203
+ * @default - undefined
204
+ */
205
+ readonly deliveryStreamArn?: string;
206
+ /**
207
+ * Options for writing flow logs to a supported destination
208
+ *
209
+ * @default - undefined
210
+ */
211
+ readonly destinationOptions?: S3DestinationOptions;
212
+ }
213
+ /**
214
+ * The maximum interval of time during which a flow of packets
215
+ * is captured and aggregated into a flow log record.
216
+ *
217
+ */
218
+ export declare enum FlowLogMaxAggregationInterval {
219
+ /**
220
+ * 1 minute (60 seconds)
221
+ */
222
+ ONE_MINUTE = 60,
223
+ /**
224
+ * 10 minutes (600 seconds)
225
+ */
226
+ TEN_MINUTES = 600
227
+ }
228
+ /**
229
+ * The following table describes all of the available fields for a flow log record.
230
+ */
231
+ export declare class LogFormat {
232
+ readonly value: string;
233
+ /**
234
+ * The VPC Flow Logs version.
235
+ */
236
+ static readonly VERSION: LogFormat;
237
+ /**
238
+ * The AWS account ID of the owner of the source network interface for which traffic is recorded.
239
+ */
240
+ static readonly ACCOUNT_ID: LogFormat;
241
+ /**
242
+ * The ID of the network interface for which the traffic is recorded.
243
+ */
244
+ static readonly INTERFACE_ID: LogFormat;
245
+ /**
246
+ * The source address for incoming traffic, or the IPv4 or IPv6 address of the network interface
247
+ * for outgoing traffic on the network interface.
248
+ */
249
+ static readonly SRC_ADDR: LogFormat;
250
+ /**
251
+ * The destination address for outgoing traffic, or the IPv4 or IPv6 address of the network interface
252
+ * for incoming traffic on the network interface.
253
+ */
254
+ static readonly DST_ADDR: LogFormat;
255
+ /**
256
+ * The source port of the traffic.
257
+ */
258
+ static readonly SRC_PORT: LogFormat;
259
+ /**
260
+ * The destination port of the traffic.
261
+ */
262
+ static readonly DST_PORT: LogFormat;
263
+ /**
264
+ * The IANA protocol number of the traffic.
265
+ */
266
+ static readonly PROTOCOL: LogFormat;
267
+ /**
268
+ * The number of packets transferred during the flow.
269
+ */
270
+ static readonly PACKETS: LogFormat;
271
+ /**
272
+ * The number of bytes transferred during the flow.
273
+ */
274
+ static readonly BYTES: LogFormat;
275
+ /**
276
+ * The time, in Unix seconds, when the first packet of the flow was received within
277
+ * the aggregation interval.
278
+ *
279
+ * This might be up to 60 seconds after the packet was transmitted or received on
280
+ * the network interface.
281
+ */
282
+ static readonly START_TIMESTAMP: LogFormat;
283
+ /**
284
+ * The time, in Unix seconds, when the last packet of the flow was received within
285
+ * the aggregation interval.
286
+ *
287
+ * This might be up to 60 seconds after the packet was transmitted or received on
288
+ * the network interface.
289
+ */
290
+ static readonly END_TIMESTAMP: LogFormat;
291
+ /**
292
+ * The action that is associated with the traffic.
293
+ */
294
+ static readonly ACTION: LogFormat;
295
+ /**
296
+ * The logging status of the flow log.
297
+ */
298
+ static readonly LOG_STATUS: LogFormat;
299
+ /**
300
+ * The ID of the VPC that contains the network interface for which the traffic is recorded.
301
+ */
302
+ static readonly VPC_ID: LogFormat;
303
+ /**
304
+ * The ID of the subnet that contains the network interface for which the traffic is recorded.
305
+ */
306
+ static readonly SUBNET_ID: LogFormat;
307
+ /**
308
+ * The ID of the instance that's associated with network interface for which the traffic is
309
+ * recorded, if the instance is owned by you.
310
+ *
311
+ * Returns a '-' symbol for a requester-managed network interface; for example, the
312
+ * network interface for a NAT gateway
313
+ */
314
+ static readonly INSTANCE_ID: LogFormat;
315
+ /**
316
+ * The bitmask value for TCP flags.
317
+ *
318
+ * - FIN -- 1
319
+ * - SYN -- 2
320
+ * - RST -- 4
321
+ * - SYN-ACK -- 18
322
+ *
323
+ * If no supported flags are recorded, the TCP flag value is 0.
324
+ *
325
+ * TCP flags can be OR-ed during the aggregation interval. For short connections,
326
+ * the flags might be set on the same line in the flow log record, for example,
327
+ * 19 for SYN-ACK and FIN, and 3 for SYN and FIN.
328
+ */
329
+ static readonly TCP_FLAGS: LogFormat;
330
+ /**
331
+ * The type of traffic.
332
+ *
333
+ * The possible values are IPv4, IPv6, or EFA.
334
+ */
335
+ static readonly TRAFFIC_TYPE: LogFormat;
336
+ /**
337
+ * The packet-level (original) source IP address of the traffic.
338
+ */
339
+ static readonly PKT_SRC_ADDR: LogFormat;
340
+ /**
341
+ * The packet-level (original) destination IP address for the traffic.
342
+ */
343
+ static readonly PKT_DST_ADDR: LogFormat;
344
+ /**
345
+ * The Region that contains the network interface for which traffic is recorded.
346
+ */
347
+ static readonly REGION: LogFormat;
348
+ /**
349
+ * The ID of the Availability Zone that contains the network interface for which traffic is recorded.
350
+ */
351
+ static readonly AZ_ID: LogFormat;
352
+ /**
353
+ * The type of sublocation that's returned in the sublocation-id field.
354
+ */
355
+ static readonly SUBLOCATION_TYPE: LogFormat;
356
+ /**
357
+ * The ID of the sublocation that contains the network interface for which traffic is recorded.
358
+ */
359
+ static readonly SUBLOCATION_ID: LogFormat;
360
+ /**
361
+ * The name of the subset of IP address ranges for the pkt-srcaddr field,
362
+ * if the source IP address is for an AWS service.
363
+ */
364
+ static readonly PKT_SRC_AWS_SERVICE: LogFormat;
365
+ /**
366
+ * The name of the subset of IP address ranges for the pkt-dstaddr field,
367
+ * if the destination IP address is for an AWS service.
368
+ */
369
+ static readonly PKT_DST_AWS_SERVICE: LogFormat;
370
+ /**
371
+ * The direction of the flow with respect to the interface where traffic is captured.
372
+ */
373
+ static readonly FLOW_DIRECTION: LogFormat;
374
+ /**
375
+ * The path that egress traffic takes to the destination.
376
+ */
377
+ static readonly TRAFFIC_PATH: LogFormat;
378
+ /**
379
+ * AWS Resource Name (ARN) of the ECS cluster if the traffic is from a running ECS task.
380
+ */
381
+ static readonly ECS_CLUSTER_ARN: LogFormat;
382
+ /**
383
+ * Name of the ECS cluster if the traffic is from a running ECS task.
384
+ */
385
+ static readonly ECS_CLUSTER_NAME: LogFormat;
386
+ /**
387
+ * ARN of the ECS container instance if the traffic is from a running ECS task on an EC2 instance.
388
+ */
389
+ static readonly ECS_CONTAINER_INSTANCE_ARN: LogFormat;
390
+ /**
391
+ * ID of the ECS container instance if the traffic is from a running ECS task on an EC2 instance.
392
+ */
393
+ static readonly ECS_CONTAINER_INSTANCE_ID: LogFormat;
394
+ /**
395
+ * Docker runtime ID of the container if the traffic is from a running ECS task.
396
+ * If there is one container or more in the ECS task, this will be the docker runtime ID of the first container.
397
+ */
398
+ static readonly ECS_CONTAINER_ID: LogFormat;
399
+ /**
400
+ * Docker runtime ID of the container if the traffic is from a running ECS task.
401
+ * If there is more than one container in the ECS task, this will be the Docker runtime ID of the second container.
402
+ */
403
+ static readonly ECS_SECOND_CONTAINER_ID: LogFormat;
404
+ /**
405
+ * Name of the ECS service if the traffic is from a running ECS task and the ECS task is started by an ECS service.
406
+ */
407
+ static readonly ECS_SERVICE_NAME: LogFormat;
408
+ /**
409
+ * ARN of the ECS task definition if the traffic is from a running ECS task.
410
+ */
411
+ static readonly ECS_TASK_DEFINITION_ARN: LogFormat;
412
+ /**
413
+ * ARN of the ECS task if the traffic is from a running ECS task.
414
+ */
415
+ static readonly ECS_TASK_ARN: LogFormat;
416
+ /**
417
+ * ID of the ECS task if the traffic is from a running ECS task.
418
+ */
419
+ static readonly ECS_TASK_ID: LogFormat;
420
+ /**
421
+ * The default format.
422
+ */
423
+ static readonly ALL_DEFAULT_FIELDS: LogFormat;
424
+ /**
425
+ * A custom format string.
426
+ *
427
+ * Gives full control over the format string fragment.
428
+ */
429
+ static custom(formatString: string): LogFormat;
430
+ /**
431
+ * A custom field name.
432
+ *
433
+ * If there is no ready-made constant for a new field yet, you can use this.
434
+ * The field name will automatically be wrapped in `${ ... }`.
435
+ */
436
+ static field(field: string): LogFormat;
437
+ protected constructor(value: string);
438
+ }
439
+ /**
440
+ * Options to add a flow log to a VPC
441
+ */
442
+ export interface FlowLogOptions {
443
+ /**
444
+ * The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.
445
+ * When the target is either `TransitGateway` or `TransitGatewayAttachment`, setting the traffic type is not possible.
446
+ *
447
+ * @see https://docs.aws.amazon.com/vpc/latest/tgw/working-with-flow-logs.html
448
+ *
449
+ * @default ALL
450
+ */
451
+ readonly trafficType?: FlowLogTrafficType;
452
+ /**
453
+ * Specifies the type of destination to which the flow log data is to be published.
454
+ * Flow log data can be published to CloudWatch Logs or Amazon S3
455
+ *
456
+ * @default FlowLogDestinationType.toCloudWatchLogs()
457
+ */
458
+ readonly destination?: FlowLogDestination;
459
+ /**
460
+ * The fields to include in the flow log record, in the order in which they should appear.
461
+ *
462
+ * If multiple fields are specified, they will be separated by spaces. For full control over the literal log format
463
+ * string, pass a single field constructed with `LogFormat.custom()`.
464
+ *
465
+ * See https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records
466
+ *
467
+ * @default - default log format is used.
468
+ */
469
+ readonly logFormat?: LogFormat[];
470
+ /**
471
+ * The maximum interval of time during which a flow of packets is captured
472
+ * and aggregated into a flow log record.
473
+ *
474
+ * When creating flow logs for a Transit Gateway or Transit Gateway Attachment,
475
+ * this property must be ONE_MINUTES.
476
+ *
477
+ * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-maxaggregationinterval
478
+ *
479
+ * @default - FlowLogMaxAggregationInterval.ONE_MINUTES if creating flow logs for Transit Gateway, otherwise FlowLogMaxAggregationInterval.TEN_MINUTES.
480
+ */
481
+ readonly maxAggregationInterval?: FlowLogMaxAggregationInterval;
482
+ }
483
+ /**
484
+ * Properties of a VPC Flow Log
485
+ */
486
+ export interface FlowLogProps extends FlowLogOptions {
487
+ /**
488
+ * The name of the FlowLog
489
+ *
490
+ * Since the FlowLog resource doesn't support providing a physical name, the value provided here will be recorded in the `Name` tag.
491
+ *
492
+ * @default CDK generated name
493
+ */
494
+ readonly flowLogName?: string;
495
+ /**
496
+ * The type of resource for which to create the flow log
497
+ */
498
+ readonly resourceType: FlowLogResourceType;
499
+ }
500
+ /**
501
+ * The base class for a Flow Log
502
+ */
503
+ declare abstract class FlowLogBase extends AwsConstructBase implements IFlowLog {
504
+ /**
505
+ * The Id of the VPC Flow Log
506
+ *
507
+ * @attribute
508
+ */
509
+ abstract readonly flowLogId: string;
510
+ get flowLogOutputs(): FlowLogOutputs;
511
+ get outputs(): Record<string, any>;
512
+ }
513
+ /**
514
+ * A VPC flow log.
515
+ * @resource AWS::EC2::FlowLog
516
+ */
517
+ export declare class FlowLog extends FlowLogBase {
518
+ /**
519
+ * Import a Flow Log by it's Id
520
+ */
521
+ static fromFlowLogId(scope: Construct, id: string, flowLogId: string): IFlowLog;
522
+ /**
523
+ * The Id of the VPC Flow Log
524
+ *
525
+ * @attribute
526
+ */
527
+ readonly flowLogId: string;
528
+ /**
529
+ * The S3 bucket to publish flow logs to
530
+ */
531
+ readonly bucket?: storage.IBucket;
532
+ /**
533
+ * S3 bucket key prefix to publish the flow logs under
534
+ */
535
+ readonly keyPrefix?: string;
536
+ /**
537
+ * The iam role used to publish logs to CloudWatch
538
+ */
539
+ readonly iamRole?: iam.IRole;
540
+ /**
541
+ * The CloudWatch Logs LogGroup to publish flow logs to
542
+ */
543
+ readonly logGroup?: logs.ILogGroup;
544
+ /**
545
+ * The ARN of the Kinesis Data Firehose delivery stream to publish flow logs to
546
+ */
547
+ readonly deliveryStreamArn?: string;
548
+ readonly resource: flowLog.FlowLog;
549
+ constructor(scope: Construct, id: string, props: FlowLogProps);
550
+ }
551
+ export {};