aws-cdk-lib 2.133.0__py3-none-any.whl → 2.135.0__py3-none-any.whl

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 (282) hide show
  1. aws_cdk/__init__.py +14 -1
  2. aws_cdk/_jsii/__init__.py +4 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.133.0.jsii.tgz → aws-cdk-lib@2.135.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -0
  5. aws_cdk/assertions/__init__.py +3 -0
  6. aws_cdk/aws_accessanalyzer/__init__.py +3 -0
  7. aws_cdk/aws_acmpca/__init__.py +3 -0
  8. aws_cdk/aws_amazonmq/__init__.py +3 -0
  9. aws_cdk/aws_amplify/__init__.py +3 -0
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +3 -0
  11. aws_cdk/aws_apigateway/__init__.py +3 -0
  12. aws_cdk/aws_apigatewayv2/__init__.py +108 -3
  13. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +3 -0
  14. aws_cdk/aws_apigatewayv2_integrations/__init__.py +158 -3
  15. aws_cdk/aws_appconfig/__init__.py +189 -8
  16. aws_cdk/aws_appflow/__init__.py +3 -0
  17. aws_cdk/aws_appintegrations/__init__.py +560 -0
  18. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +3 -0
  20. aws_cdk/aws_appmesh/__init__.py +4 -1
  21. aws_cdk/aws_apprunner/__init__.py +3 -0
  22. aws_cdk/aws_appstream/__init__.py +3 -0
  23. aws_cdk/aws_appsync/__init__.py +74 -0
  24. aws_cdk/aws_aps/__init__.py +805 -1
  25. aws_cdk/aws_arczonalshift/__init__.py +3 -0
  26. aws_cdk/aws_athena/__init__.py +3 -0
  27. aws_cdk/aws_auditmanager/__init__.py +3 -0
  28. aws_cdk/aws_autoscaling/__init__.py +9 -4
  29. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  30. aws_cdk/aws_autoscaling_hooktargets/__init__.py +3 -0
  31. aws_cdk/aws_autoscalingplans/__init__.py +3 -0
  32. aws_cdk/aws_b2bi/__init__.py +3 -0
  33. aws_cdk/aws_backup/__init__.py +26 -12
  34. aws_cdk/aws_backupgateway/__init__.py +3 -0
  35. aws_cdk/aws_batch/__init__.py +426 -73
  36. aws_cdk/aws_bedrock/__init__.py +200 -2
  37. aws_cdk/aws_billingconductor/__init__.py +3 -0
  38. aws_cdk/aws_budgets/__init__.py +3 -0
  39. aws_cdk/aws_cassandra/__init__.py +3 -0
  40. aws_cdk/aws_ce/__init__.py +3 -0
  41. aws_cdk/aws_certificatemanager/__init__.py +3 -0
  42. aws_cdk/aws_chatbot/__init__.py +3 -0
  43. aws_cdk/aws_cleanrooms/__init__.py +183 -6
  44. aws_cdk/aws_cloud9/__init__.py +3 -0
  45. aws_cdk/aws_cloudformation/__init__.py +4 -1
  46. aws_cdk/aws_cloudfront/__init__.py +5 -2
  47. aws_cdk/aws_cloudfront/experimental/__init__.py +3 -0
  48. aws_cdk/aws_cloudfront_origins/__init__.py +3 -0
  49. aws_cdk/aws_cloudtrail/__init__.py +47 -14
  50. aws_cdk/aws_cloudwatch/__init__.py +21 -0
  51. aws_cdk/aws_cloudwatch_actions/__init__.py +3 -0
  52. aws_cdk/aws_codeartifact/__init__.py +815 -2
  53. aws_cdk/aws_codebuild/__init__.py +38 -16
  54. aws_cdk/aws_codecommit/__init__.py +3 -0
  55. aws_cdk/aws_codedeploy/__init__.py +3 -0
  56. aws_cdk/aws_codeguruprofiler/__init__.py +3 -0
  57. aws_cdk/aws_codegurureviewer/__init__.py +3 -0
  58. aws_cdk/aws_codepipeline/__init__.py +27 -8
  59. aws_cdk/aws_codepipeline_actions/__init__.py +3 -0
  60. aws_cdk/aws_codestar/__init__.py +3 -0
  61. aws_cdk/aws_codestarconnections/__init__.py +91 -2
  62. aws_cdk/aws_codestarnotifications/__init__.py +3 -0
  63. aws_cdk/aws_cognito/__init__.py +44 -40
  64. aws_cdk/aws_comprehend/__init__.py +3 -0
  65. aws_cdk/aws_config/__init__.py +3 -0
  66. aws_cdk/aws_connect/__init__.py +277 -0
  67. aws_cdk/aws_connectcampaigns/__init__.py +3 -0
  68. aws_cdk/aws_controltower/__init__.py +3 -0
  69. aws_cdk/aws_cur/__init__.py +3 -0
  70. aws_cdk/aws_customerprofiles/__init__.py +3 -0
  71. aws_cdk/aws_databrew/__init__.py +3 -0
  72. aws_cdk/aws_datapipeline/__init__.py +3 -0
  73. aws_cdk/aws_datasync/__init__.py +396 -13
  74. aws_cdk/aws_datazone/__init__.py +3 -0
  75. aws_cdk/aws_dax/__init__.py +3 -0
  76. aws_cdk/aws_detective/__init__.py +3 -0
  77. aws_cdk/aws_devicefarm/__init__.py +3 -0
  78. aws_cdk/aws_devopsguru/__init__.py +3 -0
  79. aws_cdk/aws_directoryservice/__init__.py +3 -0
  80. aws_cdk/aws_dlm/__init__.py +5 -2
  81. aws_cdk/aws_dms/__init__.py +30 -9
  82. aws_cdk/aws_docdb/__init__.py +3 -0
  83. aws_cdk/aws_docdbelastic/__init__.py +128 -0
  84. aws_cdk/aws_dynamodb/__init__.py +419 -5
  85. aws_cdk/aws_ec2/__init__.py +3530 -504
  86. aws_cdk/aws_ecr/__init__.py +3 -0
  87. aws_cdk/aws_ecr_assets/__init__.py +3 -0
  88. aws_cdk/aws_ecs/__init__.py +12 -4
  89. aws_cdk/aws_ecs_patterns/__init__.py +3 -0
  90. aws_cdk/aws_efs/__init__.py +3 -0
  91. aws_cdk/aws_eks/__init__.py +69 -47
  92. aws_cdk/aws_elasticache/__init__.py +3 -0
  93. aws_cdk/aws_elasticbeanstalk/__init__.py +3 -0
  94. aws_cdk/aws_elasticloadbalancing/__init__.py +3 -0
  95. aws_cdk/aws_elasticloadbalancingv2/__init__.py +431 -72
  96. aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +3 -0
  97. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +3 -0
  98. aws_cdk/aws_elasticsearch/__init__.py +3 -0
  99. aws_cdk/aws_emr/__init__.py +3 -0
  100. aws_cdk/aws_emrcontainers/__init__.py +3 -0
  101. aws_cdk/aws_emrserverless/__init__.py +3 -0
  102. aws_cdk/aws_entityresolution/__init__.py +96 -66
  103. aws_cdk/aws_events/__init__.py +3 -0
  104. aws_cdk/aws_events_targets/__init__.py +3 -0
  105. aws_cdk/aws_eventschemas/__init__.py +3 -0
  106. aws_cdk/aws_evidently/__init__.py +3 -0
  107. aws_cdk/aws_finspace/__init__.py +3 -0
  108. aws_cdk/aws_fis/__init__.py +3 -0
  109. aws_cdk/aws_fms/__init__.py +3 -0
  110. aws_cdk/aws_forecast/__init__.py +3 -0
  111. aws_cdk/aws_frauddetector/__init__.py +3 -0
  112. aws_cdk/aws_fsx/__init__.py +3 -0
  113. aws_cdk/aws_gamelift/__init__.py +3 -0
  114. aws_cdk/aws_globalaccelerator/__init__.py +5 -2
  115. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +3 -0
  116. aws_cdk/aws_glue/__init__.py +147 -3
  117. aws_cdk/aws_grafana/__init__.py +3 -0
  118. aws_cdk/aws_greengrass/__init__.py +3 -0
  119. aws_cdk/aws_greengrassv2/__init__.py +3 -0
  120. aws_cdk/aws_groundstation/__init__.py +3 -0
  121. aws_cdk/aws_guardduty/__init__.py +3 -0
  122. aws_cdk/aws_healthimaging/__init__.py +3 -0
  123. aws_cdk/aws_healthlake/__init__.py +3 -0
  124. aws_cdk/aws_iam/__init__.py +12 -10
  125. aws_cdk/aws_identitystore/__init__.py +3 -0
  126. aws_cdk/aws_imagebuilder/__init__.py +3 -0
  127. aws_cdk/aws_inspector/__init__.py +3 -0
  128. aws_cdk/aws_inspectorv2/__init__.py +3 -0
  129. aws_cdk/aws_internetmonitor/__init__.py +88 -0
  130. aws_cdk/aws_iot/__init__.py +3 -0
  131. aws_cdk/aws_iot1click/__init__.py +3 -0
  132. aws_cdk/aws_iotanalytics/__init__.py +3 -0
  133. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +3 -0
  134. aws_cdk/aws_iotevents/__init__.py +3 -0
  135. aws_cdk/aws_iotfleethub/__init__.py +3 -0
  136. aws_cdk/aws_iotfleetwise/__init__.py +3 -0
  137. aws_cdk/aws_iotsitewise/__init__.py +138 -55
  138. aws_cdk/aws_iotthingsgraph/__init__.py +3 -0
  139. aws_cdk/aws_iottwinmaker/__init__.py +3 -0
  140. aws_cdk/aws_iotwireless/__init__.py +3 -0
  141. aws_cdk/aws_ivs/__init__.py +3 -0
  142. aws_cdk/aws_ivschat/__init__.py +3 -0
  143. aws_cdk/aws_kafkaconnect/__init__.py +1239 -161
  144. aws_cdk/aws_kendra/__init__.py +56 -39
  145. aws_cdk/aws_kendraranking/__init__.py +3 -0
  146. aws_cdk/aws_kinesis/__init__.py +3 -0
  147. aws_cdk/aws_kinesisanalytics/__init__.py +40 -37
  148. aws_cdk/aws_kinesisanalyticsv2/__init__.py +40 -37
  149. aws_cdk/aws_kinesisfirehose/__init__.py +14 -3
  150. aws_cdk/aws_kinesisvideo/__init__.py +3 -0
  151. aws_cdk/aws_kms/__init__.py +3 -0
  152. aws_cdk/aws_lakeformation/__init__.py +3 -0
  153. aws_cdk/aws_lambda/__init__.py +9 -0
  154. aws_cdk/aws_lambda_destinations/__init__.py +3 -0
  155. aws_cdk/aws_lambda_event_sources/__init__.py +45 -18
  156. aws_cdk/aws_lambda_nodejs/__init__.py +3 -0
  157. aws_cdk/aws_lex/__init__.py +3 -0
  158. aws_cdk/aws_licensemanager/__init__.py +3 -0
  159. aws_cdk/aws_lightsail/__init__.py +3 -0
  160. aws_cdk/aws_location/__init__.py +3 -0
  161. aws_cdk/aws_logs/__init__.py +3 -0
  162. aws_cdk/aws_logs_destinations/__init__.py +3 -0
  163. aws_cdk/aws_lookoutequipment/__init__.py +3 -0
  164. aws_cdk/aws_lookoutmetrics/__init__.py +3 -0
  165. aws_cdk/aws_lookoutvision/__init__.py +3 -0
  166. aws_cdk/aws_m2/__init__.py +3 -0
  167. aws_cdk/aws_macie/__init__.py +3 -0
  168. aws_cdk/aws_managedblockchain/__init__.py +5 -3
  169. aws_cdk/aws_mediaconnect/__init__.py +3 -0
  170. aws_cdk/aws_mediaconvert/__init__.py +3 -0
  171. aws_cdk/aws_medialive/__init__.py +3 -0
  172. aws_cdk/aws_mediapackage/__init__.py +3 -0
  173. aws_cdk/aws_mediapackagev2/__init__.py +3 -0
  174. aws_cdk/aws_mediastore/__init__.py +3 -0
  175. aws_cdk/aws_mediatailor/__init__.py +3 -0
  176. aws_cdk/aws_memorydb/__init__.py +3 -0
  177. aws_cdk/aws_msk/__init__.py +91 -0
  178. aws_cdk/aws_mwaa/__init__.py +3 -0
  179. aws_cdk/aws_neptune/__init__.py +3 -0
  180. aws_cdk/aws_neptunegraph/__init__.py +3 -0
  181. aws_cdk/aws_networkfirewall/__init__.py +3 -0
  182. aws_cdk/aws_networkmanager/__init__.py +3 -0
  183. aws_cdk/aws_nimblestudio/__init__.py +3 -0
  184. aws_cdk/aws_oam/__init__.py +6 -3
  185. aws_cdk/aws_omics/__init__.py +3 -0
  186. aws_cdk/aws_opensearchserverless/__init__.py +3 -0
  187. aws_cdk/aws_opensearchservice/__init__.py +26 -18
  188. aws_cdk/aws_opsworks/__init__.py +3 -0
  189. aws_cdk/aws_opsworkscm/__init__.py +3 -0
  190. aws_cdk/aws_organizations/__init__.py +3 -0
  191. aws_cdk/aws_osis/__init__.py +3 -0
  192. aws_cdk/aws_panorama/__init__.py +3 -0
  193. aws_cdk/aws_pcaconnectorad/__init__.py +3 -0
  194. aws_cdk/aws_personalize/__init__.py +3 -0
  195. aws_cdk/aws_pinpoint/__init__.py +45 -0
  196. aws_cdk/aws_pinpointemail/__init__.py +3 -0
  197. aws_cdk/aws_pipes/__init__.py +3 -0
  198. aws_cdk/aws_proton/__init__.py +3 -0
  199. aws_cdk/aws_qldb/__init__.py +3 -0
  200. aws_cdk/aws_quicksight/__init__.py +3 -0
  201. aws_cdk/aws_ram/__init__.py +3 -0
  202. aws_cdk/aws_rds/__init__.py +150 -27
  203. aws_cdk/aws_redshift/__init__.py +3 -0
  204. aws_cdk/aws_redshiftserverless/__init__.py +3 -0
  205. aws_cdk/aws_refactorspaces/__init__.py +3 -0
  206. aws_cdk/aws_rekognition/__init__.py +3 -0
  207. aws_cdk/aws_resiliencehub/__init__.py +3 -0
  208. aws_cdk/aws_resourceexplorer2/__init__.py +3 -0
  209. aws_cdk/aws_resourcegroups/__init__.py +3 -0
  210. aws_cdk/aws_robomaker/__init__.py +3 -0
  211. aws_cdk/aws_rolesanywhere/__init__.py +3 -0
  212. aws_cdk/aws_route53/__init__.py +52 -0
  213. aws_cdk/aws_route53_patterns/__init__.py +3 -0
  214. aws_cdk/aws_route53_targets/__init__.py +3 -0
  215. aws_cdk/aws_route53recoverycontrol/__init__.py +3 -0
  216. aws_cdk/aws_route53recoveryreadiness/__init__.py +3 -0
  217. aws_cdk/aws_route53resolver/__init__.py +3 -0
  218. aws_cdk/aws_rum/__init__.py +3 -0
  219. aws_cdk/aws_s3/__init__.py +3 -0
  220. aws_cdk/aws_s3_assets/__init__.py +3 -0
  221. aws_cdk/aws_s3_deployment/__init__.py +3 -0
  222. aws_cdk/aws_s3_notifications/__init__.py +3 -0
  223. aws_cdk/aws_s3express/__init__.py +3 -0
  224. aws_cdk/aws_s3objectlambda/__init__.py +3 -0
  225. aws_cdk/aws_s3outposts/__init__.py +3 -0
  226. aws_cdk/aws_sagemaker/__init__.py +5 -2
  227. aws_cdk/aws_sam/__init__.py +3 -0
  228. aws_cdk/aws_scheduler/__init__.py +3 -0
  229. aws_cdk/aws_sdb/__init__.py +3 -0
  230. aws_cdk/aws_secretsmanager/__init__.py +3 -0
  231. aws_cdk/aws_securityhub/__init__.py +59 -14
  232. aws_cdk/aws_securitylake/__init__.py +859 -0
  233. aws_cdk/aws_servicecatalog/__init__.py +3 -0
  234. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -0
  235. aws_cdk/aws_servicediscovery/__init__.py +3 -0
  236. aws_cdk/aws_ses/__init__.py +3 -0
  237. aws_cdk/aws_ses_actions/__init__.py +3 -0
  238. aws_cdk/aws_shield/__init__.py +3 -0
  239. aws_cdk/aws_signer/__init__.py +3 -0
  240. aws_cdk/aws_simspaceweaver/__init__.py +3 -0
  241. aws_cdk/aws_sns/__init__.py +48 -13
  242. aws_cdk/aws_sns_subscriptions/__init__.py +3 -0
  243. aws_cdk/aws_sqs/__init__.py +3 -0
  244. aws_cdk/aws_ssm/__init__.py +6 -3
  245. aws_cdk/aws_ssmcontacts/__init__.py +3 -0
  246. aws_cdk/aws_ssmincidents/__init__.py +3 -0
  247. aws_cdk/aws_sso/__init__.py +3 -0
  248. aws_cdk/aws_stepfunctions/__init__.py +3 -0
  249. aws_cdk/aws_stepfunctions_tasks/__init__.py +26 -0
  250. aws_cdk/aws_supportapp/__init__.py +3 -0
  251. aws_cdk/aws_synthetics/__init__.py +77 -14
  252. aws_cdk/aws_systemsmanagersap/__init__.py +3 -0
  253. aws_cdk/aws_timestream/__init__.py +3 -0
  254. aws_cdk/aws_transfer/__init__.py +7 -3
  255. aws_cdk/aws_verifiedpermissions/__init__.py +3 -0
  256. aws_cdk/aws_voiceid/__init__.py +3 -0
  257. aws_cdk/aws_vpclattice/__init__.py +3 -0
  258. aws_cdk/aws_waf/__init__.py +3 -0
  259. aws_cdk/aws_wafregional/__init__.py +3 -0
  260. aws_cdk/aws_wafv2/__init__.py +99 -46
  261. aws_cdk/aws_wisdom/__init__.py +3 -0
  262. aws_cdk/aws_workspaces/__init__.py +3 -0
  263. aws_cdk/aws_workspacesthinclient/__init__.py +3 -0
  264. aws_cdk/aws_workspacesweb/__init__.py +3 -0
  265. aws_cdk/aws_xray/__init__.py +3 -0
  266. aws_cdk/cloud_assembly_schema/__init__.py +3 -0
  267. aws_cdk/cloudformation_include/__init__.py +3 -0
  268. aws_cdk/custom_resources/__init__.py +7 -4
  269. aws_cdk/cx_api/__init__.py +20 -0
  270. aws_cdk/lambda_layer_awscli/__init__.py +3 -0
  271. aws_cdk/lambda_layer_kubectl/__init__.py +3 -0
  272. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +3 -0
  273. aws_cdk/pipelines/__init__.py +3 -0
  274. aws_cdk/region_info/__init__.py +3 -0
  275. aws_cdk/triggers/__init__.py +3 -0
  276. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/METADATA +2 -2
  277. aws_cdk_lib-2.135.0.dist-info/RECORD +282 -0
  278. aws_cdk_lib-2.133.0.dist-info/RECORD +0 -281
  279. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/LICENSE +0 -0
  280. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/NOTICE +0 -0
  281. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/WHEEL +0 -0
  282. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/top_level.txt +0 -0
