terraconstructs 0.2.1 → 0.2.3

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 (284) hide show
  1. package/.jsii +1464 -315
  2. package/lib/asset-staging.js +1 -1
  3. package/lib/aws/arn.js +1 -1
  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.js +1 -1
  71. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  72. package/lib/aws/compute/event-sources/s3.js +1 -1
  73. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  74. package/lib/aws/compute/event-sources/sqs.js +1 -1
  75. package/lib/aws/compute/fields.js +4 -4
  76. package/lib/aws/compute/function-alias.js +1 -1
  77. package/lib/aws/compute/function-base.js +2 -2
  78. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  79. package/lib/aws/compute/function-destinations/function.js +1 -1
  80. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  81. package/lib/aws/compute/function-nodejs/function.js +1 -1
  82. package/lib/aws/compute/function-url.js +1 -1
  83. package/lib/aws/compute/function.js +1 -1
  84. package/lib/aws/compute/gateway-response.js +2 -2
  85. package/lib/aws/compute/handler.js +1 -1
  86. package/lib/aws/compute/instance-types.js +1 -1
  87. package/lib/aws/compute/instance.js +1 -1
  88. package/lib/aws/compute/integration.js +1 -1
  89. package/lib/aws/compute/integrations/aws.js +1 -1
  90. package/lib/aws/compute/integrations/http.js +1 -1
  91. package/lib/aws/compute/integrations/lambda.js +1 -1
  92. package/lib/aws/compute/integrations/mock.js +1 -1
  93. package/lib/aws/compute/integrations/stepfunctions.js +1 -1
  94. package/lib/aws/compute/ip-addresses.js +2 -2
  95. package/lib/aws/compute/ipam.js +1 -1
  96. package/lib/aws/compute/key-pair.js +1 -1
  97. package/lib/aws/compute/lambda-api.js +1 -1
  98. package/lib/aws/compute/launch-template.js +2 -2
  99. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  100. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  101. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  102. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  103. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  104. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  105. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  106. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  107. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  108. package/lib/aws/compute/load-balancer.js +3 -3
  109. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  110. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  111. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  112. package/lib/aws/compute/machine-image/common.js +1 -1
  113. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  114. package/lib/aws/compute/method.js +1 -1
  115. package/lib/aws/compute/model.js +3 -3
  116. package/lib/aws/compute/nat.js +5 -5
  117. package/lib/aws/compute/network-acl-types.js +2 -2
  118. package/lib/aws/compute/network-acl.js +3 -3
  119. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  120. package/lib/aws/compute/nlb/network-listener.js +1 -1
  121. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  122. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  123. package/lib/aws/compute/peer.js +1 -1
  124. package/lib/aws/compute/placement-group.js +1 -1
  125. package/lib/aws/compute/port.js +1 -1
  126. package/lib/aws/compute/prefix-list.js +1 -1
  127. package/lib/aws/compute/requestvalidator.js +1 -1
  128. package/lib/aws/compute/resource.js +3 -3
  129. package/lib/aws/compute/restapi.js +3 -3
  130. package/lib/aws/compute/route.js +8 -8
  131. package/lib/aws/compute/runtime.js +1 -1
  132. package/lib/aws/compute/scalable-target.js +1 -1
  133. package/lib/aws/compute/schedule.js +1 -1
  134. package/lib/aws/compute/security-group.js +1 -1
  135. package/lib/aws/compute/stage.js +2 -2
  136. package/lib/aws/compute/state-graph.js +1 -1
  137. package/lib/aws/compute/state-machine-fragment.js +1 -1
  138. package/lib/aws/compute/state-machine.js +4 -4
  139. package/lib/aws/compute/states/choice.js +1 -1
  140. package/lib/aws/compute/states/custom-state.js +1 -1
  141. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  142. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  143. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  144. package/lib/aws/compute/states/distributed-map.js +1 -1
  145. package/lib/aws/compute/states/fail.js +1 -1
  146. package/lib/aws/compute/states/map-base.js +1 -1
  147. package/lib/aws/compute/states/map.js +1 -1
  148. package/lib/aws/compute/states/parallel.js +1 -1
  149. package/lib/aws/compute/states/pass.js +2 -2
  150. package/lib/aws/compute/states/state.js +1 -1
  151. package/lib/aws/compute/states/succeed.js +1 -1
  152. package/lib/aws/compute/states/task-base.js +2 -2
  153. package/lib/aws/compute/states/task.js +1 -1
  154. package/lib/aws/compute/states/wait.js +2 -2
  155. package/lib/aws/compute/step-scaling-action.js +1 -1
  156. package/lib/aws/compute/step-scaling-policy.js +1 -1
  157. package/lib/aws/compute/stepfunctions-api.js +1 -1
  158. package/lib/aws/compute/subnet-v2.js +2 -2
  159. package/lib/aws/compute/subnet.js +1 -1
  160. package/lib/aws/compute/target-tracking-scaling-policy.js +1 -1
  161. package/lib/aws/compute/task-credentials.js +1 -1
  162. package/lib/aws/compute/task-input.js +1 -1
  163. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  164. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  165. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  166. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  167. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  168. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  169. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  170. package/lib/aws/compute/types.js +1 -1
  171. package/lib/aws/compute/usage-plan.js +1 -1
  172. package/lib/aws/compute/user-data.js +3 -3
  173. package/lib/aws/compute/volume.js +2 -2
  174. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  175. package/lib/aws/compute/vpc-endpoint.js +6 -6
  176. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  177. package/lib/aws/compute/vpc-link.js +1 -1
  178. package/lib/aws/compute/vpc-v2-base.js +1 -1
  179. package/lib/aws/compute/vpc-v2.js +2 -2
  180. package/lib/aws/compute/vpc.js +4 -4
  181. package/lib/aws/compute/vpn.js +3 -3
  182. package/lib/aws/edge/certificate.js +1 -1
  183. package/lib/aws/edge/distribution.js +3 -3
  184. package/lib/aws/edge/dns-alias-record-targets.js +6 -6
  185. package/lib/aws/edge/dns-record.js +13 -13
  186. package/lib/aws/edge/dns-zone.js +1 -1
  187. package/lib/aws/edge/function.js +2 -2
  188. package/lib/aws/edge/key-value-store.js +4 -4
  189. package/lib/aws/edge/origin.js +3 -3
  190. package/lib/aws/edge/response-headers-policy.js +1 -1
  191. package/lib/aws/encryption/alias.js +1 -1
  192. package/lib/aws/encryption/key.js +1 -1
  193. package/lib/aws/encryption/via-service-principal.js +1 -1
  194. package/lib/aws/iam/grant.js +3 -3
  195. package/lib/aws/iam/group.js +1 -1
  196. package/lib/aws/iam/instance-profile.js +1 -1
  197. package/lib/aws/iam/managed-policy.js +1 -1
  198. package/lib/aws/iam/oidc-provider.js +1 -1
  199. package/lib/aws/iam/policy-document.js +1 -1
  200. package/lib/aws/iam/policy-statement.js +1 -1
  201. package/lib/aws/iam/policy.js +1 -1
  202. package/lib/aws/iam/principals.js +20 -20
  203. package/lib/aws/iam/role.js +14 -5
  204. package/lib/aws/iam/saml-provider.js +2 -2
  205. package/lib/aws/iam/unknown-principal.js +1 -1
  206. package/lib/aws/iam/user.js +1 -1
  207. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  208. package/lib/aws/network/subnet-group.js +3 -3
  209. package/lib/aws/network/subnet.js +4 -4
  210. package/lib/aws/notify/archive.js +1 -1
  211. package/lib/aws/notify/connection.js +3 -3
  212. package/lib/aws/notify/event-bus.js +3 -3
  213. package/lib/aws/notify/event-pattern.js +1 -1
  214. package/lib/aws/notify/index.d.ts +1 -0
  215. package/lib/aws/notify/index.js +3 -1
  216. package/lib/aws/notify/input.js +2 -2
  217. package/lib/aws/notify/kinesis-stream.js +1 -1
  218. package/lib/aws/notify/notification-rule.js +1 -1
  219. package/lib/aws/notify/policy.js +1 -1
  220. package/lib/aws/notify/queue-base.js +1 -1
  221. package/lib/aws/notify/queue-policy.js +1 -1
  222. package/lib/aws/notify/queue.js +1 -1
  223. package/lib/aws/notify/resource-policy.js +1 -1
  224. package/lib/aws/notify/rule.js +1 -1
  225. package/lib/aws/notify/schedule.js +1 -1
  226. package/lib/aws/notify/sns-grants.generated.d.ts +39 -0
  227. package/lib/aws/notify/sns-grants.generated.js +77 -0
  228. package/lib/aws/notify/sqs-grants.generated.js +1 -1
  229. package/lib/aws/notify/subscription-filter.js +1 -1
  230. package/lib/aws/notify/subscription.d.ts +8 -2
  231. package/lib/aws/notify/subscription.js +6 -7
  232. package/lib/aws/notify/subscriptions/email.js +1 -1
  233. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  234. package/lib/aws/notify/subscriptions/sms.js +1 -1
  235. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  236. package/lib/aws/notify/subscriptions/url.js +1 -1
  237. package/lib/aws/notify/targets/event-bus.js +1 -1
  238. package/lib/aws/notify/targets/function.js +1 -1
  239. package/lib/aws/notify/targets/log-group.js +2 -2
  240. package/lib/aws/notify/targets/sqs.js +1 -1
  241. package/lib/aws/notify/targets/state-machine.js +1 -1
  242. package/lib/aws/notify/topic-base.d.ts +6 -0
  243. package/lib/aws/notify/topic-base.js +16 -19
  244. package/lib/aws/notify/topic.d.ts +29 -6
  245. package/lib/aws/notify/topic.js +50 -47
  246. package/lib/aws/storage/assets/image-asset.js +3 -3
  247. package/lib/aws/storage/assets/s3.js +1 -1
  248. package/lib/aws/storage/auth-token.js +2 -2
  249. package/lib/aws/storage/billing.js +1 -1
  250. package/lib/aws/storage/bucket-notifications.js +1 -1
  251. package/lib/aws/storage/bucket-policy.js +1 -1
  252. package/lib/aws/storage/bucket-source.js +1 -1
  253. package/lib/aws/storage/bucket.js +2 -2
  254. package/lib/aws/storage/capacity.js +1 -1
  255. package/lib/aws/storage/dynamodb-perms.d.ts +2 -2
  256. package/lib/aws/storage/dynamodb-perms.js +9 -16
  257. package/lib/aws/storage/ecr-repository.js +3 -3
  258. package/lib/aws/storage/encryption.js +1 -1
  259. package/lib/aws/storage/index.d.ts +2 -0
  260. package/lib/aws/storage/index.js +3 -1
  261. package/lib/aws/storage/notification-targets/function.js +1 -1
  262. package/lib/aws/storage/notification-targets/queue.js +1 -1
  263. package/lib/aws/storage/origin-access-identity.js +1 -1
  264. package/lib/aws/storage/parameter.js +2 -2
  265. package/lib/aws/storage/shared.d.ts +31 -2
  266. package/lib/aws/storage/shared.js +29 -2
  267. package/lib/aws/storage/stream-grants.d.ts +61 -0
  268. package/lib/aws/storage/stream-grants.js +72 -0
  269. package/lib/aws/storage/table-grants.d.ts +98 -0
  270. package/lib/aws/storage/table-grants.js +137 -0
  271. package/lib/aws/storage/table.d.ts +280 -8
  272. package/lib/aws/storage/table.js +350 -148
  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/size.js +1 -1
  281. package/lib/stack-base.js +1 -1
  282. package/lib/terra-func.js +1 -1
  283. package/lib/time-zone.js +1 -1
  284. package/package.json +1 -1
package/.jsii CHANGED
@@ -2667,14 +2667,14 @@
2667
2667
  "terraconstructs.aws.notify.subscriptions": {
2668
2668
  "locationInModule": {
2669
2669
  "filename": "src/aws/notify/index.ts",
2670
- "line": 39
2670
+ "line": 43
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": 37
2677
+ "line": 41
2678
2678
  },
2679
2679
  "symbolId": "src/aws/notify/targets/index:"
2680
2680
  },
@@ -2688,7 +2688,7 @@
2688
2688
  "terraconstructs.aws.storage.assets": {
2689
2689
  "locationInModule": {
2690
2690
  "filename": "src/aws/storage/index.ts",
2691
- "line": 35
2691
+ "line": 38
2692
2692
  },
2693
2693
  "symbolId": "src/aws/storage/assets/index:"
2694
2694
  },
@@ -160455,7 +160455,7 @@
160455
160455
  "kind": "interface",
160456
160456
  "locationInModule": {
160457
160457
  "filename": "src/aws/iam/role.ts",
160458
- "line": 795
160458
+ "line": 802
160459
160459
  },
160460
160460
  "methods": [
160461
160461
  {
@@ -160466,7 +160466,7 @@
160466
160466
  },
160467
160467
  "locationInModule": {
160468
160468
  "filename": "src/aws/iam/role.ts",
160469
- "line": 819
160469
+ "line": 826
160470
160470
  },
160471
160471
  "name": "grant",
160472
160472
  "parameters": [
@@ -160499,7 +160499,7 @@
160499
160499
  },
160500
160500
  "locationInModule": {
160501
160501
  "filename": "src/aws/iam/role.ts",
160502
- "line": 829
160502
+ "line": 836
160503
160503
  },
160504
160504
  "name": "grantAssumeRole",
160505
160505
  "parameters": [
@@ -160524,7 +160524,7 @@
160524
160524
  },
160525
160525
  "locationInModule": {
160526
160526
  "filename": "src/aws/iam/role.ts",
160527
- "line": 824
160527
+ "line": 831
160528
160528
  },
160529
160529
  "name": "grantPassRole",
160530
160530
  "parameters": [
@@ -160557,7 +160557,7 @@
160557
160557
  "immutable": true,
160558
160558
  "locationInModule": {
160559
160559
  "filename": "src/aws/iam/role.ts",
160560
- "line": 807
160560
+ "line": 814
160561
160561
  },
160562
160562
  "name": "roleArn",
160563
160563
  "type": {
@@ -160576,7 +160576,7 @@
160576
160576
  "immutable": true,
160577
160577
  "locationInModule": {
160578
160578
  "filename": "src/aws/iam/role.ts",
160579
- "line": 814
160579
+ "line": 821
160580
160580
  },
160581
160581
  "name": "roleName",
160582
160582
  "type": {
@@ -160595,7 +160595,7 @@
160595
160595
  "immutable": true,
160596
160596
  "locationInModule": {
160597
160597
  "filename": "src/aws/iam/role.ts",
160598
- "line": 801
160598
+ "line": 808
160599
160599
  },
160600
160600
  "name": "roleOutputs",
160601
160601
  "type": {
@@ -165924,7 +165924,7 @@
165924
165924
  },
165925
165925
  "locationInModule": {
165926
165926
  "filename": "src/aws/iam/role.ts",
165927
- "line": 612
165927
+ "line": 618
165928
165928
  },
165929
165929
  "name": "addManagedPolicy",
165930
165930
  "overrides": "terraconstructs.aws.iam.IIdentity",
@@ -165947,7 +165947,7 @@
165947
165947
  },
165948
165948
  "locationInModule": {
165949
165949
  "filename": "src/aws/iam/role.ts",
165950
- "line": 570
165950
+ "line": 576
165951
165951
  },
165952
165952
  "name": "addToPolicy",
165953
165953
  "overrides": "terraconstructs.aws.iam.IPrincipal",
@@ -165973,7 +165973,7 @@
165973
165973
  },
165974
165974
  "locationInModule": {
165975
165975
  "filename": "src/aws/iam/role.ts",
165976
- "line": 553
165976
+ "line": 559
165977
165977
  },
165978
165978
  "name": "addToPrincipalPolicy",
165979
165979
  "overrides": "terraconstructs.aws.iam.IPrincipal",
@@ -166002,7 +166002,7 @@
166002
166002
  },
166003
166003
  "locationInModule": {
166004
166004
  "filename": "src/aws/iam/role.ts",
166005
- "line": 635
166005
+ "line": 642
166006
166006
  },
166007
166007
  "name": "attachInlinePolicy",
166008
166008
  "overrides": "terraconstructs.aws.iam.IIdentity",
@@ -166025,7 +166025,7 @@
166025
166025
  },
166026
166026
  "locationInModule": {
166027
166027
  "filename": "src/aws/iam/role.ts",
166028
- "line": 643
166028
+ "line": 650
166029
166029
  },
166030
166030
  "name": "grant",
166031
166031
  "overrides": "terraconstructs.aws.iam.IRole",
@@ -166058,7 +166058,7 @@
166058
166058
  },
166059
166059
  "locationInModule": {
166060
166060
  "filename": "src/aws/iam/role.ts",
166061
- "line": 662
166061
+ "line": 669
166062
166062
  },
166063
166063
  "name": "grantAssumeRole",
166064
166064
  "overrides": "terraconstructs.aws.iam.IRole",
@@ -166083,7 +166083,7 @@
166083
166083
  },
166084
166084
  "locationInModule": {
166085
166085
  "filename": "src/aws/iam/role.ts",
166086
- "line": 655
166086
+ "line": 662
166087
166087
  },
166088
166088
  "name": "grantPassRole",
166089
166089
  "overrides": "terraconstructs.aws.iam.IRole",
@@ -166109,7 +166109,7 @@
166109
166109
  },
166110
166110
  "locationInModule": {
166111
166111
  "filename": "src/aws/iam/role.ts",
166112
- "line": 694
166112
+ "line": 701
166113
166113
  },
166114
166114
  "name": "withoutPolicyUpdates",
