terraconstructs 0.1.10 → 0.2.0

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 (290) hide show
  1. package/.jsii +1297 -629
  2. package/lib/asset-staging.js +1 -1
  3. package/lib/aws/arn.js +4 -3
  4. package/lib/aws/aws-asset-manager.js +1 -1
  5. package/lib/aws/aws-construct.js +1 -1
  6. package/lib/aws/aws-stack.js +1 -1
  7. package/lib/aws/aws-tags.js +2 -2
  8. package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
  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/actions/sns.js +1 -1
  12. package/lib/aws/cloudwatch/actions/ssm.js +2 -2
  13. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  14. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  15. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  16. package/lib/aws/cloudwatch/alarm.js +1 -1
  17. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  18. package/lib/aws/cloudwatch/dashboard.js +1 -1
  19. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  20. package/lib/aws/cloudwatch/graph.js +8 -8
  21. package/lib/aws/cloudwatch/layout.js +3 -3
  22. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  23. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  24. package/lib/aws/cloudwatch/log-group.js +1 -1
  25. package/lib/aws/cloudwatch/log-query.js +1 -1
  26. package/lib/aws/cloudwatch/log-stream.js +1 -1
  27. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  28. package/lib/aws/cloudwatch/metric.js +2 -2
  29. package/lib/aws/cloudwatch/pattern.js +3 -3
  30. package/lib/aws/cloudwatch/policy.js +1 -1
  31. package/lib/aws/cloudwatch/query-definition.js +2 -2
  32. package/lib/aws/cloudwatch/stats.js +1 -1
  33. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  34. package/lib/aws/cloudwatch/text.js +1 -1
  35. package/lib/aws/cloudwatch/variable.js +3 -3
  36. package/lib/aws/cloudwatch/widget.js +1 -1
  37. package/lib/aws/compute/access-log.js +4 -4
  38. package/lib/aws/compute/activity.js +1 -1
  39. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  40. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  41. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  42. package/lib/aws/compute/alb/application-listener.js +1 -1
  43. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  44. package/lib/aws/compute/alb/application-target-group.js +1 -1
  45. package/lib/aws/compute/alb/conditions.js +1 -1
  46. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  47. package/lib/aws/compute/alb/trust-store.js +1 -1
  48. package/lib/aws/compute/api-definition.js +3 -3
  49. package/lib/aws/compute/api-key.js +2 -2
  50. package/lib/aws/compute/architecture.js +1 -1
  51. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  52. package/lib/aws/compute/authorizer.js +1 -1
  53. package/lib/aws/compute/authorizers/identity-source.js +1 -1
  54. package/lib/aws/compute/authorizers/lambda.js +2 -2
  55. package/lib/aws/compute/base-path-mapping.js +1 -1
  56. package/lib/aws/compute/base-scalable-attribute.js +1 -1
  57. package/lib/aws/compute/bastion-host.js +1 -1
  58. package/lib/aws/compute/chain.js +1 -1
  59. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  60. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  61. package/lib/aws/compute/client-vpn-route.js +2 -2
  62. package/lib/aws/compute/code.js +8 -8
  63. package/lib/aws/compute/condition.js +1 -1
  64. package/lib/aws/compute/connections.js +1 -1
  65. package/lib/aws/compute/cors.js +1 -1
  66. package/lib/aws/compute/deployment.js +1 -1
  67. package/lib/aws/compute/domain-name.js +1 -1
  68. package/lib/aws/compute/event-invoke-config.js +1 -1
  69. package/lib/aws/compute/event-source-filter.js +2 -2
  70. package/lib/aws/compute/event-source-mapping.d.ts +10 -0
  71. package/lib/aws/compute/event-source-mapping.js +20 -23
  72. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  73. package/lib/aws/compute/event-sources/s3.js +1 -1
  74. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  75. package/lib/aws/compute/event-sources/sqs.d.ts +10 -0
  76. package/lib/aws/compute/event-sources/sqs.js +3 -3
  77. package/lib/aws/compute/fields.js +4 -4
  78. package/lib/aws/compute/function-alias.js +1 -1
  79. package/lib/aws/compute/function-base.js +2 -2
  80. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  81. package/lib/aws/compute/function-destinations/function.js +1 -1
  82. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  83. package/lib/aws/compute/function-nodejs/function.js +1 -1
  84. package/lib/aws/compute/function-url.js +1 -1
  85. package/lib/aws/compute/function.js +3 -3
  86. package/lib/aws/compute/gateway-response.js +2 -2
  87. package/lib/aws/compute/handler.js +1 -1
  88. package/lib/aws/compute/instance-types.js +1 -1
  89. package/lib/aws/compute/instance.js +1 -1
  90. package/lib/aws/compute/integration.js +1 -1
  91. package/lib/aws/compute/integrations/aws.js +1 -1
  92. package/lib/aws/compute/integrations/http.js +1 -1
  93. package/lib/aws/compute/integrations/lambda.js +1 -1
  94. package/lib/aws/compute/integrations/mock.js +1 -1
  95. package/lib/aws/compute/integrations/stepfunctions.js +1 -1
  96. package/lib/aws/compute/ip-addresses.js +2 -2
  97. package/lib/aws/compute/ipam.js +1 -1
  98. package/lib/aws/compute/key-pair.js +1 -1
  99. package/lib/aws/compute/lambda-api.js +1 -1
  100. package/lib/aws/compute/launch-template.js +2 -2
  101. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  102. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  103. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  104. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  105. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  106. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  107. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  108. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  109. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  110. package/lib/aws/compute/load-balancer.js +3 -3
  111. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  112. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  113. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  114. package/lib/aws/compute/machine-image/common.js +1 -1
  115. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  116. package/lib/aws/compute/method.js +1 -1
  117. package/lib/aws/compute/model.js +3 -3
  118. package/lib/aws/compute/nat.js +5 -5
  119. package/lib/aws/compute/network-acl-types.js +2 -2
  120. package/lib/aws/compute/network-acl.js +3 -3
  121. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  122. package/lib/aws/compute/nlb/network-listener.js +1 -1
  123. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  124. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  125. package/lib/aws/compute/peer.js +1 -1
  126. package/lib/aws/compute/placement-group.js +1 -1
  127. package/lib/aws/compute/port.js +1 -1
  128. package/lib/aws/compute/prefix-list.js +1 -1
  129. package/lib/aws/compute/requestvalidator.js +1 -1
  130. package/lib/aws/compute/resource.js +3 -3
  131. package/lib/aws/compute/restapi.js +3 -3
  132. package/lib/aws/compute/route.js +8 -8
  133. package/lib/aws/compute/runtime.js +1 -1
  134. package/lib/aws/compute/scalable-target.js +1 -1
  135. package/lib/aws/compute/schedule.js +1 -1
  136. package/lib/aws/compute/security-group.js +1 -1
  137. package/lib/aws/compute/stage.js +2 -2
  138. package/lib/aws/compute/state-graph.js +1 -1
  139. package/lib/aws/compute/state-machine-fragment.js +1 -1
  140. package/lib/aws/compute/state-machine.js +4 -4
  141. package/lib/aws/compute/states/choice.js +1 -1
  142. package/lib/aws/compute/states/custom-state.js +1 -1
  143. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  144. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  145. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  146. package/lib/aws/compute/states/distributed-map.js +1 -1
  147. package/lib/aws/compute/states/fail.js +1 -1
  148. package/lib/aws/compute/states/map-base.js +1 -1
  149. package/lib/aws/compute/states/map.js +1 -1
  150. package/lib/aws/compute/states/parallel.js +1 -1
  151. package/lib/aws/compute/states/pass.js +2 -2
  152. package/lib/aws/compute/states/state.js +1 -1
  153. package/lib/aws/compute/states/succeed.js +1 -1
  154. package/lib/aws/compute/states/task-base.js +2 -2
  155. package/lib/aws/compute/states/task.js +1 -1
  156. package/lib/aws/compute/states/wait.js +2 -2
  157. package/lib/aws/compute/step-scaling-action.js +1 -1
  158. package/lib/aws/compute/step-scaling-policy.js +1 -1
  159. package/lib/aws/compute/stepfunctions-api.js +1 -1
  160. package/lib/aws/compute/subnet-v2.js +2 -2
  161. package/lib/aws/compute/subnet.js +1 -1
  162. package/lib/aws/compute/target-tracking-scaling-policy.js +1 -1
  163. package/lib/aws/compute/task-credentials.js +1 -1
  164. package/lib/aws/compute/task-input.js +1 -1
  165. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  166. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  167. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  168. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  169. package/lib/aws/compute/tasks/sqs/send-message.js +10 -13
  170. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  171. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  172. package/lib/aws/compute/types.js +1 -1
  173. package/lib/aws/compute/usage-plan.js +1 -1
  174. package/lib/aws/compute/user-data.js +3 -3
  175. package/lib/aws/compute/volume.js +2 -2
  176. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  177. package/lib/aws/compute/vpc-endpoint.js +6 -6
  178. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  179. package/lib/aws/compute/vpc-link.js +1 -1
  180. package/lib/aws/compute/vpc-v2-base.js +1 -1
  181. package/lib/aws/compute/vpc-v2.js +2 -2
  182. package/lib/aws/compute/vpc.js +4 -4
  183. package/lib/aws/compute/vpn.js +3 -3
  184. package/lib/aws/edge/certificate.js +1 -1
  185. package/lib/aws/edge/distribution.js +3 -3
  186. package/lib/aws/edge/dns-alias-record-targets.js +6 -6
  187. package/lib/aws/edge/dns-record.js +13 -13
  188. package/lib/aws/edge/dns-zone.js +1 -1
  189. package/lib/aws/edge/function.js +2 -2
  190. package/lib/aws/edge/key-value-store.js +4 -4
  191. package/lib/aws/edge/origin.js +3 -3
  192. package/lib/aws/edge/response-headers-policy.js +1 -1
  193. package/lib/aws/encryption/alias.js +1 -1
  194. package/lib/aws/encryption/key.js +1 -1
  195. package/lib/aws/encryption/via-service-principal.js +1 -1
  196. package/lib/aws/environment-aware.d.ts +41 -0
  197. package/lib/aws/environment-aware.js +3 -0
  198. package/lib/aws/iam/grant.d.ts +34 -0
  199. package/lib/aws/iam/grant.js +27 -6
  200. package/lib/aws/iam/group.js +1 -1
  201. package/lib/aws/iam/instance-profile.js +1 -1
  202. package/lib/aws/iam/managed-policy.js +1 -1
  203. package/lib/aws/iam/oidc-provider.js +1 -1
  204. package/lib/aws/iam/policy-document.js +1 -1
  205. package/lib/aws/iam/policy-statement.js +1 -1
  206. package/lib/aws/iam/policy.js +1 -1
  207. package/lib/aws/iam/principals.js +20 -20
  208. package/lib/aws/iam/role.js +1 -1
  209. package/lib/aws/iam/saml-provider.js +2 -2
  210. package/lib/aws/iam/unknown-principal.js +1 -1
  211. package/lib/aws/iam/user.js +1 -1
  212. package/lib/aws/index.d.ts +1 -0
  213. package/lib/aws/index.js +2 -1
  214. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  215. package/lib/aws/network/subnet-group.js +3 -3
  216. package/lib/aws/network/subnet.js +4 -4
  217. package/lib/aws/notify/archive.js +1 -1
  218. package/lib/aws/notify/connection.js +3 -3
  219. package/lib/aws/notify/event-bus.d.ts +1 -1
  220. package/lib/aws/notify/event-bus.js +4 -4
  221. package/lib/aws/notify/event-pattern.js +1 -1
  222. package/lib/aws/notify/index.d.ts +3 -1
  223. package/lib/aws/notify/index.js +5 -5
  224. package/lib/aws/notify/input.js +2 -2
  225. package/lib/aws/notify/kinesis-stream.js +1 -1
  226. package/lib/aws/notify/notification-rule.js +1 -1
  227. package/lib/aws/notify/policy.js +1 -1
  228. package/lib/aws/notify/queue-base.d.ts +241 -0
  229. package/lib/aws/notify/queue-base.js +161 -0
  230. package/lib/aws/notify/queue-policy.js +1 -1
  231. package/lib/aws/notify/queue.d.ts +157 -190
  232. package/lib/aws/notify/queue.js +239 -186
  233. package/lib/aws/notify/resource-policy.js +1 -1
  234. package/lib/aws/notify/rule.js +1 -1
  235. package/lib/aws/notify/schedule.js +1 -1
  236. package/lib/aws/notify/sqs-augmentations.generated.d.ts +3 -3
  237. package/lib/aws/notify/sqs-augmentations.generated.js +23 -26
  238. package/lib/aws/notify/sqs-grants.generated.d.ts +72 -0
  239. package/lib/aws/notify/sqs-grants.generated.js +139 -0
  240. package/lib/aws/notify/subscription-filter.js +1 -1
  241. package/lib/aws/notify/subscription.js +4 -4
  242. package/lib/aws/notify/subscriptions/email.js +1 -1
  243. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  244. package/lib/aws/notify/subscriptions/sms.js +1 -1
  245. package/lib/aws/notify/subscriptions/sqs.js +30 -27
  246. package/lib/aws/notify/subscriptions/subscription.d.ts +1 -1
  247. package/lib/aws/notify/subscriptions/subscription.js +1 -1
  248. package/lib/aws/notify/subscriptions/url.js +1 -1
  249. package/lib/aws/notify/targets/event-bus.d.ts +1 -1
  250. package/lib/aws/notify/targets/event-bus.js +2 -2
  251. package/lib/aws/notify/targets/function.js +1 -1
  252. package/lib/aws/notify/targets/log-group.js +2 -2
  253. package/lib/aws/notify/targets/sqs.js +12 -14
  254. package/lib/aws/notify/targets/state-machine.js +1 -1
  255. package/lib/aws/notify/topic-base.js +1 -1
  256. package/lib/aws/notify/topic.js +1 -1
  257. package/lib/aws/storage/assets/image-asset.js +3 -3
  258. package/lib/aws/storage/assets/s3.js +1 -1
  259. package/lib/aws/storage/auth-token.js +2 -2
  260. package/lib/aws/storage/billing.js +1 -1
  261. package/lib/aws/storage/bucket-notifications.js +1 -1
  262. package/lib/aws/storage/bucket-policy.js +1 -1
  263. package/lib/aws/storage/bucket-source.js +1 -1
  264. package/lib/aws/storage/bucket.js +2 -2
  265. package/lib/aws/storage/capacity.js +1 -1
  266. package/lib/aws/storage/ecr-repository.js +3 -3
  267. package/lib/aws/storage/encryption.js +1 -1
  268. package/lib/aws/storage/notification-targets/function.js +1 -1
  269. package/lib/aws/storage/notification-targets/queue.js +17 -21
  270. package/lib/aws/storage/origin-access-identity.js +1 -1
  271. package/lib/aws/storage/parameter.js +2 -2
  272. package/lib/aws/storage/table.js +3 -3
  273. package/lib/bundling.js +3 -3
  274. package/lib/construct-base.js +2 -2
  275. package/lib/duration.js +1 -1
  276. package/lib/errors.js +1 -1
  277. package/lib/expiration.js +1 -1
  278. package/lib/fs/ignore.js +4 -4
  279. package/lib/fs/index.js +1 -1
  280. package/lib/helpers-internal/index.d.ts +1 -0
  281. package/lib/helpers-internal/index.js +16 -1
  282. package/lib/helpers-internal/validate-all-props.d.ts +29 -0
  283. package/lib/helpers-internal/validate-all-props.js +23 -0
  284. package/lib/size.js +1 -1
  285. package/lib/stack-base.js +1 -1
  286. package/lib/terra-func.js +1 -1
  287. package/lib/time-zone.js +1 -1
  288. package/package.json +1 -1
  289. package/lib/aws/notify/queue-config.generated.d.ts +0 -98
  290. package/lib/aws/notify/queue-config.generated.js +0 -3
package/.jsii CHANGED
@@ -2562,7 +2562,7 @@
2562
2562
  "terraconstructs.aws.cloudwatch": {
2563
2563
  "locationInModule": {
2564
2564
  "filename": "src/aws/index.ts",
2565
- "line": 24
2565
+ "line": 25
2566
2566
  },
2567
2567
  "symbolId": "src/aws/cloudwatch/index:"
2568
2568
  },
@@ -2583,7 +2583,7 @@
2583
2583
  "terraconstructs.aws.compute": {
2584
2584
  "locationInModule": {
2585
2585
  "filename": "src/aws/index.ts",
2586
- "line": 19
2586
+ "line": 20
2587
2587
  },
2588
2588
  "symbolId": "src/aws/compute/index:"
2589
2589
  },
@@ -2632,56 +2632,56 @@
2632
2632
  "terraconstructs.aws.edge": {
2633
2633
  "locationInModule": {
2634
2634
  "filename": "src/aws/index.ts",
2635
- "line": 23
2635
+ "line": 24
2636
2636
  },
2637
2637
  "symbolId": "src/aws/edge/index:"
2638
2638
  },
2639
2639
  "terraconstructs.aws.encryption": {
2640
2640
  "locationInModule": {
2641
2641
  "filename": "src/aws/index.ts",
2642
- "line": 18
2642
+ "line": 19
2643
2643
  },
2644
2644
  "symbolId": "src/aws/encryption/index:"
2645
2645
  },