@@ -861,6 +861,9 @@ dynamodb.Table(stack, "Table",
861
861
  )
862
862
  ```
863
863
  '''
864
+ from pkgutil import extend_path
865
+ __path__ = extend_path(__path__, __name__)
866
+
864
867
  import abc
865
868
  import builtins
866
869
  import datetime
@@ -1372,6 +1375,8 @@ class CfnGlobalTable(
1372
1375
  # The values are placeholders you should change.
1373
1376
  from aws_cdk import aws_dynamodb as dynamodb
1374
1377
 
1378
+ # policy_document: Any
1379
+
1375
1380
  cfn_global_table = dynamodb.CfnGlobalTable(self, "MyCfnGlobalTable",
1376
1381
  attribute_definitions=[dynamodb.CfnGlobalTable.AttributeDefinitionProperty(
1377
1382
  attribute_name="attributeName",
@@ -1442,6 +1447,14 @@ class CfnGlobalTable(
1442
1447
  ),
1443
1448
  read_capacity_units=123
1444
1449
  ),
1450
+ replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
1451
+ resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
1452
+ policy_document=policy_document
1453
+ )
1454
+ ),
1455
+ resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
1456
+ policy_document=policy_document
1457
+ ),
1445
1458
  sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
1446
1459
  kms_master_key_id="kmsMasterKeyId"
1447
1460
  ),
@@ -2942,6 +2955,8 @@ class CfnGlobalTable(
2942
2955
  "kinesis_stream_specification": "kinesisStreamSpecification",
2943
2956
  "point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
2944
2957
  "read_provisioned_throughput_settings": "readProvisionedThroughputSettings",
2958
+ "replica_stream_specification": "replicaStreamSpecification",
2959
+ "resource_policy": "resourcePolicy",
2945
2960
  "sse_specification": "sseSpecification",
2946
2961
  "table_class": "tableClass",
2947
2962
  "tags": "tags",
@@ -2958,6 +2973,8 @@ class CfnGlobalTable(
2958
2973
  kinesis_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.KinesisStreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2959
2974
  point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.PointInTimeRecoverySpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2960
2975
  read_provisioned_throughput_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReadProvisionedThroughputSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2976
+ replica_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReplicaStreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2977
+ resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2961
2978
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ReplicaSSESpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2962
2979
  table_class: typing.Optional[builtins.str] = None,
2963
2980
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2971,6 +2988,8 @@ class CfnGlobalTable(
2971
2988
  :param kinesis_stream_specification: Defines the Kinesis Data Streams configuration for the specified replica.
2972
2989
  :param point_in_time_recovery_specification: The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.
2973
2990
  :param read_provisioned_throughput_settings: Defines read capacity settings for the replica table.
2991
+ :param replica_stream_specification: Represents the DynamoDB Streams configuration for a global table replica.
2992
+ :param resource_policy: A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
2974
2993
  :param sse_specification: Allows you to specify a customer-managed key for the replica. When using customer-managed keys for server-side encryption, this property must have a value in all replicas.
2975
2994
  :param table_class: The table class of the specified table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
2976
2995
  :param tags: An array of key-value pairs to apply to this replica. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
@@ -2984,6 +3003,8 @@ class CfnGlobalTable(
2984
3003
  # The values are placeholders you should change.
2985
3004
  from aws_cdk import aws_dynamodb as dynamodb
2986
3005
 
3006
+ # policy_document: Any
3007
+
2987
3008
  replica_specification_property = dynamodb.CfnGlobalTable.ReplicaSpecificationProperty(
2988
3009
  region="region",
2989
3010
 
@@ -3045,6 +3066,14 @@ class CfnGlobalTable(
3045
3066
  ),
3046
3067
  read_capacity_units=123
3047
3068
  ),
3069
+ replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
3070
+ resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
3071
+ policy_document=policy_document
3072
+ )
3073
+ ),
3074
+ resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
3075
+ policy_document=policy_document
3076
+ ),
3048
3077
  sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
3049
3078
  kms_master_key_id="kmsMasterKeyId"
3050
3079
  ),
@@ -3064,6 +3093,8 @@ class CfnGlobalTable(
3064
3093
  check_type(argname="argument kinesis_stream_specification", value=kinesis_stream_specification, expected_type=type_hints["kinesis_stream_specification"])
3065
3094
  check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
3066
3095
  check_type(argname="argument read_provisioned_throughput_settings", value=read_provisioned_throughput_settings, expected_type=type_hints["read_provisioned_throughput_settings"])
3096
+ check_type(argname="argument replica_stream_specification", value=replica_stream_specification, expected_type=type_hints["replica_stream_specification"])
3097
+ check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
3067
3098
  check_type(argname="argument sse_specification", value=sse_specification, expected_type=type_hints["sse_specification"])
3068
3099
  check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
3069
3100
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
@@ -3082,6 +3113,10 @@ class CfnGlobalTable(
3082
3113
  self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
3083
3114
  if read_provisioned_throughput_settings is not None:
3084
3115
  self._values["read_provisioned_throughput_settings"] = read_provisioned_throughput_settings
3116
+ if replica_stream_specification is not None:
3117
+ self._values["replica_stream_specification"] = replica_stream_specification
3118
+ if resource_policy is not None:
3119
+ self._values["resource_policy"] = resource_policy
3085
3120
  if sse_specification is not None:
3086
3121
  self._values["sse_specification"] = sse_specification
3087
3122
  if table_class is not None:
@@ -3171,6 +3206,32 @@ class CfnGlobalTable(
3171
3206
  result = self._values.get("read_provisioned_throughput_settings")
3172
3207
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReadProvisionedThroughputSettingsProperty"]], result)
3173
3208
 
3209
+ @builtins.property
3210
+ def replica_stream_specification(
3211
+ self,
3212
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReplicaStreamSpecificationProperty"]]:
3213
+ '''Represents the DynamoDB Streams configuration for a global table replica.
3214
+
3215
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-replicastreamspecification
3216
+ '''
3217
+ result = self._values.get("replica_stream_specification")
3218
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ReplicaStreamSpecificationProperty"]], result)
3219
+
3220
+ @builtins.property
3221
+ def resource_policy(
3222
+ self,
3223
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]]:
3224
+ '''A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table.
3225
+
3226
+ Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
3227
+
3228
+ In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
3229
+
3230
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-resourcepolicy
3231
+ '''
3232
+ result = self._values.get("resource_policy")
3233
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]], result)
3234
+
3174
3235
  @builtins.property
3175
3236
  def sse_specification(
3176
3237
  self,
@@ -3217,6 +3278,149 @@ class CfnGlobalTable(
3217
3278
  k + "=" + repr(v) for k, v in self._values.items()
3218
3279
  )
3219
3280
 
3281
+ @jsii.data_type(
3282
+ jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty",
3283
+ jsii_struct_bases=[],
3284
+ name_mapping={"resource_policy": "resourcePolicy"},
3285
+ )
3286
+ class ReplicaStreamSpecificationProperty:
3287
+ def __init__(
3288
+ self,
3289
+ *,
3290
+ resource_policy: typing.Union[_IResolvable_da3f097b, typing.Union["CfnGlobalTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]],
3291
+ ) -> None:
3292
+ '''Represents the DynamoDB Streams configuration for a global table replica.
3293
+
3294
+ :param resource_policy: A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ . You can update the ``ResourcePolicy`` property if you've specified more than one table using the `AWS ::DynamoDB::GlobalTable <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html>`_ resource.
3295
+
3296
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicastreamspecification.html
3297
+ :exampleMetadata: fixture=_generated
3298
+
3299
+ Example::
3300
+
3301
+ # The code below shows an example of how to instantiate this type.
3302
+ # The values are placeholders you should change.
3303
+ from aws_cdk import aws_dynamodb as dynamodb
3304
+
3305
+ # policy_document: Any
3306
+
3307
+ replica_stream_specification_property = dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
3308
+ resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
3309
+ policy_document=policy_document
3310
+ )
3311
+ )
3312
+ '''
3313
+ if __debug__:
3314
+ type_hints = typing.get_type_hints(_typecheckingstub__00848a241dcb74d0918fbddda5f7ccf1c445a7b63583f8697e2d95d334aa1bed)
3315
+ check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
3316
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3317
+ "resource_policy": resource_policy,
3318
+ }
3319
+
3320
+ @builtins.property
3321
+ def resource_policy(
3322
+ self,
3323
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"]:
3324
+ '''A resource-based policy document that contains the permissions for the specified stream of a DynamoDB global table replica.
3325
+
3326
+ Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
3327
+
3328
+ In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
3329
+
3330
+ You can update the ``ResourcePolicy`` property if you've specified more than one table using the `AWS ::DynamoDB::GlobalTable <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html>`_ resource.
3331
+
3332
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicastreamspecification.html#cfn-dynamodb-globaltable-replicastreamspecification-resourcepolicy
3333
+ '''
3334
+ result = self._values.get("resource_policy")
3335
+ assert result is not None, "Required property 'resource_policy' is missing"
3336
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnGlobalTable.ResourcePolicyProperty"], result)
3337
+
3338
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3339
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3340
+
3341
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3342
+ return not (rhs == self)
3343
+
3344
+ def __repr__(self) -> str:
3345
+ return "ReplicaStreamSpecificationProperty(%s)" % ", ".join(
3346
+ k + "=" + repr(v) for k, v in self._values.items()
3347
+ )
3348
+
3349
+ @jsii.data_type(
3350
+ jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.ResourcePolicyProperty",
3351
+ jsii_struct_bases=[],
3352
+ name_mapping={"policy_document": "policyDocument"},
3353
+ )
3354
+ class ResourcePolicyProperty:
3355
+ def __init__(self, *, policy_document: typing.Any) -> None:
3356
+ '''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table, its indexes, and stream.
3357
+
3358
+ Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
3359
+
3360
+ In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
3361
+
3362
+ While defining resource-based policies in your CloudFormation templates, the following considerations apply:
3363
+
3364
+ - The maximum size supported for a resource-based policy document in JSON format is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit.
3365
+ - Resource-based policies don't support `drift detection <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html#>`_ . If you update a policy outside of the CloudFormation stack template, you'll need to update the CloudFormation stack with the changes.
3366
+ - Resource-based policies don't support out-of-band changes. If you add, update, or delete a policy outside of the CloudFormation template, the change won't be overwritten if there are no changes to the policy within the template.
3367
+
3368
+ For example, say that your template contains a resource-based policy, which you later update outside of the template. If you don't make any changes to the policy in the template, the updated policy in DynamoDB won’t be synced with the policy in the template.
3369
+
3370
+ Conversely, say that your template doesn’t contain a resource-based policy, but you add a policy outside of the template. This policy won’t be removed from DynamoDB as long as you don’t add it to the template. When you add a policy to the template and update the stack, the existing policy in DynamoDB will be updated to match the one defined in the template.
3371
+
3372
+ - Within a resource-based policy, if the action for a DynamoDB service-linked role (SLR) to replicate data for a global table is denied, adding or deleting a replica will fail with an error.
3373
+ - The `AWS ::DynamoDB::GlobalTable <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html>`_ resource doesn't support creating a replica in the same stack update in Regions other than the Region where you deploy the stack update.
3374
+
3375
+ For a full list of all considerations, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
3376
+
3377
+ :param policy_document: A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
3378
+
3379
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-resourcepolicy.html
3380
+ :exampleMetadata: fixture=_generated
3381
+
3382
+ Example::
3383
+
3384
+ # The code below shows an example of how to instantiate this type.
3385
+ # The values are placeholders you should change.
3386
+ from aws_cdk import aws_dynamodb as dynamodb
3387
+
3388
+ # policy_document: Any
3389
+
3390
+ resource_policy_property = dynamodb.CfnGlobalTable.ResourcePolicyProperty(
3391
+ policy_document=policy_document
3392
+ )
3393
+ '''
3394
+ if __debug__:
3395
+ type_hints = typing.get_type_hints(_typecheckingstub__6007e745281a1817381b3cb8f148da677e9fde77893fbd60db054cb3b85f34db)
3396
+ check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
3397
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3398
+ "policy_document": policy_document,
3399
+ }
3400
+
3401
+ @builtins.property
3402
+ def policy_document(self) -> typing.Any:
3403
+ '''A resource-based policy document that contains permissions to add to the specified DynamoDB table, its indexes, and stream.
3404
+
3405
+ In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
3406
+
3407
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-resourcepolicy.html#cfn-dynamodb-globaltable-resourcepolicy-policydocument
3408
+ '''
3409
+ result = self._values.get("policy_document")
3410
+ assert result is not None, "Required property 'policy_document' is missing"
3411
+ return typing.cast(typing.Any, result)
3412
+
3413
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3414
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3415
+
3416
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3417
+ return not (rhs == self)
3418
+
3419
+ def __repr__(self) -> str:
3420
+ return "ResourcePolicyProperty(%s)" % ", ".join(
3421
+ k + "=" + repr(v) for k, v in self._values.items()
3422
+ )
3423
+
3220
3424
  @jsii.data_type(
3221
3425
  jsii_type="aws-cdk-lib.aws_dynamodb.CfnGlobalTable.SSESpecificationProperty",
3222
3426
  jsii_struct_bases=[],
@@ -3676,6 +3880,8 @@ class CfnGlobalTableProps:
3676
3880
  # The values are placeholders you should change.
3677
3881
  from aws_cdk import aws_dynamodb as dynamodb
3678
3882
 
3883
+ # policy_document: Any
3884
+
3679
3885
  cfn_global_table_props = dynamodb.CfnGlobalTableProps(
3680
3886
  attribute_definitions=[dynamodb.CfnGlobalTable.AttributeDefinitionProperty(
3681
3887
  attribute_name="attributeName",
@@ -3746,6 +3952,14 @@ class CfnGlobalTableProps:
3746
3952
  ),
3747
3953
  read_capacity_units=123
3748
3954
  ),
3955
+ replica_stream_specification=dynamodb.CfnGlobalTable.ReplicaStreamSpecificationProperty(
3956
+ resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
3957
+ policy_document=policy_document
3958
+ )
3959
+ ),
3960
+ resource_policy=dynamodb.CfnGlobalTable.ResourcePolicyProperty(
3961
+ policy_document=policy_document
3962
+ ),
3749
3963
  sse_specification=dynamodb.CfnGlobalTable.ReplicaSSESpecificationProperty(
3750
3964
  kms_master_key_id="kmsMasterKeyId"
3751
3965
  ),
@@ -4062,6 +4276,8 @@ class CfnTable(
4062
4276
  # The values are placeholders you should change.
4063
4277
  from aws_cdk import aws_dynamodb as dynamodb
4064
4278
 
4279
+ # policy_document: Any
4280
+
4065
4281
  cfn_table = dynamodb.CfnTable(self, "MyCfnTable",
4066
4282
  key_schema=[dynamodb.CfnTable.KeySchemaProperty(
4067
4283
  attribute_name="attributeName",
@@ -4141,6 +4357,9 @@ class CfnTable(
4141
4357
  read_capacity_units=123,
4142
4358
  write_capacity_units=123
4143
4359
  ),
4360
+ resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
4361
+ policy_document=policy_document
4362
+ ),
4144
4363
  sse_specification=dynamodb.CfnTable.SSESpecificationProperty(
4145
4364
  sse_enabled=False,
4146
4365
 
@@ -4149,7 +4368,12 @@ class CfnTable(
4149
4368
  sse_type="sseType"
4150
4369
  ),
4151
4370
  stream_specification=dynamodb.CfnTable.StreamSpecificationProperty(
4152
- stream_view_type="streamViewType"
4371
+ stream_view_type="streamViewType",
4372
+
4373
+ # the properties below are optional
4374
+ resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
4375
+ policy_document=policy_document
4376
+ )
4153
4377
  ),
4154
4378
  table_class="tableClass",
4155
4379
  table_name="tableName",
@@ -4182,6 +4406,7 @@ class CfnTable(
4182
4406
  local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.LocalSecondaryIndexProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4183
4407
  point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.PointInTimeRecoverySpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4184
4408
  provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ProvisionedThroughputProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4409
+ resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4185
4410
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.SSESpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4186
4411
  stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.StreamSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4187
4412
  table_class: typing.Optional[builtins.str] = None,
@@ -4203,6 +4428,7 @@ class CfnTable(
4203
4428
  :param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
4204
4429
  :param point_in_time_recovery_specification: The settings used to enable point in time recovery.
4205
4430
  :param provisioned_throughput: Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits`` . For more information about the contents of a provisioned throughput structure, see `Amazon DynamoDB Table ProvisionedThroughput <https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html>`_ . If you set ``BillingMode`` as ``PROVISIONED`` , you must specify this property. If you set ``BillingMode`` as ``PAY_PER_REQUEST`` , you cannot specify this property.
4431
+ :param resource_policy: A resource-based policy document that contains permissions to add to the specified table. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ . When you attach a resource-based policy while creating a table, the policy creation is *strongly consistent* . For information about the considerations that you should keep in mind while attaching a resource-based policy, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
4206
4432
  :param sse_specification: Specifies the settings to enable server-side encryption.
4207
4433
  :param stream_specification: The settings for the DynamoDB table stream, which capture changes to items stored in the table.
4208
4434
  :param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
@@ -4226,6 +4452,7 @@ class CfnTable(
4226
4452
  local_secondary_indexes=local_secondary_indexes,
4227
4453
  point_in_time_recovery_specification=point_in_time_recovery_specification,
4228
4454
  provisioned_throughput=provisioned_throughput,
4455
+ resource_policy=resource_policy,
4229
4456
  sse_specification=sse_specification,
4230
4457
  stream_specification=stream_specification,
4231
4458
  table_class=table_class,
@@ -4495,6 +4722,24 @@ class CfnTable(
4495
4722
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4496
4723
  jsii.set(self, "provisionedThroughput", value)
4497
4724
 
4725
+ @builtins.property
4726
+ @jsii.member(jsii_name="resourcePolicy")
4727
+ def resource_policy(
4728
+ self,
4729
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]]:
4730
+ '''A resource-based policy document that contains permissions to add to the specified table.'''
4731
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]], jsii.get(self, "resourcePolicy"))
4732
+
4733
+ @resource_policy.setter
4734
+ def resource_policy(
4735
+ self,
4736
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]],
4737
+ ) -> None:
4738
+ if __debug__:
4739
+ type_hints = typing.get_type_hints(_typecheckingstub__4166d9b0a925b24598927de15ecb1935d22d14f9a49469ba893db8d18421bf02)
4740
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4741
+ jsii.set(self, "resourcePolicy", value)
4742
+
4498
4743
  @builtins.property
4499
4744
  @jsii.member(jsii_name="sseSpecification")
4500
4745
  def sse_specification(
@@ -5640,6 +5885,78 @@ class CfnTable(
5640
5885
  k + "=" + repr(v) for k, v in self._values.items()
5641
5886
  )
5642
5887
 
5888
+ @jsii.data_type(
5889
+ jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.ResourcePolicyProperty",
5890
+ jsii_struct_bases=[],
5891
+ name_mapping={"policy_document": "policyDocument"},
5892
+ )
5893
+ class ResourcePolicyProperty:
5894
+ def __init__(self, *, policy_document: typing.Any) -> None:
5895
+ '''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table, its indexes, and stream.
5896
+
5897
+ Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
5898
+
5899
+ In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
5900
+
5901
+ While defining resource-based policies in your CloudFormation templates, the following considerations apply:
5902
+
5903
+ - The maximum size supported for a resource-based policy document in JSON format is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit.
5904
+ - Resource-based policies don't support `drift detection <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html#>`_ . If you update a policy outside of the CloudFormation stack template, you'll need to update the CloudFormation stack with the changes.
5905
+ - Resource-based policies don't support out-of-band changes. If you add, update, or delete a policy outside of the CloudFormation template, the change won't be overwritten if there are no changes to the policy within the template.
5906
+
5907
+ For example, say that your template contains a resource-based policy, which you later update outside of the template. If you don't make any changes to the policy in the template, the updated policy in DynamoDB won’t be synced with the policy in the template.
5908
+
5909
+ Conversely, say that your template doesn’t contain a resource-based policy, but you add a policy outside of the template. This policy won’t be removed from DynamoDB as long as you don’t add it to the template. When you add a policy to the template and update the stack, the existing policy in DynamoDB will be updated to match the one defined in the template.
5910
+
5911
+ For a full list of all considerations, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
5912
+
5913
+ :param policy_document: A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
5914
+
5915
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html
5916
+ :exampleMetadata: fixture=_generated
5917
+
5918
+ Example::
5919
+
5920
+ # The code below shows an example of how to instantiate this type.
5921
+ # The values are placeholders you should change.
5922
+ from aws_cdk import aws_dynamodb as dynamodb
5923
+
5924
+ # policy_document: Any
5925
+
5926
+ resource_policy_property = dynamodb.CfnTable.ResourcePolicyProperty(
5927
+ policy_document=policy_document
5928
+ )
5929
+ '''
5930
+ if __debug__:
5931
+ type_hints = typing.get_type_hints(_typecheckingstub__64c1cb1f4d183fca5b703f524bc57bfa5f9515fd97acd86171b92226b4e11ca3)
5932
+ check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
5933
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5934
+ "policy_document": policy_document,
5935
+ }
5936
+
5937
+ @builtins.property
5938
+ def policy_document(self) -> typing.Any:
5939
+ '''A resource-based policy document that contains permissions to add to the specified DynamoDB table, index, or both.
5940
+
5941
+ In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
5942
+
5943
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html#cfn-dynamodb-table-resourcepolicy-policydocument
5944
+ '''
5945
+ result = self._values.get("policy_document")
5946
+ assert result is not None, "Required property 'policy_document' is missing"
5947
+ return typing.cast(typing.Any, result)
5948
+
5949
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5950
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5951
+
5952
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5953
+ return not (rhs == self)
5954
+
5955
+ def __repr__(self) -> str:
5956
+ return "ResourcePolicyProperty(%s)" % ", ".join(
5957
+ k + "=" + repr(v) for k, v in self._values.items()
5958
+ )
5959
+
5643
5960
  @jsii.data_type(
5644
5961
  jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.S3BucketSourceProperty",
5645
5962
  jsii_struct_bases=[],
@@ -5835,13 +6152,22 @@ class CfnTable(
5835
6152
  @jsii.data_type(
5836
6153
  jsii_type="aws-cdk-lib.aws_dynamodb.CfnTable.StreamSpecificationProperty",
5837
6154
  jsii_struct_bases=[],
5838
- name_mapping={"stream_view_type": "streamViewType"},
6155
+ name_mapping={
6156
+ "stream_view_type": "streamViewType",
6157
+ "resource_policy": "resourcePolicy",
6158
+ },
5839
6159
  )
5840
6160
  class StreamSpecificationProperty:
5841
- def __init__(self, *, stream_view_type: builtins.str) -> None:
6161
+ def __init__(
6162
+ self,
6163
+ *,
6164
+ stream_view_type: builtins.str,
6165
+ resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.ResourcePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6166
+ ) -> None:
5842
6167
  '''Represents the DynamoDB Streams configuration for a table in DynamoDB.