166115
166115
  "parameters": [
@@ -166243,7 +166243,7 @@
166243
166243
  "immutable": true,
166244
166244
  "locationInModule": {
166245
166245
  "filename": "src/aws/iam/role.ts",
166246
- "line": 681
166246
+ "line": 688
166247
166247
  },
166248
166248
  "name": "roleId",
166249
166249
  "type": {
@@ -166346,7 +166346,7 @@
166346
166346
  "kind": "interface",
166347
166347
  "locationInModule": {
166348
166348
  "filename": "src/aws/iam/role.ts",
166349
- "line": 787
166349
+ "line": 794
166350
166350
  },
166351
166351
  "name": "RoleOutputs",
166352
166352
  "namespace": "aws.iam",
@@ -166359,7 +166359,7 @@
166359
166359
  "immutable": true,
166360
166360
  "locationInModule": {
166361
166361
  "filename": "src/aws/iam/role.ts",
166362
- "line": 788
166362
+ "line": 795
166363
166363
  },
166364
166364
  "name": "arn",
166365
166365
  "type": {
@@ -166374,7 +166374,7 @@
166374
166374
  "immutable": true,
166375
166375
  "locationInModule": {
166376
166376
  "filename": "src/aws/iam/role.ts",
166377
- "line": 789
166377
+ "line": 796
166378
166378
  },
166379
166379
  "name": "name",
166380
166380
  "type": {
@@ -168578,7 +168578,7 @@
168578
168578
  "kind": "interface",
168579
168579
  "locationInModule": {
168580
168580
  "filename": "src/aws/iam/role.ts",
168581
- "line": 892
168581
+ "line": 899
168582
168582
  },
168583
168583
  "name": "WithoutPolicyUpdatesOptions",
168584
168584
  "namespace": "aws.iam",
@@ -168594,7 +168594,7 @@
168594
168594
  "immutable": true,
168595
168595
  "locationInModule": {
168596
168596
  "filename": "src/aws/iam/role.ts",
168597
- "line": 903
168597
+ "line": 910
168598
168598
  },
168599
168599
  "name": "addGrantsToResources",
168600
168600
  "optional": true,
@@ -173530,6 +173530,40 @@
173530
173530
  "namespace": "aws.notify",
173531
173531
  "symbolId": "src/aws/notify/queue:FifoThroughputLimit"
173532
173532
  },
173533
+ "terraconstructs.aws.notify.FifoThroughputScope": {
173534
+ "assembly": "terraconstructs",
173535
+ "docs": {
173536
+ "stability": "stable",
173537
+ "summary": "The throughput quota and deduplication behavior to apply for the FIFO topic."
173538
+ },
173539
+ "fqn": "terraconstructs.aws.notify.FifoThroughputScope",
173540
+ "kind": "enum",
173541
+ "locationInModule": {
173542
+ "filename": "src/aws/notify/topic.ts",
173543
+ "line": 121
173544
+ },
173545
+ "members": [
173546
+ {
173547
+ "docs": {
173548
+ "remarks": "- Deduplication: Message deduplication is verified on the entire FIFO topic.",
173549
+ "stability": "stable",
173550
+ "summary": "Topic scope - Throughput: 3000 messages per second and a bandwidth of 20MB per second."
173551
+ },
173552
+ "name": "TOPIC"
173553
+ },
173554
+ {
173555
+ "docs": {
173556
+ "remarks": "- Deduplication: Message deduplication is only verified within a message group.",
173557
+ "stability": "stable",
173558
+ "summary": "Message group scope - Throughput: Maximum regional limits."
173559
+ },
173560
+ "name": "MESSAGE_GROUP"
173561
+ }
173562
+ ],
173563
+ "name": "FifoThroughputScope",
173564
+ "namespace": "aws.notify",
173565
+ "symbolId": "src/aws/notify/topic:FifoThroughputScope"
173566
+ },
173533
173567
  "terraconstructs.aws.notify.Filter": {
173534
173568
  "assembly": "terraconstructs",
173535
173569
  "base": "terraconstructs.aws.notify.FilterOrPolicy",
@@ -173545,7 +173579,7 @@
173545
173579
  },
173546
173580
  "locationInModule": {
173547
173581
  "filename": "src/aws/notify/subscription.ts",
173548
- "line": 579
173582
+ "line": 577
173549
173583
  },
173550
173584
  "parameters": [
173551
173585
  {
@@ -173562,7 +173596,7 @@
173562
173596
  "kind": "class",
173563
173597
  "locationInModule": {
173564
173598
  "filename": "src/aws/notify/subscription.ts",
173565
- "line": 570
173599
+ "line": 568
173566
173600
  },
173567
173601
  "name": "Filter",
173568
173602
  "namespace": "aws.notify",
@@ -173575,7 +173609,7 @@
173575
173609
  "immutable": true,
173576
173610
  "locationInModule": {
173577
173611
  "filename": "src/aws/notify/subscription.ts",
173578
- "line": 579
173612
+ "line": 577
173579
173613
  },
173580
173614
  "name": "filterDoc",
173581
173615
  "type": {
@@ -173590,7 +173624,7 @@
173590
173624
  "immutable": true,
173591
173625
  "locationInModule": {
173592
173626
  "filename": "src/aws/notify/subscription.ts",
173593
- "line": 574
173627
+ "line": 572
173594
173628
  },
173595
173629
  "name": "type",
173596
173630
  "overrides": "terraconstructs.aws.notify.FilterOrPolicy",
@@ -173617,7 +173651,7 @@
173617
173651
  "kind": "class",
173618
173652
  "locationInModule": {
173619
173653
  "filename": "src/aws/notify/subscription.ts",
173620
- "line": 532
173654
+ "line": 530
173621
173655
  },
173622
173656
  "methods": [
173623
173657
  {
@@ -173627,7 +173661,7 @@
173627
173661
  },
173628
173662
  "locationInModule": {
173629
173663
  "filename": "src/aws/notify/subscription.ts",
173630
- "line": 536
173664
+ "line": 534
173631
173665
  },
173632
173666
  "name": "filter",
173633
173667
  "parameters": [
@@ -173652,7 +173686,7 @@
173652
173686
  },
173653
173687
  "locationInModule": {
173654
173688
  "filename": "src/aws/notify/subscription.ts",
173655
- "line": 543
173689
+ "line": 541
173656
173690
  },
173657
173691
  "name": "policy",
173658
173692
  "parameters": [
@@ -173682,7 +173716,7 @@
173682
173716
  },
173683
173717
  "locationInModule": {
173684
173718
  "filename": "src/aws/notify/subscription.ts",
173685
- "line": 562
173719
+ "line": 560
173686
173720
  },
173687
173721
  "name": "isFilter",
173688
173722
  "returns": {
@@ -173698,7 +173732,7 @@
173698
173732
  },
173699
173733
  "locationInModule": {
173700
173734
  "filename": "src/aws/notify/subscription.ts",
173701
- "line": 555
173735
+ "line": 553
173702
173736
  },
173703
173737
  "name": "isPolicy",
173704
173738
  "returns": {
@@ -173720,7 +173754,7 @@
173720
173754
  "immutable": true,
173721
173755
  "locationInModule": {
173722
173756
  "filename": "src/aws/notify/subscription.ts",
173723
- "line": 550
173757
+ "line": 548
173724
173758
  },
173725
173759
  "name": "type",
173726
173760
  "type": {
@@ -173740,7 +173774,7 @@
173740
173774
  "kind": "enum",
173741
173775
  "locationInModule": {
173742
173776
  "filename": "src/aws/notify/subscription.ts",
173743
- "line": 518
173777
+ "line": 516
173744
173778
  },
173745
173779
  "members": [
173746
173780
  {
@@ -175969,7 +176003,7 @@
175969
176003
  "kind": "interface",
175970
176004
  "locationInModule": {
175971
176005
  "filename": "src/aws/notify/topic-base.ts",
175972
- "line": 44
176006
+ "line": 45
175973
176007
  },
175974
176008
  "methods": [
175975
176009
  {
@@ -175980,7 +176014,7 @@
175980
176014
  },
175981
176015
  "locationInModule": {
175982
176016
  "filename": "src/aws/notify/topic-base.ts",
175983
- "line": 91
176017
+ "line": 93
175984
176018
  },
175985
176019
  "name": "addSubscription",
175986
176020
  "parameters": [
@@ -176006,7 +176040,7 @@
176006
176040
  },
176007
176041
  "locationInModule": {
176008
176042
  "filename": "src/aws/notify/topic-base.ts",
176009
- "line": 100
176043
+ "line": 102
176010
176044
  },
176011
176045
  "name": "addToResourcePolicy",
176012
176046
  "parameters": [
@@ -176031,7 +176065,7 @@
176031
176065
  },
176032
176066
  "locationInModule": {
176033
176067
  "filename": "src/aws/notify/topic-base.ts",
176034
- "line": 107
176068
+ "line": 109
176035
176069
  },
176036
176070
  "name": "grantPublish",
176037
176071
  "parameters": [
@@ -176056,7 +176090,7 @@
176056
176090
  },
176057
176091
  "locationInModule": {
176058
176092
  "filename": "src/aws/notify/topic-base.ts",
176059
- "line": 112
176093
+ "line": 114
176060
176094
  },
176061
176095
  "name": "grantSubscribe",
176062
176096
  "parameters": [
@@ -176364,7 +176398,7 @@
176364
176398
  "immutable": true,
176365
176399
  "locationInModule": {
176366
176400
  "filename": "src/aws/notify/topic-base.ts",
176367
- "line": 79
176401
+ "line": 81
176368
176402
  },
176369
176403
  "name": "contentBasedDeduplication",
176370
176404
  "type": {
@@ -176384,7 +176418,7 @@
176384
176418
  "immutable": true,
176385
176419
  "locationInModule": {
176386
176420
  "filename": "src/aws/notify/topic-base.ts",
176387
- "line": 86
176421
+ "line": 88
176388
176422
  },
176389
176423
  "name": "fifo",
176390
176424
  "type": {
@@ -176403,7 +176437,7 @@
176403
176437
  "immutable": true,
176404
176438
  "locationInModule": {
176405
176439
  "filename": "src/aws/notify/topic-base.ts",
176406
- "line": 54
176440
+ "line": 56
176407
176441
  },
176408
176442
  "name": "topicArn",
176409
176443
  "type": {
@@ -176422,7 +176456,7 @@
176422
176456
  "immutable": true,
176423
176457
  "locationInModule": {
176424
176458
  "filename": "src/aws/notify/topic-base.ts",
176425
- "line": 61
176459
+ "line": 63
176426
176460
  },
176427
176461
  "name": "topicName",
176428
176462
  "type": {
@@ -176438,7 +176472,7 @@
176438
176472
  "immutable": true,
176439
176473
  "locationInModule": {
176440
176474
  "filename": "src/aws/notify/topic-base.ts",
176441
- "line": 48
176475
+ "line": 49
176442
176476
  },
176443
176477
  "name": "topicOutputs",
176444
176478
  "type": {
@@ -176457,7 +176491,7 @@
176457
176491
  "immutable": true,
176458
176492
  "locationInModule": {
176459
176493
  "filename": "src/aws/notify/topic-base.ts",
176460
- "line": 72
176494
+ "line": 74
176461
176495
  },
176462
176496
  "name": "masterKey",
176463
176497
  "optional": true,
@@ -176526,7 +176560,7 @@
176526
176560
  "kind": "interface",
176527
176561
  "locationInModule": {
176528
176562
  "filename": "src/aws/notify/topic.ts",
176529
- "line": 143
176563
+ "line": 142
176530
176564
  },
176531
176565
  "name": "LoggingConfig",
176532
176566
  "namespace": "aws.notify",
@@ -176540,7 +176574,7 @@
176540
176574
  "immutable": true,
176541
176575
  "locationInModule": {
176542
176576
  "filename": "src/aws/notify/topic.ts",
176543
- "line": 147
176577
+ "line": 146
176544
176578
  },
176545
176579
  "name": "protocol",
176546
176580
  "type": {
@@ -176557,7 +176591,7 @@
176557
176591
  "immutable": true,
176558
176592
  "locationInModule": {
176559
176593
  "filename": "src/aws/notify/topic.ts",
176560
- "line": 154
176594
+ "line": 153
176561
176595
  },
176562
176596
  "name": "failureFeedbackRole",
176563
176597
  "optional": true,
@@ -176575,7 +176609,7 @@
176575
176609
  "immutable": true,
176576
176610
  "locationInModule": {
176577
176611
  "filename": "src/aws/notify/topic.ts",
176578
- "line": 161
176612
+ "line": 160
176579
176613
  },
176580
176614
  "name": "successFeedbackRole",
176581
176615
  "optional": true,
@@ -176594,7 +176628,7 @@
176594
176628
  "immutable": true,
176595
176629
  "locationInModule": {
176596
176630
  "filename": "src/aws/notify/topic.ts",
176597
- "line": 170
176631
+ "line": 169
176598
176632
  },
176599
176633
  "name": "successFeedbackSampleRate",
176600
176634
  "optional": true,
@@ -176615,7 +176649,7 @@
176615
176649
  "kind": "enum",
176616
176650
  "locationInModule": {
176617
176651
  "filename": "src/aws/notify/topic.ts",
176618
- "line": 176
176652
+ "line": 175
176619
176653
  },
176620
176654
  "members": [
176621
176655
  {
@@ -178344,7 +178378,7 @@
178344
178378
  },
178345
178379
  "locationInModule": {
178346
178380
  "filename": "src/aws/notify/subscription.ts",
178347
- "line": 596
178381
+ "line": 594
178348
178382
  },
178349
178383
  "parameters": [
178350
178384
  {
@@ -178366,7 +178400,7 @@
178366
178400
  "kind": "class",
178367
178401
  "locationInModule": {
178368
178402
  "filename": "src/aws/notify/subscription.ts",
178369
- "line": 587
178403
+ "line": 585
178370
178404
  },
178371
178405
  "name": "Policy",
178372
178406
  "namespace": "aws.notify",
@@ -178379,7 +178413,7 @@
178379
178413
  "immutable": true,
178380
178414
  "locationInModule": {
178381
178415
  "filename": "src/aws/notify/subscription.ts",
178382
- "line": 597
178416
+ "line": 595
178383
178417
  },
178384
178418
  "name": "policyDoc",
178385
178419
  "type": {
@@ -178399,7 +178433,7 @@
178399
178433
  "immutable": true,
178400
178434
  "locationInModule": {
178401
178435
  "filename": "src/aws/notify/subscription.ts",
178402
- "line": 591
178436
+ "line": 589
178403
178437
  },
178404
178438
  "name": "type",
178405
178439
  "overrides": "terraconstructs.aws.notify.FilterOrPolicy",
@@ -183069,7 +183103,7 @@
183069
183103
  },
183070
183104
  "locationInModule": {
183071
183105
  "filename": "src/aws/notify/subscription.ts",
183072
- "line": 127
183106
+ "line": 125
183073
183107
  },
183074
183108
  "parameters": [
183075
183109
  {
@@ -183095,7 +183129,7 @@
183095
183129
  "kind": "class",
183096
183130
  "locationInModule": {
183097
183131
  "filename": "src/aws/notify/subscription.ts",
183098
- "line": 114
183132
+ "line": 112
183099
183133
  },
183100
183134
  "name": "Subscription",
183101
183135
  "namespace": "aws.notify",
@@ -183108,7 +183142,7 @@
183108
183142
  "immutable": true,
183109
183143
  "locationInModule": {
183110
183144
  "filename": "src/aws/notify/subscription.ts",
183111
- "line": 123
183145
+ "line": 121
183112
183146
  },
183113
183147
  "name": "outputs",
183114
183148
  "overrides": "terraconstructs.TerraConstructBase",
@@ -183128,7 +183162,7 @@
183128
183162
  "immutable": true,
183129
183163
  "locationInModule": {
183130
183164
  "filename": "src/aws/notify/subscription.ts",
183131
- "line": 122
183165
+ "line": 120
183132
183166
  },
183133
183167
  "name": "subscriptionOutputs",
183134
183168
  "type": {
@@ -183143,7 +183177,7 @@
183143
183177
  "immutable": true,
183144
183178
  "locationInModule": {
183145
183179
  "filename": "src/aws/notify/subscription.ts",
183146
- "line": 118
183180
+ "line": 116
183147
183181
  },
183148
183182
  "name": "deadLetterQueue",
183149
183183
  "optional": true,
@@ -183295,9 +183329,6 @@
183295
183329
  "summary": "Options for creating a new subscription."
183296
183330
  },
183297
183331
  "fqn": "terraconstructs.aws.notify.SubscriptionOptions",
183298
- "interfaces": [
183299
- "terraconstructs.aws.AwsConstructProps"
183300
- ],
183301
183332
  "kind": "interface",
183302
183333
  "locationInModule": {
183303
183334
  "filename": "src/aws/notify/subscription.ts",
@@ -183350,7 +183381,7 @@
183350
183381
  "immutable": true,
183351
183382
  "locationInModule": {
183352
183383
  "filename": "src/aws/notify/subscription.ts",
183353
- "line": 80
183384
+ "line": 78
183354
183385
  },
183355
183386
  "name": "deadLetterQueue",
183356
183387
  "optional": true,
@@ -183368,7 +183399,7 @@
183368
183399
  "immutable": true,
183369
183400
  "locationInModule": {
183370
183401
  "filename": "src/aws/notify/subscription.ts",
183371
- "line": 94
183402
+ "line": 92
183372
183403
  },
183373
183404
  "name": "deliveryPolicy",
183374
183405
  "optional": true,
@@ -183442,6 +183473,27 @@
183442
183473
  "primitive": "boolean"
183443
183474
  }
183444
183475
  },
183476
+ {
183477
+ "abstract": true,
183478
+ "docs": {
183479
+ "custom": {
183480
+ "link": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region"
183481
+ },
183482
+ "default": "- the region where the stack is being deployed.",
183483
+ "stability": "stable",
183484
+ "summary": "The region where the topic resides, in the case of cross-region subscriptions."
183485
+ },
183486
+ "immutable": true,
183487
+ "locationInModule": {
183488
+ "filename": "src/aws/notify/subscription.ts",
183489
+ "line": 70
183490
+ },
183491
+ "name": "region",
183492
+ "optional": true,
183493
+ "type": {
183494
+ "primitive": "string"
183495
+ }
183496
+ },
183445
183497
  {
183446
183498
  "abstract": true,
183447
183499
  "docs": {
@@ -183453,7 +183505,7 @@
183453
183505
  "immutable": true,
183454
183506
  "locationInModule": {
183455
183507
  "filename": "src/aws/notify/subscription.ts",
183456
- "line": 87
183508
+ "line": 85
183457
183509
  },
183458
183510
  "name": "subscriptionRoleArn",
183459
183511
  "optional": true,
@@ -183513,7 +183565,7 @@
183513
183565
  "kind": "interface",
183514
183566
  "locationInModule": {
183515
183567
  "filename": "src/aws/notify/subscription.ts",
183516
- "line": 99
183568
+ "line": 97
183517
183569
  },
183518
183570
  "name": "SubscriptionProps",
183519
183571
  "namespace": "aws.notify",
@@ -183527,7 +183579,7 @@
183527
183579
  "immutable": true,
183528
183580
  "locationInModule": {
183529
183581
  "filename": "src/aws/notify/subscription.ts",
183530
- "line": 103
183582
+ "line": 101
183531
183583
  },
183532
183584
  "name": "topic",
183533
183585
  "type": {
@@ -183547,7 +183599,7 @@
183547
183599
  "kind": "enum",
183548
183600
  "locationInModule": {
183549
183601
  "filename": "src/aws/notify/subscription.ts",
183550
- "line": 434
183602
+ "line": 432
183551
183603
  },
183552
183604
  "members": [
183553
183605
  {
@@ -183672,7 +183724,7 @@
183672
183724
  },
183673
183725
  "locationInModule": {
183674
183726
  "filename": "src/aws/notify/topic.ts",
183675
- "line": 316
183727
+ "line": 322
183676
183728
  },
183677
183729
  "parameters": [
183678
183730
  {
@@ -183699,7 +183751,7 @@
183699
183751
  "kind": "class",
183700
183752
  "locationInModule": {
183701
183753
  "filename": "src/aws/notify/topic.ts",
183702
- "line": 248
183754
+ "line": 247
183703
183755
  },
183704
183756
  "methods": [
183705
183757
  {
@@ -183709,7 +183761,7 @@
183709
183761
  },
183710
183762
  "locationInModule": {
183711
183763
  "filename": "src/aws/notify/topic.ts",
183712
- "line": 256
183764
+ "line": 261
183713
183765
  },
183714
183766
  "name": "fromTopicArn",
183715
183767
  "parameters": [
@@ -183755,7 +183807,7 @@
183755
183807
  },
183756
183808
  "locationInModule": {
183757
183809
  "filename": "src/aws/notify/topic.ts",
183758
- "line": 271
183810
+ "line": 276
183759
183811
  },
183760
183812
  "name": "fromTopicAttributes",
183761
183813
  "parameters": [
@@ -183801,7 +183853,7 @@
183801
183853
  },
183802
183854
  "locationInModule": {
183803
183855
  "filename": "src/aws/notify/topic.ts",
183804
- "line": 417
183856
+ "line": 430
183805
183857
  },
183806
183858
  "name": "addLoggingConfig",
183807
183859
  "parameters": [
@@ -183812,25 +183864,28 @@
183812
183864
  }
183813
183865
  }
183814
183866
  ]
183815
- },
183867
+ }
183868
+ ],
183869
+ "name": "Topic",
183870
+ "namespace": "aws.notify",
183871
+ "properties": [
183816
183872
  {
183873
+ "const": true,
183817
183874
  "docs": {
183818
- "see": "https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit",
183819
183875
  "stability": "stable",
183820
- "summary": "Adds an IAM policy statement to enforce the use of TLS for publishing to this topic."
183876
+ "summary": "Uniquely identifies this class."
183821
183877
  },
183878
+ "immutable": true,
183822
183879
  "locationInModule": {
183823
183880
  "filename": "src/aws/notify/topic.ts",
183824
- "line": 454
183881
+ "line": 251
183825
183882
  },
183826
- "name": "addSSLPolicy",
183827
- "overrides": "terraconstructs.aws.notify.TopicBase",
183828
- "protected": true
183829
- }
183830
- ],
183831
- "name": "Topic",
183832
- "namespace": "aws.notify",
183833
- "properties": [
183883
+ "name": "PROPERTY_INJECTION_ID",
183884
+ "static": true,
183885
+ "type": {
183886
+ "primitive": "string"
183887
+ }
183888
+ },
183834
183889
  {
183835
183890
  "docs": {
183836
183891
  "remarks": "Set by subclasses.",
@@ -183840,7 +183895,7 @@
183840
183895
  "immutable": true,
183841
183896
  "locationInModule": {
183842
183897
  "filename": "src/aws/notify/topic.ts",
183843
- "line": 312
183898
+ "line": 318
183844
183899
  },
183845
183900
  "name": "autoCreatePolicy",
183846
183901
  "overrides": "terraconstructs.aws.notify.TopicBase",
@@ -183857,7 +183912,7 @@
183857
183912
  "immutable": true,
183858
183913
  "locationInModule": {
183859
183914
  "filename": "src/aws/notify/topic.ts",
183860
- "line": 309
183915
+ "line": 315
183861
183916
  },
183862
183917
  "name": "contentBasedDeduplication",
183863
183918
  "overrides": "terraconstructs.aws.notify.TopicBase",
@@ -183874,7 +183929,7 @@
183874
183929
  "immutable": true,
183875
183930
  "locationInModule": {
183876
183931
  "filename": "src/aws/notify/topic.ts",
183877
- "line": 310
183932
+ "line": 316
183878
183933
  },
183879
183934
  "name": "fifo",
183880
183935
  "overrides": "terraconstructs.aws.notify.TopicBase",
@@ -183890,7 +183945,7 @@
183890
183945
  "immutable": true,
183891
183946
  "locationInModule": {
183892
183947
  "filename": "src/aws/notify/topic.ts",
183893
- "line": 306
183948
+ "line": 312
183894
183949
  },
183895
183950
  "name": "topicArn",
183896
183951
  "overrides": "terraconstructs.aws.notify.TopicBase",
@@ -183906,7 +183961,7 @@
183906
183961
  "immutable": true,
183907
183962
  "locationInModule": {
183908
183963
  "filename": "src/aws/notify/topic.ts",
183909
- "line": 307
183964
+ "line": 313
183910
183965
  },
183911
183966
  "name": "topicName",
183912
183967
  "overrides": "terraconstructs.aws.notify.TopicBase",
@@ -183923,7 +183978,7 @@
183923
183978
  "immutable": true,
183924
183979
  "locationInModule": {
183925
183980
  "filename": "src/aws/notify/topic.ts",
183926
- "line": 308
183981
+ "line": 314
183927
183982
  },
183928
183983
  "name": "masterKey",
183929
183984
  "optional": true,
@@ -183946,7 +184001,7 @@
183946
184001
  "kind": "interface",
183947
184002
  "locationInModule": {
183948
184003
  "filename": "src/aws/notify/topic.ts",
183949
- "line": 221
184004
+ "line": 220
183950
184005
  },
183951
184006
  "name": "TopicAttributes",
183952
184007
  "namespace": "aws.notify",
@@ -183960,7 +184015,7 @@
183960
184015
  "immutable": true,
183961
184016
  "locationInModule": {
183962
184017
  "filename": "src/aws/notify/topic.ts",
183963
- "line": 225
184018
+ "line": 224
183964
184019
  },
183965
184020
  "name": "topicArn",
183966
184021
  "type": {
@@ -183978,7 +184033,7 @@
183978
184033
  "immutable": true,
183979
184034
  "locationInModule": {
183980
184035
  "filename": "src/aws/notify/topic.ts",
183981
- "line": 240
184036
+ "line": 239
183982
184037
  },
183983
184038
  "name": "contentBasedDeduplication",
183984
184039
  "optional": true,
@@ -183996,7 +184051,7 @@
183996
184051
  "immutable": true,
183997
184052
  "locationInModule": {
183998
184053
  "filename": "src/aws/notify/topic.ts",
183999
- "line": 232
184054
+ "line": 231
184000
184055
  },
184001
184056
  "name": "keyArn",
184002
184057
  "optional": true,
@@ -184022,7 +184077,7 @@
184022
184077
  },
184023
184078
  "locationInModule": {
184024
184079
  "filename": "src/aws/notify/topic-base.ts",
184025
- "line": 152
184080
+ "line": 159
184026
184081
  },
184027
184082
  "parameters": [
184028
184083
  {
@@ -184052,7 +184107,7 @@
184052
184107
  "kind": "class",
184053
184108
  "locationInModule": {
184054
184109
  "filename": "src/aws/notify/topic-base.ts",
184055
- "line": 118
184110
+ "line": 120
184056
184111
  },
184057
184112
  "methods": [
184058
184113
  {
@@ -184062,7 +184117,7 @@
184062
184117
  },
184063
184118
  "locationInModule": {
184064
184119
  "filename": "src/aws/notify/topic-base.ts",
184065
- "line": 222
184120
+ "line": 229
184066
184121
  },
184067
184122
  "name": "addSSLPolicy",
184068
184123
  "protected": true
@@ -184074,7 +184129,7 @@
184074
184129
  },
184075
184130
  "locationInModule": {
184076
184131
  "filename": "src/aws/notify/topic-base.ts",
184077
- "line": 163
184132
+ "line": 170
184078
184133
  },
184079
184134
  "name": "addSubscription",
184080
184135
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184100,7 +184155,7 @@
184100
184155
  },
184101
184156
  "locationInModule": {
184102
184157
  "filename": "src/aws/notify/topic-base.ts",
184103
- "line": 207
184158
+ "line": 214
184104
184159
  },
184105
184160
  "name": "addToResourcePolicy",
184106
184161
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184125,7 +184180,7 @@
184125
184180
  },
184126
184181
  "locationInModule": {
184127
184182
  "filename": "src/aws/notify/topic-base.ts",
184128
- "line": 293
184183
+ "line": 297
184129
184184
  },
184130
184185
  "name": "bindAsNotificationRuleTarget",
184131
184186
  "overrides": "terraconstructs.aws.notify.INotificationRuleTarget",
@@ -184151,7 +184206,7 @@
184151
184206
  },
184152
184207
  "locationInModule": {
184153
184208
  "filename": "src/aws/notify/topic-base.ts",
184154
- "line": 244
184209
+ "line": 251
184155
184210
  },
184156
184211
  "name": "createSSLPolicyDocument",
184157
184212
  "protected": true,
@@ -184168,11 +184223,42 @@
184168
184223
  },
184169
184224
  "locationInModule": {
184170
184225
  "filename": "src/aws/notify/topic-base.ts",
184171
- "line": 233
184226
+ "line": 240
184172
184227
  },
184173
184228
  "name": "createTopicPolicy",
184174
184229
  "protected": true
184175
184230
  },
184231
+ {
184232
+ "docs": {
184233
+ "stability": "stable"
184234
+ },
184235
+ "locationInModule": {
184236
+ "filename": "src/aws/notify/topic-base.ts",
184237
+ "line": 268
184238
+ },
184239
+ "name": "grantOnKey",
184240
+ "parameters": [
184241
+ {
184242
+ "name": "grantee",
184243
+ "type": {
184244
+ "fqn": "terraconstructs.aws.iam.IGrantable"
184245
+ }
184246
+ },
184247
+ {
184248
+ "name": "actions",
184249
+ "type": {
184250
+ "primitive": "string"
184251
+ },
184252
+ "variadic": true
184253
+ }
184254
+ ],
184255
+ "returns": {
184256
+ "type": {
184257
+ "fqn": "terraconstructs.aws.iam.GrantOnKeyResult"
184258
+ }
184259
+ },
184260
+ "variadic": true
184261
+ },
184176
184262
  {
184177
184263
  "docs": {
184178
184264
  "stability": "stable",
@@ -184180,7 +184266,7 @@
184180
184266
  },
184181
184267
  "locationInModule": {
184182
184268
  "filename": "src/aws/notify/topic-base.ts",
184183
- "line": 264
184269
+ "line": 282
184184
184270
  },
184185
184271
  "name": "grantPublish",
184186
184272
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184205,7 +184291,7 @@
184205
184291
  },
184206
184292
  "locationInModule": {
184207
184293
  "filename": "src/aws/notify/topic-base.ts",
184208
- "line": 280
184294
+ "line": 289
184209
184295
  },
184210
184296
  "name": "grantSubscribe",
184211
184297
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184512,7 +184598,7 @@
184512
184598
  "immutable": true,
184513
184599
  "locationInModule": {
184514
184600
  "filename": "src/aws/notify/topic-base.ts",
184515
- "line": 143
184601
+ "line": 150
184516
184602
  },
184517
184603
  "name": "autoCreatePolicy",
184518
184604
  "protected": true,
@@ -184529,7 +184615,7 @@
184529
184615
  "immutable": true,
184530
184616
  "locationInModule": {
184531
184617
  "filename": "src/aws/notify/topic-base.ts",
184532
- "line": 136
184618
+ "line": 138
184533
184619
  },
184534
184620
  "name": "contentBasedDeduplication",
184535
184621
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184547,7 +184633,7 @@
184547
184633
  "immutable": true,
184548
184634
  "locationInModule": {
184549
184635
  "filename": "src/aws/notify/topic-base.ts",
184550
- "line": 134
184636
+ "line": 136
184551
184637
  },
184552
184638
  "name": "fifo",
184553
184639
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184555,6 +184641,21 @@
184555
184641
  "primitive": "boolean"
184556
184642
  }
184557
184643
  },
184644
+ {
184645
+ "docs": {
184646
+ "stability": "stable",
184647
+ "summary": "Collection of grant methods for a Topic."
184648
+ },
184649
+ "immutable": true,
184650
+ "locationInModule": {
184651
+ "filename": "src/aws/notify/topic-base.ts",
184652
+ "line": 143
184653
+ },
184654
+ "name": "grants",
184655
+ "type": {
184656
+ "fqn": "terraconstructs.aws.notify.TopicGrants"
184657
+ }
184658
+ },
184558
184659
  {
184559
184660
  "docs": {
184560
184661
  "stability": "stable",
@@ -184563,7 +184664,7 @@
184563
184664
  "immutable": true,
184564
184665
  "locationInModule": {
184565
184666
  "filename": "src/aws/notify/topic-base.ts",
184566
- "line": 125
184667
+ "line": 127
184567
184668
  },
184568
184669
  "name": "outputs",
184569
184670
  "overrides": "terraconstructs.TerraConstructBase",
@@ -184585,7 +184686,7 @@
184585
184686
  "immutable": true,
184586
184687
  "locationInModule": {
184587
184688
  "filename": "src/aws/notify/topic-base.ts",
184588
- "line": 128
184689
+ "line": 130
184589
184690
  },
184590
184691
  "name": "topicArn",
184591
184692
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184602,7 +184703,7 @@
184602
184703
  "immutable": true,
184603
184704
  "locationInModule": {
184604
184705
  "filename": "src/aws/notify/topic-base.ts",
184605
- "line": 130
184706
+ "line": 132
184606
184707
  },
184607
184708
  "name": "topicName",
184608
184709
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184618,7 +184719,7 @@
184618
184719
  "immutable": true,
184619
184720
  "locationInModule": {
184620
184721
  "filename": "src/aws/notify/topic-base.ts",
184621
- "line": 119
184722
+ "line": 121
184622
184723
  },
184623
184724
  "name": "topicOutputs",
184624
184725
  "overrides": "terraconstructs.aws.notify.ITopic",
@@ -184636,7 +184737,7 @@
184636
184737
  "immutable": true,
184637
184738
  "locationInModule": {
184638
184739
  "filename": "src/aws/notify/topic-base.ts",
184639
- "line": 132
184740
+ "line": 134
184640
184741
  },
184641
184742
  "name": "masterKey",
184642
184743
  "optional": true,
@@ -184652,7 +184753,7 @@
184652
184753
  },
184653
184754
  "locationInModule": {
184654
184755
  "filename": "src/aws/notify/topic-base.ts",
184655
- "line": 148
184756
+ "line": 155
184656
184757
  },
184657
184758
  "name": "enforceSSL",
184658
184759
  "optional": true,
@@ -184664,6 +184765,183 @@
184664
184765
  ],
184665
184766
  "symbolId": "src/aws/notify/topic-base:TopicBase"
184666
184767
  },
184768
+ "terraconstructs.aws.notify.TopicGrants": {
184769
+ "assembly": "terraconstructs",
184770
+ "docs": {
184771
+ "stability": "stable",
184772
+ "summary": "Collection of grant methods for a ITopic."
184773
+ },
184774
+ "fqn": "terraconstructs.aws.notify.TopicGrants",
184775
+ "kind": "class",
184776
+ "locationInModule": {
184777
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184778
+ "line": 27
184779
+ },
184780
+ "methods": [
184781
+ {
184782
+ "docs": {
184783
+ "stability": "stable",
184784
+ "summary": "Creates grants for TopicGrants."
184785
+ },
184786
+ "locationInModule": {
184787
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184788
+ "line": 31
184789
+ },
184790
+ "name": "fromTopic",
184791
+ "parameters": [
184792
+ {
184793
+ "name": "resource",
184794
+ "type": {
184795
+ "fqn": "terraconstructs.aws.notify.ITopic"
184796
+ }
184797
+ }
184798
+ ],
184799
+ "returns": {
184800
+ "type": {
184801
+ "fqn": "terraconstructs.aws.notify.TopicGrants"
184802
+ }
184803
+ },
184804
+ "static": true
184805
+ },
184806
+ {
184807
+ "docs": {
184808
+ "stability": "stable",
184809
+ "summary": "Grant topic publishing permissions to the given identity."
184810
+ },
184811
+ "locationInModule": {
184812
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184813
+ "line": 61
184814
+ },
184815
+ "name": "publish",
184816
+ "parameters": [
184817
+ {
184818
+ "name": "grantee",
184819
+ "type": {
184820
+ "fqn": "terraconstructs.aws.iam.IGrantable"
184821
+ }
184822
+ }
184823
+ ],
184824
+ "returns": {
184825
+ "type": {
184826
+ "fqn": "terraconstructs.aws.iam.Grant"
184827
+ }
184828
+ }
184829
+ },
184830
+ {
184831
+ "docs": {
184832
+ "stability": "stable",
184833
+ "summary": "Grant topic subscribing permissions to the given identity."
184834
+ },
184835
+ "locationInModule": {
184836
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184837
+ "line": 91
184838
+ },
184839
+ "name": "subscribe",
184840
+ "parameters": [
184841
+ {
184842
+ "name": "grantee",
184843
+ "type": {
184844
+ "fqn": "terraconstructs.aws.iam.IGrantable"
184845
+ }
184846
+ }
184847
+ ],
184848
+ "returns": {
184849
+ "type": {
184850
+ "fqn": "terraconstructs.aws.iam.Grant"
184851
+ }
184852
+ }
184853
+ }
184854
+ ],
184855
+ "name": "TopicGrants",
184856
+ "namespace": "aws.notify",
184857
+ "properties": [
184858
+ {
184859
+ "docs": {
184860
+ "stability": "stable"
184861
+ },
184862
+ "immutable": true,
184863
+ "locationInModule": {
184864
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184865
+ "line": 48
184866
+ },
184867
+ "name": "resource",
184868
+ "type": {
184869
+ "fqn": "terraconstructs.aws.notify.ITopic"
184870
+ }
184871
+ }
184872
+ ],
184873
+ "symbolId": "src/aws/notify/sns-grants.generated:TopicGrants"
184874
+ },
184875
+ "terraconstructs.aws.notify.TopicGrantsProps": {
184876
+ "assembly": "terraconstructs",
184877
+ "datatype": true,
184878
+ "docs": {
184879
+ "stability": "stable"
184880
+ },
184881
+ "fqn": "terraconstructs.aws.notify.TopicGrantsProps",
184882
+ "kind": "interface",
184883
+ "locationInModule": {
184884
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184885
+ "line": 5
184886
+ },
184887
+ "name": "TopicGrantsProps",
184888
+ "namespace": "aws.notify",
184889
+ "properties": [
184890
+ {
184891
+ "abstract": true,
184892
+ "docs": {
184893
+ "stability": "stable",
184894
+ "summary": "The SQS topic interface (ITopic) this helper will operate on."
184895
+ },
184896
+ "immutable": true,
184897
+ "locationInModule": {
184898
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184899
+ "line": 9
184900
+ },
184901
+ "name": "resource",
184902
+ "type": {
184903
+ "fqn": "terraconstructs.aws.notify.ITopic"
184904
+ }
184905
+ },
184906
+ {
184907
+ "abstract": true,
184908
+ "docs": {
184909
+ "remarks": "Typically present if the resource implements iam.IEncryptedResource.",
184910
+ "stability": "stable",
184911
+ "summary": "If the topic is an encrypted resource, provides access to grant KMS key permissions."
184912
+ },
184913
+ "immutable": true,
184914
+ "locationInModule": {
184915
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184916
+ "line": 15
184917
+ },
184918
+ "name": "encryptedResource",
184919
+ "optional": true,
184920
+ "type": {
184921
+ "fqn": "terraconstructs.aws.iam.IEncryptedResource"
184922
+ }
184923
+ },
184924
+ {
184925
+ "abstract": true,
184926
+ "docs": {
184927
+ "remarks": "Typically present if the resource implements iam.IResourceWithPolicy.",
184928
+ "stability": "stable",
184929
+ "summary": "If the topic supports a resource policy, this enables addToPrincipalOrResource grants."
184930
+ },
184931
+ "immutable": true,
184932
+ "locationInModule": {
184933
+ "filename": "src/aws/notify/sns-grants.generated.ts",
184934
+ "line": 21
184935
+ },
184936
+ "name": "policyResource",
184937
+ "optional": true,
184938
+ "type": {
184939
+ "fqn": "terraconstructs.aws.iam.IAwsConstructWithPolicy"
184940
+ }
184941
+ }
184942
+ ],
184943
+ "symbolId": "src/aws/notify/sns-grants.generated:TopicGrantsProps"
184944
+ },
184667
184945
  "terraconstructs.aws.notify.TopicOutputs": {
184668
184946
  "assembly": "terraconstructs",
184669
184947
  "datatype": true,
@@ -184675,7 +184953,7 @@
184675
184953
  "kind": "interface",
184676
184954
  "locationInModule": {
184677
184955
  "filename": "src/aws/notify/topic-base.ts",
184678
- "line": 25
184956
+ "line": 26
184679
184957
  },
184680
184958
  "name": "TopicOutputs",
184681
184959
  "namespace": "aws.notify",
@@ -184692,7 +184970,7 @@
184692
184970
  "immutable": true,
184693
184971
  "locationInModule": {
184694
184972
  "filename": "src/aws/notify/topic-base.ts",
184695
- "line": 31
184973
+ "line": 32
184696
184974
  },
184697
184975
  "name": "topicArn",
184698
184976
  "type": {
@@ -184711,7 +184989,7 @@
184711
184989
  "immutable": true,
184712
184990
  "locationInModule": {
184713
184991
  "filename": "src/aws/notify/topic-base.ts",
184714
- "line": 38
184992
+ "line": 39
184715
184993
  },
184716
184994
  "name": "topicName",
184717
184995
  "type": {
@@ -184936,7 +185214,7 @@
184936
185214
  "kind": "interface",
184937
185215
  "locationInModule": {
184938
185216
  "filename": "src/aws/notify/topic.ts",
184939
- "line": 16
185217
+ "line": 17
184940
185218
  },
184941
185219
  "name": "TopicProps",
184942
185220
  "namespace": "aws.notify",
@@ -184951,7 +185229,7 @@
184951
185229
  "immutable": true,
184952
185230
  "locationInModule": {
184953
185231
  "filename": "src/aws/notify/topic.ts",
184954
- "line": 50
185232
+ "line": 51
184955
185233
  },
184956
185234
  "name": "contentBasedDeduplication",
184957
185235
  "optional": true,
@@ -184970,7 +185248,7 @@
184970
185248
  "immutable": true,
184971
185249
  "locationInModule": {
184972
185250
  "filename": "src/aws/notify/topic.ts",
184973
- "line": 25
185251
+ "line": 26
184974
185252
  },
184975
185253
  "name": "displayName",
184976
185254
  "optional": true,
@@ -184989,7 +185267,7 @@
184989
185267
  "immutable": true,
184990
185268
  "locationInModule": {
184991
185269
  "filename": "src/aws/notify/topic.ts",
184992
- "line": 86
185270
+ "line": 87
184993
185271
  },
184994
185272
  "name": "enforceSSL",
184995
185273
  "optional": true,
@@ -185007,7 +185285,7 @@
185007
185285
  "immutable": true,
185008
185286
  "locationInModule": {
185009
185287
  "filename": "src/aws/notify/topic.ts",
185010
- "line": 57
185288
+ "line": 58
185011
185289
  },
185012
185290
  "name": "fifo",
185013
185291
  "optional": true,
@@ -185015,6 +185293,25 @@
185015
185293
  "primitive": "boolean"
185016
185294
  }
185017
185295
  },
185296
+ {
185297
+ "abstract": true,
185298
+ "docs": {
185299
+ "default": "undefined - SNS default setting is FifoThroughputScope.TOPIC",
185300
+ "remarks": "You can only set this property when `fifo` is `true`.",
185301
+ "stability": "stable",
185302
+ "summary": "Specifies the throughput quota and deduplication behavior to apply for the FIFO topic."
185303
+ },
185304
+ "immutable": true,
185305
+ "locationInModule": {
185306
+ "filename": "src/aws/notify/topic.ts",
185307
+ "line": 115
185308
+ },
185309
+ "name": "fifoThroughputScope",
185310
+ "optional": true,
185311
+ "type": {
185312
+ "fqn": "terraconstructs.aws.notify.FifoThroughputScope"
185313
+ }
185314
+ },
185018
185315
  {
185019
185316
  "abstract": true,
185020
185317
  "docs": {
@@ -185026,7 +185323,7 @@
185026
185323
  "immutable": true,
185027
185324
  "locationInModule": {
185028
185325
  "filename": "src/aws/notify/topic.ts",
185029
- "line": 66
185326
+ "line": 67
185030
185327
  },
185031
185328
  "name": "loggingConfigs",
185032
185329
  "optional": true,
@@ -185049,7 +185346,7 @@
185049
185346
  "immutable": true,
185050
185347
  "locationInModule": {
185051
185348
  "filename": "src/aws/notify/topic.ts",
185052
- "line": 43
185349
+ "line": 44
185053
185350
  },
185054
185351
  "name": "masterKey",
185055
185352
  "optional": true,
@@ -185069,7 +185366,7 @@
185069
185366
  "immutable": true,
185070
185367
  "locationInModule": {
185071
185368
  "filename": "src/aws/notify/topic.ts",
185072
- "line": 77
185369
+ "line": 78
185073
185370
  },
185074
185371
  "name": "messageRetentionPeriodInDays",
185075
185372
  "optional": true,
@@ -185088,7 +185385,7 @@
185088
185385
  "immutable": true,
185089
185386
  "locationInModule": {
185090
185387
  "filename": "src/aws/notify/topic.ts",
185091
- "line": 96
185388
+ "line": 97
185092
185389
  },
185093
185390
  "name": "signatureVersion",
185094
185391
  "optional": true,
@@ -185107,7 +185404,7 @@
185107
185404
  "immutable": true,
185108
185405
  "locationInModule": {
185109
185406
  "filename": "src/aws/notify/topic.ts",
185110
- "line": 36
185407
+ "line": 37
185111
185408
  },
185112
185409
  "name": "topicName",
185113
185410
  "optional": true,
@@ -185126,7 +185423,7 @@
185126
185423
  "immutable": true,
185127
185424
  "locationInModule": {
185128
185425
  "filename": "src/aws/notify/topic.ts",
185129
- "line": 105
185426
+ "line": 106
185130
185427
  },
185131
185428
  "name": "tracingConfig",
185132
185429
  "optional": true,
@@ -185224,7 +185521,7 @@
185224
185521
  "kind": "enum",
185225
185522
  "locationInModule": {
185226
185523
  "filename": "src/aws/notify/topic.ts",
185227
- "line": 206
185524
+ "line": 205
185228
185525
  },
185229
185526
  "members": [
185230
185527
  {
@@ -186851,7 +187148,7 @@
186851
187148
  "kind": "enum",
186852
187149
  "locationInModule": {
186853
187150
  "filename": "src/aws/storage/table.ts",
186854
- "line": 251
187151
+ "line": 264
186855
187152
  },
186856
187153
  "members": [
186857
187154
  {
@@ -186884,7 +187181,7 @@
186884
187181
  "kind": "interface",
186885
187182
  "locationInModule": {
186886
187183
  "filename": "src/aws/storage/shared.ts",
186887
- "line": 78
187184
+ "line": 80
186888
187185
  },
186889
187186
  "name": "Attribute",
186890
187187
  "namespace": "aws.storage",
@@ -186898,7 +187195,7 @@
186898
187195
  "immutable": true,
186899
187196
  "locationInModule": {
186900
187197
  "filename": "src/aws/storage/shared.ts",
186901
- "line": 82
187198
+ "line": 84
186902
187199
  },
186903
187200
  "name": "name",
186904
187201
  "type": {
@@ -186914,7 +187211,7 @@
186914
187211
  "immutable": true,
186915
187212
  "locationInModule": {
186916
187213
  "filename": "src/aws/storage/shared.ts",
186917
- "line": 87
187214
+ "line": 89
186918
187215
  },
186919
187216
  "name": "type",
186920
187217
  "type": {
@@ -190373,6 +190670,93 @@
190373
190670
  ],
190374
190671
  "symbolId": "src/aws/storage/parameter:CommonStringParameterAttributes"
190375
190672
  },
190673
+ "terraconstructs.aws.storage.ContributorInsightsMode": {
190674
+ "assembly": "terraconstructs",
190675
+ "docs": {
190676
+ "see": "https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-dynamodb-table-contributorinsightsspecification.html",
190677
+ "stability": "stable",
190678
+ "summary": "DynamoDB's Contributor Insights Mode."
190679
+ },
190680
+ "fqn": "terraconstructs.aws.storage.ContributorInsightsMode",
190681
+ "kind": "enum",
190682
+ "locationInModule": {
190683
+ "filename": "src/aws/storage/shared.ts",
190684
+ "line": 169
190685
+ },
190686
+ "members": [
190687
+ {
190688
+ "docs": {
190689
+ "stability": "stable",
190690
+ "summary": "Emits metrics for all read and write requests, whether successful or throttled."
190691
+ },
190692
+ "name": "ACCESSED_AND_THROTTLED_KEYS"
190693
+ },
190694
+ {
190695
+ "docs": {
190696
+ "stability": "stable",
190697
+ "summary": "Emits metrics for read and write requests that were throttled."
190698
+ },
190699
+ "name": "THROTTLED_KEYS"
190700
+ }
190701
+ ],
190702
+ "name": "ContributorInsightsMode",
190703
+ "namespace": "aws.storage",
190704
+ "symbolId": "src/aws/storage/shared:ContributorInsightsMode"
190705
+ },
190706
+ "terraconstructs.aws.storage.ContributorInsightsSpecification": {
190707
+ "assembly": "terraconstructs",
190708
+ "datatype": true,
190709
+ "docs": {
190710
+ "stability": "stable",
190711
+ "summary": "Reference to ContributorInsightsSpecification."
190712
+ },
190713
+ "fqn": "terraconstructs.aws.storage.ContributorInsightsSpecification",
190714
+ "kind": "interface",
190715
+ "locationInModule": {
190716
+ "filename": "src/aws/storage/shared.ts",
190717
+ "line": 184
190718
+ },
190719
+ "name": "ContributorInsightsSpecification",
190720
+ "namespace": "aws.storage",
190721
+ "properties": [
190722
+ {
190723
+ "abstract": true,
190724
+ "docs": {
190725
+ "default": "false",
190726
+ "stability": "stable",
190727
+ "summary": "Indicates whether contributor insights is enabled."
190728
+ },
190729
+ "immutable": true,
190730
+ "locationInModule": {
190731
+ "filename": "src/aws/storage/shared.ts",
190732
+ "line": 189
190733
+ },
190734
+ "name": "enabled",
190735
+ "type": {
190736
+ "primitive": "boolean"
190737
+ }
190738
+ },
190739
+ {
190740
+ "abstract": true,
190741
+ "docs": {
190742
+ "default": "ACCESSED_AND_THROTTLED_KEYS",
190743
+ "stability": "stable",
190744
+ "summary": "Indicates the type of metrics captured by contributor insights."
190745
+ },
190746
+ "immutable": true,
190747
+ "locationInModule": {
190748
+ "filename": "src/aws/storage/shared.ts",
190749
+ "line": 194
190750
+ },
190751
+ "name": "mode",
190752
+ "optional": true,
190753
+ "type": {
190754
+ "fqn": "terraconstructs.aws.storage.ContributorInsightsMode"
190755
+ }
190756
+ }
190757
+ ],
190758
+ "symbolId": "src/aws/storage/shared:ContributorInsightsSpecification"
190759
+ },
190376
190760
  "terraconstructs.aws.storage.CorsConfig": {
190377
190761
  "assembly": "terraconstructs",
190378
190762
  "datatype": true,
@@ -190777,7 +191161,7 @@
190777
191161
  "kind": "interface",
190778
191162
  "locationInModule": {
190779
191163
  "filename": "src/aws/storage/table.ts",
190780
- "line": 90
191164
+ "line": 92
190781
191165
  },
190782
191166
  "name": "CsvOptions",
190783
191167
  "namespace": "aws.storage",
@@ -190793,7 +191177,7 @@
190793
191177
  "immutable": true,
190794
191178
  "locationInModule": {
190795
191179
  "filename": "src/aws/storage/table.ts",
190796
- "line": 104
191180
+ "line": 106
190797
191181
  },
190798
191182
  "name": "delimiter",
190799
191183
  "optional": true,
@@ -190812,7 +191196,7 @@
190812
191196
  "immutable": true,
190813
191197
  "locationInModule": {
190814
191198
  "filename": "src/aws/storage/table.ts",
190815
- "line": 114
191199
+ "line": 116
190816
191200
  },
190817
191201
  "name": "headerList",
190818
191202
  "optional": true,
@@ -190838,7 +191222,7 @@
190838
191222
  "kind": "interface",
190839
191223
  "locationInModule": {
190840
191224
  "filename": "src/aws/storage/table.ts",
190841
- "line": 263
191225
+ "line": 293
190842
191226
  },
190843
191227
  "name": "DynamodbTableReplica",
190844
191228
  "namespace": "aws.storage",
@@ -190852,7 +191236,7 @@
190852
191236
  "immutable": true,
190853
191237
  "locationInModule": {
190854
191238
  "filename": "src/aws/storage/table.ts",
190855
- "line": 271
191239
+ "line": 301
190856
191240
  },
190857
191241
  "name": "regionName",
190858
191242
  "type": {
@@ -190869,7 +191253,7 @@
190869
191253
  "immutable": true,
190870
191254
  "locationInModule": {
190871
191255
  "filename": "src/aws/storage/table.ts",
190872
- "line": 265
191256
+ "line": 295
190873
191257
  },
190874
191258
  "name": "encryptionKey",
190875
191259
  "optional": true,
@@ -190887,7 +191271,7 @@
190887
191271
  "immutable": true,
190888
191272
  "locationInModule": {
190889
191273
  "filename": "src/aws/storage/table.ts",
190890
- "line": 267
191274
+ "line": 297
190891
191275
  },
190892
191276
  "name": "pointInTimeRecovery",
190893
191277
  "optional": true,
@@ -190905,7 +191289,7 @@
190905
191289
  "immutable": true,
190906
191290
  "locationInModule": {
190907
191291
  "filename": "src/aws/storage/table.ts",
190908
- "line": 269
191292
+ "line": 299
190909
191293
  },
190910
191294
  "name": "propagateTags",
190911
191295
  "optional": true,
@@ -191191,7 +191575,7 @@
191191
191575
  "kind": "interface",
191192
191576
  "locationInModule": {
191193
191577
  "filename": "src/aws/storage/table.ts",
191194
- "line": 468
191578
+ "line": 510
191195
191579
  },
191196
191580
  "name": "GlobalSecondaryIndexProps",
191197
191581
  "namespace": "aws.storage",
@@ -191199,19 +191583,19 @@
191199
191583
  {
191200
191584
  "abstract": true,
191201
191585
  "docs": {
191202
- "default": "false",
191586
+ "default": "- contributor insights is not enabled",
191203
191587
  "stability": "stable",
191204
- "summary": "Whether CloudWatch contributor insights is enabled for the specified global secondary index."
191588
+ "summary": "Whether CloudWatch contributor insights is enabled and what mode is selected."
191205
191589
  },
191206
191590
  "immutable": true,
191207
191591
  "locationInModule": {
191208
191592
  "filename": "src/aws/storage/table.ts",
191209
- "line": 515
191593
+ "line": 560
191210
191594
  },
191211
- "name": "contributorInsightsEnabled",
191595
+ "name": "contributorInsightsSpecification",
191212
191596
  "optional": true,
191213
191597
  "type": {
191214
- "primitive": "boolean"
191598
+ "fqn": "terraconstructs.aws.storage.ContributorInsightsSpecification"
191215
191599
  }
191216
191600
  },
191217
191601
  {
@@ -191225,7 +191609,7 @@
191225
191609
  "immutable": true,
191226
191610
  "locationInModule": {
191227
191611
  "filename": "src/aws/storage/table.ts",
191228
- "line": 496
191612
+ "line": 538
191229
191613
  },
191230
191614
  "name": "maxReadRequestUnits",
191231
191615
  "optional": true,
@@ -191244,7 +191628,7 @@
191244
191628
  "immutable": true,
191245
191629
  "locationInModule": {
191246
191630
  "filename": "src/aws/storage/table.ts",
191247
- "line": 505
191631
+ "line": 547
191248
191632
  },
191249
191633
  "name": "maxWriteRequestUnits",
191250
191634
  "optional": true,
@@ -191263,7 +191647,7 @@
191263
191647
  "immutable": true,
191264
191648
  "locationInModule": {
191265
191649
  "filename": "src/aws/storage/table.ts",
191266
- "line": 478
191650
+ "line": 520
191267
191651
  },
191268
191652
  "name": "readCapacity",
191269
191653
  "optional": true,
@@ -191271,6 +191655,24 @@
191271
191655
  "primitive": "number"
191272
191656
  }
191273
191657
  },
191658
+ {
191659
+ "abstract": true,
191660
+ "docs": {
191661
+ "default": "- no warm throughput is configured",
191662
+ "stability": "stable",
191663
+ "summary": "The warm throughput configuration for the global secondary index."
191664
+ },
191665
+ "immutable": true,
191666
+ "locationInModule": {
191667
+ "filename": "src/aws/storage/table.ts",
191668
+ "line": 554
191669
+ },
191670
+ "name": "warmThroughput",
191671
+ "optional": true,
191672
+ "type": {
191673
+ "fqn": "terraconstructs.aws.storage.WarmThroughput"
191674
+ }
191675
+ },
191274
191676
  {
191275
191677
  "abstract": true,
191276
191678
  "docs": {
@@ -191282,7 +191684,7 @@
191282
191684
  "immutable": true,
191283
191685
  "locationInModule": {
191284
191686
  "filename": "src/aws/storage/table.ts",
191285
- "line": 487
191687
+ "line": 529
191286
191688
  },
191287
191689
  "name": "writeCapacity",
191288
191690
  "optional": true,
@@ -192988,7 +193390,7 @@
192988
193390
  "kind": "interface",
192989
193391
  "locationInModule": {
192990
193392
  "filename": "src/aws/storage/shared.ts",
192991
- "line": 296
193393
+ "line": 328
192992
193394
  },
192993
193395
  "methods": [
192994
193396
  {
@@ -193000,7 +193402,7 @@
193000
193402
  },
193001
193403
  "locationInModule": {
193002
193404
  "filename": "src/aws/storage/shared.ts",
193003
- "line": 334
193405
+ "line": 366
193004
193406
  },
193005
193407
  "name": "grant",
193006
193408
  "parameters": [
@@ -193040,7 +193442,7 @@
193040
193442
  },
193041
193443
  "locationInModule": {
193042
193444
  "filename": "src/aws/storage/shared.ts",
193043
- "line": 409
193445
+ "line": 441
193044
193446
  },
193045
193447
  "name": "grantFullAccess",
193046
193448
  "parameters": [
@@ -193069,7 +193471,7 @@
193069
193471
  },
193070
193472
  "locationInModule": {
193071
193473
  "filename": "src/aws/storage/shared.ts",
193072
- "line": 357
193474
+ "line": 389
193073
193475
  },
193074
193476
  "name": "grantReadData",
193075
193477
  "parameters": [
@@ -193098,7 +193500,7 @@
193098
193500
  },
193099
193501
  "locationInModule": {
193100
193502
  "filename": "src/aws/storage/shared.ts",
193101
- "line": 399
193503
+ "line": 431
193102
193504
  },
193103
193505
  "name": "grantReadWriteData",
193104
193506
  "parameters": [
@@ -193127,7 +193529,7 @@
193127
193529
  },
193128
193530
  "locationInModule": {
193129
193531
  "filename": "src/aws/storage/shared.ts",
193130
- "line": 346
193532
+ "line": 378
193131
193533
  },
193132
193534
  "name": "grantStream",
193133
193535
  "parameters": [
@@ -193167,7 +193569,7 @@
193167
193569
  },
193168
193570
  "locationInModule": {
193169
193571
  "filename": "src/aws/storage/shared.ts",
193170
- "line": 376
193572
+ "line": 408
193171
193573
  },
193172
193574
  "name": "grantStreamRead",
193173
193575
  "parameters": [
@@ -193195,7 +193597,7 @@
193195
193597
  },
193196
193598
  "locationInModule": {
193197
193599
  "filename": "src/aws/storage/shared.ts",
193198
- "line": 364
193600
+ "line": 396
193199
193601
  },
193200
193602
  "name": "grantTableListStreams",
193201
193603
  "parameters": [
@@ -193224,7 +193626,7 @@
193224
193626
  },
193225
193627
  "locationInModule": {
193226
193628
  "filename": "src/aws/storage/shared.ts",
193227
- "line": 387
193629
+ "line": 419
193228
193630
  },
193229
193631
  "name": "grantWriteData",
193230
193632
  "parameters": [
@@ -193252,7 +193654,7 @@
193252
193654
  },
193253
193655
  "locationInModule": {
193254
193656
  "filename": "src/aws/storage/shared.ts",
193255
- "line": 414
193657
+ "line": 446
193256
193658
  },
193257
193659
  "name": "metric",
193258
193660
  "parameters": [
@@ -193284,7 +193686,7 @@
193284
193686
  },
193285
193687
  "locationInModule": {
193286
193688
  "filename": "src/aws/storage/shared.ts",
193287
- "line": 468
193689
+ "line": 500
193288
193690
  },
193289
193691
  "name": "metricConditionalCheckFailedRequests",
193290
193692
  "parameters": [
@@ -193313,7 +193715,7 @@
193313
193715
  },
193314
193716
  "locationInModule": {
193315
193717
  "filename": "src/aws/storage/shared.ts",
193316
- "line": 424
193718
+ "line": 456
193317
193719
  },
193318
193720
  "name": "metricConsumedReadCapacityUnits",
193319
193721
  "parameters": [
@@ -193342,7 +193744,7 @@
193342
193744
  },
193343
193745
  "locationInModule": {
193344
193746
  "filename": "src/aws/storage/shared.ts",
193345
- "line": 433
193747
+ "line": 465
193346
193748
  },
193347
193749
  "name": "metricConsumedWriteCapacityUnits",
193348
193750
  "parameters": [
@@ -193371,7 +193773,7 @@
193371
193773
  },
193372
193774
  "locationInModule": {
193373
193775
  "filename": "src/aws/storage/shared.ts",
193374
- "line": 497
193776
+ "line": 529
193375
193777
  },
193376
193778
  "name": "metricSuccessfulRequestLatency",
193377
193779
  "parameters": [
@@ -193401,7 +193803,7 @@
193401
193803
  },
193402
193804
  "locationInModule": {
193403
193805
  "filename": "src/aws/storage/shared.ts",
193404
- "line": 444
193806
+ "line": 476
193405
193807
  },
193406
193808
  "name": "metricSystemErrors",
193407
193809
  "parameters": [
@@ -193430,7 +193832,7 @@
193430
193832
  },
193431
193833
  "locationInModule": {
193432
193834
  "filename": "src/aws/storage/shared.ts",
193433
- "line": 452
193835
+ "line": 484
193434
193836
  },
193435
193837
  "name": "metricSystemErrorsForOperations",
193436
193838
  "parameters": [
@@ -193460,7 +193862,7 @@
193460
193862
  },
193461
193863
  "locationInModule": {
193462
193864
  "filename": "src/aws/storage/shared.ts",
193463
- "line": 479
193865
+ "line": 511
193464
193866
  },
193465
193867
  "name": "metricThrottledRequests",
193466
193868
  "parameters": [
@@ -193489,7 +193891,7 @@
193489
193891
  },
193490
193892
  "locationInModule": {
193491
193893
  "filename": "src/aws/storage/shared.ts",
193492
- "line": 487
193894
+ "line": 519
193493
193895
  },
193494
193896
  "name": "metricThrottledRequestsForOperations",
193495
193897
  "parameters": [
@@ -193518,7 +193920,7 @@
193518
193920
  },
193519
193921
  "locationInModule": {
193520
193922
  "filename": "src/aws/storage/shared.ts",
193521
- "line": 461
193923
+ "line": 493
193522
193924
  },
193523
193925
  "name": "metricUserErrors",
193524
193926
  "parameters": [
@@ -193555,7 +193957,7 @@
193555
193957
  "immutable": true,
193556
193958
  "locationInModule": {
193557
193959
  "filename": "src/aws/storage/shared.ts",
193558
- "line": 302
193960
+ "line": 334
193559
193961
  },
193560
193962
  "name": "tableArn",
193561
193963
  "type": {
@@ -193574,7 +193976,7 @@
193574
193976
  "immutable": true,
193575
193977
  "locationInModule": {
193576
193978
  "filename": "src/aws/storage/shared.ts",
193577
- "line": 309
193979
+ "line": 341
193578
193980
  },
193579
193981
  "name": "tableName",
193580
193982
  "type": {
@@ -193590,7 +193992,7 @@
193590
193992
  "immutable": true,
193591
193993
  "locationInModule": {
193592
193994
  "filename": "src/aws/storage/shared.ts",
193593
- "line": 322
193995
+ "line": 354
193594
193996
  },
193595
193997
  "name": "encryptionKey",
193596
193998
  "optional": true,
@@ -193610,7 +194012,7 @@
193610
194012
  "immutable": true,
193611
194013
  "locationInModule": {
193612
194014
  "filename": "src/aws/storage/shared.ts",
193613
- "line": 316
194015
+ "line": 348
193614
194016
  },
193615
194017
  "name": "tableStreamArn",
193616
194018
  "optional": true,
@@ -193632,7 +194034,7 @@
193632
194034
  "kind": "interface",
193633
194035
  "locationInModule": {
193634
194036
  "filename": "src/aws/storage/table.ts",
193635
- "line": 213
194037
+ "line": 226
193636
194038
  },
193637
194039
  "name": "ImportSourceSpecification",
193638
194040
  "namespace": "aws.storage",
@@ -193646,7 +194048,7 @@
193646
194048
  "immutable": true,
193647
194049
  "locationInModule": {
193648
194050
  "filename": "src/aws/storage/table.ts",
193649
- "line": 229
194051
+ "line": 242
193650
194052
  },
193651
194053
  "name": "bucket",
193652
194054
  "type": {
@@ -193662,7 +194064,7 @@
193662
194064
  "immutable": true,
193663
194065
  "locationInModule": {
193664
194066
  "filename": "src/aws/storage/table.ts",
193665
- "line": 224
194067
+ "line": 237
193666
194068
  },
193667
194069
  "name": "inputFormat",
193668
194070
  "type": {
@@ -193679,7 +194081,7 @@
193679
194081
  "immutable": true,
193680
194082
  "locationInModule": {
193681
194083
  "filename": "src/aws/storage/table.ts",
193682
- "line": 236
194084
+ "line": 249
193683
194085
  },
193684
194086
  "name": "bucketOwner",
193685
194087
  "optional": true,
@@ -193697,7 +194099,7 @@
193697
194099
  "immutable": true,
193698
194100
  "locationInModule": {
193699
194101
  "filename": "src/aws/storage/table.ts",
193700
- "line": 219
194102
+ "line": 232
193701
194103
  },
193702
194104
  "name": "compressionType",
193703
194105
  "optional": true,
@@ -193715,7 +194117,7 @@
193715
194117
  "immutable": true,
193716
194118
  "locationInModule": {
193717
194119
  "filename": "src/aws/storage/table.ts",
193718
- "line": 243
194120
+ "line": 256
193719
194121
  },
193720
194122
  "name": "keyPrefix",
193721
194123
  "optional": true,
@@ -193736,7 +194138,7 @@
193736
194138
  "kind": "enum",
193737
194139
  "locationInModule": {
193738
194140
  "filename": "src/aws/storage/table.ts",
193739
- "line": 70
194141
+ "line": 72
193740
194142
  },
193741
194143
  "members": [
193742
194144
  {
@@ -193781,7 +194183,7 @@
193781
194183
  "kind": "class",
193782
194184
  "locationInModule": {
193783
194185
  "filename": "src/aws/storage/table.ts",
193784
- "line": 120
194186
+ "line": 122
193785
194187
  },
193786
194188
  "methods": [
193787
194189
  {
@@ -193791,7 +194193,7 @@
193791
194193
  },
193792
194194
  "locationInModule": {
193793
194195
  "filename": "src/aws/storage/table.ts",
193794
- "line": 156
194196
+ "line": 158
193795
194197
  },
193796
194198
  "name": "csv",
193797
194199
  "parameters": [
@@ -193817,7 +194219,7 @@
193817
194219
  },
193818
194220
  "locationInModule": {
193819
194221
  "filename": "src/aws/storage/table.ts",
193820
- "line": 124
194222
+ "line": 126
193821
194223
  },
193822
194224
  "name": "dynamoDBJson",
193823
194225
  "returns": {
@@ -193834,7 +194236,7 @@
193834
194236
  },
193835
194237
  "locationInModule": {
193836
194238
  "filename": "src/aws/storage/table.ts",
193837
- "line": 140
194239
+ "line": 142
193838
194240
  },
193839
194241
  "name": "ion",
193840
194242
  "returns": {
@@ -194326,7 +194728,7 @@
194326
194728
  "kind": "interface",
194327
194729
  "locationInModule": {
194328
194730
  "filename": "src/aws/storage/shared.ts",
194329
- "line": 286
194731
+ "line": 318
194330
194732
  },
194331
194733
  "name": "LocalSecondaryIndexProps",
194332
194734
  "namespace": "aws.storage",
@@ -194340,7 +194742,7 @@
194340
194742
  "immutable": true,
194341
194743
  "locationInModule": {
194342
194744
  "filename": "src/aws/storage/shared.ts",
194343
- "line": 290
194745
+ "line": 322
194344
194746
  },
194345
194747
  "name": "sortKey",
194346
194748
  "type": {
@@ -194607,7 +195009,7 @@
194607
195009
  "kind": "enum",
194608
195010
  "locationInModule": {
194609
195011
  "filename": "src/aws/storage/shared.ts",
194610
- "line": 11
195012
+ "line": 13
194611
195013
  },
194612
195014
  "members": [
194613
195015
  {
@@ -194727,7 +195129,7 @@
194727
195129
  "kind": "interface",
194728
195130
  "locationInModule": {
194729
195131
  "filename": "src/aws/storage/shared.ts",
194730
- "line": 71
195132
+ "line": 73
194731
195133
  },
194732
195134
  "name": "OperationsMetricOptions",
194733
195135
  "namespace": "aws.storage",
@@ -195388,7 +195790,7 @@
195388
195790
  "kind": "interface",
195389
195791
  "locationInModule": {
195390
195792
  "filename": "src/aws/storage/shared.ts",
195391
- "line": 110
195793
+ "line": 112
195392
195794
  },
195393
195795
  "name": "PointInTimeRecoverySpecification",
195394
195796
  "namespace": "aws.storage",
@@ -195403,7 +195805,7 @@
195403
195805
  "immutable": true,
195404
195806
  "locationInModule": {
195405
195807
  "filename": "src/aws/storage/shared.ts",
195406
- "line": 115
195808
+ "line": 117
195407
195809
  },
195408
195810
  "name": "pointInTimeRecoveryEnabled",
195409
195811
  "type": {
@@ -195414,7 +195816,7 @@
195414
195816
  "abstract": true,
195415
195817
  "docs": {
195416
195818
  "default": "35",
195417
- "remarks": "Your table data is only recoverable to any point-in-time from within the configured recovery period.\nIf no value is provided, the value will default to 35.\n\nNOTE: Unused pending upgrade to v5.98.0 of the AWS Provider for Terraform.",
195819
+ "remarks": "Your table data is only recoverable to any point-in-time from within the configured recovery period.\nIf no value is provided, the value will default to 35.",
195418
195820
  "stability": "stable",
195419
195821
  "summary": "The number of preceding days for which continuous backups are taken and maintained."
195420
195822
  },
@@ -195443,7 +195845,7 @@
195443
195845
  "kind": "enum",
195444
195846
  "locationInModule": {
195445
195847
  "filename": "src/aws/storage/shared.ts",
195446
- "line": 170
195848
+ "line": 202
195447
195849
  },
195448
195850
  "members": [
195449
195851
  {
@@ -196934,7 +197336,7 @@
196934
197336
  "kind": "interface",
196935
197337
  "locationInModule": {
196936
197338
  "filename": "src/aws/storage/table.ts",
196937
- "line": 53
197339
+ "line": 55
196938
197340
  },
196939
197341
  "name": "SchemaOptions",
196940
197342
  "namespace": "aws.storage",
@@ -196948,7 +197350,7 @@
196948
197350
  "immutable": true,
196949
197351
  "locationInModule": {
196950
197352
  "filename": "src/aws/storage/table.ts",
196951
- "line": 57
197353
+ "line": 59
196952
197354
  },
196953
197355
  "name": "partitionKey",
196954
197356
  "type": {
@@ -196965,7 +197367,7 @@
196965
197367
  "immutable": true,
196966
197368
  "locationInModule": {
196967
197369
  "filename": "src/aws/storage/table.ts",
196968
- "line": 64
197370
+ "line": 66
196969
197371
  },
196970
197372
  "name": "sortKey",
196971
197373
  "optional": true,
@@ -196987,7 +197389,7 @@
196987
197389
  "kind": "interface",
196988
197390
  "locationInModule": {
196989
197391
  "filename": "src/aws/storage/shared.ts",
196990
- "line": 264
197392
+ "line": 296
196991
197393
  },
196992
197394
  "name": "SecondaryIndexProps",
196993
197395
  "namespace": "aws.storage",
@@ -197001,7 +197403,7 @@
197001
197403
  "immutable": true,
197002
197404
  "locationInModule": {
197003
197405
  "filename": "src/aws/storage/shared.ts",
197004
- "line": 268
197406
+ "line": 300
197005
197407
  },
197006
197408
  "name": "indexName",
197007
197409
  "type": {
@@ -197018,7 +197420,7 @@
197018
197420
  "immutable": true,
197019
197421
  "locationInModule": {
197020
197422
  "filename": "src/aws/storage/shared.ts",
197021
- "line": 280
197423
+ "line": 312
197022
197424
  },
197023
197425
  "name": "nonKeyAttributes",
197024
197426
  "optional": true,
@@ -197041,7 +197443,7 @@
197041
197443
  "immutable": true,
197042
197444
  "locationInModule": {
197043
197445
  "filename": "src/aws/storage/shared.ts",
197044
- "line": 274
197446
+ "line": 306
197045
197447
  },
197046
197448
  "name": "projectionType",
197047
197449
  "optional": true,
@@ -197176,6 +197578,205 @@
197176
197578
  "namespace": "aws.storage",
197177
197579
  "symbolId": "src/aws/storage/bucket:StorageClass"
197178
197580
  },
197581
+ "terraconstructs.aws.storage.StreamGrants": {
197582
+ "assembly": "terraconstructs",
197583
+ "docs": {
197584
+ "stability": "stable",
197585
+ "summary": "A set of permissions to grant on a Table Stream."
197586
+ },
197587
+ "fqn": "terraconstructs.aws.storage.StreamGrants",
197588
+ "initializer": {
197589
+ "docs": {
197590
+ "stability": "stable"
197591
+ },
197592
+ "locationInModule": {
197593
+ "filename": "src/aws/storage/stream-grants.ts",
197594
+ "line": 40
197595
+ },
197596
+ "parameters": [
197597
+ {
197598
+ "name": "props",
197599
+ "type": {
197600
+ "fqn": "terraconstructs.aws.storage.StreamGrantsProps"
197601
+ }
197602
+ }
197603
+ ]
197604
+ },
197605
+ "kind": "class",
197606
+ "locationInModule": {
197607
+ "filename": "src/aws/storage/stream-grants.ts",
197608
+ "line": 35
197609
+ },
197610
+ "methods": [
197611
+ {
197612
+ "docs": {
197613
+ "remarks": "If `encryptionKey` is present, appropriate grants to the key needs to be added\nseparately using the `table.encryptionKey.grant*` methods.",
197614
+ "stability": "stable",
197615
+ "summary": "Adds an IAM policy statement associated with this table's stream to an IAM principal's policy."
197616
+ },
197617
+ "locationInModule": {
197618
+ "filename": "src/aws/storage/stream-grants.ts",
197619
+ "line": 56
197620
+ },
197621
+ "name": "actions",
197622
+ "parameters": [
197623
+ {
197624
+ "docs": {
197625
+ "summary": "The principal (no-op if undefined)."
197626
+ },
197627
+ "name": "grantee",
197628
+ "type": {
197629
+ "fqn": "terraconstructs.aws.iam.IGrantable"
197630
+ }
197631
+ },
197632
+ {
197633
+ "docs": {
197634
+ "summary": "The set of actions to allow (i.e. \"dynamodb:DescribeStream\", \"dynamodb:GetRecords\", ...)."
197635
+ },
197636
+ "name": "actions",
197637
+ "type": {
197638
+ "primitive": "string"
197639
+ },
197640
+ "variadic": true
197641
+ }
197642
+ ],
197643
+ "returns": {
197644
+ "type": {
197645
+ "fqn": "terraconstructs.aws.iam.Grant"
197646
+ }
197647
+ },
197648
+ "variadic": true
197649
+ },
197650
+ {
197651
+ "docs": {
197652
+ "stability": "stable",
197653
+ "summary": "Permits an IAM Principal to list streams attached to current dynamodb table."
197654
+ },
197655
+ "locationInModule": {
197656
+ "filename": "src/aws/storage/stream-grants.ts",
197657
+ "line": 70
197658
+ },
197659
+ "name": "list",
197660
+ "parameters": [
197661
+ {
197662
+ "docs": {
197663
+ "summary": "The principal (no-op if undefined)."
197664
+ },
197665
+ "name": "grantee",
197666
+ "type": {
197667
+ "fqn": "terraconstructs.aws.iam.IGrantable"
197668
+ }
197669
+ }
197670
+ ],
197671
+ "returns": {
197672
+ "type": {
197673
+ "fqn": "terraconstructs.aws.iam.Grant"
197674
+ }
197675
+ }
197676
+ },
197677
+ {
197678
+ "docs": {
197679
+ "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
197680
+ "stability": "stable",
197681
+ "summary": "Permits an IAM principal all stream data read operations for this table's stream: DescribeStream, GetRecords, GetShardIterator, ListStreams."
197682
+ },
197683
+ "locationInModule": {
197684
+ "filename": "src/aws/storage/stream-grants.ts",
197685
+ "line": 88
197686
+ },
197687
+ "name": "read",
197688
+ "parameters": [
197689
+ {
197690
+ "docs": {
197691
+ "summary": "The principal to grant access to."
197692
+ },
197693
+ "name": "grantee",
197694
+ "type": {
197695
+ "fqn": "terraconstructs.aws.iam.IGrantable"
197696
+ }
197697
+ }
197698
+ ],
197699
+ "returns": {
197700
+ "type": {
197701
+ "fqn": "terraconstructs.aws.iam.Grant"
197702
+ }
197703
+ }
197704
+ }
197705
+ ],
197706
+ "name": "StreamGrants",
197707
+ "namespace": "aws.storage",
197708
+ "symbolId": "src/aws/storage/stream-grants:StreamGrants"
197709
+ },
197710
+ "terraconstructs.aws.storage.StreamGrantsProps": {
197711
+ "assembly": "terraconstructs",
197712
+ "datatype": true,
197713
+ "docs": {
197714
+ "stability": "stable",
197715
+ "summary": "Construction properties for StreamGrants."
197716
+ },
197717
+ "fqn": "terraconstructs.aws.storage.StreamGrantsProps",
197718
+ "kind": "interface",
197719
+ "locationInModule": {
197720
+ "filename": "src/aws/storage/stream-grants.ts",
197721
+ "line": 11
197722
+ },
197723
+ "name": "StreamGrantsProps",
197724
+ "namespace": "aws.storage",
197725
+ "properties": [
197726
+ {
197727
+ "abstract": true,
197728
+ "docs": {
197729
+ "stability": "stable",
197730
+ "summary": "The table this stream is for."
197731
+ },
197732
+ "immutable": true,
197733
+ "locationInModule": {
197734
+ "filename": "src/aws/storage/stream-grants.ts",
197735
+ "line": 15
197736
+ },
197737
+ "name": "table",
197738
+ "type": {
197739
+ "fqn": "terraconstructs.aws.storage.ITable"
197740
+ }
197741
+ },
197742
+ {
197743
+ "abstract": true,
197744
+ "docs": {
197745
+ "stability": "stable",
197746
+ "summary": "The ARN of the Stream."
197747
+ },
197748
+ "immutable": true,
197749
+ "locationInModule": {
197750
+ "filename": "src/aws/storage/stream-grants.ts",
197751
+ "line": 20
197752
+ },
197753
+ "name": "tableStreamArn",
197754
+ "type": {
197755
+ "primitive": "string"
197756
+ }
197757
+ },
197758
+ {
197759
+ "abstract": true,
197760
+ "docs": {
197761
+ "default": "- No key",
197762
+ "remarks": "Required permissions will be added to the key as well.",
197763
+ "stability": "stable",
197764
+ "summary": "The encryption key of the table."
197765
+ },
197766
+ "immutable": true,
197767
+ "locationInModule": {
197768
+ "filename": "src/aws/storage/stream-grants.ts",
197769
+ "line": 29
197770
+ },
197771
+ "name": "encryptionKey",
197772
+ "optional": true,
197773
+ "type": {
197774
+ "fqn": "terraconstructs.aws.encryption.IKey"
197775
+ }
197776
+ }
197777
+ ],
197778
+ "symbolId": "src/aws/storage/stream-grants:StreamGrantsProps"
197779
+ },
197179
197780
  "terraconstructs.aws.storage.StreamViewType": {
197180
197781
  "assembly": "terraconstructs",
197181
197782
  "docs": {
@@ -197187,7 +197788,7 @@
197187
197788
  "kind": "enum",
197188
197789
  "locationInModule": {
197189
197790
  "filename": "src/aws/storage/shared.ts",
197190
- "line": 239
197791
+ "line": 271
197191
197792
  },
197192
197793
  "members": [
197193
197794
  {
@@ -198461,7 +199062,7 @@
198461
199062
  "kind": "interface",
198462
199063
  "locationInModule": {
198463
199064
  "filename": "src/aws/storage/shared.ts",
198464
- "line": 58
199065
+ "line": 60
198465
199066
  },
198466
199067
  "name": "SystemErrorsForOperationsMetricOptions",
198467
199068
  "namespace": "aws.storage",
@@ -198476,7 +199077,7 @@
198476
199077
  "immutable": true,
198477
199078
  "locationInModule": {
198478
199079
  "filename": "src/aws/storage/shared.ts",
198479
- "line": 65
199080
+ "line": 67
198480
199081
  },
198481
199082
  "name": "operations",
198482
199083
  "optional": true,
@@ -198506,7 +199107,7 @@
198506
199107
  },
198507
199108
  "locationInModule": {
198508
199109
  "filename": "src/aws/storage/table.ts",
198509
- "line": 1173
199110
+ "line": 1294
198510
199111
  },
198511
199112
  "parameters": [
198512
199113
  {
@@ -198532,7 +199133,7 @@
198532
199133
  "kind": "class",
198533
199134
  "locationInModule": {
198534
199135
  "filename": "src/aws/storage/table.ts",
198535
- "line": 1011
199136
+ "line": 1118
198536
199137
  },
198537
199138
  "methods": [
198538
199139
  {
@@ -198542,7 +199143,7 @@
198542
199143
  },
198543
199144
  "locationInModule": {
198544
199145
  "filename": "src/aws/storage/table.ts",
198545
- "line": 1047
199146
+ "line": 1154
198546
199147
  },
198547
199148
  "name": "fromTableArn",
198548
199149
  "parameters": [
@@ -198588,7 +199189,7 @@
198588
199189
  },
198589
199190
  "locationInModule": {
198590
199191
  "filename": "src/aws/storage/table.ts",
198591
- "line": 1062
199192
+ "line": 1169
198592
199193
  },
198593
199194
  "name": "fromTableAttributes",
198594
199195
  "parameters": [
@@ -198634,7 +199235,7 @@
198634
199235
  },
198635
199236
  "locationInModule": {
198636
199237
  "filename": "src/aws/storage/table.ts",
198637
- "line": 1032
199238
+ "line": 1139
198638
199239
  },
198639
199240
  "name": "fromTableName",
198640
199241
  "parameters": [
@@ -198681,7 +199282,7 @@
198681
199282
  },
198682
199283
  "locationInModule": {
198683
199284
  "filename": "src/aws/storage/table.ts",
198684
- "line": 1017
199285
+ "line": 1124
198685
199286
  },
198686
199287
  "name": "grantListStreams",
198687
199288
  "parameters": [
@@ -198708,7 +199309,7 @@
198708
199309
  },
198709
199310
  "locationInModule": {
198710
199311
  "filename": "src/aws/storage/table.ts",
198711
- "line": 1356
199312
+ "line": 1509
198712
199313
  },
198713
199314
  "name": "addGlobalSecondaryIndex",
198714
199315
  "parameters": [
@@ -198722,15 +199323,19 @@
198722
199323
  },
198723
199324
  {
198724
199325
  "docs": {
198725
- "stability": "stable"
199326
+ "stability": "stable",
199327
+ "summary": "Add a local secondary index of table."
198726
199328
  },
198727
199329
  "locationInModule": {
198728
199330
  "filename": "src/aws/storage/table.ts",
198729
- "line": 1399
199331
+ "line": 1557
198730
199332
  },
198731
199333
  "name": "addLocalSecondaryIndex",
198732
199334
  "parameters": [
198733
199335
  {
199336
+ "docs": {
199337
+ "summary": "the property of local secondary index."
199338
+ },
198734
199339
  "name": "props",
198735
199340
  "type": {
198736
199341
  "fqn": "terraconstructs.aws.storage.LocalSecondaryIndexProps"
@@ -198740,11 +199345,42 @@
198740
199345
  },
198741
199346
  {
198742
199347
  "docs": {
198743
- "stability": "stable"
199348
+ "remarks": "A resource policy will be automatically created upon the first call to `addToResourcePolicy`.\n\nNote that this does not work with imported tables.",
199349
+ "stability": "stable",
199350
+ "summary": "Adds a statement to the resource policy associated with this table."
199351
+ },
199352
+ "locationInModule": {
199353
+ "filename": "src/aws/storage/table.ts",
199354
+ "line": 1485
199355
+ },
199356
+ "name": "addToResourcePolicy",
199357
+ "overrides": "terraconstructs.aws.storage.TableBase",
199358
+ "parameters": [
199359
+ {
199360
+ "docs": {
199361
+ "summary": "The policy statement to add."
199362
+ },
199363
+ "name": "statement",
199364
+ "type": {
199365
+ "fqn": "terraconstructs.aws.iam.PolicyStatement"
199366
+ }
199367
+ }
199368
+ ],
199369
+ "returns": {
199370
+ "type": {
199371
+ "fqn": "terraconstructs.aws.iam.AddToResourcePolicyResult"
199372
+ }
199373
+ }
199374
+ },
199375
+ {
199376
+ "docs": {
199377
+ "returns": "An object to configure additional AutoScaling settings for this attribute",
199378
+ "stability": "stable",
199379
+ "summary": "Enable read capacity scaling for the given GSI."
198744
199380
  },
198745
199381
  "locationInModule": {
198746
199382
  "filename": "src/aws/storage/table.ts",
198747
- "line": 1493
199383
+ "line": 1667
198748
199384
  },
198749
199385
  "name": "autoScaleGlobalSecondaryIndexReadCapacity",
198750
199386
  "parameters": [
@@ -198769,11 +199405,13 @@
198769
199405
  },
198770
199406
  {
198771
199407
  "docs": {
198772
- "stability": "stable"
199408
+ "returns": "An object to configure additional AutoScaling settings for this attribute",
199409
+ "stability": "stable",
199410
+ "summary": "Enable write capacity scaling for the given GSI."
198773
199411
  },
198774
199412
  "locationInModule": {
198775
199413
  "filename": "src/aws/storage/table.ts",
198776
- "line": 1530
199414
+ "line": 1709
198777
199415
  },
198778
199416
  "name": "autoScaleGlobalSecondaryIndexWriteCapacity",
198779
199417
  "parameters": [
@@ -198798,11 +199436,13 @@
198798
199436
  },
198799
199437
  {
198800
199438
  "docs": {
198801
- "stability": "stable"
199439
+ "returns": "An object to configure additional AutoScaling settings",
199440
+ "stability": "stable",
199441
+ "summary": "Enable read capacity scaling for this table."
198802
199442
  },
198803
199443
  "locationInModule": {
198804
199444
  "filename": "src/aws/storage/table.ts",
198805
- "line": 1434
199445
+ "line": 1598
198806
199446
  },
198807
199447
  "name": "autoScaleReadCapacity",
198808
199448
  "parameters": [
@@ -198821,11 +199461,13 @@
198821
199461
  },
198822
199462
  {
198823
199463
  "docs": {
198824
- "stability": "stable"
199464
+ "returns": "An object to configure additional AutoScaling settings for this attribute",
199465
+ "stability": "stable",
199466
+ "summary": "Enable write capacity scaling for this table."
198825
199467
  },
198826
199468
  "locationInModule": {
198827
199469
  "filename": "src/aws/storage/table.ts",
198828
- "line": 1460
199470
+ "line": 1629
198829
199471
  },
198830
199472
  "name": "autoScaleWriteCapacity",
198831
199473
  "parameters": [
@@ -198844,11 +199486,13 @@
198844
199486
  },
198845
199487
  {
198846
199488
  "docs": {
198847
- "stability": "stable"
199489
+ "returns": "Schema of table or index.",
199490
+ "stability": "stable",
199491
+ "summary": "Get schema attributes of table or index."
198848
199492
  },
198849
199493
  "locationInModule": {
198850
199494
  "filename": "src/aws/storage/table.ts",
198851
- "line": 1567
199495
+ "line": 1751
198852
199496
  },
198853
199497
  "name": "schema",
198854
199498
  "parameters": [
@@ -198865,6 +199509,24 @@
198865
199509
  "fqn": "terraconstructs.aws.storage.SchemaOptions"
198866
199510
  }
198867
199511
  }
199512
+ },
199513
+ {
199514
+ "docs": {
199515
+ "remarks": "called by TerraformStack.prepareStack()",
199516
+ "stability": "stable",
199517
+ "summary": "Adds resource to the Terraform JSON output at Synth time."
199518
+ },
199519
+ "locationInModule": {
199520
+ "filename": "src/aws/storage/table.ts",
199521
+ "line": 2219
199522
+ },
199523
+ "name": "toTerraform",
199524
+ "overrides": "cdktf.TerraformElement",
199525
+ "returns": {
199526
+ "type": {
199527
+ "primitive": "any"
199528
+ }
199529
+ }
198868
199530
  }
198869
199531
  ],
198870
199532
  "name": "Table",
@@ -198872,12 +199534,13 @@
198872
199534
  "properties": [
198873
199535
  {
198874
199536
  "docs": {
198875
- "stability": "stable"
199537
+ "stability": "stable",
199538
+ "summary": "Whether this table has indexes."
198876
199539
  },
198877
199540
  "immutable": true,
198878
199541
  "locationInModule": {
198879
199542
  "filename": "src/aws/storage/table.ts",
198880
- "line": 1829
199543
+ "line": 2074
198881
199544
  },
198882
199545
  "name": "hasIndex",
198883
199546
  "overrides": "terraconstructs.aws.storage.TableBase",
@@ -198894,7 +199557,7 @@
198894
199557
  "immutable": true,
198895
199558
  "locationInModule": {
198896
199559
  "filename": "src/aws/storage/table.ts",
198897
- "line": 1145
199560
+ "line": 1261
198898
199561
  },
198899
199562
  "name": "tableArn",
198900
199563
  "overrides": "terraconstructs.aws.storage.TableBase",
@@ -198910,7 +199573,7 @@
198910
199573
  "immutable": true,
198911
199574
  "locationInModule": {
198912
199575
  "filename": "src/aws/storage/table.ts",
198913
- "line": 1146
199576
+ "line": 1262
198914
199577
  },
198915
199578
  "name": "tableName",
198916
199579
  "overrides": "terraconstructs.aws.storage.TableBase",
@@ -198921,12 +199584,12 @@
198921
199584
  {
198922
199585
  "docs": {
198923
199586
  "stability": "stable",
198924
- "summary": "Optional KMS encryption key associated with this table."
199587
+ "summary": "KMS encryption key, if this table uses a customer-managed encryption key."
198925
199588
  },
198926
199589
  "immutable": true,
198927
199590
  "locationInModule": {
198928
199591
  "filename": "src/aws/storage/table.ts",
198929
- "line": 1137
199592
+ "line": 1253
198930
199593
  },
198931
199594
  "name": "encryptionKey",
198932
199595
  "optional": true,
@@ -198935,6 +199598,28 @@
198935
199598
  "fqn": "terraconstructs.aws.encryption.IKey"
198936
199599
  }
198937
199600
  },
199601
+ {
199602
+ "docs": {
199603
+ "stability": "stable",
199604
+ "summary": "Additional regions other than the main one that this table is replicated to."
199605
+ },
199606
+ "immutable": true,
199607
+ "locationInModule": {
199608
+ "filename": "src/aws/storage/table.ts",
199609
+ "line": 1292
199610
+ },
199611
+ "name": "regions",
199612
+ "optional": true,
199613
+ "overrides": "terraconstructs.aws.storage.TableBase",
199614
+ "type": {
199615
+ "collection": {
199616
+ "elementtype": {
199617
+ "primitive": "string"
199618
+ },
199619
+ "kind": "array"
199620
+ }
199621
+ }
199622
+ },
198938
199623
  {
198939
199624
  "docs": {
198940
199625
  "stability": "stable",
@@ -198943,7 +199628,7 @@
198943
199628
  "immutable": true,
198944
199629
  "locationInModule": {
198945
199630
  "filename": "src/aws/storage/table.ts",
198946
- "line": 1147
199631
+ "line": 1263
198947
199632
  },
198948
199633
  "name": "tableStreamArn",
198949
199634
  "optional": true,
@@ -198961,7 +199646,7 @@
198961
199646
  },
198962
199647
  "locationInModule": {
198963
199648
  "filename": "src/aws/storage/table.ts",
198964
- "line": 1144
199649
+ "line": 1260
198965
199650
  },
198966
199651
  "name": "resourcePolicy",
198967
199652
  "optional": true,
@@ -198984,7 +199669,7 @@
198984
199669
  "kind": "interface",
198985
199670
  "locationInModule": {
198986
199671
  "filename": "src/aws/storage/table.ts",
198987
- "line": 521
199672
+ "line": 566
198988
199673
  },
198989
199674
  "name": "TableAttributes",
198990
199675
  "namespace": "aws.storage",
@@ -198999,7 +199684,7 @@
198999
199684
  "immutable": true,
199000
199685
  "locationInModule": {
199001
199686
  "filename": "src/aws/storage/table.ts",
199002
- "line": 550
199687
+ "line": 595
199003
199688
  },
199004
199689
  "name": "encryptionKey",
199005
199690
  "optional": true,
@@ -199018,7 +199703,7 @@
199018
199703
  "immutable": true,
199019
199704
  "locationInModule": {
199020
199705
  "filename": "src/aws/storage/table.ts",
199021
- "line": 561
199706
+ "line": 606
199022
199707
  },
199023
199708
  "name": "globalIndexes",
199024
199709
  "optional": true,
@@ -199042,7 +199727,7 @@
199042
199727
  "immutable": true,
199043
199728
  "locationInModule": {
199044
199729
  "filename": "src/aws/storage/table.ts",
199045
- "line": 581
199730
+ "line": 626
199046
199731
  },
199047
199732
  "name": "grantIndexPermissions",
199048
199733
  "optional": true,
@@ -199061,7 +199746,7 @@
199061
199746
  "immutable": true,
199062
199747
  "locationInModule": {
199063
199748
  "filename": "src/aws/storage/table.ts",
199064
- "line": 572
199749
+ "line": 617
199065
199750
  },
199066
199751
  "name": "localIndexes",
199067
199752
  "optional": true,
@@ -199085,7 +199770,7 @@
199085
199770
  "immutable": true,
199086
199771
  "locationInModule": {
199087
199772
  "filename": "src/aws/storage/table.ts",
199088
- "line": 528
199773
+ "line": 573
199089
199774
  },
199090
199775
  "name": "tableArn",
199091
199776
  "optional": true,
@@ -199104,7 +199789,7 @@
199104
199789
  "immutable": true,
199105
199790
  "locationInModule": {
199106
199791
  "filename": "src/aws/storage/table.ts",
199107
- "line": 536
199792
+ "line": 581
199108
199793
  },
199109
199794
  "name": "tableName",
199110
199795
  "optional": true,
@@ -199122,7 +199807,7 @@
199122
199807
  "immutable": true,
199123
199808
  "locationInModule": {
199124
199809
  "filename": "src/aws/storage/table.ts",
199125
- "line": 543
199810
+ "line": 588
199126
199811
  },
199127
199812
  "name": "tableStreamArn",
199128
199813
  "optional": true,
@@ -199178,17 +199863,18 @@
199178
199863
  "kind": "class",
199179
199864
  "locationInModule": {
199180
199865
  "filename": "src/aws/storage/table.ts",
199181
- "line": 584
199866
+ "line": 629
199182
199867
  },
199183
199868
  "methods": [
199184
199869
  {
199870
+ "abstract": true,
199185
199871
  "docs": {
199186
199872
  "stability": "stable",
199187
- "summary": "Add a statement to the resource's resource policy."
199873
+ "summary": "Adds a statement to the resource policy associated with this table."
199188
199874
  },
199189
199875
  "locationInModule": {
199190
199876
  "filename": "src/aws/storage/table.ts",
199191
- "line": 707
199877
+ "line": 710
199192
199878
  },
199193
199879
  "name": "addToResourcePolicy",
199194
199880
  "overrides": "terraconstructs.aws.iam.IAwsConstructWithPolicy",
@@ -199214,18 +199900,24 @@
199214
199900
  },
199215
199901
  "locationInModule": {
199216
199902
  "filename": "src/aws/storage/table.ts",
199217
- "line": 604
199903
+ "line": 724
199218
199904
  },
199219
199905
  "name": "grant",
199220
199906
  "overrides": "terraconstructs.aws.storage.ITable",
199221
199907
  "parameters": [
199222
199908
  {
199909
+ "docs": {
199910
+ "summary": "The principal (no-op if undefined)."
199911
+ },
199223
199912
  "name": "grantee",
199224
199913
  "type": {
199225
199914
  "fqn": "terraconstructs.aws.iam.IGrantable"
199226
199915
  }
199227
199916
  },
199228
199917
  {
199918
+ "docs": {
199919
+ "summary": "The set of actions to allow (i.e. \"dynamodb:PutItem\", \"dynamodb:GetItem\", ...)."
199920
+ },
199229
199921
  "name": "actions",
199230
199922
  "type": {
199231
199923
  "primitive": "string"
@@ -199248,12 +199940,15 @@
199248
199940
  },
199249
199941
  "locationInModule": {
199250
199942
  "filename": "src/aws/storage/table.ts",
199251
- "line": 699
199943
+ "line": 812
199252
199944
  },
199253
199945
  "name": "grantFullAccess",
199254
199946
  "overrides": "terraconstructs.aws.storage.ITable",
199255
199947
  "parameters": [
199256
199948
  {
199949
+ "docs": {
199950
+ "summary": "The principal to grant access to."
199951
+ },
199257
199952
  "name": "grantee",
199258
199953
  "type": {
199259
199954
  "fqn": "terraconstructs.aws.iam.IGrantable"
@@ -199266,20 +199961,54 @@
199266
199961
  }
199267
199962
  }
199268
199963
  },
199964
+ {
199965
+ "docs": {
199966
+ "stability": "stable"
199967
+ },
199968
+ "locationInModule": {
199969
+ "filename": "src/aws/storage/table.ts",
199970
+ "line": 658
199971
+ },
199972
+ "name": "grantOnKey",
199973
+ "parameters": [
199974
+ {
199975
+ "name": "grantee",
199976
+ "type": {
199977
+ "fqn": "terraconstructs.aws.iam.IGrantable"
199978
+ }
199979
+ },
199980
+ {
199981
+ "name": "actions",
199982
+ "type": {
199983
+ "primitive": "string"
199984
+ },
199985
+ "variadic": true
199986
+ }
199987
+ ],
199988
+ "returns": {
199989
+ "type": {
199990
+ "fqn": "terraconstructs.aws.iam.GrantOnKeyResult"
199991
+ }
199992
+ },
199993
+ "variadic": true
199994
+ },
199269
199995
  {
199270
199996
  "docs": {
199271
199997
  "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
199272
199998
  "stability": "stable",
199273
- "summary": "Permits an IAM principal all data read operations from this table: BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan."
199999
+ "summary": "Permits an IAM principal all data read operations from this table: BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan, DescribeTable."
199274
200000
  },
199275
200001
  "locationInModule": {
199276
200002
  "filename": "src/aws/storage/table.ts",
199277
- "line": 642
200003
+ "line": 750
199278
200004
  },
199279
200005
  "name": "grantReadData",
199280
200006
  "overrides": "terraconstructs.aws.storage.ITable",
199281
200007
  "parameters": [
199282
200008
  {
200009
+ "docs": {
200010
+ "summary": "The principal to grant access to."
200011
+ },
199283
200012
  "name": "grantee",
199284
200013
  "type": {
199285
200014
  "fqn": "terraconstructs.aws.iam.IGrantable"
@@ -199294,18 +200023,21 @@
199294
200023
  },
199295
200024
  {
199296
200025
  "docs": {
199297
- "remarks": "BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan,\nBatchWriteItem, PutItem, UpdateItem, DeleteItem\n\nAppropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
200026
+ "remarks": "BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan,\nBatchWriteItem, PutItem, UpdateItem, DeleteItem, DescribeTable\n\nAppropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
199298
200027
  "stability": "stable",
199299
200028
  "summary": "Permits an IAM principal to all data read/write operations to this table."
199300
200029
  },
199301
200030
  "locationInModule": {
199302
200031
  "filename": "src/aws/storage/table.ts",
199303
- "line": 691
200032
+ "line": 800
199304
200033
  },
199305
200034
  "name": "grantReadWriteData",
199306
200035
  "overrides": "terraconstructs.aws.storage.ITable",
199307
200036
  "parameters": [
199308
200037
  {
200038
+ "docs": {
200039
+ "summary": "The principal to grant access to."
200040
+ },
199309
200041
  "name": "grantee",
199310
200042
  "type": {
199311
200043
  "fqn": "terraconstructs.aws.iam.IGrantable"
@@ -199326,18 +200058,24 @@
199326
200058
  },
199327
200059
  "locationInModule": {
199328
200060
  "filename": "src/aws/storage/table.ts",
199329
- "line": 626
200061
+ "line": 737
199330
200062
  },
199331
200063
  "name": "grantStream",
199332
200064
  "overrides": "terraconstructs.aws.storage.ITable",
199333
200065
  "parameters": [
199334
200066
  {
200067
+ "docs": {
200068
+ "summary": "The principal (no-op if undefined)."
200069
+ },
199335
200070
  "name": "grantee",
199336
200071
  "type": {
199337
200072
  "fqn": "terraconstructs.aws.iam.IGrantable"
199338
200073
  }
199339
200074
  },
199340
200075
  {
200076
+ "docs": {
200077
+ "summary": "The set of actions to allow (i.e. \"dynamodb:DescribeStream\", \"dynamodb:GetRecords\", ...)."
200078
+ },
199341
200079
  "name": "actions",
199342
200080
  "type": {
199343
200081
  "primitive": "string"
@@ -199360,12 +200098,15 @@
199360
200098
  },
199361
200099
  "locationInModule": {
199362
200100
  "filename": "src/aws/storage/table.ts",
199363
- "line": 677
200101
+ "line": 773
199364
200102
  },
199365
200103
  "name": "grantStreamRead",
199366
200104
  "overrides": "terraconstructs.aws.storage.ITable",
199367
200105
  "parameters": [
199368
200106
  {
200107
+ "docs": {
200108
+ "summary": "The principal to grant access to."
200109
+ },
199369
200110
  "name": "grantee",
199370
200111
  "type": {
199371
200112
  "fqn": "terraconstructs.aws.iam.IGrantable"
@@ -199385,12 +200126,15 @@
199385
200126
  },
199386
200127
  "locationInModule": {
199387
200128
  "filename": "src/aws/storage/table.ts",
199388
- "line": 662
200129
+ "line": 759
199389
200130
  },
199390
200131
  "name": "grantTableListStreams",
199391
200132
  "overrides": "terraconstructs.aws.storage.ITable",
199392
200133
  "parameters": [
199393
200134
  {
200135
+ "docs": {
200136
+ "summary": "The principal (no-op if undefined)."
200137
+ },
199394
200138
  "name": "grantee",
199395
200139
  "type": {
199396
200140
  "fqn": "terraconstructs.aws.iam.IGrantable"
@@ -199407,16 +200151,19 @@
199407
200151
  "docs": {
199408
200152
  "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
199409
200153
  "stability": "stable",
199410
- "summary": "Permits an IAM principal all data write operations to this table: BatchWriteItem, PutItem, UpdateItem, DeleteItem."
200154
+ "summary": "Permits an IAM principal all data write operations to this table: BatchWriteItem, PutItem, UpdateItem, DeleteItem, DescribeTable."
199411
200155
  },
199412
200156
  "locationInModule": {
199413
200157
  "filename": "src/aws/storage/table.ts",
199414
- "line": 685
200158
+ "line": 786
199415
200159
  },
199416
200160
  "name": "grantWriteData",
199417
200161
  "overrides": "terraconstructs.aws.storage.ITable",
199418
200162
  "parameters": [
199419
200163
  {
200164
+ "docs": {
200165
+ "summary": "The principal to grant access to."
200166
+ },
199420
200167
  "name": "grantee",
199421
200168
  "type": {
199422
200169
  "fqn": "terraconstructs.aws.iam.IGrantable"
@@ -199436,7 +200183,7 @@
199436
200183
  },
199437
200184
  "locationInModule": {
199438
200185
  "filename": "src/aws/storage/table.ts",
199439
- "line": 731
200186
+ "line": 816
199440
200187
  },
199441
200188
  "name": "metric",
199442
200189
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199463,12 +200210,13 @@
199463
200210
  },
199464
200211
  {
199465
200212
  "docs": {
200213
+ "remarks": "By default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.",
199466
200214
  "stability": "stable",
199467
- "summary": "Metric for the conditional check failed requests."
200215
+ "summary": "Metric for the conditional check failed requests this table."
199468
200216
  },
199469
200217
  "locationInModule": {
199470
200218
  "filename": "src/aws/storage/table.ts",
199471
- "line": 801
200219
+ "line": 914
199472
200220
  },
199473
200221
  "name": "metricConditionalCheckFailedRequests",
199474
200222
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199489,12 +200237,13 @@
199489
200237
  },
199490
200238
  {
199491
200239
  "docs": {
200240
+ "remarks": "By default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.",
199492
200241
  "stability": "stable",
199493
- "summary": "Metric for the consumed read capacity units."
200242
+ "summary": "Metric for the consumed read capacity units this table."
199494
200243
  },
199495
200244
  "locationInModule": {
199496
200245
  "filename": "src/aws/storage/table.ts",
199497
- "line": 745
200246
+ "line": 836
199498
200247
  },
199499
200248
  "name": "metricConsumedReadCapacityUnits",
199500
200249
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199515,12 +200264,13 @@
199515
200264
  },
199516
200265
  {
199517
200266
  "docs": {
200267
+ "remarks": "By default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.",
199518
200268
  "stability": "stable",
199519
- "summary": "Metric for the consumed write capacity units."
200269
+ "summary": "Metric for the consumed write capacity units this table."
199520
200270
  },
199521
200271
  "locationInModule": {
199522
200272
  "filename": "src/aws/storage/table.ts",
199523
- "line": 754
200273
+ "line": 851
199524
200274
  },
199525
200275
  "name": "metricConsumedWriteCapacityUnits",
199526
200276
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199541,12 +200291,13 @@
199541
200291
  },
199542
200292
  {
199543
200293
  "docs": {
200294
+ "remarks": "By default, the metric will be calculated as an average over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.",
199544
200295
  "stability": "stable",
199545
- "summary": "Metric for the successful request latency."
200296
+ "summary": "Metric for the successful request latency this table."
199546
200297
  },
199547
200298
  "locationInModule": {
199548
200299
  "filename": "src/aws/storage/table.ts",
199549
- "line": 817
200300
+ "line": 936
199550
200301
  },
199551
200302
  "name": "metricSuccessfulRequestLatency",
199552
200303
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199573,7 +200324,7 @@
199573
200324
  },
199574
200325
  "locationInModule": {
199575
200326
  "filename": "src/aws/storage/table.ts",
199576
- "line": 764
200327
+ "line": 861
199577
200328
  },
199578
200329
  "name": "metricSystemErrors",
199579
200330
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199594,12 +200345,13 @@
199594
200345
  },
199595
200346
  {
199596
200347
  "docs": {
200348
+ "remarks": "This will sum errors across all possible operations.\nNote that by default, each individual metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.",
199597
200349
  "stability": "stable",
199598
200350
  "summary": "Metric for the system errors this table."
199599
200351
  },
199600
200352
  "locationInModule": {
199601
200353
  "filename": "src/aws/storage/table.ts",
199602
- "line": 862
200354
+ "line": 1000
199603
200355
  },
199604
200356
  "name": "metricSystemErrorsForOperations",
199605
200357
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199626,7 +200378,7 @@
199626
200378
  },
199627
200379
  "locationInModule": {
199628
200380
  "filename": "src/aws/storage/table.ts",
199629
- "line": 811
200381
+ "line": 924
199630
200382
  },
199631
200383
  "name": "metricThrottledRequests",
199632
200384
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199647,11 +200399,13 @@
199647
200399
  },
199648
200400
  {
199649
200401
  "docs": {
199650
- "stability": "stable"
200402
+ "remarks": "Default: sum over 5 minutes",
200403
+ "stability": "stable",
200404
+ "summary": "How many requests are throttled on this table, for the given operation."
199651
200405
  },
199652
200406
  "locationInModule": {
199653
200407
  "filename": "src/aws/storage/table.ts",
199654
- "line": 839
200408
+ "line": 963
199655
200409
  },
199656
200410
  "name": "metricThrottledRequestsForOperation",
199657
200411
  "parameters": [
@@ -199677,12 +200431,13 @@
199677
200431
  },
199678
200432
  {
199679
200433
  "docs": {
200434
+ "remarks": "This will sum errors across all possible operations.\nNote that by default, each individual metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.",
199680
200435
  "stability": "stable",
199681
- "summary": "Metric for throttled requests."
200436
+ "summary": "How many requests are throttled on this table."
199682
200437
  },
199683
200438
  "locationInModule": {
199684
200439
  "filename": "src/aws/storage/table.ts",
199685
- "line": 852
200440
+ "line": 983
199686
200441
  },
199687
200442
  "name": "metricThrottledRequestsForOperations",
199688
200443
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199703,12 +200458,13 @@
199703
200458
  },
199704
200459
  {
199705
200460
  "docs": {
200461
+ "remarks": "Note that this metric reports user errors across all\nthe tables in the account and region the table resides in.\n\nBy default, the metric will be calculated as a sum over a period of 5 minutes.\nYou can customize this by using the `statistic` and `period` properties.",
199706
200462
  "stability": "stable",
199707
200463
  "summary": "Metric for the user errors."
199708
200464
  },
199709
200465
  "locationInModule": {
199710
200466
  "filename": "src/aws/storage/table.ts",
199711
- "line": 787
200467
+ "line": 891
199712
200468
  },
199713
200469
  "name": "metricUserErrors",
199714
200470
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199731,6 +200487,21 @@
199731
200487
  "name": "TableBase",
199732
200488
  "namespace": "aws.storage",
199733
200489
  "properties": [
200490
+ {
200491
+ "docs": {
200492
+ "stability": "stable",
200493
+ "summary": "Grant a predefined set of permissions on this Table."
200494
+ },
200495
+ "immutable": true,
200496
+ "locationInModule": {
200497
+ "filename": "src/aws/storage/table.ts",
200498
+ "line": 678
200499
+ },
200500
+ "name": "grants",
200501
+ "type": {
200502
+ "fqn": "terraconstructs.aws.storage.TableGrants"
200503
+ }
200504
+ },
199734
200505
  {
199735
200506
  "abstract": true,
199736
200507
  "docs": {
@@ -199739,7 +200510,7 @@
199739
200510
  "immutable": true,
199740
200511
  "locationInModule": {
199741
200512
  "filename": "src/aws/storage/table.ts",
199742
- "line": 940
200513
+ "line": 1102
199743
200514
  },
199744
200515
  "name": "hasIndex",
199745
200516
  "protected": true,
@@ -199755,7 +200526,7 @@
199755
200526
  "immutable": true,
199756
200527
  "locationInModule": {
199757
200528
  "filename": "src/aws/storage/table.ts",
199758
- "line": 596
200529
+ "line": 667
199759
200530
  },
199760
200531
  "name": "outputs",
199761
200532
  "overrides": "terraconstructs.TerraConstructBase",
@@ -199770,12 +200541,13 @@
199770
200541
  },
199771
200542
  {
199772
200543
  "docs": {
199773
- "stability": "stable"
200544
+ "deprecated": "This member is still filled but it is not read",
200545
+ "stability": "deprecated"
199774
200546
  },
199775
200547
  "immutable": true,
199776
200548
  "locationInModule": {
199777
200549
  "filename": "src/aws/storage/table.ts",
199778
- "line": 594
200550
+ "line": 656
199779
200551
  },
199780
200552
  "name": "regionalArns",
199781
200553
  "protected": true,
@@ -199788,6 +200560,22 @@
199788
200560
  }
199789
200561
  }
199790
200562
  },
200563
+ {
200564
+ "docs": {
200565
+ "remarks": "Will throw if the Table has not been configured for streaming.",
200566
+ "stability": "stable",
200567
+ "summary": "Grant a predefined set of permissions on this Table's Stream, if present."
200568
+ },
200569
+ "immutable": true,
200570
+ "locationInModule": {
200571
+ "filename": "src/aws/storage/table.ts",
200572
+ "line": 693
200573
+ },
200574
+ "name": "streamGrants",
200575
+ "type": {
200576
+ "fqn": "terraconstructs.aws.storage.StreamGrants"
200577
+ }
200578
+ },
199791
200579
  {
199792
200580
  "abstract": true,
199793
200581
  "docs": {
@@ -199797,7 +200585,7 @@
199797
200585
  "immutable": true,
199798
200586
  "locationInModule": {
199799
200587
  "filename": "src/aws/storage/table.ts",
199800
- "line": 588
200588
+ "line": 633
199801
200589
  },
199802
200590
  "name": "tableArn",
199803
200591
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199814,7 +200602,7 @@
199814
200602
  "immutable": true,
199815
200603
  "locationInModule": {
199816
200604
  "filename": "src/aws/storage/table.ts",
199817
- "line": 589
200605
+ "line": 634
199818
200606
  },
199819
200607
  "name": "tableName",
199820
200608
  "overrides": "terraconstructs.aws.storage.ITable",
@@ -199826,12 +200614,12 @@
199826
200614
  "abstract": true,
199827
200615
  "docs": {
199828
200616
  "stability": "stable",
199829
- "summary": "Optional KMS encryption key associated with this table."
200617
+ "summary": "KMS encryption key, if this table uses a customer-managed encryption key."
199830
200618
  },
199831
200619
  "immutable": true,
199832
200620
  "locationInModule": {
199833
200621
  "filename": "src/aws/storage/table.ts",
199834
- "line": 591
200622
+ "line": 640
199835
200623
  },
199836
200624
  "name": "encryptionKey",
199837
200625
  "optional": true,
@@ -199840,6 +200628,28 @@
199840
200628
  "fqn": "terraconstructs.aws.encryption.IKey"
199841
200629
  }
199842
200630
  },
200631
+ {
200632
+ "abstract": true,
200633
+ "docs": {
200634
+ "stability": "stable",
200635
+ "summary": "Additional regions other than the main one that this table is replicated to."
200636
+ },
200637
+ "immutable": true,
200638
+ "locationInModule": {
200639
+ "filename": "src/aws/storage/table.ts",
200640
+ "line": 651
200641
+ },
200642
+ "name": "regions",
200643
+ "optional": true,
200644
+ "type": {
200645
+ "collection": {
200646
+ "elementtype": {
200647
+ "primitive": "string"
200648
+ },
200649
+ "kind": "array"
200650
+ }
200651
+ }
200652
+ },
199843
200653
  {
199844
200654
  "abstract": true,
199845
200655
  "docs": {
@@ -199849,7 +200659,7 @@
199849
200659
  "immutable": true,
199850
200660
  "locationInModule": {
199851
200661
  "filename": "src/aws/storage/table.ts",
199852
- "line": 590
200662
+ "line": 635
199853
200663
  },
199854
200664
  "name": "tableStreamArn",
199855
200665
  "optional": true,
@@ -199861,11 +200671,12 @@
199861
200671
  {
199862
200672
  "abstract": true,
199863
200673
  "docs": {
199864
- "stability": "stable"
200674
+ "stability": "stable",
200675
+ "summary": "Resource policy to assign to table."
199865
200676
  },
199866
200677
  "locationInModule": {
199867
200678
  "filename": "src/aws/storage/table.ts",
199868
- "line": 592
200679
+ "line": 645
199869
200680
  },
199870
200681
  "name": "resourcePolicy",
199871
200682
  "optional": true,
@@ -199887,7 +200698,7 @@
199887
200698
  "kind": "enum",
199888
200699
  "locationInModule": {
199889
200700
  "filename": "src/aws/storage/shared.ts",
199890
- "line": 193
200701
+ "line": 225
199891
200702
  },
199892
200703
  "members": [
199893
200704
  {
@@ -199919,7 +200730,7 @@
199919
200730
  "kind": "enum",
199920
200731
  "locationInModule": {
199921
200732
  "filename": "src/aws/storage/shared.ts",
199922
- "line": 209
200733
+ "line": 241
199923
200734
  },
199924
200735
  "members": [
199925
200736
  {
@@ -200144,6 +200955,305 @@
200144
200955
  ],
200145
200956
  "symbolId": "src/aws/storage/encryption:TableEncryptionV2"
200146
200957
  },
200958
+ "terraconstructs.aws.storage.TableGrants": {
200959
+ "assembly": "terraconstructs",
200960
+ "docs": {
200961
+ "stability": "stable",
200962
+ "summary": "A set of permissions to grant on a Table."
200963
+ },
200964
+ "fqn": "terraconstructs.aws.storage.TableGrants",
200965
+ "initializer": {
200966
+ "docs": {
200967
+ "stability": "stable"
200968
+ },
200969
+ "locationInModule": {
200970
+ "filename": "src/aws/storage/table-grants.ts",
200971
+ "line": 57
200972
+ },
200973
+ "parameters": [
200974
+ {
200975
+ "name": "props",
200976
+ "type": {
200977
+ "fqn": "terraconstructs.aws.storage.TableGrantsProps"
200978
+ }
200979
+ }
200980
+ ]
200981
+ },
200982
+ "kind": "class",
200983
+ "locationInModule": {
200984
+ "filename": "src/aws/storage/table-grants.ts",
200985
+ "line": 51
200986
+ },
200987
+ "methods": [
200988
+ {
200989
+ "docs": {
200990
+ "remarks": "If `encryptionKey` is present, appropriate grants to the key needs to be added\nseparately using the `table.encryptionKey.grant*` methods.",
200991
+ "stability": "stable",
200992
+ "summary": "Adds an IAM policy statement associated with this table to an IAM principal's policy."
200993
+ },
200994
+ "locationInModule": {
200995
+ "filename": "src/aws/storage/table-grants.ts",
200996
+ "line": 91
200997
+ },
200998
+ "name": "actions",
200999
+ "parameters": [
201000
+ {
201001
+ "docs": {
201002
+ "summary": "The principal (no-op if undefined)."
201003
+ },
201004
+ "name": "grantee",
201005
+ "type": {
201006
+ "fqn": "terraconstructs.aws.iam.IGrantable"
201007
+ }
201008
+ },
201009
+ {
201010
+ "docs": {
201011
+ "summary": "The set of actions to allow (i.e. \"dynamodb:PutItem\", \"dynamodb:GetItem\", ...)."
201012
+ },
201013
+ "name": "actions",
201014
+ "type": {
201015
+ "primitive": "string"
201016
+ },
201017
+ "variadic": true
201018
+ }
201019
+ ],
201020
+ "returns": {
201021
+ "type": {
201022
+ "fqn": "terraconstructs.aws.iam.Grant"
201023
+ }
201024
+ },
201025
+ "variadic": true
201026
+ },
201027
+ {
201028
+ "docs": {
201029
+ "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
201030
+ "stability": "stable",
201031
+ "summary": "Permits all DynamoDB operations (\"dynamodb:*\") to an IAM principal."
201032
+ },
201033
+ "locationInModule": {
201034
+ "filename": "src/aws/storage/table-grants.ts",
201035
+ "line": 193
201036
+ },
201037
+ "name": "fullAccess",
201038
+ "parameters": [
201039
+ {
201040
+ "docs": {
201041
+ "summary": "The principal to grant access to."
201042
+ },
201043
+ "name": "grantee",
201044
+ "type": {
201045
+ "fqn": "terraconstructs.aws.iam.IGrantable"
201046
+ }
201047
+ }
201048
+ ],
201049
+ "returns": {
201050
+ "type": {
201051
+ "fqn": "terraconstructs.aws.iam.Grant"
201052
+ }
201053
+ }
201054
+ },
201055
+ {
201056
+ "docs": {
201057
+ "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
201058
+ "stability": "stable",
201059
+ "summary": "Permits an IAM principal all data read operations from this table: BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan, DescribeTable."
201060
+ },
201061
+ "locationInModule": {
201062
+ "filename": "src/aws/storage/table-grants.ts",
201063
+ "line": 119
201064
+ },
201065
+ "name": "readData",
201066
+ "parameters": [
201067
+ {
201068
+ "docs": {
201069
+ "summary": "The principal to grant access to."
201070
+ },
201071
+ "name": "grantee",
201072
+ "type": {
201073
+ "fqn": "terraconstructs.aws.iam.IGrantable"
201074
+ }
201075
+ }
201076
+ ],
201077
+ "returns": {
201078
+ "type": {
201079
+ "fqn": "terraconstructs.aws.iam.Grant"
201080
+ }
201081
+ }
201082
+ },
201083
+ {
201084
+ "docs": {
201085
+ "remarks": "BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan,\nBatchWriteItem, PutItem, UpdateItem, DeleteItem, DescribeTable\n\nAppropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
201086
+ "stability": "stable",
201087
+ "summary": "Permits an IAM principal to all data read/write operations to this table."
201088
+ },
201089
+ "locationInModule": {
201090
+ "filename": "src/aws/storage/table-grants.ts",
201091
+ "line": 163
201092
+ },
201093
+ "name": "readWriteData",
201094
+ "parameters": [
201095
+ {
201096
+ "docs": {
201097
+ "summary": "The principal to grant access to."
201098
+ },
201099
+ "name": "grantee",
201100
+ "type": {
201101
+ "fqn": "terraconstructs.aws.iam.IGrantable"
201102
+ }
201103
+ }
201104
+ ],
201105
+ "returns": {
201106
+ "type": {
201107
+ "fqn": "terraconstructs.aws.iam.Grant"
201108
+ }
201109
+ }
201110
+ },
201111
+ {
201112
+ "docs": {
201113
+ "remarks": "Appropriate grants will also be added to the customer-managed KMS key\nif one was configured.",
201114
+ "stability": "stable",
201115
+ "summary": "Permits an IAM principal all data write operations to this table: BatchWriteItem, PutItem, UpdateItem, DeleteItem, DescribeTable."
201116
+ },
201117
+ "locationInModule": {
201118
+ "filename": "src/aws/storage/table-grants.ts",
201119
+ "line": 142
201120
+ },
201121
+ "name": "writeData",
201122
+ "parameters": [
201123
+ {
201124
+ "docs": {
201125
+ "summary": "The principal to grant access to."
201126
+ },
201127
+ "name": "grantee",
201128
+ "type": {
201129
+ "fqn": "terraconstructs.aws.iam.IGrantable"
201130
+ }
201131
+ }
201132
+ ],
201133
+ "returns": {
201134
+ "type": {
201135
+ "fqn": "terraconstructs.aws.iam.Grant"
201136
+ }
201137
+ }
201138
+ }
201139
+ ],
201140
+ "name": "TableGrants",
201141
+ "namespace": "aws.storage",
201142
+ "symbolId": "src/aws/storage/table-grants:TableGrants"
201143
+ },
201144
+ "terraconstructs.aws.storage.TableGrantsProps": {
201145
+ "assembly": "terraconstructs",
201146
+ "datatype": true,
201147
+ "docs": {
201148
+ "stability": "stable",
201149
+ "summary": "Construction properties for TableGrants."
201150
+ },
201151
+ "fqn": "terraconstructs.aws.storage.TableGrantsProps",
201152
+ "kind": "interface",
201153
+ "locationInModule": {
201154
+ "filename": "src/aws/storage/table-grants.ts",
201155
+ "line": 11
201156
+ },
201157
+ "name": "TableGrantsProps",
201158
+ "namespace": "aws.storage",
201159
+ "properties": [
201160
+ {
201161
+ "abstract": true,
201162
+ "docs": {
201163
+ "stability": "stable",
201164
+ "summary": "The table to grant permissions on."
201165
+ },
201166
+ "immutable": true,
201167
+ "locationInModule": {
201168
+ "filename": "src/aws/storage/table-grants.ts",
201169
+ "line": 15
201170
+ },
201171
+ "name": "table",
201172
+ "type": {
201173
+ "fqn": "terraconstructs.aws.storage.ITable"
201174
+ }
201175
+ },
201176
+ {
201177
+ "abstract": true,
201178
+ "docs": {
201179
+ "default": "- No permission is added to the KMS key, even if it exists",
201180
+ "stability": "stable",
201181
+ "summary": "The encrypted resource on which actions will be allowed."
201182
+ },
201183
+ "immutable": true,
201184
+ "locationInModule": {
201185
+ "filename": "src/aws/storage/table-grants.ts",
201186
+ "line": 38
201187
+ },
201188
+ "name": "encryptedResource",
201189
+ "optional": true,
201190
+ "type": {
201191
+ "fqn": "terraconstructs.aws.iam.IEncryptedResource"
201192
+ }
201193
+ },
201194
+ {
201195
+ "abstract": true,
201196
+ "docs": {
201197
+ "default": "false",
201198
+ "remarks": "If so, permissions are granted on all table indexes as well.",
201199
+ "stability": "stable",
201200
+ "summary": "Whether this table has indexes."
201201
+ },
201202
+ "immutable": true,
201203
+ "locationInModule": {
201204
+ "filename": "src/aws/storage/table-grants.ts",
201205
+ "line": 31
201206
+ },
201207
+ "name": "hasIndex",
201208
+ "optional": true,
201209
+ "type": {
201210
+ "primitive": "boolean"
201211
+ }
201212
+ },
201213
+ {
201214
+ "abstract": true,
201215
+ "docs": {
201216
+ "default": "- No resource policy is created",
201217
+ "stability": "stable",
201218
+ "summary": "The resource with policy on which actions will be allowed."
201219
+ },
201220
+ "immutable": true,
201221
+ "locationInModule": {
201222
+ "filename": "src/aws/storage/table-grants.ts",
201223
+ "line": 45
201224
+ },
201225
+ "name": "policyResource",
201226
+ "optional": true,
201227
+ "type": {
201228
+ "fqn": "terraconstructs.aws.iam.IAwsConstructWithPolicy"
201229
+ }
201230
+ },
201231
+ {
201232
+ "abstract": true,
201233
+ "docs": {
201234
+ "default": "- No regions",
201235
+ "stability": "stable",
201236
+ "summary": "Additional regions other than the main one that this table is replicated to."
201237
+ },
201238
+ "immutable": true,
201239
+ "locationInModule": {
201240
+ "filename": "src/aws/storage/table-grants.ts",
201241
+ "line": 22
201242
+ },
201243
+ "name": "regions",
201244
+ "optional": true,
201245
+ "type": {
201246
+ "collection": {
201247
+ "elementtype": {
201248
+ "primitive": "string"
201249
+ },
201250
+ "kind": "array"
201251
+ }
201252
+ }
201253
+ }
201254
+ ],
201255
+ "symbolId": "src/aws/storage/table-grants:TableGrantsProps"
201256
+ },
200147
201257
  "terraconstructs.aws.storage.TableOptions": {
200148
201258
  "assembly": "terraconstructs",
200149
201259
  "datatype": true,
@@ -200159,7 +201269,7 @@
200159
201269
  "kind": "interface",
200160
201270
  "locationInModule": {
200161
201271
  "filename": "src/aws/storage/table.ts",
200162
- "line": 279
201272
+ "line": 309
200163
201273
  },
200164
201274
  "name": "TableOptions",
200165
201275
  "namespace": "aws.storage",
@@ -200174,7 +201284,7 @@
200174
201284
  "immutable": true,
200175
201285
  "locationInModule": {
200176
201286
  "filename": "src/aws/storage/table.ts",
200177
- "line": 323
201287
+ "line": 353
200178
201288
  },
200179
201289
  "name": "billingMode",
200180
201290
  "optional": true,
@@ -200186,13 +201296,14 @@
200186
201296
  "abstract": true,
200187
201297
  "docs": {
200188
201298
  "default": "false",
200189
- "stability": "stable",
201299
+ "deprecated": "use `contributorInsightsSpecification instead",
201300
+ "stability": "deprecated",
200190
201301
  "summary": "Whether CloudWatch contributor insights is enabled."
200191
201302
  },
200192
201303
  "immutable": true,
200193
201304
  "locationInModule": {
200194
201305
  "filename": "src/aws/storage/table.ts",
200195
- "line": 415
201306
+ "line": 451
200196
201307
  },
200197
201308
  "name": "contributorInsightsEnabled",
200198
201309
  "optional": true,
@@ -200200,6 +201311,24 @@
200200
201311
  "primitive": "boolean"
200201
201312
  }
200202
201313
  },
201314
+ {
201315
+ "abstract": true,
201316
+ "docs": {
201317
+ "default": "- contributor insights is not enabled",
201318
+ "stability": "stable",
201319
+ "summary": "Whether CloudWatch contributor insights is enabled and what mode is selected."
201320
+ },
201321
+ "immutable": true,
201322
+ "locationInModule": {
201323
+ "filename": "src/aws/storage/table.ts",
201324
+ "line": 457
201325
+ },
201326
+ "name": "contributorInsightsSpecification",
201327
+ "optional": true,
201328
+ "type": {
201329
+ "fqn": "terraconstructs.aws.storage.ContributorInsightsSpecification"
201330
+ }
201331
+ },
200203
201332
  {
200204
201333
  "abstract": true,
200205
201334
  "docs": {
@@ -200210,7 +201339,7 @@
200210
201339
  "immutable": true,
200211
201340
  "locationInModule": {
200212
201341
  "filename": "src/aws/storage/table.ts",
200213
- "line": 422
201342
+ "line": 464
200214
201343
  },
200215
201344
  "name": "deletionProtection",
200216
201345
  "optional": true,
@@ -200229,7 +201358,7 @@
200229
201358
  "immutable": true,
200230
201359
  "locationInModule": {
200231
201360
  "filename": "src/aws/storage/table.ts",
200232
- "line": 367
201361
+ "line": 403
200233
201362
  },
200234
201363
  "name": "encryption",
200235
201364
  "optional": true,
@@ -200248,7 +201377,7 @@
200248
201377
  "immutable": true,
200249
201378
  "locationInModule": {
200250
201379
  "filename": "src/aws/storage/table.ts",
200251
- "line": 379
201380
+ "line": 415
200252
201381
  },
200253
201382
  "name": "encryptionKey",
200254
201383
  "optional": true,
@@ -200266,7 +201395,7 @@
200266
201395
  "immutable": true,
200267
201396
  "locationInModule": {
200268
201397
  "filename": "src/aws/storage/table.ts",
200269
- "line": 429
201398
+ "line": 471
200270
201399
  },
200271
201400
  "name": "importSource",
200272
201401
  "optional": true,
@@ -200285,7 +201414,7 @@
200285
201414
  "immutable": true,
200286
201415
  "locationInModule": {
200287
201416
  "filename": "src/aws/storage/table.ts",
200288
- "line": 307
201417
+ "line": 337
200289
201418
  },
200290
201419
  "name": "maxReadRequestUnits",
200291
201420
  "optional": true,
@@ -200304,7 +201433,7 @@
200304
201433
  "immutable": true,
200305
201434
  "locationInModule": {
200306
201435
  "filename": "src/aws/storage/table.ts",
200307
- "line": 316
201436
+ "line": 346
200308
201437
  },
200309
201438
  "name": "maxWriteRequestUnits",
200310
201439
  "optional": true,
@@ -200323,7 +201452,7 @@
200323
201452
  "immutable": true,
200324
201453
  "locationInModule": {
200325
201454
  "filename": "src/aws/storage/table.ts",
200326
- "line": 333
201455
+ "line": 368
200327
201456
  },
200328
201457
  "name": "pointInTimeRecovery",
200329
201458
  "optional": true,
@@ -200336,12 +201465,12 @@
200336
201465
  "docs": {
200337
201466
  "default": "- point in time recovery is not enabled.",
200338
201467
  "stability": "stable",
200339
- "summary": "Whether point-in-time recovery is enabled."
201468
+ "summary": "Whether point-in-time recovery is enabled and recoveryPeriodInDays is set."
200340
201469
  },
200341
201470
  "immutable": true,
200342
201471
  "locationInModule": {
200343
201472
  "filename": "src/aws/storage/table.ts",
200344
- "line": 340
201473
+ "line": 376
200345
201474
  },
200346
201475
  "name": "pointInTimeRecoverySpecification",
200347
201476
  "optional": true,
@@ -200360,7 +201489,7 @@
200360
201489
  "immutable": true,
200361
201490
  "locationInModule": {
200362
201491
  "filename": "src/aws/storage/table.ts",
200363
- "line": 288
201492
+ "line": 318
200364
201493
  },
200365
201494
  "name": "readCapacity",
200366
201495
  "optional": true,
@@ -200377,7 +201506,7 @@
200377
201506
  "immutable": true,
200378
201507
  "locationInModule": {
200379
201508
  "filename": "src/aws/storage/table.ts",
200380
- "line": 406
201509
+ "line": 442
200381
201510
  },
200382
201511
  "name": "replicaSpecification",
200383
201512
  "optional": true,
@@ -200401,7 +201530,7 @@
200401
201530
  "immutable": true,
200402
201531
  "locationInModule": {
200403
201532
  "filename": "src/aws/storage/table.ts",
200404
- "line": 401
201533
+ "line": 437
200405
201534
  },
200406
201535
  "name": "replicationRegions",
200407
201536
  "optional": true,
@@ -200425,7 +201554,7 @@
200425
201554
  "immutable": true,
200426
201555
  "locationInModule": {
200427
201556
  "filename": "src/aws/storage/table.ts",
200428
- "line": 437
201557
+ "line": 479
200429
201558
  },
200430
201559
  "name": "resourcePolicy",
200431
201560
  "optional": true,
@@ -200445,7 +201574,7 @@
200445
201574
  "immutable": true,
200446
201575
  "locationInModule": {
200447
201576
  "filename": "src/aws/storage/table.ts",
200448
- "line": 352
201577
+ "line": 388
200449
201578
  },
200450
201579
  "name": "serverSideEncryption",
200451
201580
  "optional": true,
@@ -200463,7 +201592,7 @@
200463
201592
  "immutable": true,
200464
201593
  "locationInModule": {
200465
201594
  "filename": "src/aws/storage/table.ts",
200466
- "line": 393
201595
+ "line": 429
200467
201596
  },
200468
201597
  "name": "stream",
200469
201598
  "optional": true,
@@ -200481,7 +201610,7 @@
200481
201610
  "immutable": true,
200482
201611
  "locationInModule": {
200483
201612
  "filename": "src/aws/storage/table.ts",
200484
- "line": 358
201613
+ "line": 394
200485
201614
  },
200486
201615
  "name": "tableClass",
200487
201616
  "optional": true,
@@ -200499,7 +201628,7 @@
200499
201628
  "immutable": true,
200500
201629
  "locationInModule": {
200501
201630
  "filename": "src/aws/storage/table.ts",
200502
- "line": 385
201631
+ "line": 421
200503
201632
  },
200504
201633
  "name": "timeToLiveAttribute",
200505
201634
  "optional": true,
@@ -200507,6 +201636,26 @@
200507
201636
  "primitive": "string"
200508
201637
  }
200509
201638
  },
201639
+ {
201640
+ "abstract": true,
201641
+ "docs": {
201642
+ "default": "- warm throughput is not configured",
201643
+ "remarks": "To enable Warm Throughput, use the `TableV2` construct instead.",
201644
+ "see": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-warmthroughput",
201645
+ "stability": "stable",
201646
+ "summary": "Specify values to pre-warm you DynamoDB Table Warm Throughput feature is not available for Global Table replicas using the `Table` construct."
201647
+ },
201648
+ "immutable": true,
201649
+ "locationInModule": {
201650
+ "filename": "src/aws/storage/table.ts",
201651
+ "line": 361
201652
+ },
201653
+ "name": "warmThroughput",
201654
+ "optional": true,
201655
+ "type": {
201656
+ "fqn": "terraconstructs.aws.storage.WarmThroughput"
201657
+ }
201658
+ },
200510
201659
  {
200511
201660
  "abstract": true,
200512
201661
  "docs": {
@@ -200518,7 +201667,7 @@
200518
201667
  "immutable": true,
200519
201668
  "locationInModule": {
200520
201669
  "filename": "src/aws/storage/table.ts",
200521
- "line": 297
201670
+ "line": 327
200522
201671
  },
200523
201672
  "name": "writeCapacity",
200524
201673
  "optional": true,
@@ -200544,7 +201693,7 @@
200544
201693
  "kind": "interface",
200545
201694
  "locationInModule": {
200546
201695
  "filename": "src/aws/storage/table.ts",
200547
- "line": 443
201696
+ "line": 485
200548
201697
  },
200549
201698
  "name": "TableProps",
200550
201699
  "namespace": "aws.storage",
@@ -200559,7 +201708,7 @@
200559
201708
  "immutable": true,
200560
201709
  "locationInModule": {
200561
201710
  "filename": "src/aws/storage/table.ts",
200562
- "line": 462
201711
+ "line": 504
200563
201712
  },
200564
201713
  "name": "kinesisPrecisionTimestamp",
200565
201714
  "optional": true,
@@ -200577,7 +201726,7 @@
200577
201726
  "immutable": true,
200578
201727
  "locationInModule": {
200579
201728
  "filename": "src/aws/storage/table.ts",
200580
- "line": 455
201729
+ "line": 497
200581
201730
  },
200582
201731
  "name": "kinesisStream",
200583
201732
  "optional": true,
@@ -200595,7 +201744,7 @@
200595
201744
  "immutable": true,
200596
201745
  "locationInModule": {
200597
201746
  "filename": "src/aws/storage/table.ts",
200598
- "line": 448
201747
+ "line": 490
200599
201748
  },
200600
201749
  "name": "tableName",
200601
201750
  "optional": true,
@@ -200858,7 +202007,7 @@
200858
202007
  "kind": "interface",
200859
202008
  "locationInModule": {
200860
202009
  "filename": "src/aws/storage/shared.ts",
200861
- "line": 93
202010
+ "line": 95
200862
202011
  },
200863
202012
  "name": "WarmThroughput",
200864
202013
  "namespace": "aws.storage",
@@ -200873,7 +202022,7 @@
200873
202022
  "immutable": true,
200874
202023
  "locationInModule": {
200875
202024
  "filename": "src/aws/storage/shared.ts",
200876
- "line": 98
202025
+ "line": 100
200877
202026
  },
200878
202027
  "name": "readUnitsPerSecond",
200879
202028
  "optional": true,
@@ -200891,7 +202040,7 @@
200891
202040
  "immutable": true,
200892
202041
  "locationInModule": {
200893
202042
  "filename": "src/aws/storage/shared.ts",
200894
- "line": 103
202043
+ "line": 105
200895
202044
  },
200896
202045
  "name": "writeUnitsPerSecond",
200897
202046
  "optional": true,
@@ -202753,6 +203902,6 @@
202753
203902
  "symbolId": "src/aws/storage/notification-targets/queue:QueueDestination"
202754
203903
  }
202755
203904
  },
202756
- "version": "0.2.1",
202757
- "fingerprint": "6Wvd1KMw8YWo190Vr2KoBPl0FNC1N8beDc2/2t+j4nc="
203905
+ "version": "0.2.3",
203906
+ "fingerprint": "2a9eFUyJ9NZqIJ8apbrDWyX2ygmtV1ceMVEXcFAsk2w="
202758
203907
  }