2646
2646
  "terraconstructs.aws.iam": {
2647
2647
  "locationInModule": {
2648
2648
  "filename": "src/aws/index.ts",
2649
- "line": 17
2649
+ "line": 18
2650
2650
  },
2651
2651
  "symbolId": "src/aws/iam/index:"
2652
2652
  },
2653
2653
  "terraconstructs.aws.network": {
2654
2654
  "locationInModule": {
2655
2655
  "filename": "src/aws/index.ts",
2656
- "line": 20
2656
+ "line": 21
2657
2657
  },
2658
2658
  "symbolId": "src/aws/network/index:"
2659
2659
  },
2660
2660
  "terraconstructs.aws.notify": {
2661
2661
  "locationInModule": {
2662
2662
  "filename": "src/aws/index.ts",
2663
- "line": 22
2663
+ "line": 23
2664
2664
  },
2665
2665
  "symbolId": "src/aws/notify/index:"
2666
2666
  },
2667
2667
  "terraconstructs.aws.notify.subscriptions": {
2668
2668
  "locationInModule": {
2669
2669
  "filename": "src/aws/notify/index.ts",
2670
- "line": 33
2670
+ "line": 39
2671
2671
  },
2672
2672
  "symbolId": "src/aws/notify/subscriptions/index:"
2673
2673
  },
2674
2674
  "terraconstructs.aws.notify.targets": {
2675
2675
  "locationInModule": {
2676
2676
  "filename": "src/aws/notify/index.ts",
2677
- "line": 31
2677
+ "line": 37
2678
2678
  },
2679
2679
  "symbolId": "src/aws/notify/targets/index:"
2680
2680
  },
2681
2681
  "terraconstructs.aws.storage": {
2682
2682
  "locationInModule": {
2683
2683
  "filename": "src/aws/index.ts",
2684
- "line": 21
2684
+ "line": 22
2685
2685
  },
2686
2686
  "symbolId": "src/aws/storage/index:"
2687
2687
  },
@@ -15577,7 +15577,7 @@
15577
15577
  "kind": "class",
15578
15578
  "locationInModule": {
15579
15579
  "filename": "src/aws/arn.ts",
15580
- "line": 117
15580
+ "line": 118
15581
15581
  },