5843
6168
 
5844
6169
  :param stream_view_type: When an item in the table is modified, ``StreamViewType`` determines what information is written to the stream for this table. Valid values for ``StreamViewType`` are: - ``KEYS_ONLY`` - Only the key attributes of the modified item are written to the stream. - ``NEW_IMAGE`` - The entire item, as it appears after it was modified, is written to the stream. - ``OLD_IMAGE`` - The entire item, as it appeared before it was modified, is written to the stream. - ``NEW_AND_OLD_IMAGES`` - Both the new and the old item images of the item are written to the stream.
6170
+ :param resource_policy: Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
5845
6171
 
5846
6172
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html
5847
6173
  :exampleMetadata: fixture=_generated
@@ -5852,16 +6178,26 @@ class CfnTable(
5852
6178
  # The values are placeholders you should change.
5853
6179
  from aws_cdk import aws_dynamodb as dynamodb
5854
6180
 
6181
+ # policy_document: Any
6182
+
5855
6183
  stream_specification_property = dynamodb.CfnTable.StreamSpecificationProperty(
5856
- stream_view_type="streamViewType"
6184
+ stream_view_type="streamViewType",
6185
+
6186
+ # the properties below are optional
6187
+ resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
6188
+ policy_document=policy_document
6189
+ )
5857
6190
  )
5858
6191
  '''
5859
6192
  if __debug__:
5860
6193
  type_hints = typing.get_type_hints(_typecheckingstub__3099d6d2aee077548b7bec617449da8355169637f0983749d3191a63e00a1c72)
5861
6194
  check_type(argname="argument stream_view_type", value=stream_view_type, expected_type=type_hints["stream_view_type"])
6195
+ check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
5862
6196
  self._values: typing.Dict[builtins.str, typing.Any] = {
5863
6197
  "stream_view_type": stream_view_type,
5864
6198
  }
6199
+ if resource_policy is not None:
6200
+ self._values["resource_policy"] = resource_policy
5865
6201
 
5866
6202
  @builtins.property
5867
6203
  def stream_view_type(self) -> builtins.str:
@@ -5880,6 +6216,21 @@ class CfnTable(
5880
6216
  assert result is not None, "Required property 'stream_view_type' is missing"
5881
6217
  return typing.cast(builtins.str, result)
5882
6218
 
6219
+ @builtins.property
6220
+ def resource_policy(
6221
+ self,
6222
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]]:
6223
+ '''Creates or updates a resource-based policy document that contains the permissions for DynamoDB resources, such as a table's streams.
6224
+
6225
+ Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
6226
+
6227
+ In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
6228
+
6229
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html#cfn-dynamodb-table-streamspecification-resourcepolicy
6230
+ '''
6231
+ result = self._values.get("resource_policy")
6232
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.ResourcePolicyProperty"]], result)
6233
+
5883
6234
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
5884
6235
  return isinstance(rhs, self.__class__) and rhs._values == self._values
5885
6236
 
@@ -5985,6 +6336,7 @@ class CfnTable(
5985
6336
  "local_secondary_indexes": "localSecondaryIndexes",
5986
6337
  "point_in_time_recovery_specification": "pointInTimeRecoverySpecification",
5987
6338
  "provisioned_throughput": "provisionedThroughput",
6339
+ "resource_policy": "resourcePolicy",
5988
6340
  "sse_specification": "sseSpecification",
5989
6341
  "stream_specification": "streamSpecification",
5990
6342
  "table_class": "tableClass",
@@ -6008,6 +6360,7 @@ class CfnTableProps:
6008
6360
  local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
6009
6361
  point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6010
6362
  provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6363
+ resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6011
6364
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6012
6365
  stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6013
6366
  table_class: typing.Optional[builtins.str] = None,
@@ -6028,6 +6381,7 @@ class CfnTableProps:
6028
6381
  :param local_secondary_indexes: Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
6029
6382
  :param point_in_time_recovery_specification: The settings used to enable point in time recovery.
6030
6383
  :param provisioned_throughput: Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits`` . For more information about the contents of a provisioned throughput structure, see `Amazon DynamoDB Table ProvisionedThroughput <https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html>`_ . If you set ``BillingMode`` as ``PROVISIONED`` , you must specify this property. If you set ``BillingMode`` as ``PAY_PER_REQUEST`` , you cannot specify this property.
6384
+ :param resource_policy: A resource-based policy document that contains permissions to add to the specified table. In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ . When you attach a resource-based policy while creating a table, the policy creation is *strongly consistent* . For information about the considerations that you should keep in mind while attaching a resource-based policy, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
6031
6385
  :param sse_specification: Specifies the settings to enable server-side encryption.
6032
6386
  :param stream_specification: The settings for the DynamoDB table stream, which capture changes to items stored in the table.
6033
6387
  :param table_class: The table class of the new table. Valid values are ``STANDARD`` and ``STANDARD_INFREQUENT_ACCESS`` .
@@ -6044,6 +6398,8 @@ class CfnTableProps:
6044
6398
  # The values are placeholders you should change.
6045
6399
  from aws_cdk import aws_dynamodb as dynamodb
6046
6400
 
6401
+ # policy_document: Any
6402
+
6047
6403
  cfn_table_props = dynamodb.CfnTableProps(
6048
6404
  key_schema=[dynamodb.CfnTable.KeySchemaProperty(
6049
6405
  attribute_name="attributeName",
@@ -6123,6 +6479,9 @@ class CfnTableProps:
6123
6479
  read_capacity_units=123,
6124
6480
  write_capacity_units=123
6125
6481
  ),
6482
+ resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
6483
+ policy_document=policy_document
6484
+ ),
6126
6485
  sse_specification=dynamodb.CfnTable.SSESpecificationProperty(
6127
6486
  sse_enabled=False,
6128
6487
 
@@ -6131,7 +6490,12 @@ class CfnTableProps:
6131
6490
  sse_type="sseType"
6132
6491
  ),
6133
6492
  stream_specification=dynamodb.CfnTable.StreamSpecificationProperty(
6134
- stream_view_type="streamViewType"
6493
+ stream_view_type="streamViewType",
6494
+
6495
+ # the properties below are optional
6496
+ resource_policy=dynamodb.CfnTable.ResourcePolicyProperty(
6497
+ policy_document=policy_document
6498
+ )
6135
6499
  ),
6136
6500
  table_class="tableClass",
6137
6501
  table_name="tableName",
@@ -6160,6 +6524,7 @@ class CfnTableProps:
6160
6524
  check_type(argname="argument local_secondary_indexes", value=local_secondary_indexes, expected_type=type_hints["local_secondary_indexes"])
6161
6525
  check_type(argname="argument point_in_time_recovery_specification", value=point_in_time_recovery_specification, expected_type=type_hints["point_in_time_recovery_specification"])
6162
6526
  check_type(argname="argument provisioned_throughput", value=provisioned_throughput, expected_type=type_hints["provisioned_throughput"])
6527
+ check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
6163
6528
  check_type(argname="argument sse_specification", value=sse_specification, expected_type=type_hints["sse_specification"])
6164
6529
  check_type(argname="argument stream_specification", value=stream_specification, expected_type=type_hints["stream_specification"])
6165
6530
  check_type(argname="argument table_class", value=table_class, expected_type=type_hints["table_class"])
@@ -6189,6 +6554,8 @@ class CfnTableProps:
6189
6554
  self._values["point_in_time_recovery_specification"] = point_in_time_recovery_specification
6190
6555
  if provisioned_throughput is not None:
6191
6556
  self._values["provisioned_throughput"] = provisioned_throughput
6557
+ if resource_policy is not None:
6558
+ self._values["resource_policy"] = resource_policy
6192
6559
  if sse_specification is not None:
6193
6560
  self._values["sse_specification"] = sse_specification
6194
6561
  if stream_specification is not None:
@@ -6358,6 +6725,21 @@ class CfnTableProps:
6358
6725
  result = self._values.get("provisioned_throughput")
6359
6726
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ProvisionedThroughputProperty]], result)
6360
6727
 
6728
+ @builtins.property
6729
+ def resource_policy(
6730
+ self,
6731
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]]:
6732
+ '''A resource-based policy document that contains permissions to add to the specified table.
6733
+
6734
+ In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see `Using resource-based policies for DynamoDB <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html>`_ and `Resource-based policy examples <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html>`_ .
6735
+
6736
+ When you attach a resource-based policy while creating a table, the policy creation is *strongly consistent* . For information about the considerations that you should keep in mind while attaching a resource-based policy, see `Resource-based policy considerations <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html>`_ .
6737
+
6738
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-resourcepolicy
6739
+ '''
6740
+ result = self._values.get("resource_policy")
6741
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]], result)
6742
+
6361
6743
  @builtins.property
6362
6744
  def sse_specification(
6363
6745
  self,
@@ -13821,6 +14203,8 @@ def _typecheckingstub__912e2bc047b1f65121a39316718e5632909682a5243ef8e21ead42e3e
13821
14203
  kinesis_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.KinesisStreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13822
14204
  point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13823
14205
  read_provisioned_throughput_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReadProvisionedThroughputSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14206
+ replica_stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaStreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14207
+ resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13824
14208
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ReplicaSSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13825
14209
  table_class: typing.Optional[builtins.str] = None,
13826
14210
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -13828,6 +14212,20 @@ def _typecheckingstub__912e2bc047b1f65121a39316718e5632909682a5243ef8e21ead42e3e
13828
14212
  """Type checking stubs"""
13829
14213
  pass
13830
14214
 
14215
+ def _typecheckingstub__00848a241dcb74d0918fbddda5f7ccf1c445a7b63583f8697e2d95d334aa1bed(
14216
+ *,
14217
+ resource_policy: typing.Union[_IResolvable_da3f097b, typing.Union[CfnGlobalTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]],
14218
+ ) -> None:
14219
+ """Type checking stubs"""
14220
+ pass
14221
+
14222
+ def _typecheckingstub__6007e745281a1817381b3cb8f148da677e9fde77893fbd60db054cb3b85f34db(
14223
+ *,
14224
+ policy_document: typing.Any,
14225
+ ) -> None:
14226
+ """Type checking stubs"""
14227
+ pass
14228
+
13831
14229
  def _typecheckingstub__ea2cb67b1629904043fec37c484f260e58078624f7b496fe52fc2201d365e1c8(
13832
14230
  *,
13833
14231
  sse_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
@@ -13900,6 +14298,7 @@ def _typecheckingstub__9c4a83992df200bfde2ccfe129994eeacab105432a2509473861feb73
13900
14298
  local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13901
14299
  point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13902
14300
  provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14301
+ resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13903
14302
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13904
14303
  stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13905
14304
  table_class: typing.Optional[builtins.str] = None,
@@ -13988,6 +14387,12 @@ def _typecheckingstub__6fa8ca064a9e23781245ca2f3d32d36a2324726abba76565a2e12ac5e
13988
14387
  """Type checking stubs"""
13989
14388
  pass
13990
14389
 
14390
+ def _typecheckingstub__4166d9b0a925b24598927de15ecb1935d22d14f9a49469ba893db8d18421bf02(
14391
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.ResourcePolicyProperty]],
14392
+ ) -> None:
14393
+ """Type checking stubs"""
14394
+ pass
14395
+
13991
14396
  def _typecheckingstub__bc5e50032964d91e0cf5ec36aba75b6ae325bfe6129ad9f55764353e645b28c6(
13992
14397
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SSESpecificationProperty]],
13993
14398
  ) -> None:
@@ -14123,6 +14528,13 @@ def _typecheckingstub__2c605785147b4a82f1aad9bc135fb470b73358c151d323493ae3f1cde
14123
14528
  """Type checking stubs"""
14124
14529
  pass
14125
14530
 
14531
+ def _typecheckingstub__64c1cb1f4d183fca5b703f524bc57bfa5f9515fd97acd86171b92226b4e11ca3(
14532
+ *,
14533
+ policy_document: typing.Any,
14534
+ ) -> None:
14535
+ """Type checking stubs"""
14536
+ pass
14537
+
14126
14538
  def _typecheckingstub__f675acfe91cced819ac46665a50bf155c45e71e78313e471666e0e9d708883e2(
14127
14539
  *,
14128
14540
  s3_bucket: builtins.str,
@@ -14144,6 +14556,7 @@ def _typecheckingstub__23b0abf52d7df3f9a3b741c39275e55783b349db0f08ac16d13c3d832
14144
14556
  def _typecheckingstub__3099d6d2aee077548b7bec617449da8355169637f0983749d3191a63e00a1c72(
14145
14557
  *,
14146
14558
  stream_view_type: builtins.str,
14559
+ resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14147
14560
  ) -> None:
14148
14561
  """Type checking stubs"""
14149
14562
  pass
@@ -14169,6 +14582,7 @@ def _typecheckingstub__0b7f8e29621d526383ce725f2daafbe00b52cfe2381995edac86b72a6
14169
14582
  local_secondary_indexes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.LocalSecondaryIndexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
14170
14583
  point_in_time_recovery_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.PointInTimeRecoverySpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14171
14584
  provisioned_throughput: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ProvisionedThroughputProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14585
+ resource_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.ResourcePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14172
14586
  sse_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SSESpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14173
14587
  stream_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.StreamSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
14174
14588
  table_class: typing.Optional[builtins.str] = None,