15582
15582
  "methods": [
15583
15583
  {
@@ -15588,7 +15588,7 @@
15588
15588
  },
15589
15589
  "locationInModule": {
15590
15590
  "filename": "src/aws/arn.ts",
15591
- "line": 344
15591
+ "line": 345
15592
15592
  },
15593
15593
  "name": "extractResourceName",
15594
15594
  "parameters": [
@@ -15620,7 +15620,7 @@
15620
15620
  },
15621
15621
  "locationInModule": {
15622
15622
  "filename": "src/aws/arn.ts",
15623
- "line": 135
15623
+ "line": 136
15624
15624
  },
15625
15625
  "name": "format",
15626
15626
  "parameters": [
@@ -15655,7 +15655,7 @@
15655
15655
  },
15656
15656
  "locationInModule": {
15657
15657
  "filename": "src/aws/arn.ts",
15658
- "line": 222
15658
+ "line": 223
15659
15659
  },
15660
15660
  "name": "parse",
15661
15661
  "parameters": [
@@ -15705,7 +15705,7 @@
15705
15705
  },
15706
15706
  "locationInModule": {
15707
15707
  "filename": "src/aws/arn.ts",
15708
- "line": 249
15708
+ "line": 250
15709
15709
  },
15710
15710
  "name": "split",
15711
15711
  "parameters": [
@@ -15750,7 +15750,7 @@
15750
15750
  "kind": "interface",
15751
15751
  "locationInModule": {
15752
15752
  "filename": "src/aws/arn.ts",
15753
- "line": 52
15753
+ "line": 53
15754
15754
  },
15755
15755
  "name": "ArnComponents",
15756
15756
  "namespace": "aws",
@@ -15764,7 +15764,7 @@
15764
15764
  "immutable": true,
15765
15765
  "locationInModule": {
15766
15766
  "filename": "src/aws/arn.ts",
15767
- "line": 90
15767
+ "line": 91
15768
15768
  },
15769
15769
  "name": "resource",
15770
15770
  "type": {
@@ -15780,7 +15780,7 @@
15780
15780
  "immutable": true,
15781
15781
  "locationInModule": {
15782
15782
  "filename": "src/aws/arn.ts",
15783
- "line": 67
15783
+ "line": 68
15784
15784
  },
15785
15785
  "name": "service",
15786
15786
  "type": {
@@ -15798,7 +15798,7 @@
15798
15798
  "immutable": true,
15799
15799
  "locationInModule": {
15800
15800
  "filename": "src/aws/arn.ts",
15801
- "line": 84
15801
+ "line": 85
15802
15802
  },
15803
15803
  "name": "account",
15804
15804
  "optional": true,
@@ -15816,7 +15816,7 @@
15816
15816
  "immutable": true,
15817
15817
  "locationInModule": {
15818
15818
  "filename": "src/aws/arn.ts",
15819
- "line": 114
15819
+ "line": 115
15820
15820
  },
15821
15821
  "name": "arnFormat",
15822
15822
  "optional": true,
@@ -15835,7 +15835,7 @@
15835
15835
  "immutable": true,
15836
15836
  "locationInModule": {
15837
15837
  "filename": "src/aws/arn.ts",
15838
- "line": 61
15838
+ "line": 62
15839
15839
  },
15840
15840
  "name": "partition",
15841
15841
  "optional": true,
@@ -15854,7 +15854,7 @@
15854
15854
  "immutable": true,
15855
15855
  "locationInModule": {
15856
15856
  "filename": "src/aws/arn.ts",
15857
- "line": 75
15857
+ "line": 76
15858
15858
  },
15859
15859
  "name": "region",
15860
15860
  "optional": true,
@@ -15871,7 +15871,7 @@
15871
15871
  "immutable": true,
15872
15872
  "locationInModule": {
15873
15873
  "filename": "src/aws/arn.ts",
15874
- "line": 106
15874
+ "line": 107
15875
15875
  },
15876
15876
  "name": "resourceName",
15877
15877
  "optional": true,
@@ -15891,7 +15891,7 @@
15891
15891
  "immutable": true,
15892
15892
  "locationInModule": {
15893
15893
  "filename": "src/aws/arn.ts",
15894
- "line": 100
15894
+ "line": 101
15895
15895
  },
15896
15896
  "name": "sep",
15897
15897
  "optional": true,
@@ -15912,7 +15912,7 @@
15912
15912
  "kind": "enum",
15913
15913
  "locationInModule": {
15914
15914
  "filename": "src/aws/arn.ts",
15915
- "line": 11
15915
+ "line": 12
15916
15916
  },
15917
15917
  "members": [
15918
15918
  {
@@ -18084,6 +18084,95 @@
18084
18084
  ],
18085
18085
  "symbolId": "src/aws/aws-stack:IAwsStack"
18086
18086
  },
18087
+ "terraconstructs.aws.IEnvironmentAware": {
18088
+ "assembly": "terraconstructs",
18089
+ "docs": {
18090
+ "stability": "stable",
18091
+ "summary": "Used to indicate that a particular construct has an resource environment."
18092
+ },
18093
+ "fqn": "terraconstructs.aws.IEnvironmentAware",
18094
+ "kind": "interface",
18095
+ "locationInModule": {
18096
+ "filename": "src/aws/environment-aware.ts",
18097
+ "line": 4
18098
+ },
18099
+ "name": "IEnvironmentAware",
18100
+ "namespace": "aws",
18101
+ "properties": [
18102
+ {
18103
+ "abstract": true,
18104
+ "docs": {
18105
+ "remarks": "For resources that are created and managed in a Stack (those created by\ncreating new class instances like `new Role()`, `new Bucket()`, etc.), this\nis always the same as the environment of the stack they belong to.\n\nFor referenced resources (those obtained from referencing methods like\n`Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be\ndifferent than the stack they were imported into.",
18106
+ "stability": "stable",
18107
+ "summary": "The environment this resource belongs to."
18108
+ },
18109
+ "immutable": true,
18110
+ "locationInModule": {
18111
+ "filename": "src/aws/environment-aware.ts",
18112
+ "line": 16
18113
+ },
18114
+ "name": "env",
18115
+ "type": {
18116
+ "fqn": "terraconstructs.aws.ResourceEnvironment"
18117
+ }
18118
+ }
18119
+ ],
18120
+ "symbolId": "src/aws/environment-aware:IEnvironmentAware"
18121
+ },
18122
+ "terraconstructs.aws.ResourceEnvironment": {
18123
+ "assembly": "terraconstructs",
18124
+ "datatype": true,
18125
+ "docs": {
18126
+ "remarks": "Used as the return value for the `IEnvironmentAware.env` property.",
18127
+ "stability": "stable",
18128
+ "summary": "Represents the environment a given resource lives in."
18129
+ },
18130
+ "fqn": "terraconstructs.aws.ResourceEnvironment",
18131
+ "kind": "interface",
18132
+ "locationInModule": {
18133
+ "filename": "src/aws/environment-aware.ts",
18134
+ "line": 24
18135
+ },
18136
+ "name": "ResourceEnvironment",
18137
+ "namespace": "aws",
18138
+ "properties": [
18139
+ {
18140
+ "abstract": true,
18141
+ "docs": {
18142
+ "remarks": "Since this can be a Token (for example, when the account is\nCloudFormation's `AWS::AccountId` intrinsic), make sure to use\n`Token.compareStrings()` instead of comparing the values with direct\nstring equality.",
18143
+ "stability": "stable",
18144
+ "summary": "The AWS Account ID that this resource belongs to."
18145
+ },
18146
+ "immutable": true,
18147
+ "locationInModule": {
18148
+ "filename": "src/aws/environment-aware.ts",
18149
+ "line": 33
18150
+ },
18151
+ "name": "account",
18152
+ "type": {
18153
+ "primitive": "string"
18154
+ }
18155
+ },
18156
+ {
18157
+ "abstract": true,
18158
+ "docs": {
18159
+ "remarks": "Since this can be a Token (for example, when the region is CloudFormation's\n`AWS::Region` intrinsic), make sure to use `Token.compareStrings()` instead\nof comparing the values with direct string equality.",
18160
+ "stability": "stable",
18161
+ "summary": "The AWS Region that this resource belongs to."
18162
+ },
18163
+ "immutable": true,
18164
+ "locationInModule": {
18165
+ "filename": "src/aws/environment-aware.ts",
18166
+ "line": 42
18167
+ },
18168
+ "name": "region",
18169
+ "type": {
18170
+ "primitive": "string"
18171
+ }
18172
+ }
18173
+ ],
18174
+ "symbolId": "src/aws/environment-aware:ResourceEnvironment"
18175
+ },
18087
18176
  "terraconstructs.aws.RetentionDays": {
18088
18177
  "assembly": "terraconstructs",
18089
18178
  "docs": {
@@ -59355,7 +59444,7 @@
59355
59444
  },
59356
59445
  "locationInModule": {
59357
59446
  "filename": "src/aws/compute/event-source-mapping.ts",
59358
- "line": 321
59447
+ "line": 319
59359
59448
  },
59360
59449
  "parameters": [
59361
59450
  {
@@ -59384,7 +59473,7 @@
59384
59473
  "kind": "class",
59385
59474
  "locationInModule": {
59386
59475
  "filename": "src/aws/compute/event-source-mapping.ts",
59387
- "line": 272
59476
+ "line": 270
59388
59477
  },
59389
59478
  "methods": [
59390
59479
  {
@@ -59394,7 +59483,7 @@
59394
59483
  },
59395
59484
  "locationInModule": {
59396
59485
  "filename": "src/aws/compute/event-source-mapping.ts",
59397
- "line": 279
59486
+ "line": 277
59398
59487
  },
59399
59488
  "name": "fromEventSourceMappingId",
59400
59489
  "parameters": [
@@ -59436,7 +59525,7 @@
59436
59525
  "immutable": true,
59437
59526
  "locationInModule": {
59438
59527
  "filename": "src/aws/compute/event-source-mapping.ts",
59439
- "line": 315
59528
+ "line": 313
59440
59529
  },
59441
59530
  "name": "eventSourceMappingArn",
59442
59531
  "overrides": "terraconstructs.aws.compute.IEventSourceMapping",
@@ -59452,7 +59541,7 @@
59452
59541
  "immutable": true,
59453
59542
  "locationInModule": {
59454
59543
  "filename": "src/aws/compute/event-source-mapping.ts",
59455
- "line": 314
59544
+ "line": 312
59456
59545
  },
59457
59546
  "name": "eventSourceMappingId",
59458
59547
  "overrides": "terraconstructs.aws.compute.IEventSourceMapping",
@@ -59468,7 +59557,7 @@
59468
59557
  "immutable": true,
59469
59558
  "locationInModule": {
59470
59559
  "filename": "src/aws/compute/event-source-mapping.ts",
59471
- "line": 316
59560
+ "line": 314
59472
59561
  },
59473
59562
  "name": "eventSourceMappingOutputs",
59474
59563
  "overrides": "terraconstructs.aws.compute.IEventSourceMapping",
@@ -59484,7 +59573,7 @@
59484
59573
  "immutable": true,
59485
59574
  "locationInModule": {
59486
59575
  "filename": "src/aws/compute/event-source-mapping.ts",
59487
- "line": 317
59576
+ "line": 315
59488
59577
  },
59489
59578
  "name": "outputs",
59490
59579
  "overrides": "terraconstructs.TerraConstructBase",
@@ -59513,7 +59602,7 @@
59513
59602
  "kind": "interface",
59514
59603
  "locationInModule": {
59515
59604
  "filename": "src/aws/compute/event-source-mapping.ts",
59516
- "line": 19
59605
+ "line": 18
59517
59606
  },
59518
59607
  "name": "EventSourceMappingOptions",
59519
59608
  "namespace": "aws.compute",
@@ -59529,7 +59618,7 @@
59529
59618
  "immutable": true,
59530
59619
  "locationInModule": {
59531
59620
  "filename": "src/aws/compute/event-source-mapping.ts",
59532
- "line": 38
59621
+ "line": 37
59533
59622
  },
59534
59623
  "name": "batchSize",
59535
59624
  "optional": true,
@@ -59547,7 +59636,7 @@
59547
59636
  "immutable": true,
59548
59637
  "locationInModule": {
59549
59638
  "filename": "src/aws/compute/event-source-mapping.ts",
59550
- "line": 45
59639
+ "line": 44
59551
59640
  },
59552
59641
  "name": "bisectBatchOnError",
59553
59642
  "optional": true,
@@ -59565,7 +59654,7 @@
59565
59654
  "immutable": true,
59566
59655
  "locationInModule": {
59567
59656
  "filename": "src/aws/compute/event-source-mapping.ts",
59568
- "line": 59
59657
+ "line": 58
59569
59658
  },
59570
59659
  "name": "enabled",
59571
59660
  "optional": true,
@@ -59584,7 +59673,7 @@
59584
59673
  "immutable": true,
59585
59674
  "locationInModule": {
59586
59675
  "filename": "src/aws/compute/event-source-mapping.ts",
59587
- "line": 26
59676
+ "line": 25
59588
59677
  },
59589
59678
  "name": "eventSourceArn",
59590
59679
  "optional": true,
@@ -59592,6 +59681,25 @@
59592
59681
  "primitive": "string"
59593
59682
  }
59594
59683
  },
59684
+ {
59685
+ "abstract": true,
59686
+ "docs": {
59687
+ "default": "- none",
59688
+ "see": "https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk",
59689
+ "stability": "stable",
59690
+ "summary": "Add Customer managed KMS key to encrypt Filter Criteria."
59691
+ },
59692
+ "immutable": true,
59693
+ "locationInModule": {
59694
+ "filename": "src/aws/compute/event-source-mapping.ts",
59695
+ "line": 200
59696
+ },
59697
+ "name": "filterEncryption",
59698
+ "optional": true,
59699
+ "type": {
59700
+ "fqn": "terraconstructs.aws.encryption.IKey"
59701
+ }
59702
+ },
59595
59703
  {
59596
59704
  "abstract": true,
59597
59705
  "docs": {
@@ -59604,7 +59712,7 @@
59604
59712
  "immutable": true,
59605
59713
  "locationInModule": {
59606
59714
  "filename": "src/aws/compute/event-source-mapping.ts",
59607
- "line": 191
59715
+ "line": 190
59608
59716
  },
59609
59717
  "name": "filters",
59610
59718
  "optional": true,
@@ -59633,7 +59741,7 @@
59633
59741
  "immutable": true,
59634
59742
  "locationInModule": {
59635
59743
  "filename": "src/aws/compute/event-source-mapping.ts",
59636
- "line": 164
59744
+ "line": 163
59637
59745
  },
59638
59746
  "name": "kafkaBootstrapServers",
59639
59747
  "optional": true,
@@ -59658,7 +59766,7 @@
59658
59766
  "immutable": true,
59659
59767
  "locationInModule": {
59660
59768
  "filename": "src/aws/compute/event-source-mapping.ts",
59661
- "line": 173
59769
+ "line": 172
59662
59770
  },
59663
59771
  "name": "kafkaConsumerGroupId",
59664
59772
  "optional": true,
@@ -59676,7 +59784,7 @@
59676
59784
  "immutable": true,
59677
59785
  "locationInModule": {
59678
59786
  "filename": "src/aws/compute/event-source-mapping.ts",
59679
- "line": 144
59787
+ "line": 143
59680
59788
  },
59681
59789
  "name": "kafkaTopic",
59682
59790
  "optional": true,
@@ -59695,7 +59803,7 @@
59695
59803
  "immutable": true,
59696
59804
  "locationInModule": {
59697
59805
  "filename": "src/aws/compute/event-source-mapping.ts",
59698
- "line": 93
59806
+ "line": 92
59699
59807
  },
59700
59808
  "name": "maxBatchingWindow",
59701
59809
  "optional": true,
@@ -59714,7 +59822,7 @@
59714
59822
  "immutable": true,
59715
59823
  "locationInModule": {
59716
59824
  "filename": "src/aws/compute/event-source-mapping.ts",
59717
- "line": 104
59825
+ "line": 103
59718
59826
  },
59719
59827
  "name": "maxConcurrency",
59720
59828
  "optional": true,
@@ -59733,7 +59841,7 @@
59733
59841
  "immutable": true,
59734
59842
  "locationInModule": {
59735
59843
  "filename": "src/aws/compute/event-source-mapping.ts",
59736
- "line": 114
59844
+ "line": 113
59737
59845
  },
59738
59846
  "name": "maxRecordAge",
59739
59847
  "optional": true,
@@ -59751,7 +59859,7 @@
59751
59859
  "immutable": true,
59752
59860
  "locationInModule": {
59753
59861
  "filename": "src/aws/compute/event-source-mapping.ts",
59754
- "line": 52
59862
+ "line": 51
59755
59863
  },
59756
59864
  "name": "onFailure",
59757
59865
  "optional": true,
@@ -59770,7 +59878,7 @@
59770
59878
  "immutable": true,
59771
59879
  "locationInModule": {
59772
59880
  "filename": "src/aws/compute/event-source-mapping.ts",
59773
- "line": 137
59881
+ "line": 136
59774
59882
  },
59775
59883
  "name": "parallelizationFactor",
59776
59884
  "optional": true,
@@ -59789,7 +59897,7 @@
59789
59897
  "immutable": true,
59790
59898
  "locationInModule": {
59791
59899
  "filename": "src/aws/compute/event-source-mapping.ts",
59792
- "line": 85
59900
+ "line": 84
59793
59901
  },
59794
59902
  "name": "reportBatchItemFailures",
59795
59903
  "optional": true,
@@ -59808,7 +59916,7 @@
59808
59916
  "immutable": true,
59809
59917
  "locationInModule": {
59810
59918
  "filename": "src/aws/compute/event-source-mapping.ts",
59811
- "line": 127
59919
+ "line": 126
59812
59920
  },
59813
59921
  "name": "retryAttempts",
59814
59922
  "optional": true,
@@ -59827,7 +59935,7 @@
59827
59935
  "immutable": true,
59828
59936
  "locationInModule": {
59829
59937
  "filename": "src/aws/compute/event-source-mapping.ts",
59830
- "line": 181
59938
+ "line": 180
59831
59939
  },
59832
59940
  "name": "sourceAccessConfigurations",
59833
59941
  "optional": true,
@@ -59851,7 +59959,7 @@
59851
59959
  "immutable": true,
59852
59960
  "locationInModule": {
59853
59961
  "filename": "src/aws/compute/event-source-mapping.ts",
59854
- "line": 69
59962
+ "line": 68
59855
59963
  },
59856
59964
  "name": "startingPosition",
59857
59965
  "optional": true,
@@ -59869,7 +59977,7 @@
59869
59977
  "immutable": true,
59870
59978
  "locationInModule": {
59871
59979
  "filename": "src/aws/compute/event-source-mapping.ts",
59872
- "line": 76
59980
+ "line": 75
59873
59981
  },
59874
59982
  "name": "startingPositionTimestamp",
59875
59983
  "optional": true,
@@ -59888,7 +59996,7 @@
59888
59996
  "immutable": true,
59889
59997
  "locationInModule": {
59890
59998
  "filename": "src/aws/compute/event-source-mapping.ts",
59891
- "line": 209
59999
+ "line": 207
59892
60000
  },
59893
60001
  "name": "supportS3OnFailureDestination",
59894
60002
  "optional": true,
@@ -59907,7 +60015,7 @@
59907
60015
  "immutable": true,
59908
60016
  "locationInModule": {
59909
60017
  "filename": "src/aws/compute/event-source-mapping.ts",
59910
- "line": 155
60018
+ "line": 154
59911
60019
  },
59912
60020
  "name": "tumblingWindow",
59913
60021
  "optional": true,
@@ -59929,7 +60037,7 @@
59929
60037
  "kind": "interface",
59930
60038
  "locationInModule": {
59931
60039
  "filename": "src/aws/compute/event-source-mapping.ts",
59932
- "line": 225
60040
+ "line": 223
59933
60041
  },
59934
60042
  "name": "EventSourceMappingOutputs",
59935
60043
  "namespace": "aws.compute",
@@ -59943,7 +60051,7 @@
59943
60051
  "immutable": true,
59944
60052
  "locationInModule": {
59945
60053
  "filename": "src/aws/compute/event-source-mapping.ts",
59946
- "line": 229
60054
+ "line": 227
59947
60055
  },
59948
60056
  "name": "uuid",
59949
60057
  "type": {
@@ -59967,7 +60075,7 @@
59967
60075
  "kind": "interface",
59968
60076
  "locationInModule": {
59969
60077
  "filename": "src/aws/compute/event-source-mapping.ts",
59970
- "line": 215
60078
+ "line": 213
59971
60079
  },
59972
60080
  "name": "EventSourceMappingProps",
59973
60081
  "namespace": "aws.compute",
@@ -59981,7 +60089,7 @@
59981
60089
  "immutable": true,
59982
60090
  "locationInModule": {
59983
60091
  "filename": "src/aws/compute/event-source-mapping.ts",
59984
- "line": 219
60092
+ "line": 217
59985
60093
  },
59986
60094
  "name": "target",
59987
60095
  "type": {
@@ -67477,7 +67585,7 @@
67477
67585
  "kind": "interface",
67478
67586
  "locationInModule": {
67479
67587
  "filename": "src/aws/compute/event-source-mapping.ts",
67480
- "line": 236
67588
+ "line": 234
67481
67589
  },
67482
67590
  "name": "IEventSourceMapping",
67483
67591
  "namespace": "aws.compute",
@@ -67491,7 +67599,7 @@
67491
67599
  "immutable": true,
67492
67600
  "locationInModule": {
67493
67601
  "filename": "src/aws/compute/event-source-mapping.ts",
67494
- "line": 251
67602
+ "line": 249
67495
67603
  },
67496
67604
  "name": "eventSourceMappingArn",
67497
67605
  "type": {
@@ -67510,7 +67618,7 @@
67510
67618
  "immutable": true,
67511
67619
  "locationInModule": {
67512
67620
  "filename": "src/aws/compute/event-source-mapping.ts",
67513
- "line": 246
67621
+ "line": 244
67514
67622
  },
67515
67623
  "name": "eventSourceMappingId",
67516
67624
  "type": {
@@ -67526,7 +67634,7 @@
67526
67634
  "immutable": true,
67527
67635
  "locationInModule": {
67528
67636
  "filename": "src/aws/compute/event-source-mapping.ts",
67529
- "line": 240
67637
+ "line": 238
67530
67638
  },
67531
67639
  "name": "eventSourceMappingOutputs",
67532
67640
  "type": {
@@ -116727,7 +116835,7 @@
116727
116835
  "kind": "interface",
116728
116836
  "locationInModule": {
116729
116837
  "filename": "src/aws/compute/event-source-mapping.ts",
116730
- "line": 583
116838
+ "line": 580
116731
116839
  },
116732
116840
  "name": "SourceAccessConfiguration",
116733
116841
  "namespace": "aws.compute",
@@ -116742,7 +116850,7 @@
116742
116850
  "immutable": true,
116743
116851
  "locationInModule": {
116744
116852
  "filename": "src/aws/compute/event-source-mapping.ts",
116745
- "line": 587
116853
+ "line": 584
116746
116854
  },
116747
116855
  "name": "type",
116748
116856
  "type": {
@@ -116760,7 +116868,7 @@
116760
116868
  "immutable": true,
116761
116869
  "locationInModule": {
116762
116870
  "filename": "src/aws/compute/event-source-mapping.ts",
116763
- "line": 594
116871
+ "line": 591
116764
116872
  },
116765
116873
  "name": "uri",
116766
116874
  "type": {
@@ -116781,7 +116889,7 @@
116781
116889
  "kind": "enum",
116782
116890
  "locationInModule": {
116783
116891
  "filename": "src/aws/compute/event-source-mapping.ts",
116784
- "line": 542
116892
+ "line": 539
116785
116893
  },
116786
116894
  "members": [
116787
116895
  {
@@ -118315,7 +118423,7 @@
118315
118423
  "kind": "enum",
118316
118424
  "locationInModule": {
118317
118425
  "filename": "src/aws/compute/event-source-mapping.ts",
118318
- "line": 600
118426
+ "line": 597
118319
118427
  },
118320
118428
  "members": [
118321
118429
  {
@@ -144324,7 +144432,7 @@
144324
144432
  },
144325
144433
  "locationInModule": {
144326
144434
  "filename": "src/aws/compute/event-sources/sqs.ts",
144327
- "line": 85
144435
+ "line": 84
144328
144436
  },
144329
144437
  "parameters": [
144330
144438
  {
@@ -144348,7 +144456,7 @@
144348
144456
  "kind": "class",
144349
144457
  "locationInModule": {
144350
144458
  "filename": "src/aws/compute/event-sources/sqs.ts",
144351
- "line": 81
144459
+ "line": 80
144352
144460
  },
144353
144461
  "methods": [
144354
144462
  {
@@ -144358,7 +144466,7 @@
144358
144466
  },
144359
144467
  "locationInModule": {
144360
144468
  "filename": "src/aws/compute/event-sources/sqs.ts",
144361
- "line": 125
144469
+ "line": 124
144362
144470
  },
144363
144471
  "name": "bind",
144364
144472
  "overrides": "terraconstructs.aws.compute.IEventSource",
@@ -144383,7 +144491,7 @@
144383
144491
  "immutable": true,
144384
144492
  "locationInModule": {
144385
144493
  "filename": "src/aws/compute/event-sources/sqs.ts",
144386
- "line": 170
144494
+ "line": 169
144387
144495
  },
144388
144496
  "name": "eventSourceMappingArn",
144389
144497
  "type": {
@@ -144398,7 +144506,7 @@
144398
144506
  "immutable": true,
144399
144507
  "locationInModule": {
144400
144508
  "filename": "src/aws/compute/event-sources/sqs.ts",
144401
- "line": 158
144509
+ "line": 157
144402
144510
  },
144403
144511
  "name": "eventSourceMappingId",
144404
144512
  "type": {
@@ -144412,7 +144520,7 @@
144412
144520
  "immutable": true,
144413
144521
  "locationInModule": {
144414
144522
  "filename": "src/aws/compute/event-sources/sqs.ts",
144415
- "line": 86
144523
+ "line": 85
144416
144524
  },
144417
144525
  "name": "queue",
144418
144526
  "type": {
@@ -144474,6 +144582,25 @@
144474
144582
  "primitive": "boolean"
144475
144583
  }
144476
144584
  },
144585
+ {
144586
+ "abstract": true,
144587
+ "docs": {
144588
+ "default": "- none",
144589
+ "see": "https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk",
144590
+ "stability": "stable",
144591
+ "summary": "Add Customer managed KMS key to encrypt Filter Criteria."
144592
+ },
144593
+ "immutable": true,
144594
+ "locationInModule": {
144595
+ "filename": "src/aws/compute/event-sources/sqs.ts",
144596
+ "line": 63
144597
+ },
144598
+ "name": "filterEncryption",
144599
+ "optional": true,
144600
+ "type": {
144601
+ "fqn": "terraconstructs.aws.encryption.IKey"
144602
+ }
144603
+ },
144477
144604
  {
144478
144605
  "abstract": true,
144479
144606
  "docs": {
@@ -144532,7 +144659,7 @@
144532
144659
  "immutable": true,
144533
144660
  "locationInModule": {
144534
144661
  "filename": "src/aws/compute/event-sources/sqs.ts",
144535
- "line": 75
144662
+ "line": 74
144536
144663
  },
144537
144664
  "name": "maxConcurrency",
144538
144665
  "optional": true,
@@ -157167,7 +157294,7 @@
157167
157294
  "kind": "interface",
157168
157295
  "locationInModule": {
157169
157296
  "filename": "src/aws/iam/grant.ts",
157170
- "line": 409
157297
+ "line": 458
157171
157298
  },
157172
157299
  "name": "AddToResourcePolicyResult",
157173
157300
  "namespace": "aws.iam",
@@ -157181,7 +157308,7 @@
157181
157308
  "immutable": true,
157182
157309
  "locationInModule": {
157183
157310
  "filename": "src/aws/iam/grant.ts",
157184
- "line": 413
157311
+ "line": 462
157185
157312
  },
157186
157313
  "name": "statementAdded",
157187
157314
  "type": {
@@ -157198,7 +157325,7 @@
157198
157325
  "immutable": true,
157199
157326
  "locationInModule": {
157200
157327
  "filename": "src/aws/iam/grant.ts",
157201
- "line": 421
157328
+ "line": 470
157202
157329
  },
157203
157330
  "name": "policyDependable",
157204
157331
  "optional": true,
@@ -157536,7 +157663,7 @@
157536
157663
  "kind": "interface",
157537
157664
  "locationInModule": {
157538
157665
  "filename": "src/aws/iam/grant.ts",
157539
- "line": 11
157666
+ "line": 12
157540
157667
  },
157541
157668
  "name": "CommonGrantOptions",
157542
157669
  "namespace": "aws.iam",
@@ -157550,7 +157677,7 @@
157550
157677
  "immutable": true,
157551
157678
  "locationInModule": {
157552
157679
  "filename": "src/aws/iam/grant.ts",
157553
- "line": 22
157680
+ "line": 23
157554
157681
  },
157555
157682
  "name": "actions",
157556
157683
  "type": {
@@ -157572,7 +157699,7 @@
157572
157699
  "immutable": true,
157573
157700
  "locationInModule": {
157574
157701
  "filename": "src/aws/iam/grant.ts",
157575
- "line": 17
157702
+ "line": 18
157576
157703
  },
157577
157704
  "name": "grantee",
157578
157705
  "type": {
@@ -157588,7 +157715,7 @@
157588
157715
  "immutable": true,
157589
157716
  "locationInModule": {
157590
157717
  "filename": "src/aws/iam/grant.ts",
157591
- "line": 27
157718
+ "line": 28
157592
157719
  },
157593
157720
  "name": "resourceArns",
157594
157721
  "type": {
@@ -157610,7 +157737,7 @@
157610
157737
  "immutable": true,
157611
157738
  "locationInModule": {
157612
157739
  "filename": "src/aws/iam/grant.ts",
157613
- "line": 34
157740
+ "line": 35
157614
157741
  },
157615
157742
  "name": "conditions",
157616
157743
  "optional": true,
@@ -157714,7 +157841,7 @@
157714
157841
  },
157715
157842
  "locationInModule": {
157716
157843
  "filename": "src/aws/iam/grant.ts",
157717
- "line": 432
157844
+ "line": 481
157718
157845
  },
157719
157846
  "parameters": [
157720
157847
  {
@@ -157733,7 +157860,7 @@
157733
157860
  "kind": "class",
157734
157861
  "locationInModule": {
157735
157862
  "filename": "src/aws/iam/grant.ts",
157736
- "line": 431
157863
+ "line": 480
157737
157864
  },
157738
157865
  "name": "CompositeDependable",
157739
157866
  "namespace": "aws.iam",
@@ -158231,7 +158358,7 @@
158231
158358
  "kind": "class",
158232
158359
  "locationInModule": {
158233
158360
  "filename": "src/aws/iam/grant.ts",
158234
- "line": 108
158361
+ "line": 109
158235
158362
  },
158236
158363
  "methods": [
158237
158364
  {
@@ -158242,7 +158369,7 @@
158242
158369
  },
158243
158370
  "locationInModule": {
158244
158371
  "filename": "src/aws/iam/grant.ts",
158245
- "line": 176
158372
+ "line": 177
158246
158373
  },
158247
158374
  "name": "addToPrincipal",
158248
158375
  "parameters": [
@@ -158268,7 +158395,7 @@
158268
158395
  },
158269
158396
  "locationInModule": {
158270
158397
  "filename": "src/aws/iam/grant.ts",
158271
- "line": 211
158398
+ "line": 212
158272
158399
  },
158273
158400
  "name": "addToPrincipalAndResource",
158274
158401
  "parameters": [
@@ -158294,7 +158421,7 @@
158294
158421
  },
158295
158422
  "locationInModule": {
158296
158423
  "filename": "src/aws/iam/grant.ts",
158297
- "line": 123
158424
+ "line": 124
158298
158425
  },
158299
158426
  "name": "addToPrincipalOrResource",
158300
158427
  "parameters": [
@@ -158320,7 +158447,7 @@
158320
158447
  },
158321
158448
  "locationInModule": {
158322
158449
  "filename": "src/aws/iam/grant.ts",
158323
- "line": 251
158450
+ "line": 252
158324
158451
  },
158325
158452
  "name": "drop",
158326
158453
  "parameters": [
@@ -158358,7 +158485,7 @@
158358
158485
  },
158359
158486
  "locationInModule": {
158360
158487
  "filename": "src/aws/iam/grant.ts",
158361
- "line": 343
158488
+ "line": 344
158362
158489
  },
158363
158490
  "name": "applyBefore",
158364
158491
  "parameters": [
@@ -158379,7 +158506,7 @@
158379
158506
  },
158380
158507
  "locationInModule": {
158381
158508
  "filename": "src/aws/iam/grant.ts",
158382
- "line": 330
158509
+ "line": 331
158383
158510
  },
158384
158511
  "name": "assertSuccess"
158385
158512
  },
@@ -158390,7 +158517,7 @@
158390
158517
  },
158391
158518
  "locationInModule": {
158392
158519
  "filename": "src/aws/iam/grant.ts",
158393
- "line": 352
158520
+ "line": 353
158394
158521
  },
158395
158522
  "name": "combine",
158396
158523
  "parameters": [
@@ -158419,7 +158546,7 @@
158419
158546
  "immutable": true,
158420
158547
  "locationInModule": {
158421
158548
  "filename": "src/aws/iam/grant.ts",
158422
- "line": 267
158549
+ "line": 268
158423
158550
  },
158424
158551
  "name": "principalStatements",
158425
158552
  "type": {
@@ -158439,7 +158566,7 @@
158439
158566
  "immutable": true,
158440
158567
  "locationInModule": {
158441
158568
  "filename": "src/aws/iam/grant.ts",
158442
- "line": 279
158569
+ "line": 280
158443
158570
  },
158444
158571
  "name": "resourceStatements",
158445
158572
  "type": {
@@ -158459,7 +158586,7 @@
158459
158586
  "immutable": true,
158460
158587
  "locationInModule": {
158461
158588
  "filename": "src/aws/iam/grant.ts",
158462
- "line": 320
158589
+ "line": 321
158463
158590
  },
158464
158591
  "name": "success",
158465
158592
  "type": {
@@ -158475,7 +158602,7 @@
158475
158602
  "immutable": true,
158476
158603
  "locationInModule": {
158477
158604
  "filename": "src/aws/iam/grant.ts",
158478
- "line": 262
158605
+ "line": 263
158479
158606
  },
158480
158607
  "name": "principalStatement",
158481
158608
  "optional": true,
@@ -158492,7 +158619,7 @@
158492
158619
  "immutable": true,
158493
158620
  "locationInModule": {
158494
158621
  "filename": "src/aws/iam/grant.ts",
158495
- "line": 274
158622
+ "line": 275
158496
158623
  },
158497
158624
  "name": "resourceStatement",
158498
158625
  "optional": true,
@@ -158503,6 +158630,43 @@
158503
158630
  ],
158504
158631
  "symbolId": "src/aws/iam/grant:Grant"
158505
158632
  },
158633
+ "terraconstructs.aws.iam.GrantOnKeyResult": {
158634
+ "assembly": "terraconstructs",
158635
+ "datatype": true,
158636
+ "docs": {
158637
+ "stability": "stable",
158638
+ "summary": "Result of a call to grantOnKey()."
158639
+ },
158640
+ "fqn": "terraconstructs.aws.iam.GrantOnKeyResult",
158641
+ "kind": "interface",
158642
+ "locationInModule": {
158643
+ "filename": "src/aws/iam/grant.ts",
158644
+ "line": 400
158645
+ },
158646
+ "name": "GrantOnKeyResult",
158647
+ "namespace": "aws.iam",
158648
+ "properties": [
158649
+ {
158650
+ "abstract": true,
158651
+ "docs": {
158652
+ "default": "No grant",
158653
+ "stability": "stable",
158654
+ "summary": "The Grant object, if a grant was created."
158655
+ },
158656
+ "immutable": true,
158657
+ "locationInModule": {
158658
+ "filename": "src/aws/iam/grant.ts",
158659
+ "line": 406
158660
+ },
158661
+ "name": "grant",
158662
+ "optional": true,
158663
+ "type": {
158664
+ "fqn": "terraconstructs.aws.iam.Grant"
158665
+ }
158666
+ }
158667
+ ],
158668
+ "symbolId": "src/aws/iam/grant:GrantOnKeyResult"
158669
+ },
158506
158670
  "terraconstructs.aws.iam.GrantOnPrincipalAndResourceOptions": {
158507
158671
  "assembly": "terraconstructs",
158508
158672
  "datatype": true,
@@ -158517,7 +158681,7 @@
158517
158681
  "kind": "interface",
158518
158682
  "locationInModule": {
158519
158683
  "filename": "src/aws/iam/grant.ts",
158520
- "line": 77
158684
+ "line": 78
158521
158685
  },
158522
158686
  "name": "GrantOnPrincipalAndResourceOptions",
158523
158687
  "namespace": "aws.iam",
@@ -158532,7 +158696,7 @@
158532
158696
  "immutable": true,
158533
158697
  "locationInModule": {
158534
158698
  "filename": "src/aws/iam/grant.ts",
158535
- "line": 83
158699
+ "line": 84
158536
158700
  },
158537
158701
  "name": "resource",
158538
158702
  "type": {
@@ -158549,7 +158713,7 @@
158549
158713
  "immutable": true,
158550
158714
  "locationInModule": {
158551
158715
  "filename": "src/aws/iam/grant.ts",
158552
- "line": 99
158716
+ "line": 100
158553
158717
  },
158554
158718
  "name": "resourcePolicyPrincipal",
158555
158719
  "optional": true,
@@ -158568,7 +158732,7 @@
158568
158732
  "immutable": true,
158569
158733
  "locationInModule": {
158570
158734
  "filename": "src/aws/iam/grant.ts",
158571
- "line": 92
158735
+ "line": 93
158572
158736
  },
158573
158737
  "name": "resourceSelfArns",
158574
158738
  "optional": true,
@@ -158598,7 +158762,7 @@
158598
158762
  "kind": "interface",
158599
158763
  "locationInModule": {
158600
158764
  "filename": "src/aws/iam/grant.ts",
158601
- "line": 64
158765
+ "line": 65
158602
158766
  },
158603
158767
  "name": "GrantOnPrincipalOptions",
158604
158768
  "namespace": "aws.iam",
@@ -158613,7 +158777,7 @@
158613
158777
  "immutable": true,
158614
158778
  "locationInModule": {
158615
158779
  "filename": "src/aws/iam/grant.ts",
158616
- "line": 70
158780
+ "line": 71
158617
158781
  },
158618
158782
  "name": "scope",
158619
158783
  "optional": true,
@@ -158638,7 +158802,7 @@
158638
158802
  "kind": "interface",
158639
158803
  "locationInModule": {
158640
158804
  "filename": "src/aws/iam/grant.ts",
158641
- "line": 41
158805
+ "line": 42
158642
158806
  },
158643
158807
  "name": "GrantWithResourceOptions",
158644
158808
  "namespace": "aws.iam",
@@ -158653,7 +158817,7 @@
158653
158817
  "immutable": true,
158654
158818
  "locationInModule": {
158655
158819
  "filename": "src/aws/iam/grant.ts",
158656
- "line": 48
158820
+ "line": 49
158657
158821
  },
158658
158822
  "name": "resource",
158659
158823
  "type": {
@@ -158671,7 +158835,7 @@
158671
158835
  "immutable": true,
158672
158836
  "locationInModule": {
158673
158837
  "filename": "src/aws/iam/grant.ts",
158674
- "line": 57
158838
+ "line": 58
158675
158839
  },
158676
158840
  "name": "resourceSelfArns",
158677
158841
  "optional": true,
@@ -158687,6 +158851,79 @@
158687
158851
  ],
158688
158852
  "symbolId": "src/aws/iam/grant:GrantWithResourceOptions"
158689
158853
  },
158854
+ "terraconstructs.aws.iam.GrantableResources": {
158855
+ "assembly": "terraconstructs",
158856
+ "docs": {
158857
+ "stability": "stable",
158858
+ "summary": "Utility methods to check for specific types of grantable resources."
158859
+ },
158860
+ "fqn": "terraconstructs.aws.iam.GrantableResources",
158861
+ "initializer": {
158862
+ "docs": {
158863
+ "stability": "stable"
158864
+ }
158865
+ },
158866
+ "kind": "class",
158867
+ "locationInModule": {
158868
+ "filename": "src/aws/iam/grant.ts",
158869
+ "line": 422
158870
+ },
158871
+ "methods": [
158872
+ {
158873
+ "docs": {
158874
+ "stability": "stable",
158875
+ "summary": "Whether this resource holds data that can be encrypted using a KMS key."
158876
+ },
158877
+ "locationInModule": {
158878
+ "filename": "src/aws/iam/grant.ts",
158879
+ "line": 438
158880
+ },
158881
+ "name": "isEncryptedResource",
158882
+ "parameters": [
158883
+ {
158884
+ "name": "resource",
158885
+ "type": {
158886
+ "fqn": "constructs.IConstruct"
158887
+ }
158888
+ }
158889
+ ],
158890
+ "returns": {
158891
+ "type": {
158892
+ "primitive": "boolean"
158893
+ }
158894
+ },
158895
+ "static": true
158896
+ },
158897
+ {
158898
+ "docs": {
158899
+ "stability": "stable",
158900
+ "summary": "Whether this resource admits a resource policy."
158901
+ },
158902
+ "locationInModule": {
158903
+ "filename": "src/aws/iam/grant.ts",
158904
+ "line": 426
158905
+ },
158906
+ "name": "isResourceWithPolicy",
158907
+ "parameters": [
158908
+ {
158909
+ "name": "resource",
158910
+ "type": {
158911
+ "fqn": "terraconstructs.aws.IEnvironmentAware"
158912
+ }
158913
+ }
158914
+ ],
158915
+ "returns": {
158916
+ "type": {
158917
+ "primitive": "boolean"
158918
+ }
158919
+ },
158920
+ "static": true
158921
+ }
158922
+ ],
158923
+ "name": "GrantableResources",
158924
+ "namespace": "aws.iam",
158925
+ "symbolId": "src/aws/iam/grant:GrantableResources"
158926
+ },
158690
158927
  "terraconstructs.aws.iam.Group": {
158691
158928
  "assembly": "terraconstructs",
158692
158929
  "base": "terraconstructs.aws.AwsConstructBase",
@@ -159292,7 +159529,7 @@
159292
159529
  "kind": "interface",
159293
159530
  "locationInModule": {
159294
159531
  "filename": "src/aws/iam/grant.ts",
159295
- "line": 399
159532
+ "line": 448
159296
159533
  },
159297
159534
  "methods": [
159298
159535
  {
@@ -159303,7 +159540,7 @@
159303
159540
  },
159304
159541
  "locationInModule": {
159305
159542
  "filename": "src/aws/iam/grant.ts",
159306
- "line": 403
159543
+ "line": 452
159307
159544
  },
159308
159545
  "name": "addToResourcePolicy",
159309
159546
  "parameters": [
@@ -159365,6 +159602,60 @@
159365
159602
  "namespace": "aws.iam",
159366
159603
  "symbolId": "src/aws/iam/principals:IComparablePrincipal"
159367
159604
  },
159605
+ "terraconstructs.aws.iam.IEncryptedResource": {
159606
+ "assembly": "terraconstructs",
159607
+ "docs": {
159608
+ "stability": "stable",
159609
+ "summary": "A resource that contains data that can be encrypted, using a KMS key."
159610
+ },
159611
+ "fqn": "terraconstructs.aws.iam.IEncryptedResource",
159612
+ "interfaces": [
159613
+ "terraconstructs.aws.IAwsConstruct"
159614
+ ],
159615
+ "kind": "interface",
159616
+ "locationInModule": {
159617
+ "filename": "src/aws/iam/grant.ts",
159618
+ "line": 412
159619
+ },
159620
+ "methods": [
159621
+ {
159622
+ "abstract": true,
159623
+ "docs": {
159624
+ "stability": "stable",
159625
+ "summary": "Gives permissions to a grantable entity to perform actions on the encryption key."
159626
+ },
159627
+ "locationInModule": {
159628
+ "filename": "src/aws/iam/grant.ts",
159629
+ "line": 416
159630
+ },
159631
+ "name": "grantOnKey",
159632
+ "parameters": [
159633
+ {
159634
+ "name": "grantee",
159635
+ "type": {
159636
+ "fqn": "terraconstructs.aws.iam.IGrantable"
159637
+ }
159638
+ },
159639
+ {
159640
+ "name": "actions",
159641
+ "type": {
159642
+ "primitive": "string"
159643
+ },
159644
+ "variadic": true
159645
+ }
159646
+ ],
159647
+ "returns": {
159648
+ "type": {
159649
+ "fqn": "terraconstructs.aws.iam.GrantOnKeyResult"
159650
+ }
159651
+ },
159652
+ "variadic": true
159653
+ }
159654
+ ],
159655
+ "name": "IEncryptedResource",
159656
+ "namespace": "aws.iam",
159657
+ "symbolId": "src/aws/iam/grant:IEncryptedResource"
159658
+ },
159368
159659
  "terraconstructs.aws.iam.IGrantable": {
159369
159660
  "assembly": "terraconstructs",
159370
159661
  "docs": {
@@ -171402,7 +171693,7 @@
171402
171693
  "kind": "interface",
171403
171694
  "locationInModule": {
171404
171695
  "filename": "src/aws/notify/queue.ts",
171405
- "line": 517
171696
+ "line": 565
171406
171697
  },
171407
171698
  "name": "DeadLetterQueue",
171408
171699
  "namespace": "aws.notify",
@@ -171416,7 +171707,7 @@
171416
171707
  "immutable": true,
171417
171708
  "locationInModule": {
171418
171709
  "filename": "src/aws/notify/queue.ts",
171419
- "line": 526
171710
+ "line": 574
171420
171711
  },
171421
171712
  "name": "maxReceiveCount",
171422
171713
  "type": {
@@ -171432,7 +171723,7 @@
171432
171723
  "immutable": true,
171433
171724
  "locationInModule": {
171434
171725
  "filename": "src/aws/notify/queue.ts",
171435
- "line": 521
171726
+ "line": 569
171436
171727
  },
171437
171728
  "name": "queue",
171438
171729
  "type": {
@@ -171452,7 +171743,7 @@
171452
171743
  "kind": "enum",
171453
171744
  "locationInModule": {
171454
171745
  "filename": "src/aws/notify/queue.ts",
171455
- "line": 578
171746
+ "line": 608
171456
171747
  },
171457
171748
  "members": [
171458
171749
  {
@@ -173217,7 +173508,7 @@
173217
173508
  "kind": "enum",
173218
173509
  "locationInModule": {
173219
173510
  "filename": "src/aws/notify/queue.ts",
173220
- "line": 592
173511
+ "line": 622
173221
173512
  },
173222
173513
  "members": [
173223
173514
  {
@@ -174149,16 +174440,17 @@
174149
174440
  "assembly": "terraconstructs",
174150
174441
  "docs": {
174151
174442
  "stability": "stable",
174152
- "summary": "Imported or created Queue attributes."
174443
+ "summary": "Represents an SQS queue."
174153
174444
  },
174154
174445
  "fqn": "terraconstructs.aws.notify.IQueue",
174155
174446
  "interfaces": [
174156
- "terraconstructs.aws.iam.IAwsConstructWithPolicy"
174447
+ "terraconstructs.aws.iam.IAwsConstructWithPolicy",
174448
+ "terraconstructs.aws.IAwsConstruct"
174157
174449
  ],
174158
174450
  "kind": "interface",
174159
174451
  "locationInModule": {
174160
- "filename": "src/aws/notify/queue.ts",
174161
- "line": 106
174452
+ "filename": "src/aws/notify/queue-base.ts",
174453
+ "line": 38
174162
174454
  },
174163
174455
  "methods": [
174164
174456
  {
@@ -174168,8 +174460,8 @@
174168
174460
  "summary": "Grant the actions defined in queueActions to the identity Principal given on this SQS queue resource."
174169
174461
  },
174170
174462
  "locationInModule": {
174171
- "filename": "src/aws/notify/queue.ts",
174172
- "line": 188
174463
+ "filename": "src/aws/notify/queue-base.ts",
174464
+ "line": 123
174173
174465
  },
174174
174466
  "name": "grant",
174175
174467
  "parameters": [
@@ -174208,8 +174500,8 @@
174208
174500
  "summary": "Grant permissions to consume messages from a queue."
174209
174501
  },
174210
174502
  "locationInModule": {
174211
- "filename": "src/aws/notify/queue.ts",
174212
- "line": 153
174503
+ "filename": "src/aws/notify/queue-base.ts",
174504
+ "line": 88
174213
174505
  },
174214
174506
  "name": "grantConsumeMessages",
174215
174507
  "parameters": [
@@ -174237,8 +174529,8 @@
174237
174529
  "summary": "Grant an IAM principal permissions to purge all messages from the queue."
174238
174530
  },
174239
174531
  "locationInModule": {
174240
- "filename": "src/aws/notify/queue.ts",
174241
- "line": 179
174532
+ "filename": "src/aws/notify/queue-base.ts",
174533
+ "line": 114
174242
174534
  },
174243
174535
  "name": "grantPurge",
174244
174536
  "parameters": [
@@ -174266,8 +174558,8 @@
174266
174558
  "summary": "Grant access to send messages to a queue to the given identity."
174267
174559
  },
174268
174560
  "locationInModule": {
174269
- "filename": "src/aws/notify/queue.ts",
174270
- "line": 166
174561
+ "filename": "src/aws/notify/queue-base.ts",
174562
+ "line": 101
174271
174563
  },
174272
174564
  "name": "grantSendMessages",
174273
174565
  "parameters": [
@@ -174295,7 +174587,7 @@
174295
174587
  },
174296
174588
  "locationInModule": {
174297
174589
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174298
- "line": 14
174590
+ "line": 11
174299
174591
  },
174300
174592
  "name": "metric",
174301
174593
  "parameters": [
@@ -174328,7 +174620,7 @@
174328
174620
  },
174329
174621
  "locationInModule": {
174330
174622
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174331
- "line": 21
174623
+ "line": 18
174332
174624
  },
174333
174625
  "name": "metricApproximateAgeOfOldestMessage",
174334
174626
  "parameters": [
@@ -174355,7 +174647,7 @@
174355
174647
  },
174356
174648
  "locationInModule": {
174357
174649
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174358
- "line": 28
174650
+ "line": 25
174359
174651
  },
174360
174652
  "name": "metricApproximateNumberOfMessagesDelayed",
174361
174653
  "parameters": [
@@ -174382,7 +174674,7 @@
174382
174674
  },
174383
174675
  "locationInModule": {
174384
174676
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174385
- "line": 35
174677
+ "line": 32
174386
174678
  },
174387
174679
  "name": "metricApproximateNumberOfMessagesNotVisible",
174388
174680
  "parameters": [
@@ -174409,7 +174701,7 @@
174409
174701
  },
174410
174702
  "locationInModule": {
174411
174703
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174412
- "line": 42
174704
+ "line": 39
174413
174705
  },
174414
174706
  "name": "metricApproximateNumberOfMessagesVisible",
174415
174707
  "parameters": [
@@ -174436,7 +174728,7 @@
174436
174728
  },
174437
174729
  "locationInModule": {
174438
174730
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174439
- "line": 49
174731
+ "line": 46
174440
174732
  },
174441
174733
  "name": "metricNumberOfEmptyReceives",
174442
174734
  "parameters": [
@@ -174463,7 +174755,7 @@
174463
174755
  },
174464
174756
  "locationInModule": {
174465
174757
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174466
- "line": 56
174758
+ "line": 53
174467
174759
  },
174468
174760
  "name": "metricNumberOfMessagesDeleted",
174469
174761
  "parameters": [
@@ -174490,7 +174782,7 @@
174490
174782
  },
174491
174783
  "locationInModule": {
174492
174784
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174493
- "line": 63
174785
+ "line": 60
174494
174786
  },
174495
174787
  "name": "metricNumberOfMessagesReceived",
174496
174788
  "parameters": [
@@ -174517,7 +174809,7 @@
174517
174809
  },
174518
174810
  "locationInModule": {
174519
174811
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174520
- "line": 70
174812
+ "line": 67
174521
174813
  },
174522
174814
  "name": "metricNumberOfMessagesSent",
174523
174815
  "parameters": [
@@ -174544,7 +174836,7 @@
174544
174836
  },
174545
174837
  "locationInModule": {
174546
174838
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
174547
- "line": 77
174839
+ "line": 74
174548
174840
  },
174549
174841
  "name": "metricSentMessageSize",
174550
174842
  "parameters": [
@@ -174575,8 +174867,8 @@
174575
174867
  },
174576
174868
  "immutable": true,
174577
174869
  "locationInModule": {
174578
- "filename": "src/aws/notify/queue.ts",
174579
- "line": 138
174870
+ "filename": "src/aws/notify/queue-base.ts",
174871
+ "line": 68
174580
174872
  },
174581
174873
  "name": "fifo",
174582
174874
  "type": {
@@ -174594,8 +174886,8 @@
174594
174886
  },
174595
174887
  "immutable": true,
174596
174888
  "locationInModule": {
174597
- "filename": "src/aws/notify/queue.ts",
174598
- "line": 113
174889
+ "filename": "src/aws/notify/queue-base.ts",
174890
+ "line": 46
174599
174891
  },
174600
174892
  "name": "queueArn",
174601
174893
  "type": {
@@ -174613,8 +174905,8 @@
174613
174905
  },
174614
174906
  "immutable": true,
174615
174907
  "locationInModule": {
174616
- "filename": "src/aws/notify/queue.ts",
174617
- "line": 123
174908
+ "filename": "src/aws/notify/queue-base.ts",
174909
+ "line": 58
174618
174910
  },
174619
174911
  "name": "queueName",
174620
174912
  "type": {
@@ -174629,8 +174921,8 @@
174629
174921
  },
174630
174922
  "immutable": true,
174631
174923
  "locationInModule": {
174632
- "filename": "src/aws/notify/queue.ts",
174633
- "line": 108
174924
+ "filename": "src/aws/notify/queue-base.ts",
174925
+ "line": 40
174634
174926
  },
174635
174927
  "name": "queueOutputs",
174636
174928
  "type": {
@@ -174648,8 +174940,8 @@
174648
174940
  },
174649
174941
  "immutable": true,
174650
174942
  "locationInModule": {
174651
- "filename": "src/aws/notify/queue.ts",
174652
- "line": 118
174943
+ "filename": "src/aws/notify/queue-base.ts",
174944
+ "line": 52
174653
174945
  },
174654
174946
  "name": "queueUrl",
174655
174947
  "type": {
@@ -174660,21 +174952,38 @@
174660
174952
  "abstract": true,
174661
174953
  "docs": {
174662
174954
  "stability": "stable",
174663
- "summary": "If this queue is configured with a dead-letter queue, this is the dead-letter queue settings."
174955
+ "summary": "If this queue is server-side encrypted, this is the KMS encryption key."
174664
174956
  },
174665
174957
  "immutable": true,
174666
174958
  "locationInModule": {
174667
- "filename": "src/aws/notify/queue.ts",
174668
- "line": 127
174959
+ "filename": "src/aws/notify/queue-base.ts",
174960
+ "line": 63
174669
174961
  },
174670
- "name": "deadLetterQueue",
174962
+ "name": "encryptionMasterKey",
174671
174963
  "optional": true,
174672
174964
  "type": {
174673
- "fqn": "terraconstructs.aws.notify.DeadLetterQueue"
174965
+ "fqn": "terraconstructs.aws.encryption.IKey"
174966
+ }
174967
+ },
174968
+ {
174969
+ "abstract": true,
174970
+ "docs": {
174971
+ "stability": "stable",
174972
+ "summary": "Whether the contents of the queue are encrypted, and by what type of key."
174973
+ },
174974
+ "immutable": true,
174975
+ "locationInModule": {
174976
+ "filename": "src/aws/notify/queue-base.ts",
174977
+ "line": 73
174978
+ },
174979
+ "name": "encryptionType",
174980
+ "optional": true,
174981
+ "type": {
174982
+ "fqn": "terraconstructs.aws.notify.QueueEncryption"
174674
174983
  }
174675
174984
  }
174676
174985
  ],
174677
- "symbolId": "src/aws/notify/queue:IQueue"
174986
+ "symbolId": "src/aws/notify/queue-base:IQueue"
174678
174987
  },
174679
174988
  "terraconstructs.aws.notify.IRule": {
174680
174989
  "assembly": "terraconstructs",
@@ -178103,15 +178412,10 @@
178103
178412
  },
178104
178413
  "terraconstructs.aws.notify.Queue": {
178105
178414
  "assembly": "terraconstructs",
178106
- "base": "terraconstructs.aws.AwsConstructBase",
178415
+ "base": "terraconstructs.aws.notify.QueueBase",
178107
178416
  "docs": {
178108
- "custom": {
178109
- "beacon-class": "notify.IQueue",
178110
- "resource": "aws_sqs_queue"
178111
- },
178112
- "remarks": "```ts\nnew notify.Queue(stack, \"Queue\", {\n namePrefix: \"queue.fifo\",\n messageRetentionSeconds: Duration.days(14).toSeconds(),\n visibilityTimeoutSeconds: Duration.minutes(15).toSeconds(),\n});\n```",
178113
178417
  "stability": "stable",
178114
- "summary": "The `Queue` beacon provides an [AWS SQS Queue](https://aws.amazon.com/sqs/)."
178418
+ "summary": "A new Amazon SQS queue."
178115
178419
  },
178116
178420
  "fqn": "terraconstructs.aws.notify.Queue",
178117
178421
  "initializer": {
@@ -178120,7 +178424,7 @@
178120
178424
  },
178121
178425
  "locationInModule": {
178122
178426
  "filename": "src/aws/notify/queue.ts",
178123
- "line": 234
178427
+ "line": 304
178124
178428
  },
178125
178429
  "parameters": [
178126
178430
  {
@@ -178130,7 +178434,7 @@
178130
178434
  }
178131
178435
  },
178132
178436
  {
178133
- "name": "name",
178437
+ "name": "id",
178134
178438
  "type": {
178135
178439
  "primitive": "string"
178136
178440
  }
@@ -178144,13 +178448,276 @@
178144
178448
  }
178145
178449
  ]
178146
178450
  },
178451
+ "kind": "class",
178452
+ "locationInModule": {
178453
+ "filename": "src/aws/notify/queue.ts",
178454
+ "line": 212
178455
+ },
178456
+ "methods": [
178457
+ {
178458
+ "docs": {
178459
+ "stability": "stable",
178460
+ "summary": "Import an existing SQS queue provided an ARN."
178461
+ },
178462
+ "locationInModule": {
178463
+ "filename": "src/aws/notify/queue.ts",
178464
+ "line": 226
178465
+ },
178466
+ "name": "fromQueueArn",
178467
+ "parameters": [
178468
+ {
178469
+ "docs": {
178470
+ "summary": "The parent creating construct."
178471
+ },
178472
+ "name": "scope",
178473
+ "type": {
178474
+ "fqn": "constructs.Construct"
178475
+ }
178476
+ },
178477
+ {
178478
+ "docs": {
178479
+ "summary": "The construct's name."
178480
+ },
178481
+ "name": "id",
178482
+ "type": {
178483
+ "primitive": "string"
178484
+ }
178485
+ },
178486
+ {
178487
+ "docs": {
178488
+ "summary": "queue ARN (i.e. arn:aws:sqs:us-east-2:444455556666:queue1)."
178489
+ },
178490
+ "name": "queueArn",
178491
+ "type": {
178492
+ "primitive": "string"
178493
+ }
178494
+ }
178495
+ ],
178496
+ "returns": {
178497
+ "type": {
178498
+ "fqn": "terraconstructs.aws.notify.IQueue"
178499
+ }
178500
+ },
178501
+ "static": true
178502
+ }
178503
+ ],
178504
+ "name": "Queue",
178505
+ "namespace": "aws.notify",
178506
+ "properties": [
178507
+ {
178508
+ "const": true,
178509
+ "docs": {
178510
+ "stability": "stable",
178511
+ "summary": "Uniquely identifies this class."
178512
+ },
178513
+ "immutable": true,
178514
+ "locationInModule": {
178515
+ "filename": "src/aws/notify/queue.ts",
178516
+ "line": 216
178517
+ },
178518
+ "name": "PROPERTY_INJECTION_ID",
178519
+ "static": true,
178520
+ "type": {
178521
+ "primitive": "string"
178522
+ }
178523
+ },
178524
+ {
178525
+ "docs": {
178526
+ "remarks": "Set by subclasses.",
178527
+ "stability": "stable",
178528
+ "summary": "Controls automatic creation of policy objects."
178529
+ },
178530
+ "immutable": true,
178531
+ "locationInModule": {
178532
+ "filename": "src/aws/notify/queue.ts",
178533
+ "line": 300
178534
+ },
178535
+ "name": "autoCreatePolicy",
178536
+ "overrides": "terraconstructs.aws.notify.QueueBase",
178537
+ "protected": true,
178538
+ "type": {
178539
+ "primitive": "boolean"
178540
+ }
178541
+ },
178542
+ {
178543
+ "docs": {
178544
+ "remarks": "If false, this is a standard queue.",
178545
+ "stability": "stable",
178546
+ "summary": "Whether this queue is an Amazon SQS FIFO queue."
178547
+ },
178548
+ "immutable": true,
178549
+ "locationInModule": {
178550
+ "filename": "src/aws/notify/queue.ts",
178551
+ "line": 288
178552
+ },
178553
+ "name": "fifo",
178554
+ "overrides": "terraconstructs.aws.notify.QueueBase",
178555
+ "type": {
178556
+ "primitive": "boolean"
178557
+ }
178558
+ },
178559
+ {
178560
+ "docs": {
178561
+ "stability": "stable",
178562
+ "summary": "The ARN of this queue."
178563
+ },
178564
+ "immutable": true,
178565
+ "locationInModule": {
178566
+ "filename": "src/aws/notify/queue.ts",
178567
+ "line": 268
178568
+ },
178569
+ "name": "queueArn",
178570
+ "overrides": "terraconstructs.aws.notify.QueueBase",
178571
+ "type": {
178572
+ "primitive": "string"
178573
+ }
178574
+ },
178575
+ {
178576
+ "docs": {
178577
+ "stability": "stable",
178578
+ "summary": "The name of this queue."
178579
+ },
178580
+ "immutable": true,
178581
+ "locationInModule": {
178582
+ "filename": "src/aws/notify/queue.ts",
178583
+ "line": 273
178584
+ },
178585
+ "name": "queueName",
178586
+ "overrides": "terraconstructs.aws.notify.QueueBase",
178587
+ "type": {
178588
+ "primitive": "string"
178589
+ }
178590
+ },
178591
+ {
178592
+ "docs": {
178593
+ "stability": "stable",
178594
+ "summary": "The URL of this queue."
178595
+ },
178596
+ "immutable": true,
178597
+ "locationInModule": {
178598
+ "filename": "src/aws/notify/queue.ts",
178599
+ "line": 278
178600
+ },
178601
+ "name": "queueUrl",
178602
+ "overrides": "terraconstructs.aws.notify.QueueBase",
178603
+ "type": {
178604
+ "primitive": "string"
178605
+ }
178606
+ },
178607
+ {
178608
+ "docs": {
178609
+ "stability": "stable"
178610
+ },
178611
+ "immutable": true,
178612
+ "locationInModule": {
178613
+ "filename": "src/aws/notify/queue.ts",
178614
+ "line": 263
178615
+ },
178616
+ "name": "resource",
178617
+ "type": {
178618
+ "fqn": "@cdktf/provider-aws.sqsQueue.SqsQueue"
178619
+ }
178620
+ },
178621
+ {
178622
+ "docs": {
178623
+ "stability": "stable",
178624
+ "summary": "If this queue is configured with a dead-letter queue, this is the dead-letter queue settings."
178625
+ },
178626
+ "immutable": true,
178627
+ "locationInModule": {
178628
+ "filename": "src/aws/notify/queue.ts",
178629
+ "line": 298
178630
+ },
178631
+ "name": "deadLetterQueue",
178632
+ "optional": true,
178633
+ "type": {
178634
+ "fqn": "terraconstructs.aws.notify.DeadLetterQueue"
178635
+ }
178636
+ },
178637
+ {
178638
+ "docs": {
178639
+ "stability": "stable",
178640
+ "summary": "If this queue is encrypted, this is the KMS key."
178641
+ },
178642
+ "immutable": true,
178643
+ "locationInModule": {
178644
+ "filename": "src/aws/notify/queue.ts",
178645
+ "line": 283
178646
+ },
178647
+ "name": "encryptionMasterKey",
178648
+ "optional": true,
178649
+ "overrides": "terraconstructs.aws.notify.QueueBase",
178650
+ "type": {
178651
+ "fqn": "terraconstructs.aws.encryption.IKey"
178652
+ }
178653
+ },
178654
+ {
178655
+ "docs": {
178656
+ "stability": "stable",
178657
+ "summary": "Whether the contents of the queue are encrypted, and by what type of key."
178658
+ },
178659
+ "immutable": true,
178660
+ "locationInModule": {
178661
+ "filename": "src/aws/notify/queue.ts",
178662
+ "line": 293
178663
+ },
178664
+ "name": "encryptionType",
178665
+ "optional": true,
178666
+ "overrides": "terraconstructs.aws.notify.QueueBase",
178667
+ "type": {
178668
+ "fqn": "terraconstructs.aws.notify.QueueEncryption"
178669
+ }
178670
+ }
178671
+ ],
178672
+ "symbolId": "src/aws/notify/queue:Queue"
178673
+ },
178674
+ "terraconstructs.aws.notify.QueueBase": {
178675
+ "abstract": true,
178676
+ "assembly": "terraconstructs",
178677
+ "base": "terraconstructs.aws.AwsConstructBase",
178678
+ "docs": {
178679
+ "stability": "stable",
178680
+ "summary": "Reference to a new or existing Amazon SQS queue."
178681
+ },
178682
+ "fqn": "terraconstructs.aws.notify.QueueBase",
178683
+ "initializer": {
178684
+ "docs": {
178685
+ "stability": "stable"
178686
+ },
178687
+ "locationInModule": {
178688
+ "filename": "src/aws/notify/queue-base.ts",
178689
+ "line": 189
178690
+ },
178691
+ "parameters": [
178692
+ {
178693
+ "name": "scope",
178694
+ "type": {
178695
+ "fqn": "constructs.Construct"
178696
+ }
178697
+ },
178698
+ {
178699
+ "name": "id",
178700
+ "type": {
178701
+ "primitive": "string"
178702
+ }
178703
+ },
178704
+ {
178705
+ "name": "props",
178706
+ "optional": true,
178707
+ "type": {
178708
+ "fqn": "terraconstructs.aws.AwsConstructProps"
178709
+ }
178710
+ }
178711
+ ]
178712
+ },
178147
178713
  "interfaces": [
178148
- "terraconstructs.aws.notify.IQueue"
178714
+ "terraconstructs.aws.notify.IQueue",
178715
+ "terraconstructs.aws.iam.IEncryptedResource"
178149
178716
  ],
178150
178717
  "kind": "class",
178151
178718
  "locationInModule": {
178152
- "filename": "src/aws/notify/queue.ts",
178153
- "line": 205
178719
+ "filename": "src/aws/notify/queue-base.ts",
178720
+ "line": 129
178154
178721
  },
178155
178722
  "methods": [
178156
178723
  {
@@ -178160,8 +178727,8 @@
178160
178727
  "summary": "Adds a statement to the IAM resource policy associated with this queue."
178161
178728
  },
178162
178729
  "locationInModule": {
178163
- "filename": "src/aws/notify/queue.ts",
178164
- "line": 321
178730
+ "filename": "src/aws/notify/queue-base.ts",
178731
+ "line": 213
178165
178732
  },
178166
178733
  "name": "addToResourcePolicy",
178167
178734
  "overrides": "terraconstructs.aws.iam.IAwsConstructWithPolicy",
@@ -178185,8 +178752,8 @@
178185
178752
  "summary": "Grant the actions defined in queueActions to the identity Principal given on this SQS queue resource."
178186
178753
  },
178187
178754
  "locationInModule": {
178188
- "filename": "src/aws/notify/queue.ts",
178189
- "line": 436
178755
+ "filename": "src/aws/notify/queue-base.ts",
178756
+ "line": 297
178190
178757
  },
178191
178758
  "name": "grant",
178192
178759
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178225,8 +178792,8 @@
178225
178792
  "summary": "Grant permissions to consume messages from a queue."
178226
178793
  },
178227
178794
  "locationInModule": {
178228
- "filename": "src/aws/notify/queue.ts",
178229
- "line": 355
178795
+ "filename": "src/aws/notify/queue-base.ts",
178796
+ "line": 247
178230
178797
  },
178231
178798
  "name": "grantConsumeMessages",
178232
178799
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178247,6 +178814,39 @@
178247
178814
  }
178248
178815
  }
178249
178816
  },
178817
+ {
178818
+ "docs": {
178819
+ "stability": "stable",
178820
+ "summary": "Gives permissions to a grantable entity to perform actions on the encryption key."
178821
+ },
178822
+ "locationInModule": {
178823
+ "filename": "src/aws/notify/queue-base.ts",
178824
+ "line": 197
178825
+ },
178826
+ "name": "grantOnKey",
178827
+ "overrides": "terraconstructs.aws.iam.IEncryptedResource",
178828
+ "parameters": [
178829
+ {
178830
+ "name": "grantee",
178831
+ "type": {
178832
+ "fqn": "terraconstructs.aws.iam.IGrantable"
178833
+ }
178834
+ },
178835
+ {
178836
+ "name": "actions",
178837
+ "type": {
178838
+ "primitive": "string"
178839
+ },
178840
+ "variadic": true
178841
+ }
178842
+ ],
178843
+ "returns": {
178844
+ "type": {
178845
+ "fqn": "terraconstructs.aws.iam.GrantOnKeyResult"
178846
+ }
178847
+ },
178848
+ "variadic": true
178849
+ },
178250
178850
  {
178251
178851
  "docs": {
178252
178852
  "remarks": "This will grant the following permissions:\n\n - sqs:PurgeQueue\n - sqs:GetQueueAttributes\n - sqs:GetQueueUrl",
@@ -178254,8 +178854,8 @@
178254
178854
  "summary": "Grant an IAM principal permissions to purge all messages from the queue."
178255
178855
  },
178256
178856
  "locationInModule": {
178257
- "filename": "src/aws/notify/queue.ts",
178258
- "line": 420
178857
+ "filename": "src/aws/notify/queue-base.ts",
178858
+ "line": 286
178259
178859
  },
178260
178860
  "name": "grantPurge",
178261
178861
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178283,8 +178883,8 @@
178283
178883
  "summary": "Grant access to send messages to a queue to the given identity."
178284
178884
  },
178285
178885
  "locationInModule": {
178286
- "filename": "src/aws/notify/queue.ts",
178287
- "line": 393
178886
+ "filename": "src/aws/notify/queue-base.ts",
178887
+ "line": 271
178288
178888
  },
178289
178889
  "name": "grantSendMessages",
178290
178890
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178312,7 +178912,7 @@
178312
178912
  },
178313
178913
  "locationInModule": {
178314
178914
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178315
- "line": 88
178915
+ "line": 83
178316
178916
  },
178317
178917
  "name": "metric",
178318
178918
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178345,7 +178945,7 @@
178345
178945
  },
178346
178946
  "locationInModule": {
178347
178947
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178348
- "line": 95
178948
+ "line": 90
178349
178949
  },
178350
178950
  "name": "metricApproximateAgeOfOldestMessage",
178351
178951
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178372,7 +178972,7 @@
178372
178972
  },
178373
178973
  "locationInModule": {
178374
178974
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178375
- "line": 102
178975
+ "line": 97
178376
178976
  },
178377
178977
  "name": "metricApproximateNumberOfMessagesDelayed",
178378
178978
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178399,7 +178999,7 @@
178399
178999
  },
178400
179000
  "locationInModule": {
178401
179001
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178402
- "line": 109
179002
+ "line": 104
178403
179003
  },
178404
179004
  "name": "metricApproximateNumberOfMessagesNotVisible",
178405
179005
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178426,7 +179026,7 @@
178426
179026
  },
178427
179027
  "locationInModule": {
178428
179028
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178429
- "line": 116
179029
+ "line": 111
178430
179030
  },
178431
179031
  "name": "metricApproximateNumberOfMessagesVisible",
178432
179032
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178453,7 +179053,7 @@
178453
179053
  },
178454
179054
  "locationInModule": {
178455
179055
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178456
- "line": 123
179056
+ "line": 118
178457
179057
  },
178458
179058
  "name": "metricNumberOfEmptyReceives",
178459
179059
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178480,7 +179080,7 @@
178480
179080
  },
178481
179081
  "locationInModule": {
178482
179082
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178483
- "line": 130
179083
+ "line": 125
178484
179084
  },
178485
179085
  "name": "metricNumberOfMessagesDeleted",
178486
179086
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178507,7 +179107,7 @@
178507
179107
  },
178508
179108
  "locationInModule": {
178509
179109
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178510
- "line": 137
179110
+ "line": 132
178511
179111
  },
178512
179112
  "name": "metricNumberOfMessagesReceived",
178513
179113
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178534,7 +179134,7 @@
178534
179134
  },
178535
179135
  "locationInModule": {
178536
179136
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178537
- "line": 144
179137
+ "line": 139
178538
179138
  },
178539
179139
  "name": "metricNumberOfMessagesSent",
178540
179140
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178561,7 +179161,7 @@
178561
179161
  },
178562
179162
  "locationInModule": {
178563
179163
  "filename": "src/aws/notify/sqs-augmentations.generated.ts",
178564
- "line": 151
179164
+ "line": 146
178565
179165
  },
178566
179166
  "name": "metricSentMessageSize",
178567
179167
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178581,10 +179181,29 @@
178581
179181
  }
178582
179182
  }
178583
179183
  ],
178584
- "name": "Queue",
179184
+ "name": "QueueBase",
178585
179185
  "namespace": "aws.notify",
178586
179186
  "properties": [
178587
179187
  {
179188
+ "abstract": true,
179189
+ "docs": {
179190
+ "remarks": "Set by subclasses.",
179191
+ "stability": "stable",
179192
+ "summary": "Controls automatic creation of policy objects."
179193
+ },
179194
+ "immutable": true,
179195
+ "locationInModule": {
179196
+ "filename": "src/aws/notify/queue-base.ts",
179197
+ "line": 185
179198
+ },
179199
+ "name": "autoCreatePolicy",
179200
+ "protected": true,
179201
+ "type": {
179202
+ "primitive": "boolean"
179203
+ }
179204
+ },
179205
+ {
179206
+ "abstract": true,
178588
179207
  "docs": {
178589
179208
  "remarks": "If false, this is a standard queue.",
178590
179209
  "stability": "stable",
@@ -178592,8 +179211,8 @@
178592
179211
  },
178593
179212
  "immutable": true,
178594
179213
  "locationInModule": {
178595
- "filename": "src/aws/notify/queue.ts",
178596
- "line": 232
179214
+ "filename": "src/aws/notify/queue-base.ts",
179215
+ "line": 168
178597
179216
  },
178598
179217
  "name": "fifo",
178599
179218
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178601,6 +179220,21 @@
178601
179220
  "primitive": "boolean"
178602
179221
  }
178603
179222
  },
179223
+ {
179224
+ "docs": {
179225
+ "stability": "stable",
179226
+ "summary": "Collection of grant methods for a Queue."
179227
+ },
179228
+ "immutable": true,
179229
+ "locationInModule": {
179230
+ "filename": "src/aws/notify/queue-base.ts",
179231
+ "line": 178
179232
+ },
179233
+ "name": "grants",
179234
+ "type": {
179235
+ "fqn": "terraconstructs.aws.notify.QueueGrants"
179236
+ }
179237
+ },
178604
179238
  {
178605
179239
  "docs": {
178606
179240
  "stability": "stable",
@@ -178608,8 +179242,8 @@
178608
179242
  },
178609
179243
  "immutable": true,
178610
179244
  "locationInModule": {
178611
- "filename": "src/aws/notify/queue.ts",
178612
- "line": 213
179245
+ "filename": "src/aws/notify/queue-base.ts",
179246
+ "line": 141
178613
179247
  },
178614
179248
  "name": "outputs",
178615
179249
  "overrides": "terraconstructs.TerraConstructBase",
@@ -178623,14 +179257,15 @@
178623
179257
  }
178624
179258
  },
178625
179259
  {
179260
+ "abstract": true,
178626
179261
  "docs": {
178627
179262
  "stability": "stable",
178628
179263
  "summary": "The ARN of this queue."
178629
179264
  },
178630
179265
  "immutable": true,
178631
179266
  "locationInModule": {
178632
- "filename": "src/aws/notify/queue.ts",
178633
- "line": 218
179267
+ "filename": "src/aws/notify/queue-base.ts",
179268
+ "line": 148
178634
179269
  },
178635
179270
  "name": "queueArn",
178636
179271
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178639,14 +179274,15 @@
178639
179274
  }
178640
179275
  },
178641
179276
  {
179277
+ "abstract": true,
178642
179278
  "docs": {
178643
179279
  "stability": "stable",
178644
179280
  "summary": "The name of this queue."
178645
179281
  },
178646
179282
  "immutable": true,
178647
179283
  "locationInModule": {
178648
- "filename": "src/aws/notify/queue.ts",
178649
- "line": 224
179284
+ "filename": "src/aws/notify/queue-base.ts",
179285
+ "line": 158
178650
179286
  },
178651
179287
  "name": "queueName",
178652
179288
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178661,8 +179297,8 @@
178661
179297
  },
178662
179298
  "immutable": true,
178663
179299
  "locationInModule": {
178664
- "filename": "src/aws/notify/queue.ts",
178665
- "line": 210
179300
+ "filename": "src/aws/notify/queue-base.ts",
179301
+ "line": 133
178666
179302
  },
178667
179303
  "name": "queueOutputs",
178668
179304
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178671,14 +179307,15 @@
178671
179307
  }
178672
179308
  },
178673
179309
  {
179310
+ "abstract": true,
178674
179311
  "docs": {
178675
179312
  "stability": "stable",
178676
179313
  "summary": "The URL of this queue."
178677
179314
  },
178678
179315
  "immutable": true,
178679
179316
  "locationInModule": {
178680
- "filename": "src/aws/notify/queue.ts",
178681
- "line": 221
179317
+ "filename": "src/aws/notify/queue-base.ts",
179318
+ "line": 153
178682
179319
  },
178683
179320
  "name": "queueUrl",
178684
179321
  "overrides": "terraconstructs.aws.notify.IQueue",
@@ -178686,39 +179323,295 @@
178686
179323
  "primitive": "string"
178687
179324
  }
178688
179325
  },
179326
+ {
179327
+ "abstract": true,
179328
+ "docs": {
179329
+ "stability": "stable",
179330
+ "summary": "If this queue is server-side encrypted, this is the KMS encryption key."
179331
+ },
179332
+ "immutable": true,
179333
+ "locationInModule": {
179334
+ "filename": "src/aws/notify/queue-base.ts",
179335
+ "line": 163
179336
+ },
179337
+ "name": "encryptionMasterKey",
179338
+ "optional": true,
179339
+ "overrides": "terraconstructs.aws.notify.IQueue",
179340
+ "type": {
179341
+ "fqn": "terraconstructs.aws.encryption.IKey"
179342
+ }
179343
+ },
179344
+ {
179345
+ "abstract": true,
179346
+ "docs": {
179347
+ "stability": "stable",
179348
+ "summary": "Whether the contents of the queue are encrypted, and by what type of key."
179349
+ },
179350
+ "immutable": true,
179351
+ "locationInModule": {
179352
+ "filename": "src/aws/notify/queue-base.ts",
179353
+ "line": 173
179354
+ },
179355
+ "name": "encryptionType",
179356
+ "optional": true,
179357
+ "overrides": "terraconstructs.aws.notify.IQueue",
179358
+ "type": {
179359
+ "fqn": "terraconstructs.aws.notify.QueueEncryption"
179360
+ }
179361
+ }
179362
+ ],
179363
+ "symbolId": "src/aws/notify/queue-base:QueueBase"
179364
+ },
179365
+ "terraconstructs.aws.notify.QueueEncryption": {
179366
+ "assembly": "terraconstructs",
179367
+ "docs": {
179368
+ "stability": "stable",
179369
+ "summary": "What kind of encryption to apply to this queue."
179370
+ },
179371
+ "fqn": "terraconstructs.aws.notify.QueueEncryption",
179372
+ "kind": "enum",
179373
+ "locationInModule": {
179374
+ "filename": "src/aws/notify/queue-base.ts",
179375
+ "line": 310
179376
+ },
179377
+ "members": [
179378
+ {
179379
+ "docs": {
179380
+ "stability": "stable",
179381
+ "summary": "Messages in the queue are not encrypted."
179382
+ },
179383
+ "name": "UNENCRYPTED"
179384
+ },
179385
+ {
179386
+ "docs": {
179387
+ "stability": "stable",
179388
+ "summary": "Server-side KMS encryption with a KMS key managed by SQS."
179389
+ },
179390
+ "name": "KMS_MANAGED"
179391
+ },
179392
+ {
179393
+ "docs": {
179394
+ "remarks": "If `encryptionKey` is specified, this key will be used, otherwise, one will be defined.",
179395
+ "stability": "stable",
179396
+ "summary": "Server-side encryption with a KMS key managed by the user."
179397
+ },
179398
+ "name": "KMS"
179399
+ },
179400
+ {
179401
+ "docs": {
179402
+ "remarks": "To learn more about SSE-SQS on Amazon SQS, please visit the\n[Amazon SQS documentation](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html).",
179403
+ "stability": "stable",
179404
+ "summary": "Server-side encryption key managed by SQS (SSE-SQS)."
179405
+ },
179406
+ "name": "SQS_MANAGED"
179407
+ }
179408
+ ],
179409
+ "name": "QueueEncryption",
179410
+ "namespace": "aws.notify",
179411
+ "symbolId": "src/aws/notify/queue-base:QueueEncryption"
179412
+ },
179413
+ "terraconstructs.aws.notify.QueueGrants": {
179414
+ "assembly": "terraconstructs",
179415
+ "docs": {
179416
+ "stability": "stable",
179417
+ "summary": "Collection of grant methods for a IQueue."
179418
+ },
179419
+ "fqn": "terraconstructs.aws.notify.QueueGrants",
179420
+ "kind": "class",
179421
+ "locationInModule": {
179422
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179423
+ "line": 27
179424
+ },
179425
+ "methods": [
179426
+ {
179427
+ "docs": {
179428
+ "stability": "stable",
179429
+ "summary": "Creates grants for QueueGrants."
179430
+ },
179431
+ "locationInModule": {
179432
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179433
+ "line": 31
179434
+ },
179435
+ "name": "fromQueue",
179436
+ "parameters": [
179437
+ {
179438
+ "name": "resource",
179439
+ "type": {
179440
+ "fqn": "terraconstructs.aws.notify.IQueue"
179441
+ }
179442
+ }
179443
+ ],
179444
+ "returns": {
179445
+ "type": {
179446
+ "fqn": "terraconstructs.aws.notify.QueueGrants"
179447
+ }
179448
+ },
179449
+ "static": true
179450
+ },
179451
+ {
179452
+ "docs": {
179453
+ "remarks": "This will grant the following permissions:\n\n - sqs:ChangeMessageVisibility\n - sqs:DeleteMessage\n - sqs:ReceiveMessage\n - sqs:GetQueueAttributes\n - sqs:GetQueueUrl\n\nIf encryption is used, permission to use the key to decrypt the contents of the queue will also be granted to the same principal.\n\nThis will grant the following KMS permissions:\n\n - kms:Decrypt",
179454
+ "stability": "stable",
179455
+ "summary": "Grant permissions to consume messages from a queue."
179456
+ },
179457
+ "locationInModule": {
179458
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179459
+ "line": 75
179460
+ },
179461
+ "name": "consumeMessages",
179462
+ "parameters": [
179463
+ {
179464
+ "name": "grantee",
179465
+ "type": {
179466
+ "fqn": "terraconstructs.aws.iam.IGrantable"
179467
+ }
179468
+ }
179469
+ ],
179470
+ "returns": {
179471
+ "type": {
179472
+ "fqn": "terraconstructs.aws.iam.Grant"
179473
+ }
179474
+ }
179475
+ },
179476
+ {
179477
+ "docs": {
179478
+ "stability": "stable",
179479
+ "summary": "Grants purge permissions."
179480
+ },
179481
+ "locationInModule": {
179482
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179483
+ "line": 160
179484
+ },
179485
+ "name": "purge",
179486
+ "parameters": [
179487
+ {
179488
+ "name": "grantee",
179489
+ "type": {
179490
+ "fqn": "terraconstructs.aws.iam.IGrantable"
179491
+ }
179492
+ }
179493
+ ],
179494
+ "returns": {
179495
+ "type": {
179496
+ "fqn": "terraconstructs.aws.iam.Grant"
179497
+ }
179498
+ }
179499
+ },
179500
+ {
179501
+ "docs": {
179502
+ "remarks": "This will grant the following permissions:\n\n - sqs:SendMessage\n - sqs:GetQueueAttributes\n - sqs:GetQueueUrl\n\nIf encryption is used, permission to use the key to encrypt/decrypt the contents of the queue will also be granted to the same principal.\n\nThis will grant the following KMS permissions:\n\n - kms:Decrypt\n - kms:Encrypt\n - kms:ReEncrypt*\n - kms:GenerateDataKey*",
179503
+ "stability": "stable",
179504
+ "summary": "Grant access to send messages to a queue to the given identity."
179505
+ },
179506
+ "locationInModule": {
179507
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179508
+ "line": 123
179509
+ },
179510
+ "name": "sendMessages",
179511
+ "parameters": [
179512
+ {
179513
+ "name": "grantee",
179514
+ "type": {
179515
+ "fqn": "terraconstructs.aws.iam.IGrantable"
179516
+ }
179517
+ }
179518
+ ],
179519
+ "returns": {
179520
+ "type": {
179521
+ "fqn": "terraconstructs.aws.iam.Grant"
179522
+ }
179523
+ }
179524
+ }
179525
+ ],
179526
+ "name": "QueueGrants",
179527
+ "namespace": "aws.notify",
179528
+ "properties": [
178689
179529
  {
178690
179530
  "docs": {
178691
179531
  "stability": "stable"
178692
179532
  },
178693
179533
  "immutable": true,
178694
179534
  "locationInModule": {
178695
- "filename": "src/aws/notify/queue.ts",
178696
- "line": 207
179535
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179536
+ "line": 48
178697
179537
  },
178698
179538
  "name": "resource",
178699
179539
  "type": {
178700
- "fqn": "@cdktf/provider-aws.sqsQueue.SqsQueue"
179540
+ "fqn": "terraconstructs.aws.notify.IQueue"
179541
+ }
179542
+ }
179543
+ ],
179544
+ "symbolId": "src/aws/notify/sqs-grants.generated:QueueGrants"
179545
+ },
179546
+ "terraconstructs.aws.notify.QueueGrantsProps": {
179547
+ "assembly": "terraconstructs",
179548
+ "datatype": true,
179549
+ "docs": {
179550
+ "stability": "stable"
179551
+ },
179552
+ "fqn": "terraconstructs.aws.notify.QueueGrantsProps",
179553
+ "kind": "interface",
179554
+ "locationInModule": {
179555
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179556
+ "line": 5
179557
+ },
179558
+ "name": "QueueGrantsProps",
179559
+ "namespace": "aws.notify",
179560
+ "properties": [
179561
+ {
179562
+ "abstract": true,
179563
+ "docs": {
179564
+ "stability": "stable",
179565
+ "summary": "The SQS queue interface (IQueue) this helper will operate on."
179566
+ },
179567
+ "immutable": true,
179568
+ "locationInModule": {
179569
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179570
+ "line": 9
179571
+ },
179572
+ "name": "resource",
179573
+ "type": {
179574
+ "fqn": "terraconstructs.aws.notify.IQueue"
178701
179575
  }
178702
179576
  },
178703
179577
  {
179578
+ "abstract": true,
178704
179579
  "docs": {
179580
+ "remarks": "Typically present if the resource implements iam.IEncryptedResource.",
178705
179581
  "stability": "stable",
178706
- "summary": "If this queue is configured with a dead-letter queue, this is the dead-letter queue settings."
179582
+ "summary": "If the queue is an encrypted resource, provides access to grant KMS key permissions."
178707
179583
  },
178708
179584
  "immutable": true,
178709
179585
  "locationInModule": {
178710
- "filename": "src/aws/notify/queue.ts",
178711
- "line": 227
179586
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179587
+ "line": 15
178712
179588
  },
178713
- "name": "deadLetterQueue",
179589
+ "name": "encryptedResource",
178714
179590
  "optional": true,
178715
- "overrides": "terraconstructs.aws.notify.IQueue",
178716
179591
  "type": {
178717
- "fqn": "terraconstructs.aws.notify.DeadLetterQueue"
179592
+ "fqn": "terraconstructs.aws.iam.IEncryptedResource"
179593
+ }
179594
+ },
179595
+ {
179596
+ "abstract": true,
179597
+ "docs": {
179598
+ "remarks": "Typically present if the resource implements iam.IResourceWithPolicy.",
179599
+ "stability": "stable",
179600
+ "summary": "If the queue supports a resource policy, this enables addToPrincipalOrResource grants."
179601
+ },
179602
+ "immutable": true,
179603
+ "locationInModule": {
179604
+ "filename": "src/aws/notify/sqs-grants.generated.ts",
179605
+ "line": 21
179606
+ },
179607
+ "name": "policyResource",
179608
+ "optional": true,
179609
+ "type": {
179610
+ "fqn": "terraconstructs.aws.iam.IAwsConstructWithPolicy"
178718
179611
  }
178719
179612
  }
178720
179613
  ],
178721
- "symbolId": "src/aws/notify/queue:Queue"
179614
+ "symbolId": "src/aws/notify/sqs-grants.generated:QueueGrantsProps"
178722
179615
  },
178723
179616
  "terraconstructs.aws.notify.QueueOutputs": {
178724
179617
  "assembly": "terraconstructs",
@@ -178730,8 +179623,8 @@
178730
179623
  "fqn": "terraconstructs.aws.notify.QueueOutputs",
178731
179624
  "kind": "interface",
178732
179625
  "locationInModule": {
178733
- "filename": "src/aws/notify/queue.ts",
178734
- "line": 86
179626
+ "filename": "src/aws/notify/queue-base.ts",
179627
+ "line": 18
178735
179628
  },
178736
179629
  "name": "QueueOutputs",
178737
179630
  "namespace": "aws.notify",
@@ -178744,8 +179637,8 @@
178744
179637
  },
178745
179638
  "immutable": true,
178746
179639
  "locationInModule": {
178747
- "filename": "src/aws/notify/queue.ts",
178748
- "line": 95
179640
+ "filename": "src/aws/notify/queue-base.ts",
179641
+ "line": 27
178749
179642
  },
178750
179643
  "name": "arn",
178751
179644
  "type": {
@@ -178760,8 +179653,8 @@
178760
179653
  },
178761
179654
  "immutable": true,
178762
179655
  "locationInModule": {
178763
- "filename": "src/aws/notify/queue.ts",
178764
- "line": 90
179656
+ "filename": "src/aws/notify/queue-base.ts",
179657
+ "line": 22
178765
179658
  },
178766
179659
  "name": "name",
178767
179660
  "type": {
@@ -178776,8 +179669,8 @@
178776
179669
  },
178777
179670
  "immutable": true,
178778
179671
  "locationInModule": {
178779
- "filename": "src/aws/notify/queue.ts",
178780
- "line": 100
179672
+ "filename": "src/aws/notify/queue-base.ts",
179673
+ "line": 32
178781
179674
  },
178782
179675
  "name": "url",
178783
179676
  "type": {
@@ -178785,7 +179678,7 @@
178785
179678
  }
178786
179679
  }
178787
179680
  ],
178788
- "symbolId": "src/aws/notify/queue:QueueOutputs"
179681
+ "symbolId": "src/aws/notify/queue-base:QueueOutputs"
178789
179682
  },
178790
179683
  "terraconstructs.aws.notify.QueuePolicy": {
178791
179684
  "assembly": "terraconstructs",
@@ -178914,17 +179807,17 @@
178914
179807
  "assembly": "terraconstructs",
178915
179808
  "datatype": true,
178916
179809
  "docs": {
178917
- "stability": "stable"
179810
+ "stability": "stable",
179811
+ "summary": "Properties for creating a new Queue."
178918
179812
  },
178919
179813
  "fqn": "terraconstructs.aws.notify.QueueProps",
178920
179814
  "interfaces": [
178921
- "terraconstructs.aws.AwsConstructProps",
178922
- "terraconstructs.aws.notify.SqsQueueConfig"
179815
+ "terraconstructs.aws.AwsConstructProps"
178923
179816
  ],
178924
179817
  "kind": "interface",
178925
179818
  "locationInModule": {
178926
179819
  "filename": "src/aws/notify/queue.ts",
178927
- "line": 8
179820
+ "line": 19
178928
179821
  },
178929
179822
  "name": "QueueProps",
178930
179823
  "namespace": "aws.notify",
@@ -178940,7 +179833,7 @@
178940
179833
  "immutable": true,
178941
179834
  "locationInModule": {
178942
179835
  "filename": "src/aws/notify/queue.ts",
178943
- "line": 62
179836
+ "line": 156
178944
179837
  },
178945
179838
  "name": "contentBasedDeduplication",
178946
179839
  "optional": true,
@@ -178948,6 +179841,25 @@
178948
179841
  "primitive": "boolean"
178949
179842
  }
178950
179843
  },
179844
+ {
179845
+ "abstract": true,
179846
+ "docs": {
179847
+ "default": "Duration.minutes(5)",
179848
+ "remarks": "The value must be an integer between 60 (1 minute) and 86,400 (24\nhours). The default is 300 (5 minutes).",
179849
+ "stability": "stable",
179850
+ "summary": "The length of time that Amazon SQS reuses a data key before calling KMS again."
179851
+ },
179852
+ "immutable": true,
179853
+ "locationInModule": {
179854
+ "filename": "src/aws/notify/queue.ts",
179855
+ "line": 133
179856
+ },
179857
+ "name": "dataKeyReuse",
179858
+ "optional": true,
179859
+ "type": {
179860
+ "fqn": "terraconstructs.Duration"
179861
+ }
179862
+ },
178951
179863
  {
178952
179864
  "abstract": true,
178953
179865
  "docs": {
@@ -178959,7 +179871,7 @@
178959
179871
  "immutable": true,
178960
179872
  "locationInModule": {
178961
179873
  "filename": "src/aws/notify/queue.ts",
178962
- "line": 32
179874
+ "line": 99
178963
179875
  },
178964
179876
  "name": "deadLetterQueue",
178965
179877
  "optional": true,
@@ -178978,7 +179890,7 @@
178978
179890
  "immutable": true,
178979
179891
  "locationInModule": {
178980
179892
  "filename": "src/aws/notify/queue.ts",
178981
- "line": 71
179893
+ "line": 166
178982
179894
  },
178983
179895
  "name": "deduplicationScope",
178984
179896
  "optional": true,
@@ -178989,14 +179901,90 @@
178989
179901
  {
178990
179902
  "abstract": true,
178991
179903
  "docs": {
178992
- "default": "false, unless nameSuffix ends in '.fifo' or 'contentBasedDeduplication' is true.",
179904
+ "default": "0",
179905
+ "remarks": "You can specify an integer value of 0 to 900 (15 minutes). The default\nvalue is 0.",
179906
+ "stability": "stable",
179907
+ "summary": "The time in seconds that the delivery of all messages in the queue is delayed."
179908
+ },
179909
+ "immutable": true,
179910
+ "locationInModule": {
179911
+ "filename": "src/aws/notify/queue.ts",
179912
+ "line": 52
179913
+ },
179914
+ "name": "deliveryDelay",
179915
+ "optional": true,
179916
+ "type": {
179917
+ "fqn": "terraconstructs.Duration"
179918
+ }
179919
+ },
179920
+ {
179921
+ "abstract": true,
179922
+ "docs": {
179923
+ "default": "SQS_MANAGED (SSE-SQS) for newly created queues",
179924
+ "remarks": "Be aware that encryption is not available in all regions, please see the docs\nfor current availability details.",
179925
+ "stability": "stable",
179926
+ "summary": "Whether the contents of the queue are encrypted, and by what type of key."
179927
+ },
179928
+ "immutable": true,
179929
+ "locationInModule": {
179930
+ "filename": "src/aws/notify/queue.ts",
179931
+ "line": 109
179932
+ },
179933
+ "name": "encryption",
179934
+ "optional": true,
179935
+ "type": {
179936
+ "fqn": "terraconstructs.aws.notify.QueueEncryption"
179937
+ }
179938
+ },
179939
+ {
179940
+ "abstract": true,
179941
+ "docs": {
179942
+ "default": "If encryption is set to KMS and not specified, a key will be created.",
179943
+ "remarks": "Individual messages will be encrypted using data keys. The data keys in\nturn will be encrypted using this key, and reused for a maximum of\n`dataKeyReuseSecs` seconds.\n\nIf the 'encryptionMasterKey' property is set, 'encryption' type will be\nimplicitly set to \"KMS\".",
179944
+ "stability": "stable",
179945
+ "summary": "External KMS key to use for queue encryption."
179946
+ },
179947
+ "immutable": true,
179948
+ "locationInModule": {
179949
+ "filename": "src/aws/notify/queue.ts",
179950
+ "line": 123
179951
+ },
179952
+ "name": "encryptionMasterKey",
179953
+ "optional": true,
179954
+ "type": {
179955
+ "fqn": "terraconstructs.aws.encryption.IKey"
179956
+ }
179957
+ },
179958
+ {
179959
+ "abstract": true,
179960
+ "docs": {
179961
+ "default": "false",
179962
+ "see": "https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-security-best-practices.html#enforce-encryption-data-in-transit",
179963
+ "stability": "stable",
179964
+ "summary": "Enforce encryption of data in transit."
179965
+ },
179966
+ "immutable": true,
179967
+ "locationInModule": {
179968
+ "filename": "src/aws/notify/queue.ts",
179969
+ "line": 196
179970
+ },
179971
+ "name": "enforceSSL",
179972
+ "optional": true,
179973
+ "type": {
179974
+ "primitive": "boolean"
179975
+ }
179976
+ },
179977
+ {
179978
+ "abstract": true,
179979
+ "docs": {
179980
+ "default": "false, unless queueName ends in '.fifo' or 'contentBasedDeduplication' is true.",
178993
179981
  "stability": "stable",
178994
179982
  "summary": "Whether this a first-in-first-out (FIFO) queue."
178995
179983
  },
178996
179984
  "immutable": true,
178997
179985
  "locationInModule": {
178998
179986
  "filename": "src/aws/notify/queue.ts",
178999
- "line": 47
179987
+ "line": 140
179000
179988
  },
179001
179989
  "name": "fifo",
179002
179990
  "optional": true,
@@ -179015,7 +180003,7 @@
179015
180003
  "immutable": true,
179016
180004
  "locationInModule": {
179017
180005
  "filename": "src/aws/notify/queue.ts",
179018
- "line": 80
180006
+ "line": 176
179019
180007
  },
179020
180008
  "name": "fifoThroughputLimit",
179021
180009
  "optional": true,
@@ -179023,6 +180011,25 @@
179023
180011
  "fqn": "terraconstructs.aws.notify.FifoThroughputLimit"
179024
180012
  }
179025
180013
  },
180014
+ {
180015
+ "abstract": true,
180016
+ "docs": {
180017
+ "default": "1MiB",
180018
+ "remarks": "You can specify an integer value from 1024 bytes (1 KiB) to 1048576 bytes\n(1 MiB). The default value is 1048576 (1 MiB).",
180019
+ "stability": "stable",
180020
+ "summary": "The limit of how many bytes that a message can contain before Amazon SQS rejects it."
180021
+ },
180022
+ "immutable": true,
180023
+ "locationInModule": {
180024
+ "filename": "src/aws/notify/queue.ts",
180025
+ "line": 62
180026
+ },
180027
+ "name": "maxMessageSizeBytes",
180028
+ "optional": true,
180029
+ "type": {
180030
+ "primitive": "number"
180031
+ }
180032
+ },
179026
180033
  {
179027
180034
  "abstract": true,
179028
180035
  "docs": {
@@ -179034,14 +180041,33 @@
179034
180041
  "immutable": true,
179035
180042
  "locationInModule": {
179036
180043
  "filename": "src/aws/notify/queue.ts",
179037
- "line": 21
180044
+ "line": 32
179038
180045
  },
179039
- "name": "namePrefix",
180046
+ "name": "queueName",
179040
180047
  "optional": true,
179041
180048
  "type": {
179042
180049
  "primitive": "string"
179043
180050
  }
179044
180051
  },
180052
+ {
180053
+ "abstract": true,
180054
+ "docs": {
180055
+ "default": "0",
180056
+ "remarks": "Does not wait if set to 0, otherwise waits this amount of seconds\nby default for messages to arrive.\n\nFor more information, see Amazon SQS Long Poll.",
180057
+ "stability": "stable",
180058
+ "summary": "Default wait time for ReceiveMessage calls."
180059
+ },
180060
+ "immutable": true,
180061
+ "locationInModule": {
180062
+ "filename": "src/aws/notify/queue.ts",
180063
+ "line": 74
180064
+ },
180065
+ "name": "receiveMessageWaitTime",
180066
+ "optional": true,
180067
+ "type": {
180068
+ "fqn": "terraconstructs.Duration"
180069
+ }
180070
+ },
179045
180071
  {
179046
180072
  "abstract": true,
179047
180073
  "docs": {
@@ -179052,13 +180078,51 @@
179052
180078
  "immutable": true,
179053
180079
  "locationInModule": {
179054
180080
  "filename": "src/aws/notify/queue.ts",
179055
- "line": 41
180081
+ "line": 206
179056
180082
  },
179057
180083
  "name": "redriveAllowPolicy",
179058
180084
  "optional": true,
179059
180085
  "type": {
179060
180086
  "fqn": "terraconstructs.aws.notify.RedriveAllowPolicy"
179061
180087
  }
180088
+ },
180089
+ {
180090
+ "abstract": true,
180091
+ "docs": {
180092
+ "default": "Duration.days(4)",
180093
+ "remarks": "You can specify an integer value from 60 seconds (1 minute) to 1209600\nseconds (14 days). The default value is 345600 seconds (4 days).",
180094
+ "stability": "stable",
180095
+ "summary": "The number of seconds that Amazon SQS retains a message."
180096
+ },
180097
+ "immutable": true,
180098
+ "locationInModule": {
180099
+ "filename": "src/aws/notify/queue.ts",
180100
+ "line": 42
180101
+ },
180102
+ "name": "retentionPeriod",
180103
+ "optional": true,
180104
+ "type": {
180105
+ "fqn": "terraconstructs.Duration"
180106
+ }
180107
+ },
180108
+ {
180109
+ "abstract": true,
180110
+ "docs": {
180111
+ "default": "Duration.seconds(30)",
180112
+ "remarks": "After dequeuing, the processor has this much time to handle the message\nand delete it from the queue before it becomes visible again for dequeueing\nby another processor.\n\nValues must be from 0 to 43200 seconds (12 hours). If you don't specify\na value, AWS CloudFormation uses the default value of 30 seconds.",
180113
+ "stability": "stable",
180114
+ "summary": "Timeout of processing a single message."
180115
+ },
180116
+ "immutable": true,
180117
+ "locationInModule": {
180118
+ "filename": "src/aws/notify/queue.ts",
180119
+ "line": 88
180120
+ },
180121
+ "name": "visibilityTimeout",
180122
+ "optional": true,
180123
+ "type": {
180124
+ "fqn": "terraconstructs.Duration"
180125
+ }
179062
180126
  }
179063
180127
  ],
179064
180128
  "symbolId": "src/aws/notify/queue:QueueProps"
@@ -179074,7 +180138,7 @@
179074
180138
  "kind": "interface",
179075
180139
  "locationInModule": {
179076
180140
  "filename": "src/aws/notify/queue.ts",
179077
- "line": 532
180141
+ "line": 580
179078
180142
  },
179079
180143
  "name": "RedriveAllowPolicy",
179080
180144
  "namespace": "aws.notify",
@@ -179089,7 +180153,7 @@
179089
180153
  "immutable": true,
179090
180154
  "locationInModule": {
179091
180155
  "filename": "src/aws/notify/queue.ts",
179092
- "line": 538
180156
+ "line": 586
179093
180157
  },
179094
180158
  "name": "redrivePermission",
179095
180159
  "optional": true,
@@ -179108,7 +180172,7 @@
179108
180172
  "immutable": true,
179109
180173
  "locationInModule": {
179110
180174
  "filename": "src/aws/notify/queue.ts",
179111
- "line": 554
180175
+ "line": 602
179112
180176
  },
179113
180177
  "name": "sourceQueues",
179114
180178
  "optional": true,
@@ -179134,7 +180198,7 @@
179134
180198
  "kind": "enum",
179135
180199
  "locationInModule": {
179136
180200
  "filename": "src/aws/notify/queue.ts",
179137
- "line": 560
180201
+ "line": 636
179138
180202
  },
179139
180203
  "members": [
179140
180204
  {
@@ -180441,402 +181505,6 @@
180441
181505
  ],
180442
181506
  "symbolId": "src/aws/notify/schedule:Schedule"
180443
181507
  },
180444
- "terraconstructs.aws.notify.SqsQueueConfig": {
180445
- "assembly": "terraconstructs",
180446
- "datatype": true,
180447
- "docs": {
180448
- "stability": "stable",
180449
- "summary": "Config for external source (like an EventBridge Rule, SNS, or S3) permission to access the Lambda function."
180450
- },
180451
- "fqn": "terraconstructs.aws.notify.SqsQueueConfig",
180452
- "kind": "interface",
180453
- "locationInModule": {
180454
- "filename": "src/aws/notify/queue-config.generated.ts",
180455
- "line": 8
180456
- },
180457
- "name": "SqsQueueConfig",
180458
- "namespace": "aws.notify",
180459
- "properties": [
180460
- {
180461
- "abstract": true,
180462
- "docs": {
180463
- "stability": "experimental"
180464
- },
180465
- "immutable": true,
180466
- "locationInModule": {
180467
- "filename": "src/aws/notify/queue-config.generated.ts",
180468
- "line": 99
180469
- },
180470
- "name": "connection",
180471
- "optional": true,
180472
- "type": {
180473
- "union": {
180474
- "types": [
180475
- {
180476
- "fqn": "cdktf.SSHProvisionerConnection"
180477
- },
180478
- {
180479
- "fqn": "cdktf.WinrmProvisionerConnection"
180480
- }
180481
- ]
180482
- }
180483
- }
180484
- },
180485
- {
180486
- "abstract": true,
180487
- "docs": {
180488
- "stability": "experimental"
180489
- },
180490
- "immutable": true,
180491
- "locationInModule": {
180492
- "filename": "src/aws/notify/queue-config.generated.ts",
180493
- "line": 95
180494
- },
180495
- "name": "count",
180496
- "optional": true,
180497
- "type": {
180498
- "union": {
180499
- "types": [
180500
- {
180501
- "primitive": "number"
180502
- },
180503
- {
180504
- "fqn": "cdktf.TerraformCount"
180505
- }
180506
- ]
180507
- }
180508
- }
180509
- },
180510
- {
180511
- "abstract": true,
180512
- "docs": {
180513
- "stability": "stable",
180514
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#delay_seconds SqsQueue#delay_seconds}."
180515
- },
180516
- "immutable": true,
180517
- "locationInModule": {
180518
- "filename": "src/aws/notify/queue-config.generated.ts",
180519
- "line": 75
180520
- },
180521
- "name": "delaySeconds",
180522
- "optional": true,
180523
- "type": {
180524
- "primitive": "number"
180525
- }
180526
- },
180527
- {
180528
- "abstract": true,
180529
- "docs": {
180530
- "stability": "experimental"
180531
- },
180532
- "immutable": true,
180533
- "locationInModule": {
180534
- "filename": "src/aws/notify/queue-config.generated.ts",
180535
- "line": 91
180536
- },
180537
- "name": "dependsOn",
180538
- "optional": true,
180539
- "type": {
180540
- "collection": {
180541
- "elementtype": {
180542
- "fqn": "cdktf.ITerraformDependable"
180543
- },
180544
- "kind": "array"
180545
- }
180546
- }
180547
- },
180548
- {
180549
- "abstract": true,
180550
- "docs": {
180551
- "stability": "experimental"
180552
- },
180553
- "immutable": true,
180554
- "locationInModule": {
180555
- "filename": "src/aws/notify/queue-config.generated.ts",
180556
- "line": 87
180557
- },
180558
- "name": "forEach",
180559
- "optional": true,
180560
- "type": {
180561
- "fqn": "cdktf.ITerraformIterator"
180562
- }
180563
- },
180564
- {
180565
- "abstract": true,
180566
- "docs": {
180567
- "stability": "stable",
180568
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#kms_data_key_reuse_period_seconds SqsQueue#kms_data_key_reuse_period_seconds}."
180569
- },
180570
- "immutable": true,
180571
- "locationInModule": {
180572
- "filename": "src/aws/notify/queue-config.generated.ts",
180573
- "line": 70
180574
- },
180575
- "name": "kmsDataKeyReusePeriodSeconds",
180576
- "optional": true,
180577
- "type": {
180578
- "primitive": "number"
180579
- }
180580
- },
180581
- {
180582
- "abstract": true,
180583
- "docs": {
180584
- "stability": "stable",
180585
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#kms_master_key_id SqsQueue#kms_master_key_id}."
180586
- },
180587
- "immutable": true,
180588
- "locationInModule": {
180589
- "filename": "src/aws/notify/queue-config.generated.ts",
180590
- "line": 65
180591
- },
180592
- "name": "kmsMasterKeyId",
180593
- "optional": true,
180594
- "type": {
180595
- "primitive": "string"
180596
- }
180597
- },
180598
- {
180599
- "abstract": true,
180600
- "docs": {
180601
- "stability": "experimental"
180602
- },
180603
- "immutable": true,
180604
- "locationInModule": {
180605
- "filename": "src/aws/notify/queue-config.generated.ts",
180606
- "line": 83
180607
- },
180608
- "name": "lifecycle",
180609
- "optional": true,
180610
- "type": {
180611
- "fqn": "cdktf.TerraformResourceLifecycle"
180612
- }
180613
- },
180614
- {
180615
- "abstract": true,
180616
- "docs": {
180617
- "stability": "stable",
180618
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#max_message_size SqsQueue#max_message_size}."
180619
- },
180620
- "immutable": true,
180621
- "locationInModule": {
180622
- "filename": "src/aws/notify/queue-config.generated.ts",
180623
- "line": 60
180624
- },
180625
- "name": "maxMessageSize",
180626
- "optional": true,
180627
- "type": {
180628
- "primitive": "number"
180629
- }
180630
- },
180631
- {
180632
- "abstract": true,
180633
- "docs": {
180634
- "stability": "stable",
180635
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#message_retention_seconds SqsQueue#message_retention_seconds}."
180636
- },
180637
- "immutable": true,
180638
- "locationInModule": {
180639
- "filename": "src/aws/notify/queue-config.generated.ts",
180640
- "line": 55
180641
- },
180642
- "name": "messageRetentionSeconds",
180643
- "optional": true,
180644
- "type": {
180645
- "primitive": "number"
180646
- }
180647
- },
180648
- {
180649
- "abstract": true,
180650
- "docs": {
180651
- "stability": "stable",
180652
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#policy SqsQueue#policy}."
180653
- },
180654
- "immutable": true,
180655
- "locationInModule": {
180656
- "filename": "src/aws/notify/queue-config.generated.ts",
180657
- "line": 50
180658
- },
180659
- "name": "policy",
180660
- "optional": true,
180661
- "type": {
180662
- "primitive": "string"
180663
- }
180664
- },
180665
- {
180666
- "abstract": true,
180667
- "docs": {
180668
- "stability": "experimental"
180669
- },
180670
- "immutable": true,
180671
- "locationInModule": {
180672
- "filename": "src/aws/notify/queue-config.generated.ts",
180673
- "line": 79
180674
- },
180675
- "name": "provisioners",
180676
- "optional": true,
180677
- "type": {
180678
- "collection": {
180679
- "elementtype": {
180680
- "union": {
180681
- "types": [
180682
- {
180683
- "fqn": "cdktf.FileProvisioner"
180684
- },
180685
- {
180686
- "fqn": "cdktf.LocalExecProvisioner"
180687
- },
180688
- {
180689
- "fqn": "cdktf.RemoteExecProvisioner"
180690
- }
180691
- ]
180692
- }
180693
- },
180694
- "kind": "array"
180695
- }
180696
- }
180697
- },
180698
- {
180699
- "abstract": true,
180700
- "docs": {
180701
- "stability": "stable",
180702
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#receive_wait_time_seconds SqsQueue#receive_wait_time_seconds}."
180703
- },
180704
- "immutable": true,
180705
- "locationInModule": {
180706
- "filename": "src/aws/notify/queue-config.generated.ts",
180707
- "line": 45
180708
- },
180709
- "name": "receiveWaitTimeSeconds",
180710
- "optional": true,
180711
- "type": {
180712
- "primitive": "number"
180713
- }
180714
- },
180715
- {
180716
- "abstract": true,
180717
- "docs": {
180718
- "stability": "stable",
180719
- "summary": "Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#region SqsQueue#region}."
180720
- },
180721
- "immutable": true,
180722
- "locationInModule": {
180723
- "filename": "src/aws/notify/queue-config.generated.ts",
180724
- "line": 40
180725
- },
180726
- "name": "region",
180727
- "optional": true,
180728
- "type": {
180729
- "primitive": "string"
180730
- }
180731
- },
180732
- {
180733
- "abstract": true,
180734
- "docs": {
180735
- "stability": "stable",
180736
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#sqs_managed_sse_enabled SqsQueue#sqs_managed_sse_enabled}."
180737
- },
180738
- "immutable": true,
180739
- "locationInModule": {
180740
- "filename": "src/aws/notify/queue-config.generated.ts",
180741
- "line": 34
180742
- },
180743
- "name": "sqsManagedSseEnabled",
180744
- "optional": true,
180745
- "type": {
180746
- "union": {
180747
- "types": [
180748
- {
180749
- "primitive": "boolean"
180750
- },
180751
- {
180752
- "fqn": "cdktf.IResolvable"
180753
- }
180754
- ]
180755
- }
180756
- }
180757
- },
180758
- {
180759
- "abstract": true,
180760
- "docs": {
180761
- "stability": "stable",
180762
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#tags SqsQueue#tags}."
180763
- },
180764
- "immutable": true,
180765
- "locationInModule": {
180766
- "filename": "src/aws/notify/queue-config.generated.ts",
180767
- "line": 29
180768
- },
180769
- "name": "tags",
180770
- "optional": true,
180771
- "type": {
180772
- "collection": {
180773
- "elementtype": {
180774
- "primitive": "string"
180775
- },
180776
- "kind": "map"
180777
- }
180778
- }
180779
- },
180780
- {
180781
- "abstract": true,
180782
- "docs": {
180783
- "stability": "stable",
180784
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#tags_all SqsQueue#tags_all}."
180785
- },
180786
- "immutable": true,
180787
- "locationInModule": {
180788
- "filename": "src/aws/notify/queue-config.generated.ts",
180789
- "line": 24
180790
- },
180791
- "name": "tagsAll",
180792
- "optional": true,
180793
- "type": {
180794
- "collection": {
180795
- "elementtype": {
180796
- "primitive": "string"
180797
- },
180798
- "kind": "map"
180799
- }
180800
- }
180801
- },
180802
- {
180803
- "abstract": true,
180804
- "docs": {
180805
- "remarks": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#timeouts SqsQueue#timeouts}",
180806
- "stability": "stable",
180807
- "summary": "timeouts block."
180808
- },
180809
- "immutable": true,
180810
- "locationInModule": {
180811
- "filename": "src/aws/notify/queue-config.generated.ts",
180812
- "line": 19
180813
- },
180814
- "name": "timeouts",
180815
- "optional": true,
180816
- "type": {
180817
- "fqn": "@cdktf/provider-aws.sqsQueue.SqsQueueTimeouts"
180818
- }
180819
- },
180820
- {
180821
- "abstract": true,
180822
- "docs": {
180823
- "stability": "stable",
180824
- "summary": "Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sqs_queue#visibility_timeout_seconds SqsQueue#visibility_timeout_seconds}."
180825
- },
180826
- "immutable": true,
180827
- "locationInModule": {
180828
- "filename": "src/aws/notify/queue-config.generated.ts",
180829
- "line": 13
180830
- },
180831
- "name": "visibilityTimeoutSeconds",
180832
- "optional": true,
180833
- "type": {
180834
- "primitive": "number"
180835
- }
180836
- }
180837
- ],
180838
- "symbolId": "src/aws/notify/queue-config.generated:SqsQueueConfig"
180839
- },
180840
181508
  "terraconstructs.aws.notify.Stream": {
180841
181509
  "assembly": "terraconstructs",
180842
181510
  "base": "terraconstructs.aws.AwsConstructBase",
@@ -202085,6 +202753,6 @@
202085
202753
  "symbolId": "src/aws/storage/notification-targets/queue:QueueDestination"
202086
202754
  }
202087
202755
  },
202088
- "version": "0.1.10",
202089
- "fingerprint": "8Rq11ecko2tDOu1duNksqwGUWIe880ThfAPQNxSUwuo="
202756
+ "version": "0.2.0",
202757
+ "fingerprint": "RlH5n2c6v/Con4IU2GIw6fyuECHjN9GK075W0NsQcrA="
202090
202758
  }