aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -70,27 +70,48 @@ from .._jsii import *
70
70
  import constructs as _constructs_77d1e7e8
71
71
  from .. import (
72
72
  CfnResource as _CfnResource_9df397a6,
73
+ CfnTag as _CfnTag_f6864754,
73
74
  IInspectable as _IInspectable_c2943556,
74
75
  IResolvable as _IResolvable_da3f097b,
76
+ ITaggableV2 as _ITaggableV2_4e6798f8,
77
+ TagManager as _TagManager_0a598cb3,
75
78
  TreeInspector as _TreeInspector_488e0dd5,
76
79
  )
80
+ from ..interfaces.aws_s3tables import (
81
+ INamespaceRef as _INamespaceRef_d181e3d7,
82
+ ITableBucketPolicyRef as _ITableBucketPolicyRef_3f1f8c44,
83
+ ITableBucketRef as _ITableBucketRef_26c8a832,
84
+ ITablePolicyRef as _ITablePolicyRef_0aed1a54,
85
+ ITableRef as _ITableRef_1d36a1c5,
86
+ NamespaceReference as _NamespaceReference_f0e554ce,
87
+ TableBucketPolicyReference as _TableBucketPolicyReference_a4627945,
88
+ TableBucketReference as _TableBucketReference_1fd2f743,
89
+ TablePolicyReference as _TablePolicyReference_a435d553,
90
+ TableReference as _TableReference_ab8e2ae7,
91
+ )
77
92
 
78
93
 
79
- @jsii.implements(_IInspectable_c2943556)
80
- class CfnTableBucket(
94
+ @jsii.implements(_IInspectable_c2943556, _INamespaceRef_d181e3d7)
95
+ class CfnNamespace(
81
96
  _CfnResource_9df397a6,
82
97
  metaclass=jsii.JSIIMeta,
83
- jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket",
98
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnNamespace",
84
99
  ):
85
- '''Creates a table bucket.
100
+ '''Creates a namespace.
86
101
 
87
- For more information, see `Creating a table bucket <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html>`_ in the *Amazon Simple Storage Service User Guide* .
102
+ A namespace is a logical grouping of tables within your table bucket, which you can use to organize tables. For more information, see `Create a namespace <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-namespace-create.html>`_ in the *Amazon Simple Storage Service User Guide* .
88
103
 
89
- - **Permissions** - - You must have the ``s3tables:CreateTableBucket`` permission to use this operation.
90
- - If you use this operation with the optional ``encryptionConfiguration`` parameter you must have the ``s3tables:PutTableBucketEncryption`` permission.
104
+ - **Permissions** - You must have the ``s3tables:CreateNamespace`` permission to use this operation.
105
+ - **Cloud Development Kit** - To use S3 Tables AWS CDK constructs, add the ``@aws-cdk/aws-s3tables-alpha`` dependency with one of the following options:
106
+ - NPM: `npm i
91
107
 
92
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html
93
- :cloudformationResource: AWS::S3Tables::TableBucket
108
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-namespace.html
109
+ :aws-cdk:
110
+
111
+ /aws-s3tables-alpha`
112
+
113
+ - Yarn: ``yarn add @aws-cdk/aws-s3tables-alpha``
114
+ :cloudformationResource: AWS::S3Tables::Namespace
94
115
  :exampleMetadata: fixture=_generated
95
116
 
96
117
  Example::
@@ -99,19 +120,9 @@ class CfnTableBucket(
99
120
  # The values are placeholders you should change.
100
121
  from aws_cdk import aws_s3tables as s3tables
101
122
 
102
- cfn_table_bucket = s3tables.CfnTableBucket(self, "MyCfnTableBucket",
103
- table_bucket_name="tableBucketName",
104
-
105
- # the properties below are optional
106
- encryption_configuration=s3tables.CfnTableBucket.EncryptionConfigurationProperty(
107
- kms_key_arn="kmsKeyArn",
108
- sse_algorithm="sseAlgorithm"
109
- ),
110
- unreferenced_file_removal=s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
111
- noncurrent_days=123,
112
- status="status",
113
- unreferenced_days=123
114
- )
123
+ cfn_namespace = s3tables.CfnNamespace(self, "MyCfnNamespace",
124
+ namespace="namespace",
125
+ table_bucket_arn="tableBucketArn"
115
126
  )
116
127
  '''
117
128
 
@@ -120,25 +131,22 @@ class CfnTableBucket(
120
131
  scope: _constructs_77d1e7e8.Construct,
121
132
  id: builtins.str,
122
133
  *,
123
- table_bucket_name: builtins.str,
124
- encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableBucket.EncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
125
- unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableBucket.UnreferencedFileRemovalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
134
+ namespace: builtins.str,
135
+ table_bucket_arn: builtins.str,
126
136
  ) -> None:
127
- '''
137
+ '''Create a new ``AWS::S3Tables::Namespace``.
138
+
128
139
  :param scope: Scope in which this resource is defined.
129
140
  :param id: Construct identifier for this resource (unique in its scope).
130
- :param table_bucket_name: The name for the table bucket.
131
- :param encryption_configuration: Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
132
- :param unreferenced_file_removal: The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
141
+ :param namespace: The name of the namespace.
142
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket to create the namespace in.
133
143
  '''
134
144
  if __debug__:
135
- type_hints = typing.get_type_hints(_typecheckingstub__de433918cd34eecbcaab0e81b6a287f71a48dd308c2f4d42e07a0e19ce5af0e2)
145
+ type_hints = typing.get_type_hints(_typecheckingstub__fd79dcff4893fe1cd3464c1f48689d2a01ad4a5eed6acfd35e21266683ab1f1c)
136
146
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
137
147
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
138
- props = CfnTableBucketProps(
139
- table_bucket_name=table_bucket_name,
140
- encryption_configuration=encryption_configuration,
141
- unreferenced_file_removal=unreferenced_file_removal,
148
+ props = CfnNamespaceProps(
149
+ namespace=namespace, table_bucket_arn=table_bucket_arn
142
150
  )
143
151
 
144
152
  jsii.create(self.__class__, self, [scope, id, props])
@@ -150,7 +158,7 @@ class CfnTableBucket(
150
158
  :param inspector: tree inspector to collect and process attributes.
151
159
  '''
152
160
  if __debug__:
153
- type_hints = typing.get_type_hints(_typecheckingstub__40da426af74874eef485654394ab5db25ba5f82e8490b96bd68d9f6318b6654e)
161
+ type_hints = typing.get_type_hints(_typecheckingstub__0dae368df5e118b03066ac5fbad3765e81aa23b31a7288aa2bb824379578614f)
154
162
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
155
163
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
156
164
 
@@ -163,7 +171,7 @@ class CfnTableBucket(
163
171
  :param props: -
164
172
  '''
165
173
  if __debug__:
166
- type_hints = typing.get_type_hints(_typecheckingstub__8e15cdb1ab81b354e389c0debd6b2b9d760245945e38c20d735044cde53c3979)
174
+ type_hints = typing.get_type_hints(_typecheckingstub__2c772aad560ab6b4e840f54665ca3a18a9fcbf362512eb78423617db138b70b0)
167
175
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
168
176
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
169
177
 
@@ -173,251 +181,1549 @@ class CfnTableBucket(
173
181
  '''The CloudFormation resource type name for this resource class.'''
174
182
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
175
183
 
176
- @builtins.property
177
- @jsii.member(jsii_name="attrTableBucketArn")
178
- def attr_table_bucket_arn(self) -> builtins.str:
179
- '''The Amazon Resource Name (ARN) of the table bucket.
180
-
181
- :cloudformationAttribute: TableBucketARN
182
- '''
183
- return typing.cast(builtins.str, jsii.get(self, "attrTableBucketArn"))
184
-
185
184
  @builtins.property
186
185
  @jsii.member(jsii_name="cfnProperties")
187
186
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
188
187
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
189
188
 
190
189
  @builtins.property
191
- @jsii.member(jsii_name="tableBucketName")
192
- def table_bucket_name(self) -> builtins.str:
193
- '''The name for the table bucket.'''
194
- return typing.cast(builtins.str, jsii.get(self, "tableBucketName"))
190
+ @jsii.member(jsii_name="namespaceRef")
191
+ def namespace_ref(self) -> _NamespaceReference_f0e554ce:
192
+ '''A reference to a Namespace resource.'''
193
+ return typing.cast(_NamespaceReference_f0e554ce, jsii.get(self, "namespaceRef"))
195
194
 
196
- @table_bucket_name.setter
197
- def table_bucket_name(self, value: builtins.str) -> None:
195
+ @builtins.property
196
+ @jsii.member(jsii_name="namespace")
197
+ def namespace(self) -> builtins.str:
198
+ '''The name of the namespace.'''
199
+ return typing.cast(builtins.str, jsii.get(self, "namespace"))
200
+
201
+ @namespace.setter
202
+ def namespace(self, value: builtins.str) -> None:
198
203
  if __debug__:
199
- type_hints = typing.get_type_hints(_typecheckingstub__42ef5079e6a92822a2e6ccbb91b02661f493a7d44dc79dfba0916840dbe44863)
204
+ type_hints = typing.get_type_hints(_typecheckingstub__083038783d9a592008992f105965913f4b10d8bc23252afb9a929c22e7cebd06)
200
205
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
201
- jsii.set(self, "tableBucketName", value) # pyright: ignore[reportArgumentType]
206
+ jsii.set(self, "namespace", value) # pyright: ignore[reportArgumentType]
202
207
 
203
208
  @builtins.property
204
- @jsii.member(jsii_name="encryptionConfiguration")
205
- def encryption_configuration(
206
- self,
207
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]]:
208
- '''Configuration specifying how data should be encrypted.'''
209
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]], jsii.get(self, "encryptionConfiguration"))
209
+ @jsii.member(jsii_name="tableBucketArn")
210
+ def table_bucket_arn(self) -> builtins.str:
211
+ '''The Amazon Resource Name (ARN) of the table bucket to create the namespace in.'''
212
+ return typing.cast(builtins.str, jsii.get(self, "tableBucketArn"))
210
213
 
211
- @encryption_configuration.setter
212
- def encryption_configuration(
213
- self,
214
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]],
215
- ) -> None:
214
+ @table_bucket_arn.setter
215
+ def table_bucket_arn(self, value: builtins.str) -> None:
216
216
  if __debug__:
217
- type_hints = typing.get_type_hints(_typecheckingstub__61499f569b4e5dc20b99defd26e29c6e9b7761b6630e1adec9c20e97e099dd4a)
217
+ type_hints = typing.get_type_hints(_typecheckingstub__8560b7f29623bc1f753b1cf34442c874c6958096b39accf37244c9341879fd81)
218
218
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
219
- jsii.set(self, "encryptionConfiguration", value) # pyright: ignore[reportArgumentType]
219
+ jsii.set(self, "tableBucketArn", value) # pyright: ignore[reportArgumentType]
220
220
 
221
- @builtins.property
222
- @jsii.member(jsii_name="unreferencedFileRemoval")
223
- def unreferenced_file_removal(
224
- self,
225
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]]:
226
- '''The unreferenced file removal settings for your table bucket.'''
227
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]], jsii.get(self, "unreferencedFileRemoval"))
228
221
 
229
- @unreferenced_file_removal.setter
230
- def unreferenced_file_removal(
222
+ @jsii.data_type(
223
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnNamespaceProps",
224
+ jsii_struct_bases=[],
225
+ name_mapping={"namespace": "namespace", "table_bucket_arn": "tableBucketArn"},
226
+ )
227
+ class CfnNamespaceProps:
228
+ def __init__(
231
229
  self,
232
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]],
230
+ *,
231
+ namespace: builtins.str,
232
+ table_bucket_arn: builtins.str,
233
233
  ) -> None:
234
+ '''Properties for defining a ``CfnNamespace``.
235
+
236
+ :param namespace: The name of the namespace.
237
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket to create the namespace in.
238
+
239
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-namespace.html
240
+ :exampleMetadata: fixture=_generated
241
+
242
+ Example::
243
+
244
+ # The code below shows an example of how to instantiate this type.
245
+ # The values are placeholders you should change.
246
+ from aws_cdk import aws_s3tables as s3tables
247
+
248
+ cfn_namespace_props = s3tables.CfnNamespaceProps(
249
+ namespace="namespace",
250
+ table_bucket_arn="tableBucketArn"
251
+ )
252
+ '''
234
253
  if __debug__:
235
- type_hints = typing.get_type_hints(_typecheckingstub__02bf42691243dcbc8ea49c2499d3414260e70a80c4e38a371b64664c49f17e6e)
236
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
237
- jsii.set(self, "unreferencedFileRemoval", value) # pyright: ignore[reportArgumentType]
254
+ type_hints = typing.get_type_hints(_typecheckingstub__5fdadc8758c9f96fac22200567c0d51cfd3e36c943cb9fa46e50cbf9abf25faf)
255
+ check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
256
+ check_type(argname="argument table_bucket_arn", value=table_bucket_arn, expected_type=type_hints["table_bucket_arn"])
257
+ self._values: typing.Dict[builtins.str, typing.Any] = {
258
+ "namespace": namespace,
259
+ "table_bucket_arn": table_bucket_arn,
260
+ }
238
261
 
239
- @jsii.data_type(
240
- jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket.EncryptionConfigurationProperty",
241
- jsii_struct_bases=[],
242
- name_mapping={"kms_key_arn": "kmsKeyArn", "sse_algorithm": "sseAlgorithm"},
243
- )
244
- class EncryptionConfigurationProperty:
245
- def __init__(
246
- self,
247
- *,
248
- kms_key_arn: typing.Optional[builtins.str] = None,
249
- sse_algorithm: typing.Optional[builtins.str] = None,
250
- ) -> None:
251
- '''Configuration specifying how data should be encrypted.
262
+ @builtins.property
263
+ def namespace(self) -> builtins.str:
264
+ '''The name of the namespace.
252
265
 
253
- This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
266
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-namespace.html#cfn-s3tables-namespace-namespace
267
+ '''
268
+ result = self._values.get("namespace")
269
+ assert result is not None, "Required property 'namespace' is missing"
270
+ return typing.cast(builtins.str, result)
254
271
 
255
- :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when ``sseAlgorithm`` is set to ``aws:kms`` .
256
- :param sse_algorithm: The server-side encryption algorithm to use. Valid values are ``AES256`` for S3-managed encryption keys, or ``aws:kms`` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`_ .
272
+ @builtins.property
273
+ def table_bucket_arn(self) -> builtins.str:
274
+ '''The Amazon Resource Name (ARN) of the table bucket to create the namespace in.
257
275
 
258
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html
259
- :exampleMetadata: fixture=_generated
276
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-namespace.html#cfn-s3tables-namespace-tablebucketarn
277
+ '''
278
+ result = self._values.get("table_bucket_arn")
279
+ assert result is not None, "Required property 'table_bucket_arn' is missing"
280
+ return typing.cast(builtins.str, result)
260
281
 
261
- Example::
282
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
283
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
262
284
 
263
- # The code below shows an example of how to instantiate this type.
264
- # The values are placeholders you should change.
265
- from aws_cdk import aws_s3tables as s3tables
266
-
267
- encryption_configuration_property = s3tables.CfnTableBucket.EncryptionConfigurationProperty(
268
- kms_key_arn="kmsKeyArn",
269
- sse_algorithm="sseAlgorithm"
285
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
286
+ return not (rhs == self)
287
+
288
+ def __repr__(self) -> str:
289
+ return "CfnNamespaceProps(%s)" % ", ".join(
290
+ k + "=" + repr(v) for k, v in self._values.items()
291
+ )
292
+
293
+
294
+ @jsii.implements(_IInspectable_c2943556, _ITableRef_1d36a1c5, _ITaggableV2_4e6798f8)
295
+ class CfnTable(
296
+ _CfnResource_9df397a6,
297
+ metaclass=jsii.JSIIMeta,
298
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable",
299
+ ):
300
+ '''Creates a new table associated with the given namespace in a table bucket.
301
+
302
+ For more information, see `Creating an Amazon S3 table <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-create.html>`_ in the *Amazon Simple Storage Service User Guide* .
303
+
304
+ - **Permissions** - - You must have the ``s3tables:CreateTable`` permission to use this operation.
305
+ - If you use this operation with the optional ``metadata`` request parameter you must have the ``s3tables:PutTableData`` permission.
306
+ - If you use this operation with the optional ``encryptionConfiguration`` request parameter you must have the ``s3tables:PutTableEncryption`` permission.
307
+
308
+ .. epigraph::
309
+
310
+ Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`_ .
311
+
312
+ - **Cloud Development Kit** - To use S3 Tables AWS CDK constructs, add the ``@aws-cdk/aws-s3tables-alpha`` dependency with one of the following options:
313
+ - NPM: `npm i
314
+
315
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html
316
+ :aws-cdk:
317
+
318
+ /aws-s3tables-alpha`
319
+
320
+ - Yarn: ``yarn add @aws-cdk/aws-s3tables-alpha``
321
+ :cloudformationResource: AWS::S3Tables::Table
322
+ :exampleMetadata: fixture=_generated
323
+
324
+ Example::
325
+
326
+ # The code below shows an example of how to instantiate this type.
327
+ # The values are placeholders you should change.
328
+ from aws_cdk import aws_s3tables as s3tables
329
+
330
+ cfn_table = s3tables.CfnTable(self, "MyCfnTable",
331
+ namespace="namespace",
332
+ open_table_format="openTableFormat",
333
+ table_bucket_arn="tableBucketArn",
334
+ table_name="tableName",
335
+
336
+ # the properties below are optional
337
+ compaction=s3tables.CfnTable.CompactionProperty(
338
+ status="status",
339
+ target_file_size_mb=123
340
+ ),
341
+ iceberg_metadata=s3tables.CfnTable.IcebergMetadataProperty(
342
+ iceberg_schema=s3tables.CfnTable.IcebergSchemaProperty(
343
+ schema_field_list=[s3tables.CfnTable.SchemaFieldProperty(
344
+ name="name",
345
+ type="type",
346
+
347
+ # the properties below are optional
348
+ required=False
349
+ )]
270
350
  )
271
- '''
272
- if __debug__:
273
- type_hints = typing.get_type_hints(_typecheckingstub__659e946ab1ee4bc0eb13a519adc57d2cb4431347d47a9e6cb4d4086a87be1b2a)
274
- check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
275
- check_type(argname="argument sse_algorithm", value=sse_algorithm, expected_type=type_hints["sse_algorithm"])
276
- self._values: typing.Dict[builtins.str, typing.Any] = {}
277
- if kms_key_arn is not None:
278
- self._values["kms_key_arn"] = kms_key_arn
279
- if sse_algorithm is not None:
280
- self._values["sse_algorithm"] = sse_algorithm
351
+ ),
352
+ snapshot_management=s3tables.CfnTable.SnapshotManagementProperty(
353
+ max_snapshot_age_hours=123,
354
+ min_snapshots_to_keep=123,
355
+ status="status"
356
+ ),
357
+ tags=[CfnTag(
358
+ key="key",
359
+ value="value"
360
+ )],
361
+ without_metadata="withoutMetadata"
362
+ )
363
+ '''
281
364
 
282
- @builtins.property
283
- def kms_key_arn(self) -> typing.Optional[builtins.str]:
284
- '''The Amazon Resource Name (ARN) of the KMS key to use for encryption.
365
+ def __init__(
366
+ self,
367
+ scope: _constructs_77d1e7e8.Construct,
368
+ id: builtins.str,
369
+ *,
370
+ namespace: builtins.str,
371
+ open_table_format: builtins.str,
372
+ table_bucket_arn: builtins.str,
373
+ table_name: builtins.str,
374
+ compaction: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.CompactionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
375
+ iceberg_metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.IcebergMetadataProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
376
+ snapshot_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.SnapshotManagementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
377
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
378
+ without_metadata: typing.Optional[builtins.str] = None,
379
+ ) -> None:
380
+ '''Create a new ``AWS::S3Tables::Table``.
285
381
 
286
- This field is required only when ``sseAlgorithm`` is set to ``aws:kms`` .
382
+ :param scope: Scope in which this resource is defined.
383
+ :param id: Construct identifier for this resource (unique in its scope).
384
+ :param namespace: The name of the namespace.
385
+ :param open_table_format: The format of the table.
386
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket to create the table in.
387
+ :param table_name: The name for the table.
388
+ :param compaction: Contains details about the compaction settings for an Iceberg table.
389
+ :param iceberg_metadata: Contains details about the metadata for an Iceberg table.
390
+ :param snapshot_management: Contains details about the Iceberg snapshot management settings for the table.
391
+ :param tags: User tags (key-value pairs) to associate with the table.
392
+ :param without_metadata: Indicates that you don't want to specify a schema for the table. This property is mutually exclusive to ``IcebergMetadata`` , and its only possible value is ``Yes`` .
393
+ '''
394
+ if __debug__:
395
+ type_hints = typing.get_type_hints(_typecheckingstub__9cb6d8b27037c33c46017d3b0b00b52a14bbd8c0a922c03aca7fff9e327b1420)
396
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
397
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
398
+ props = CfnTableProps(
399
+ namespace=namespace,
400
+ open_table_format=open_table_format,
401
+ table_bucket_arn=table_bucket_arn,
402
+ table_name=table_name,
403
+ compaction=compaction,
404
+ iceberg_metadata=iceberg_metadata,
405
+ snapshot_management=snapshot_management,
406
+ tags=tags,
407
+ without_metadata=without_metadata,
408
+ )
287
409
 
288
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html#cfn-s3tables-tablebucket-encryptionconfiguration-kmskeyarn
289
- '''
290
- result = self._values.get("kms_key_arn")
291
- return typing.cast(typing.Optional[builtins.str], result)
410
+ jsii.create(self.__class__, self, [scope, id, props])
292
411
 
293
- @builtins.property
294
- def sse_algorithm(self) -> typing.Optional[builtins.str]:
295
- '''The server-side encryption algorithm to use.
412
+ @jsii.member(jsii_name="inspect")
413
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
414
+ '''Examines the CloudFormation resource and discloses attributes.
296
415
 
297
- Valid values are ``AES256`` for S3-managed encryption keys, or ``aws:kms`` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`_ .
416
+ :param inspector: tree inspector to collect and process attributes.
417
+ '''
418
+ if __debug__:
419
+ type_hints = typing.get_type_hints(_typecheckingstub__8e9f0a1074447de044514c7c1b5b2cca167912d3e02c228b501f3cc4c1b09a6f)
420
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
421
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
298
422
 
299
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html#cfn-s3tables-tablebucket-encryptionconfiguration-ssealgorithm
300
- '''
301
- result = self._values.get("sse_algorithm")
302
- return typing.cast(typing.Optional[builtins.str], result)
423
+ @jsii.member(jsii_name="renderProperties")
424
+ def _render_properties(
425
+ self,
426
+ props: typing.Mapping[builtins.str, typing.Any],
427
+ ) -> typing.Mapping[builtins.str, typing.Any]:
428
+ '''
429
+ :param props: -
430
+ '''
431
+ if __debug__:
432
+ type_hints = typing.get_type_hints(_typecheckingstub__a82da714fe9043c593e17c8af3ba9310ce4d043a6843c815aa933a3f004a6d5a)
433
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
434
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
303
435
 
304
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
305
- return isinstance(rhs, self.__class__) and rhs._values == self._values
436
+ @jsii.python.classproperty
437
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
438
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
439
+ '''The CloudFormation resource type name for this resource class.'''
440
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
441
+
442
+ @builtins.property
443
+ @jsii.member(jsii_name="attrTableArn")
444
+ def attr_table_arn(self) -> builtins.str:
445
+ '''The Amazon Resource Name (ARN) of the table.
446
+
447
+ :cloudformationAttribute: TableARN
448
+ '''
449
+ return typing.cast(builtins.str, jsii.get(self, "attrTableArn"))
450
+
451
+ @builtins.property
452
+ @jsii.member(jsii_name="attrVersionToken")
453
+ def attr_version_token(self) -> builtins.str:
454
+ '''The version token of the table.
455
+
456
+ :cloudformationAttribute: VersionToken
457
+ '''
458
+ return typing.cast(builtins.str, jsii.get(self, "attrVersionToken"))
459
+
460
+ @builtins.property
461
+ @jsii.member(jsii_name="attrWarehouseLocation")
462
+ def attr_warehouse_location(self) -> builtins.str:
463
+ '''The warehouse location of the table.
464
+
465
+ :cloudformationAttribute: WarehouseLocation
466
+ '''
467
+ return typing.cast(builtins.str, jsii.get(self, "attrWarehouseLocation"))
468
+
469
+ @builtins.property
470
+ @jsii.member(jsii_name="cdkTagManager")
471
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
472
+ '''Tag Manager which manages the tags for this resource.'''
473
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
474
+
475
+ @builtins.property
476
+ @jsii.member(jsii_name="cfnProperties")
477
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
478
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
479
+
480
+ @builtins.property
481
+ @jsii.member(jsii_name="tableRef")
482
+ def table_ref(self) -> _TableReference_ab8e2ae7:
483
+ '''A reference to a Table resource.'''
484
+ return typing.cast(_TableReference_ab8e2ae7, jsii.get(self, "tableRef"))
485
+
486
+ @builtins.property
487
+ @jsii.member(jsii_name="namespace")
488
+ def namespace(self) -> builtins.str:
489
+ '''The name of the namespace.'''
490
+ return typing.cast(builtins.str, jsii.get(self, "namespace"))
491
+
492
+ @namespace.setter
493
+ def namespace(self, value: builtins.str) -> None:
494
+ if __debug__:
495
+ type_hints = typing.get_type_hints(_typecheckingstub__fb40731dfd6256164661895ce0f48c78b8e18c58fb7f27fbb73a3ce7c916c1df)
496
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
497
+ jsii.set(self, "namespace", value) # pyright: ignore[reportArgumentType]
498
+
499
+ @builtins.property
500
+ @jsii.member(jsii_name="openTableFormat")
501
+ def open_table_format(self) -> builtins.str:
502
+ '''The format of the table.'''
503
+ return typing.cast(builtins.str, jsii.get(self, "openTableFormat"))
504
+
505
+ @open_table_format.setter
506
+ def open_table_format(self, value: builtins.str) -> None:
507
+ if __debug__:
508
+ type_hints = typing.get_type_hints(_typecheckingstub__5892a05d87447cee97d5ab4f41ddb7d6837df87a8b4e6b9d577c79cfe927180a)
509
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
510
+ jsii.set(self, "openTableFormat", value) # pyright: ignore[reportArgumentType]
511
+
512
+ @builtins.property
513
+ @jsii.member(jsii_name="tableBucketArn")
514
+ def table_bucket_arn(self) -> builtins.str:
515
+ '''The Amazon Resource Name (ARN) of the table bucket to create the table in.'''
516
+ return typing.cast(builtins.str, jsii.get(self, "tableBucketArn"))
517
+
518
+ @table_bucket_arn.setter
519
+ def table_bucket_arn(self, value: builtins.str) -> None:
520
+ if __debug__:
521
+ type_hints = typing.get_type_hints(_typecheckingstub__7ad6ac8e43e44c04006a5ef80e152c8effbbdb7bf127bd063a6b732c4ee1f9a9)
522
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
523
+ jsii.set(self, "tableBucketArn", value) # pyright: ignore[reportArgumentType]
524
+
525
+ @builtins.property
526
+ @jsii.member(jsii_name="tableName")
527
+ def table_name(self) -> builtins.str:
528
+ '''The name for the table.'''
529
+ return typing.cast(builtins.str, jsii.get(self, "tableName"))
530
+
531
+ @table_name.setter
532
+ def table_name(self, value: builtins.str) -> None:
533
+ if __debug__:
534
+ type_hints = typing.get_type_hints(_typecheckingstub__f410c91375a77f7ed3b5736522dbfb254643b931cd30ea49af6d7d51d9c5ddc5)
535
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
536
+ jsii.set(self, "tableName", value) # pyright: ignore[reportArgumentType]
537
+
538
+ @builtins.property
539
+ @jsii.member(jsii_name="compaction")
540
+ def compaction(
541
+ self,
542
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.CompactionProperty"]]:
543
+ '''Contains details about the compaction settings for an Iceberg table.'''
544
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.CompactionProperty"]], jsii.get(self, "compaction"))
545
+
546
+ @compaction.setter
547
+ def compaction(
548
+ self,
549
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.CompactionProperty"]],
550
+ ) -> None:
551
+ if __debug__:
552
+ type_hints = typing.get_type_hints(_typecheckingstub__4ff6f95f778b64c53b87dfe6f8a117fa9d1583584d475eef7586c75859dcb219)
553
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
554
+ jsii.set(self, "compaction", value) # pyright: ignore[reportArgumentType]
555
+
556
+ @builtins.property
557
+ @jsii.member(jsii_name="icebergMetadata")
558
+ def iceberg_metadata(
559
+ self,
560
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergMetadataProperty"]]:
561
+ '''Contains details about the metadata for an Iceberg table.'''
562
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergMetadataProperty"]], jsii.get(self, "icebergMetadata"))
563
+
564
+ @iceberg_metadata.setter
565
+ def iceberg_metadata(
566
+ self,
567
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergMetadataProperty"]],
568
+ ) -> None:
569
+ if __debug__:
570
+ type_hints = typing.get_type_hints(_typecheckingstub__6f0509a656c9927b41c3ead9b58d6c83257863d2b8d1104c542e1a8435be4160)
571
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
572
+ jsii.set(self, "icebergMetadata", value) # pyright: ignore[reportArgumentType]
573
+
574
+ @builtins.property
575
+ @jsii.member(jsii_name="snapshotManagement")
576
+ def snapshot_management(
577
+ self,
578
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SnapshotManagementProperty"]]:
579
+ '''Contains details about the Iceberg snapshot management settings for the table.'''
580
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SnapshotManagementProperty"]], jsii.get(self, "snapshotManagement"))
581
+
582
+ @snapshot_management.setter
583
+ def snapshot_management(
584
+ self,
585
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SnapshotManagementProperty"]],
586
+ ) -> None:
587
+ if __debug__:
588
+ type_hints = typing.get_type_hints(_typecheckingstub__c6c432f4785ee47d59f072204756d42650b9fc3dd3e85a79139ab4f11fb72a43)
589
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
590
+ jsii.set(self, "snapshotManagement", value) # pyright: ignore[reportArgumentType]
591
+
592
+ @builtins.property
593
+ @jsii.member(jsii_name="tags")
594
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
595
+ '''User tags (key-value pairs) to associate with the table.'''
596
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
597
+
598
+ @tags.setter
599
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
600
+ if __debug__:
601
+ type_hints = typing.get_type_hints(_typecheckingstub__325161e5105ae7e0c745e5ef4817aaec57d30e105c6645c3b5269abbe859cdf2)
602
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
603
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
604
+
605
+ @builtins.property
606
+ @jsii.member(jsii_name="withoutMetadata")
607
+ def without_metadata(self) -> typing.Optional[builtins.str]:
608
+ '''Indicates that you don't want to specify a schema for the table.'''
609
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "withoutMetadata"))
610
+
611
+ @without_metadata.setter
612
+ def without_metadata(self, value: typing.Optional[builtins.str]) -> None:
613
+ if __debug__:
614
+ type_hints = typing.get_type_hints(_typecheckingstub__e5d21acaabd2bab58c6f59f334d1b06b0962eb6541244a042a933b5ce009a061)
615
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
616
+ jsii.set(self, "withoutMetadata", value) # pyright: ignore[reportArgumentType]
617
+
618
+ @jsii.data_type(
619
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.CompactionProperty",
620
+ jsii_struct_bases=[],
621
+ name_mapping={"status": "status", "target_file_size_mb": "targetFileSizeMb"},
622
+ )
623
+ class CompactionProperty:
624
+ def __init__(
625
+ self,
626
+ *,
627
+ status: typing.Optional[builtins.str] = None,
628
+ target_file_size_mb: typing.Optional[jsii.Number] = None,
629
+ ) -> None:
630
+ '''Contains details about the compaction settings for an Iceberg table.
631
+
632
+ :param status: The status of the maintenance configuration.
633
+ :param target_file_size_mb: The target file size for the table in MB.
634
+
635
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html
636
+ :exampleMetadata: fixture=_generated
637
+
638
+ Example::
639
+
640
+ # The code below shows an example of how to instantiate this type.
641
+ # The values are placeholders you should change.
642
+ from aws_cdk import aws_s3tables as s3tables
643
+
644
+ compaction_property = s3tables.CfnTable.CompactionProperty(
645
+ status="status",
646
+ target_file_size_mb=123
647
+ )
648
+ '''
649
+ if __debug__:
650
+ type_hints = typing.get_type_hints(_typecheckingstub__f49118bb06f06baf9f7618e6cd633803a2486d06b541e59cab8801a6a0983fcc)
651
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
652
+ check_type(argname="argument target_file_size_mb", value=target_file_size_mb, expected_type=type_hints["target_file_size_mb"])
653
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
654
+ if status is not None:
655
+ self._values["status"] = status
656
+ if target_file_size_mb is not None:
657
+ self._values["target_file_size_mb"] = target_file_size_mb
658
+
659
+ @builtins.property
660
+ def status(self) -> typing.Optional[builtins.str]:
661
+ '''The status of the maintenance configuration.
662
+
663
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html#cfn-s3tables-table-compaction-status
664
+ '''
665
+ result = self._values.get("status")
666
+ return typing.cast(typing.Optional[builtins.str], result)
667
+
668
+ @builtins.property
669
+ def target_file_size_mb(self) -> typing.Optional[jsii.Number]:
670
+ '''The target file size for the table in MB.
671
+
672
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html#cfn-s3tables-table-compaction-targetfilesizemb
673
+ '''
674
+ result = self._values.get("target_file_size_mb")
675
+ return typing.cast(typing.Optional[jsii.Number], result)
676
+
677
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
678
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
679
+
680
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
681
+ return not (rhs == self)
682
+
683
+ def __repr__(self) -> str:
684
+ return "CompactionProperty(%s)" % ", ".join(
685
+ k + "=" + repr(v) for k, v in self._values.items()
686
+ )
687
+
688
+ @jsii.data_type(
689
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.IcebergMetadataProperty",
690
+ jsii_struct_bases=[],
691
+ name_mapping={"iceberg_schema": "icebergSchema"},
692
+ )
693
+ class IcebergMetadataProperty:
694
+ def __init__(
695
+ self,
696
+ *,
697
+ iceberg_schema: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.IcebergSchemaProperty", typing.Dict[builtins.str, typing.Any]]],
698
+ ) -> None:
699
+ '''Contains details about the metadata for an Iceberg table.
700
+
701
+ :param iceberg_schema: The schema for an Iceberg table.
702
+
703
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html
704
+ :exampleMetadata: fixture=_generated
705
+
706
+ Example::
707
+
708
+ # The code below shows an example of how to instantiate this type.
709
+ # The values are placeholders you should change.
710
+ from aws_cdk import aws_s3tables as s3tables
711
+
712
+ iceberg_metadata_property = s3tables.CfnTable.IcebergMetadataProperty(
713
+ iceberg_schema=s3tables.CfnTable.IcebergSchemaProperty(
714
+ schema_field_list=[s3tables.CfnTable.SchemaFieldProperty(
715
+ name="name",
716
+ type="type",
717
+
718
+ # the properties below are optional
719
+ required=False
720
+ )]
721
+ )
722
+ )
723
+ '''
724
+ if __debug__:
725
+ type_hints = typing.get_type_hints(_typecheckingstub__1e5dc7085346ad722ba37251e910871affc6e3d90d9251cc9d43941978d7cb0a)
726
+ check_type(argname="argument iceberg_schema", value=iceberg_schema, expected_type=type_hints["iceberg_schema"])
727
+ self._values: typing.Dict[builtins.str, typing.Any] = {
728
+ "iceberg_schema": iceberg_schema,
729
+ }
730
+
731
+ @builtins.property
732
+ def iceberg_schema(
733
+ self,
734
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergSchemaProperty"]:
735
+ '''The schema for an Iceberg table.
736
+
737
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html#cfn-s3tables-table-icebergmetadata-icebergschema
738
+ '''
739
+ result = self._values.get("iceberg_schema")
740
+ assert result is not None, "Required property 'iceberg_schema' is missing"
741
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergSchemaProperty"], result)
742
+
743
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
744
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
745
+
746
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
747
+ return not (rhs == self)
748
+
749
+ def __repr__(self) -> str:
750
+ return "IcebergMetadataProperty(%s)" % ", ".join(
751
+ k + "=" + repr(v) for k, v in self._values.items()
752
+ )
753
+
754
+ @jsii.data_type(
755
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.IcebergSchemaProperty",
756
+ jsii_struct_bases=[],
757
+ name_mapping={"schema_field_list": "schemaFieldList"},
758
+ )
759
+ class IcebergSchemaProperty:
760
+ def __init__(
761
+ self,
762
+ *,
763
+ schema_field_list: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.SchemaFieldProperty", typing.Dict[builtins.str, typing.Any]]]]],
764
+ ) -> None:
765
+ '''Contains details about the schema for an Iceberg table.
766
+
767
+ :param schema_field_list: The schema fields for the table.
768
+
769
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergschema.html
770
+ :exampleMetadata: fixture=_generated
771
+
772
+ Example::
773
+
774
+ # The code below shows an example of how to instantiate this type.
775
+ # The values are placeholders you should change.
776
+ from aws_cdk import aws_s3tables as s3tables
777
+
778
+ iceberg_schema_property = s3tables.CfnTable.IcebergSchemaProperty(
779
+ schema_field_list=[s3tables.CfnTable.SchemaFieldProperty(
780
+ name="name",
781
+ type="type",
782
+
783
+ # the properties below are optional
784
+ required=False
785
+ )]
786
+ )
787
+ '''
788
+ if __debug__:
789
+ type_hints = typing.get_type_hints(_typecheckingstub__3613cb002c55c4baeb2517f3445ed9e71396e5ee393d230544d3f1302b471205)
790
+ check_type(argname="argument schema_field_list", value=schema_field_list, expected_type=type_hints["schema_field_list"])
791
+ self._values: typing.Dict[builtins.str, typing.Any] = {
792
+ "schema_field_list": schema_field_list,
793
+ }
794
+
795
+ @builtins.property
796
+ def schema_field_list(
797
+ self,
798
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.SchemaFieldProperty"]]]:
799
+ '''The schema fields for the table.
800
+
801
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergschema.html#cfn-s3tables-table-icebergschema-schemafieldlist
802
+ '''
803
+ result = self._values.get("schema_field_list")
804
+ assert result is not None, "Required property 'schema_field_list' is missing"
805
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.SchemaFieldProperty"]]], result)
806
+
807
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
808
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
809
+
810
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
811
+ return not (rhs == self)
812
+
813
+ def __repr__(self) -> str:
814
+ return "IcebergSchemaProperty(%s)" % ", ".join(
815
+ k + "=" + repr(v) for k, v in self._values.items()
816
+ )
817
+
818
+ @jsii.data_type(
819
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.SchemaFieldProperty",
820
+ jsii_struct_bases=[],
821
+ name_mapping={"name": "name", "type": "type", "required": "required"},
822
+ )
823
+ class SchemaFieldProperty:
824
+ def __init__(
825
+ self,
826
+ *,
827
+ name: builtins.str,
828
+ type: builtins.str,
829
+ required: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
830
+ ) -> None:
831
+ '''Contains details about a schema field.
832
+
833
+ :param name: The name of the field.
834
+ :param type: The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the `Apache Iceberg documentation <https://docs.aws.amazon.com/https://iceberg.apache.org/spec/#primitive-types>`_ .
835
+ :param required: A Boolean value that specifies whether values are required for each row in this field. By default, this is ``false`` and null values are allowed in the field. If this is ``true`` the field does not allow null values.
836
+
837
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html
838
+ :exampleMetadata: fixture=_generated
839
+
840
+ Example::
841
+
842
+ # The code below shows an example of how to instantiate this type.
843
+ # The values are placeholders you should change.
844
+ from aws_cdk import aws_s3tables as s3tables
845
+
846
+ schema_field_property = s3tables.CfnTable.SchemaFieldProperty(
847
+ name="name",
848
+ type="type",
849
+
850
+ # the properties below are optional
851
+ required=False
852
+ )
853
+ '''
854
+ if __debug__:
855
+ type_hints = typing.get_type_hints(_typecheckingstub__b3f6368f6b334e97c5c50a43ab04d5e784e18fdb0e687d1684b9ad01ad6c1a29)
856
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
857
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
858
+ check_type(argname="argument required", value=required, expected_type=type_hints["required"])
859
+ self._values: typing.Dict[builtins.str, typing.Any] = {
860
+ "name": name,
861
+ "type": type,
862
+ }
863
+ if required is not None:
864
+ self._values["required"] = required
865
+
866
+ @builtins.property
867
+ def name(self) -> builtins.str:
868
+ '''The name of the field.
869
+
870
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-name
871
+ '''
872
+ result = self._values.get("name")
873
+ assert result is not None, "Required property 'name' is missing"
874
+ return typing.cast(builtins.str, result)
875
+
876
+ @builtins.property
877
+ def type(self) -> builtins.str:
878
+ '''The field type.
879
+
880
+ S3 Tables supports all Apache Iceberg primitive types. For more information, see the `Apache Iceberg documentation <https://docs.aws.amazon.com/https://iceberg.apache.org/spec/#primitive-types>`_ .
881
+
882
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-type
883
+ '''
884
+ result = self._values.get("type")
885
+ assert result is not None, "Required property 'type' is missing"
886
+ return typing.cast(builtins.str, result)
887
+
888
+ @builtins.property
889
+ def required(
890
+ self,
891
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
892
+ '''A Boolean value that specifies whether values are required for each row in this field.
893
+
894
+ By default, this is ``false`` and null values are allowed in the field. If this is ``true`` the field does not allow null values.
895
+
896
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-required
897
+ '''
898
+ result = self._values.get("required")
899
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
900
+
901
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
902
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
903
+
904
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
905
+ return not (rhs == self)
906
+
907
+ def __repr__(self) -> str:
908
+ return "SchemaFieldProperty(%s)" % ", ".join(
909
+ k + "=" + repr(v) for k, v in self._values.items()
910
+ )
911
+
912
+ @jsii.data_type(
913
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.SnapshotManagementProperty",
914
+ jsii_struct_bases=[],
915
+ name_mapping={
916
+ "max_snapshot_age_hours": "maxSnapshotAgeHours",
917
+ "min_snapshots_to_keep": "minSnapshotsToKeep",
918
+ "status": "status",
919
+ },
920
+ )
921
+ class SnapshotManagementProperty:
922
+ def __init__(
923
+ self,
924
+ *,
925
+ max_snapshot_age_hours: typing.Optional[jsii.Number] = None,
926
+ min_snapshots_to_keep: typing.Optional[jsii.Number] = None,
927
+ status: typing.Optional[builtins.str] = None,
928
+ ) -> None:
929
+ '''Contains details about the snapshot management settings for an Iceberg table.
930
+
931
+ The oldest snapshot expires when its age exceeds the ``maxSnapshotAgeHours`` and the total number of snapshots exceeds the value for the minimum number of snapshots to keep ``minSnapshotsToKeep`` .
932
+
933
+ :param max_snapshot_age_hours: The maximum age of a snapshot before it can be expired.
934
+ :param min_snapshots_to_keep: The minimum number of snapshots to keep.
935
+ :param status: The status of the maintenance configuration.
936
+
937
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html
938
+ :exampleMetadata: fixture=_generated
939
+
940
+ Example::
941
+
942
+ # The code below shows an example of how to instantiate this type.
943
+ # The values are placeholders you should change.
944
+ from aws_cdk import aws_s3tables as s3tables
945
+
946
+ snapshot_management_property = s3tables.CfnTable.SnapshotManagementProperty(
947
+ max_snapshot_age_hours=123,
948
+ min_snapshots_to_keep=123,
949
+ status="status"
950
+ )
951
+ '''
952
+ if __debug__:
953
+ type_hints = typing.get_type_hints(_typecheckingstub__fa9c2ac7b8956daecf8522166700dd475625d08f131913fda8e01475215f3656)
954
+ check_type(argname="argument max_snapshot_age_hours", value=max_snapshot_age_hours, expected_type=type_hints["max_snapshot_age_hours"])
955
+ check_type(argname="argument min_snapshots_to_keep", value=min_snapshots_to_keep, expected_type=type_hints["min_snapshots_to_keep"])
956
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
957
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
958
+ if max_snapshot_age_hours is not None:
959
+ self._values["max_snapshot_age_hours"] = max_snapshot_age_hours
960
+ if min_snapshots_to_keep is not None:
961
+ self._values["min_snapshots_to_keep"] = min_snapshots_to_keep
962
+ if status is not None:
963
+ self._values["status"] = status
964
+
965
+ @builtins.property
966
+ def max_snapshot_age_hours(self) -> typing.Optional[jsii.Number]:
967
+ '''The maximum age of a snapshot before it can be expired.
968
+
969
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-maxsnapshotagehours
970
+ '''
971
+ result = self._values.get("max_snapshot_age_hours")
972
+ return typing.cast(typing.Optional[jsii.Number], result)
973
+
974
+ @builtins.property
975
+ def min_snapshots_to_keep(self) -> typing.Optional[jsii.Number]:
976
+ '''The minimum number of snapshots to keep.
977
+
978
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-minsnapshotstokeep
979
+ '''
980
+ result = self._values.get("min_snapshots_to_keep")
981
+ return typing.cast(typing.Optional[jsii.Number], result)
982
+
983
+ @builtins.property
984
+ def status(self) -> typing.Optional[builtins.str]:
985
+ '''The status of the maintenance configuration.
986
+
987
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-status
988
+ '''
989
+ result = self._values.get("status")
990
+ return typing.cast(typing.Optional[builtins.str], result)
991
+
992
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
993
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
994
+
995
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
996
+ return not (rhs == self)
997
+
998
+ def __repr__(self) -> str:
999
+ return "SnapshotManagementProperty(%s)" % ", ".join(
1000
+ k + "=" + repr(v) for k, v in self._values.items()
1001
+ )
1002
+
1003
+
1004
+ @jsii.implements(_IInspectable_c2943556, _ITableBucketRef_26c8a832, _ITaggableV2_4e6798f8)
1005
+ class CfnTableBucket(
1006
+ _CfnResource_9df397a6,
1007
+ metaclass=jsii.JSIIMeta,
1008
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket",
1009
+ ):
1010
+ '''Creates a table bucket.
1011
+
1012
+ For more information, see `Creating a table bucket <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html>`_ in the *Amazon Simple Storage Service User Guide* .
1013
+
1014
+ - **Permissions** - - You must have the ``s3tables:CreateTableBucket`` permission to use this operation.
1015
+ - If you use this operation with the optional ``encryptionConfiguration`` parameter you must have the ``s3tables:PutTableBucketEncryption`` permission.
1016
+ - **Cloud Development Kit** - To use S3 Tables AWS CDK constructs, add the ``@aws-cdk/aws-s3tables-alpha`` dependency with one of the following options:
1017
+ - NPM: `npm i
1018
+
1019
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html
1020
+ :aws-cdk:
1021
+
1022
+ /aws-s3tables-alpha`
1023
+
1024
+ - Yarn: ``yarn add @aws-cdk/aws-s3tables-alpha``
1025
+ :cloudformationResource: AWS::S3Tables::TableBucket
1026
+ :exampleMetadata: fixture=_generated
1027
+
1028
+ Example::
1029
+
1030
+ # The code below shows an example of how to instantiate this type.
1031
+ # The values are placeholders you should change.
1032
+ from aws_cdk import aws_s3tables as s3tables
1033
+
1034
+ cfn_table_bucket = s3tables.CfnTableBucket(self, "MyCfnTableBucket",
1035
+ table_bucket_name="tableBucketName",
1036
+
1037
+ # the properties below are optional
1038
+ encryption_configuration=s3tables.CfnTableBucket.EncryptionConfigurationProperty(
1039
+ kms_key_arn="kmsKeyArn",
1040
+ sse_algorithm="sseAlgorithm"
1041
+ ),
1042
+ tags=[CfnTag(
1043
+ key="key",
1044
+ value="value"
1045
+ )],
1046
+ unreferenced_file_removal=s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
1047
+ noncurrent_days=123,
1048
+ status="status",
1049
+ unreferenced_days=123
1050
+ )
1051
+ )
1052
+ '''
1053
+
1054
+ def __init__(
1055
+ self,
1056
+ scope: _constructs_77d1e7e8.Construct,
1057
+ id: builtins.str,
1058
+ *,
1059
+ table_bucket_name: builtins.str,
1060
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableBucket.EncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1061
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1062
+ unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableBucket.UnreferencedFileRemovalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1063
+ ) -> None:
1064
+ '''Create a new ``AWS::S3Tables::TableBucket``.
1065
+
1066
+ :param scope: Scope in which this resource is defined.
1067
+ :param id: Construct identifier for this resource (unique in its scope).
1068
+ :param table_bucket_name: The name for the table bucket.
1069
+ :param encryption_configuration: Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
1070
+ :param tags: User tags (key-value pairs) to associate with the table bucket.
1071
+ :param unreferenced_file_removal: The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
1072
+ '''
1073
+ if __debug__:
1074
+ type_hints = typing.get_type_hints(_typecheckingstub__de433918cd34eecbcaab0e81b6a287f71a48dd308c2f4d42e07a0e19ce5af0e2)
1075
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1076
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1077
+ props = CfnTableBucketProps(
1078
+ table_bucket_name=table_bucket_name,
1079
+ encryption_configuration=encryption_configuration,
1080
+ tags=tags,
1081
+ unreferenced_file_removal=unreferenced_file_removal,
1082
+ )
1083
+
1084
+ jsii.create(self.__class__, self, [scope, id, props])
1085
+
1086
+ @jsii.member(jsii_name="inspect")
1087
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1088
+ '''Examines the CloudFormation resource and discloses attributes.
1089
+
1090
+ :param inspector: tree inspector to collect and process attributes.
1091
+ '''
1092
+ if __debug__:
1093
+ type_hints = typing.get_type_hints(_typecheckingstub__40da426af74874eef485654394ab5db25ba5f82e8490b96bd68d9f6318b6654e)
1094
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1095
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1096
+
1097
+ @jsii.member(jsii_name="renderProperties")
1098
+ def _render_properties(
1099
+ self,
1100
+ props: typing.Mapping[builtins.str, typing.Any],
1101
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1102
+ '''
1103
+ :param props: -
1104
+ '''
1105
+ if __debug__:
1106
+ type_hints = typing.get_type_hints(_typecheckingstub__8e15cdb1ab81b354e389c0debd6b2b9d760245945e38c20d735044cde53c3979)
1107
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1108
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1109
+
1110
+ @jsii.python.classproperty
1111
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1112
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1113
+ '''The CloudFormation resource type name for this resource class.'''
1114
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1115
+
1116
+ @builtins.property
1117
+ @jsii.member(jsii_name="attrTableBucketArn")
1118
+ def attr_table_bucket_arn(self) -> builtins.str:
1119
+ '''The Amazon Resource Name (ARN) of the table bucket.
1120
+
1121
+ :cloudformationAttribute: TableBucketARN
1122
+ '''
1123
+ return typing.cast(builtins.str, jsii.get(self, "attrTableBucketArn"))
1124
+
1125
+ @builtins.property
1126
+ @jsii.member(jsii_name="cdkTagManager")
1127
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1128
+ '''Tag Manager which manages the tags for this resource.'''
1129
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1130
+
1131
+ @builtins.property
1132
+ @jsii.member(jsii_name="cfnProperties")
1133
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1134
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1135
+
1136
+ @builtins.property
1137
+ @jsii.member(jsii_name="tableBucketRef")
1138
+ def table_bucket_ref(self) -> _TableBucketReference_1fd2f743:
1139
+ '''A reference to a TableBucket resource.'''
1140
+ return typing.cast(_TableBucketReference_1fd2f743, jsii.get(self, "tableBucketRef"))
1141
+
1142
+ @builtins.property
1143
+ @jsii.member(jsii_name="tableBucketName")
1144
+ def table_bucket_name(self) -> builtins.str:
1145
+ '''The name for the table bucket.'''
1146
+ return typing.cast(builtins.str, jsii.get(self, "tableBucketName"))
1147
+
1148
+ @table_bucket_name.setter
1149
+ def table_bucket_name(self, value: builtins.str) -> None:
1150
+ if __debug__:
1151
+ type_hints = typing.get_type_hints(_typecheckingstub__42ef5079e6a92822a2e6ccbb91b02661f493a7d44dc79dfba0916840dbe44863)
1152
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1153
+ jsii.set(self, "tableBucketName", value) # pyright: ignore[reportArgumentType]
1154
+
1155
+ @builtins.property
1156
+ @jsii.member(jsii_name="encryptionConfiguration")
1157
+ def encryption_configuration(
1158
+ self,
1159
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]]:
1160
+ '''Configuration specifying how data should be encrypted.'''
1161
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]], jsii.get(self, "encryptionConfiguration"))
1162
+
1163
+ @encryption_configuration.setter
1164
+ def encryption_configuration(
1165
+ self,
1166
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]],
1167
+ ) -> None:
1168
+ if __debug__:
1169
+ type_hints = typing.get_type_hints(_typecheckingstub__61499f569b4e5dc20b99defd26e29c6e9b7761b6630e1adec9c20e97e099dd4a)
1170
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1171
+ jsii.set(self, "encryptionConfiguration", value) # pyright: ignore[reportArgumentType]
1172
+
1173
+ @builtins.property
1174
+ @jsii.member(jsii_name="tags")
1175
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1176
+ '''User tags (key-value pairs) to associate with the table bucket.'''
1177
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1178
+
1179
+ @tags.setter
1180
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1181
+ if __debug__:
1182
+ type_hints = typing.get_type_hints(_typecheckingstub__3bd32e36df516fe785d94d21a1dc923e712becb1b93de4a82fa887f57a6b4823)
1183
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1184
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1185
+
1186
+ @builtins.property
1187
+ @jsii.member(jsii_name="unreferencedFileRemoval")
1188
+ def unreferenced_file_removal(
1189
+ self,
1190
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]]:
1191
+ '''The unreferenced file removal settings for your table bucket.'''
1192
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]], jsii.get(self, "unreferencedFileRemoval"))
1193
+
1194
+ @unreferenced_file_removal.setter
1195
+ def unreferenced_file_removal(
1196
+ self,
1197
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]],
1198
+ ) -> None:
1199
+ if __debug__:
1200
+ type_hints = typing.get_type_hints(_typecheckingstub__02bf42691243dcbc8ea49c2499d3414260e70a80c4e38a371b64664c49f17e6e)
1201
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1202
+ jsii.set(self, "unreferencedFileRemoval", value) # pyright: ignore[reportArgumentType]
1203
+
1204
+ @jsii.data_type(
1205
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket.EncryptionConfigurationProperty",
1206
+ jsii_struct_bases=[],
1207
+ name_mapping={"kms_key_arn": "kmsKeyArn", "sse_algorithm": "sseAlgorithm"},
1208
+ )
1209
+ class EncryptionConfigurationProperty:
1210
+ def __init__(
1211
+ self,
1212
+ *,
1213
+ kms_key_arn: typing.Optional[builtins.str] = None,
1214
+ sse_algorithm: typing.Optional[builtins.str] = None,
1215
+ ) -> None:
1216
+ '''Configuration specifying how data should be encrypted.
1217
+
1218
+ This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
1219
+
1220
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when ``sseAlgorithm`` is set to ``aws:kms`` .
1221
+ :param sse_algorithm: The server-side encryption algorithm to use. Valid values are ``AES256`` for S3-managed encryption keys, or ``aws:kms`` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`_ .
1222
+
1223
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html
1224
+ :exampleMetadata: fixture=_generated
1225
+
1226
+ Example::
1227
+
1228
+ # The code below shows an example of how to instantiate this type.
1229
+ # The values are placeholders you should change.
1230
+ from aws_cdk import aws_s3tables as s3tables
1231
+
1232
+ encryption_configuration_property = s3tables.CfnTableBucket.EncryptionConfigurationProperty(
1233
+ kms_key_arn="kmsKeyArn",
1234
+ sse_algorithm="sseAlgorithm"
1235
+ )
1236
+ '''
1237
+ if __debug__:
1238
+ type_hints = typing.get_type_hints(_typecheckingstub__659e946ab1ee4bc0eb13a519adc57d2cb4431347d47a9e6cb4d4086a87be1b2a)
1239
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
1240
+ check_type(argname="argument sse_algorithm", value=sse_algorithm, expected_type=type_hints["sse_algorithm"])
1241
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1242
+ if kms_key_arn is not None:
1243
+ self._values["kms_key_arn"] = kms_key_arn
1244
+ if sse_algorithm is not None:
1245
+ self._values["sse_algorithm"] = sse_algorithm
1246
+
1247
+ @builtins.property
1248
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
1249
+ '''The Amazon Resource Name (ARN) of the KMS key to use for encryption.
1250
+
1251
+ This field is required only when ``sseAlgorithm`` is set to ``aws:kms`` .
1252
+
1253
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html#cfn-s3tables-tablebucket-encryptionconfiguration-kmskeyarn
1254
+ '''
1255
+ result = self._values.get("kms_key_arn")
1256
+ return typing.cast(typing.Optional[builtins.str], result)
1257
+
1258
+ @builtins.property
1259
+ def sse_algorithm(self) -> typing.Optional[builtins.str]:
1260
+ '''The server-side encryption algorithm to use.
1261
+
1262
+ Valid values are ``AES256`` for S3-managed encryption keys, or ``aws:kms`` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`_ .
1263
+
1264
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html#cfn-s3tables-tablebucket-encryptionconfiguration-ssealgorithm
1265
+ '''
1266
+ result = self._values.get("sse_algorithm")
1267
+ return typing.cast(typing.Optional[builtins.str], result)
1268
+
1269
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1270
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1271
+
1272
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1273
+ return not (rhs == self)
1274
+
1275
+ def __repr__(self) -> str:
1276
+ return "EncryptionConfigurationProperty(%s)" % ", ".join(
1277
+ k + "=" + repr(v) for k, v in self._values.items()
1278
+ )
1279
+
1280
+ @jsii.data_type(
1281
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket.UnreferencedFileRemovalProperty",
1282
+ jsii_struct_bases=[],
1283
+ name_mapping={
1284
+ "noncurrent_days": "noncurrentDays",
1285
+ "status": "status",
1286
+ "unreferenced_days": "unreferencedDays",
1287
+ },
1288
+ )
1289
+ class UnreferencedFileRemovalProperty:
1290
+ def __init__(
1291
+ self,
1292
+ *,
1293
+ noncurrent_days: typing.Optional[jsii.Number] = None,
1294
+ status: typing.Optional[builtins.str] = None,
1295
+ unreferenced_days: typing.Optional[jsii.Number] = None,
1296
+ ) -> None:
1297
+ '''The unreferenced file removal settings for your table bucket.
1298
+
1299
+ Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
1300
+
1301
+ :param noncurrent_days: The number of days an object can be noncurrent before Amazon S3 deletes it.
1302
+ :param status: The status of the unreferenced file removal configuration for your table bucket.
1303
+ :param unreferenced_days: The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.
1304
+
1305
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html
1306
+ :exampleMetadata: fixture=_generated
1307
+
1308
+ Example::
1309
+
1310
+ # The code below shows an example of how to instantiate this type.
1311
+ # The values are placeholders you should change.
1312
+ from aws_cdk import aws_s3tables as s3tables
1313
+
1314
+ unreferenced_file_removal_property = s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
1315
+ noncurrent_days=123,
1316
+ status="status",
1317
+ unreferenced_days=123
1318
+ )
1319
+ '''
1320
+ if __debug__:
1321
+ type_hints = typing.get_type_hints(_typecheckingstub__e5a5e0b11a3cbe8be01a72f3ac6efc85af9472104c94585d26f630d3354c816b)
1322
+ check_type(argname="argument noncurrent_days", value=noncurrent_days, expected_type=type_hints["noncurrent_days"])
1323
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
1324
+ check_type(argname="argument unreferenced_days", value=unreferenced_days, expected_type=type_hints["unreferenced_days"])
1325
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1326
+ if noncurrent_days is not None:
1327
+ self._values["noncurrent_days"] = noncurrent_days
1328
+ if status is not None:
1329
+ self._values["status"] = status
1330
+ if unreferenced_days is not None:
1331
+ self._values["unreferenced_days"] = unreferenced_days
1332
+
1333
+ @builtins.property
1334
+ def noncurrent_days(self) -> typing.Optional[jsii.Number]:
1335
+ '''The number of days an object can be noncurrent before Amazon S3 deletes it.
1336
+
1337
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-noncurrentdays
1338
+ '''
1339
+ result = self._values.get("noncurrent_days")
1340
+ return typing.cast(typing.Optional[jsii.Number], result)
1341
+
1342
+ @builtins.property
1343
+ def status(self) -> typing.Optional[builtins.str]:
1344
+ '''The status of the unreferenced file removal configuration for your table bucket.
1345
+
1346
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-status
1347
+ '''
1348
+ result = self._values.get("status")
1349
+ return typing.cast(typing.Optional[builtins.str], result)
1350
+
1351
+ @builtins.property
1352
+ def unreferenced_days(self) -> typing.Optional[jsii.Number]:
1353
+ '''The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.
1354
+
1355
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-unreferenceddays
1356
+ '''
1357
+ result = self._values.get("unreferenced_days")
1358
+ return typing.cast(typing.Optional[jsii.Number], result)
1359
+
1360
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1361
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1362
+
1363
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1364
+ return not (rhs == self)
1365
+
1366
+ def __repr__(self) -> str:
1367
+ return "UnreferencedFileRemovalProperty(%s)" % ", ".join(
1368
+ k + "=" + repr(v) for k, v in self._values.items()
1369
+ )
1370
+
1371
+
1372
+ @jsii.implements(_IInspectable_c2943556, _ITableBucketPolicyRef_3f1f8c44)
1373
+ class CfnTableBucketPolicy(
1374
+ _CfnResource_9df397a6,
1375
+ metaclass=jsii.JSIIMeta,
1376
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketPolicy",
1377
+ ):
1378
+ '''Creates a new maintenance configuration or replaces an existing table bucket policy for a table bucket.
1379
+
1380
+ For more information, see `Adding a table bucket policy <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-bucket-policy.html#table-bucket-policy-add>`_ in the *Amazon Simple Storage Service User Guide* .
1381
+
1382
+ - **Permissions** - You must have the ``s3tables:PutTableBucketPolicy`` permission to use this operation.
1383
+ - **Cloud Development Kit** - To use S3 Tables AWS CDK constructs, add the ``@aws-cdk/aws-s3tables-alpha`` dependency with one of the following options:
1384
+ - NPM: `npm i
1385
+
1386
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html
1387
+ :aws-cdk:
1388
+
1389
+ /aws-s3tables-alpha`
1390
+
1391
+ - Yarn: ``yarn add @aws-cdk/aws-s3tables-alpha``
1392
+ :cloudformationResource: AWS::S3Tables::TableBucketPolicy
1393
+ :exampleMetadata: fixture=_generated
1394
+
1395
+ Example::
1396
+
1397
+ # The code below shows an example of how to instantiate this type.
1398
+ # The values are placeholders you should change.
1399
+ from aws_cdk import aws_s3tables as s3tables
1400
+
1401
+ # resource_policy: Any
1402
+
1403
+ cfn_table_bucket_policy = s3tables.CfnTableBucketPolicy(self, "MyCfnTableBucketPolicy",
1404
+ resource_policy=resource_policy,
1405
+ table_bucket_arn="tableBucketArn"
1406
+ )
1407
+ '''
1408
+
1409
+ def __init__(
1410
+ self,
1411
+ scope: _constructs_77d1e7e8.Construct,
1412
+ id: builtins.str,
1413
+ *,
1414
+ resource_policy: typing.Any,
1415
+ table_bucket_arn: builtins.str,
1416
+ ) -> None:
1417
+ '''Create a new ``AWS::S3Tables::TableBucketPolicy``.
1418
+
1419
+ :param scope: Scope in which this resource is defined.
1420
+ :param id: Construct identifier for this resource (unique in its scope).
1421
+ :param resource_policy: The bucket policy JSON for the table bucket.
1422
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket.
1423
+ '''
1424
+ if __debug__:
1425
+ type_hints = typing.get_type_hints(_typecheckingstub__e41d1f33249c074a27c8db71a0d74f7ec78216836901a699d5ff7dbdcfdcf89a)
1426
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1427
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1428
+ props = CfnTableBucketPolicyProps(
1429
+ resource_policy=resource_policy, table_bucket_arn=table_bucket_arn
1430
+ )
1431
+
1432
+ jsii.create(self.__class__, self, [scope, id, props])
1433
+
1434
+ @jsii.member(jsii_name="inspect")
1435
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1436
+ '''Examines the CloudFormation resource and discloses attributes.
1437
+
1438
+ :param inspector: tree inspector to collect and process attributes.
1439
+ '''
1440
+ if __debug__:
1441
+ type_hints = typing.get_type_hints(_typecheckingstub__3a8346fde6b51dff587833e7cd68ccdd12e4f80b4b07e756c507ac9d8b81cfdb)
1442
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1443
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1444
+
1445
+ @jsii.member(jsii_name="renderProperties")
1446
+ def _render_properties(
1447
+ self,
1448
+ props: typing.Mapping[builtins.str, typing.Any],
1449
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1450
+ '''
1451
+ :param props: -
1452
+ '''
1453
+ if __debug__:
1454
+ type_hints = typing.get_type_hints(_typecheckingstub__32d2b3e7f152d93640c11f17b345fb2a9bf95efe6dd3c1235a1d9ca148caae1a)
1455
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1456
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1457
+
1458
+ @jsii.python.classproperty
1459
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1460
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1461
+ '''The CloudFormation resource type name for this resource class.'''
1462
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1463
+
1464
+ @builtins.property
1465
+ @jsii.member(jsii_name="cfnProperties")
1466
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1467
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1468
+
1469
+ @builtins.property
1470
+ @jsii.member(jsii_name="tableBucketPolicyRef")
1471
+ def table_bucket_policy_ref(self) -> _TableBucketPolicyReference_a4627945:
1472
+ '''A reference to a TableBucketPolicy resource.'''
1473
+ return typing.cast(_TableBucketPolicyReference_a4627945, jsii.get(self, "tableBucketPolicyRef"))
1474
+
1475
+ @builtins.property
1476
+ @jsii.member(jsii_name="resourcePolicy")
1477
+ def resource_policy(self) -> typing.Any:
1478
+ '''The bucket policy JSON for the table bucket.'''
1479
+ return typing.cast(typing.Any, jsii.get(self, "resourcePolicy"))
1480
+
1481
+ @resource_policy.setter
1482
+ def resource_policy(self, value: typing.Any) -> None:
1483
+ if __debug__:
1484
+ type_hints = typing.get_type_hints(_typecheckingstub__60d686568fe0e9bc1be86d3585b33d6e6dcf5d8ec00b2b4b4ba9c5e48ea4cd82)
1485
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1486
+ jsii.set(self, "resourcePolicy", value) # pyright: ignore[reportArgumentType]
1487
+
1488
+ @builtins.property
1489
+ @jsii.member(jsii_name="tableBucketArn")
1490
+ def table_bucket_arn(self) -> builtins.str:
1491
+ '''The Amazon Resource Name (ARN) of the table bucket.'''
1492
+ return typing.cast(builtins.str, jsii.get(self, "tableBucketArn"))
1493
+
1494
+ @table_bucket_arn.setter
1495
+ def table_bucket_arn(self, value: builtins.str) -> None:
1496
+ if __debug__:
1497
+ type_hints = typing.get_type_hints(_typecheckingstub__9db770e8febae7602179359c1a5975b5ae8be6270348474fc3a1cca79c47ad2b)
1498
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1499
+ jsii.set(self, "tableBucketArn", value) # pyright: ignore[reportArgumentType]
1500
+
1501
+
1502
+ @jsii.data_type(
1503
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketPolicyProps",
1504
+ jsii_struct_bases=[],
1505
+ name_mapping={
1506
+ "resource_policy": "resourcePolicy",
1507
+ "table_bucket_arn": "tableBucketArn",
1508
+ },
1509
+ )
1510
+ class CfnTableBucketPolicyProps:
1511
+ def __init__(
1512
+ self,
1513
+ *,
1514
+ resource_policy: typing.Any,
1515
+ table_bucket_arn: builtins.str,
1516
+ ) -> None:
1517
+ '''Properties for defining a ``CfnTableBucketPolicy``.
1518
+
1519
+ :param resource_policy: The bucket policy JSON for the table bucket.
1520
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket.
1521
+
1522
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html
1523
+ :exampleMetadata: fixture=_generated
1524
+
1525
+ Example::
1526
+
1527
+ # The code below shows an example of how to instantiate this type.
1528
+ # The values are placeholders you should change.
1529
+ from aws_cdk import aws_s3tables as s3tables
1530
+
1531
+ # resource_policy: Any
1532
+
1533
+ cfn_table_bucket_policy_props = s3tables.CfnTableBucketPolicyProps(
1534
+ resource_policy=resource_policy,
1535
+ table_bucket_arn="tableBucketArn"
1536
+ )
1537
+ '''
1538
+ if __debug__:
1539
+ type_hints = typing.get_type_hints(_typecheckingstub__df8972559ed3d0ff90d01d70d1cf8f77869398b91f03a408d49a7b5bee0615a0)
1540
+ check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
1541
+ check_type(argname="argument table_bucket_arn", value=table_bucket_arn, expected_type=type_hints["table_bucket_arn"])
1542
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1543
+ "resource_policy": resource_policy,
1544
+ "table_bucket_arn": table_bucket_arn,
1545
+ }
1546
+
1547
+ @builtins.property
1548
+ def resource_policy(self) -> typing.Any:
1549
+ '''The bucket policy JSON for the table bucket.
1550
+
1551
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html#cfn-s3tables-tablebucketpolicy-resourcepolicy
1552
+ '''
1553
+ result = self._values.get("resource_policy")
1554
+ assert result is not None, "Required property 'resource_policy' is missing"
1555
+ return typing.cast(typing.Any, result)
1556
+
1557
+ @builtins.property
1558
+ def table_bucket_arn(self) -> builtins.str:
1559
+ '''The Amazon Resource Name (ARN) of the table bucket.
1560
+
1561
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html#cfn-s3tables-tablebucketpolicy-tablebucketarn
1562
+ '''
1563
+ result = self._values.get("table_bucket_arn")
1564
+ assert result is not None, "Required property 'table_bucket_arn' is missing"
1565
+ return typing.cast(builtins.str, result)
1566
+
1567
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1568
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
306
1569
 
307
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
308
- return not (rhs == self)
1570
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1571
+ return not (rhs == self)
309
1572
 
310
- def __repr__(self) -> str:
311
- return "EncryptionConfigurationProperty(%s)" % ", ".join(
312
- k + "=" + repr(v) for k, v in self._values.items()
313
- )
1573
+ def __repr__(self) -> str:
1574
+ return "CfnTableBucketPolicyProps(%s)" % ", ".join(
1575
+ k + "=" + repr(v) for k, v in self._values.items()
1576
+ )
314
1577
 
315
- @jsii.data_type(
316
- jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket.UnreferencedFileRemovalProperty",
317
- jsii_struct_bases=[],
318
- name_mapping={
319
- "noncurrent_days": "noncurrentDays",
320
- "status": "status",
321
- "unreferenced_days": "unreferencedDays",
322
- },
323
- )
324
- class UnreferencedFileRemovalProperty:
325
- def __init__(
326
- self,
327
- *,
328
- noncurrent_days: typing.Optional[jsii.Number] = None,
329
- status: typing.Optional[builtins.str] = None,
330
- unreferenced_days: typing.Optional[jsii.Number] = None,
331
- ) -> None:
332
- '''The unreferenced file removal settings for your table bucket.
333
1578
 
334
- Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
1579
+ @jsii.data_type(
1580
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketProps",
1581
+ jsii_struct_bases=[],
1582
+ name_mapping={
1583
+ "table_bucket_name": "tableBucketName",
1584
+ "encryption_configuration": "encryptionConfiguration",
1585
+ "tags": "tags",
1586
+ "unreferenced_file_removal": "unreferencedFileRemoval",
1587
+ },
1588
+ )
1589
+ class CfnTableBucketProps:
1590
+ def __init__(
1591
+ self,
1592
+ *,
1593
+ table_bucket_name: builtins.str,
1594
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1595
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1596
+ unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1597
+ ) -> None:
1598
+ '''Properties for defining a ``CfnTableBucket``.
335
1599
 
336
- :param noncurrent_days: The number of days an object can be noncurrent before Amazon S3 deletes it.
337
- :param status: The status of the unreferenced file removal configuration for your table bucket.
338
- :param unreferenced_days: The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.
1600
+ :param table_bucket_name: The name for the table bucket.
1601
+ :param encryption_configuration: Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
1602
+ :param tags: User tags (key-value pairs) to associate with the table bucket.
1603
+ :param unreferenced_file_removal: The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
339
1604
 
340
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html
341
- :exampleMetadata: fixture=_generated
1605
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html
1606
+ :exampleMetadata: fixture=_generated
342
1607
 
343
- Example::
1608
+ Example::
344
1609
 
345
- # The code below shows an example of how to instantiate this type.
346
- # The values are placeholders you should change.
347
- from aws_cdk import aws_s3tables as s3tables
348
-
349
- unreferenced_file_removal_property = s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
1610
+ # The code below shows an example of how to instantiate this type.
1611
+ # The values are placeholders you should change.
1612
+ from aws_cdk import aws_s3tables as s3tables
1613
+
1614
+ cfn_table_bucket_props = s3tables.CfnTableBucketProps(
1615
+ table_bucket_name="tableBucketName",
1616
+
1617
+ # the properties below are optional
1618
+ encryption_configuration=s3tables.CfnTableBucket.EncryptionConfigurationProperty(
1619
+ kms_key_arn="kmsKeyArn",
1620
+ sse_algorithm="sseAlgorithm"
1621
+ ),
1622
+ tags=[CfnTag(
1623
+ key="key",
1624
+ value="value"
1625
+ )],
1626
+ unreferenced_file_removal=s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
350
1627
  noncurrent_days=123,
351
1628
  status="status",
352
1629
  unreferenced_days=123
353
1630
  )
354
- '''
355
- if __debug__:
356
- type_hints = typing.get_type_hints(_typecheckingstub__e5a5e0b11a3cbe8be01a72f3ac6efc85af9472104c94585d26f630d3354c816b)
357
- check_type(argname="argument noncurrent_days", value=noncurrent_days, expected_type=type_hints["noncurrent_days"])
358
- check_type(argname="argument status", value=status, expected_type=type_hints["status"])
359
- check_type(argname="argument unreferenced_days", value=unreferenced_days, expected_type=type_hints["unreferenced_days"])
360
- self._values: typing.Dict[builtins.str, typing.Any] = {}
361
- if noncurrent_days is not None:
362
- self._values["noncurrent_days"] = noncurrent_days
363
- if status is not None:
364
- self._values["status"] = status
365
- if unreferenced_days is not None:
366
- self._values["unreferenced_days"] = unreferenced_days
1631
+ )
1632
+ '''
1633
+ if __debug__:
1634
+ type_hints = typing.get_type_hints(_typecheckingstub__6fb9342a13c0e9f7b21679814e793d7ccc0964ccfe53bc5e0916676b628d20f3)
1635
+ check_type(argname="argument table_bucket_name", value=table_bucket_name, expected_type=type_hints["table_bucket_name"])
1636
+ check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
1637
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1638
+ check_type(argname="argument unreferenced_file_removal", value=unreferenced_file_removal, expected_type=type_hints["unreferenced_file_removal"])
1639
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1640
+ "table_bucket_name": table_bucket_name,
1641
+ }
1642
+ if encryption_configuration is not None:
1643
+ self._values["encryption_configuration"] = encryption_configuration
1644
+ if tags is not None:
1645
+ self._values["tags"] = tags
1646
+ if unreferenced_file_removal is not None:
1647
+ self._values["unreferenced_file_removal"] = unreferenced_file_removal
367
1648
 
368
- @builtins.property
369
- def noncurrent_days(self) -> typing.Optional[jsii.Number]:
370
- '''The number of days an object can be noncurrent before Amazon S3 deletes it.
1649
+ @builtins.property
1650
+ def table_bucket_name(self) -> builtins.str:
1651
+ '''The name for the table bucket.
371
1652
 
372
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-noncurrentdays
373
- '''
374
- result = self._values.get("noncurrent_days")
375
- return typing.cast(typing.Optional[jsii.Number], result)
1653
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-tablebucketname
1654
+ '''
1655
+ result = self._values.get("table_bucket_name")
1656
+ assert result is not None, "Required property 'table_bucket_name' is missing"
1657
+ return typing.cast(builtins.str, result)
376
1658
 
377
- @builtins.property
378
- def status(self) -> typing.Optional[builtins.str]:
379
- '''The status of the unreferenced file removal configuration for your table bucket.
1659
+ @builtins.property
1660
+ def encryption_configuration(
1661
+ self,
1662
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.EncryptionConfigurationProperty]]:
1663
+ '''Configuration specifying how data should be encrypted.
380
1664
 
381
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-status
382
- '''
383
- result = self._values.get("status")
384
- return typing.cast(typing.Optional[builtins.str], result)
1665
+ This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
385
1666
 
386
- @builtins.property
387
- def unreferenced_days(self) -> typing.Optional[jsii.Number]:
388
- '''The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.
1667
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-encryptionconfiguration
1668
+ '''
1669
+ result = self._values.get("encryption_configuration")
1670
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.EncryptionConfigurationProperty]], result)
389
1671
 
390
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-unreferenceddays
391
- '''
392
- result = self._values.get("unreferenced_days")
393
- return typing.cast(typing.Optional[jsii.Number], result)
1672
+ @builtins.property
1673
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1674
+ '''User tags (key-value pairs) to associate with the table bucket.
394
1675
 
395
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
396
- return isinstance(rhs, self.__class__) and rhs._values == self._values
1676
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-tags
1677
+ '''
1678
+ result = self._values.get("tags")
1679
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
397
1680
 
398
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
399
- return not (rhs == self)
1681
+ @builtins.property
1682
+ def unreferenced_file_removal(
1683
+ self,
1684
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]]:
1685
+ '''The unreferenced file removal settings for your table bucket.
400
1686
 
401
- def __repr__(self) -> str:
402
- return "UnreferencedFileRemovalProperty(%s)" % ", ".join(
403
- k + "=" + repr(v) for k, v in self._values.items()
404
- )
1687
+ Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
405
1688
 
1689
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-unreferencedfileremoval
1690
+ '''
1691
+ result = self._values.get("unreferenced_file_removal")
1692
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]], result)
406
1693
 
407
- @jsii.implements(_IInspectable_c2943556)
408
- class CfnTableBucketPolicy(
1694
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1695
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1696
+
1697
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1698
+ return not (rhs == self)
1699
+
1700
+ def __repr__(self) -> str:
1701
+ return "CfnTableBucketProps(%s)" % ", ".join(
1702
+ k + "=" + repr(v) for k, v in self._values.items()
1703
+ )
1704
+
1705
+
1706
+ @jsii.implements(_IInspectable_c2943556, _ITablePolicyRef_0aed1a54)
1707
+ class CfnTablePolicy(
409
1708
  _CfnResource_9df397a6,
410
1709
  metaclass=jsii.JSIIMeta,
411
- jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketPolicy",
1710
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTablePolicy",
412
1711
  ):
413
- '''Creates a new maintenance configuration or replaces an existing table bucket policy for a table bucket.
1712
+ '''Creates a new maintenance configuration or replaces an existing table policy for a table.
414
1713
 
415
- For more information, see `Adding a table bucket policy <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-bucket-policy.html#table-bucket-policy-add>`_ in the *Amazon Simple Storage Service User Guide* .
1714
+ For more information, see `Adding a table policy <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-table-policy.html#table-policy-add>`_ in the *Amazon Simple Storage Service User Guide* .
416
1715
 
417
- - **Permissions** - You must have the ``s3tables:PutTableBucketPolicy`` permission to use this operation.
1716
+ - **Permissions** - You must have the ``s3tables:PutTablePolicy`` permission to use this operation.
1717
+ - **Cloud Development Kit** - To use S3 Tables AWS CDK constructs, add the ``@aws-cdk/aws-s3tables-alpha`` dependency with one of the following options:
1718
+ - NPM: `npm i
418
1719
 
419
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html
420
- :cloudformationResource: AWS::S3Tables::TableBucketPolicy
1720
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablepolicy.html
1721
+ :aws-cdk:
1722
+
1723
+ /aws-s3tables-alpha`
1724
+
1725
+ - Yarn: ``yarn add @aws-cdk/aws-s3tables-alpha``
1726
+ :cloudformationResource: AWS::S3Tables::TablePolicy
421
1727
  :exampleMetadata: fixture=_generated
422
1728
 
423
1729
  Example::
@@ -428,9 +1734,9 @@ class CfnTableBucketPolicy(
428
1734
 
429
1735
  # resource_policy: Any
430
1736
 
431
- cfn_table_bucket_policy = s3tables.CfnTableBucketPolicy(self, "MyCfnTableBucketPolicy",
1737
+ cfn_table_policy = s3tables.CfnTablePolicy(self, "MyCfnTablePolicy",
432
1738
  resource_policy=resource_policy,
433
- table_bucket_arn="tableBucketArn"
1739
+ table_arn="tableArn"
434
1740
  )
435
1741
  '''
436
1742
 
@@ -440,20 +1746,21 @@ class CfnTableBucketPolicy(
440
1746
  id: builtins.str,
441
1747
  *,
442
1748
  resource_policy: typing.Any,
443
- table_bucket_arn: builtins.str,
1749
+ table_arn: builtins.str,
444
1750
  ) -> None:
445
- '''
1751
+ '''Create a new ``AWS::S3Tables::TablePolicy``.
1752
+
446
1753
  :param scope: Scope in which this resource is defined.
447
1754
  :param id: Construct identifier for this resource (unique in its scope).
448
- :param resource_policy: The bucket policy JSON for the table bucket.
449
- :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket.
1755
+ :param resource_policy: The ``JSON`` that defines the policy.
1756
+ :param table_arn: The Amazon Resource Name (ARN) of the table.
450
1757
  '''
451
1758
  if __debug__:
452
- type_hints = typing.get_type_hints(_typecheckingstub__e41d1f33249c074a27c8db71a0d74f7ec78216836901a699d5ff7dbdcfdcf89a)
1759
+ type_hints = typing.get_type_hints(_typecheckingstub__a411c2784ec9f97ff20ac6b524d48b9d66affbbc6dde8cf88f11829983b62656)
453
1760
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
454
1761
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
455
- props = CfnTableBucketPolicyProps(
456
- resource_policy=resource_policy, table_bucket_arn=table_bucket_arn
1762
+ props = CfnTablePolicyProps(
1763
+ resource_policy=resource_policy, table_arn=table_arn
457
1764
  )
458
1765
 
459
1766
  jsii.create(self.__class__, self, [scope, id, props])
@@ -465,7 +1772,7 @@ class CfnTableBucketPolicy(
465
1772
  :param inspector: tree inspector to collect and process attributes.
466
1773
  '''
467
1774
  if __debug__:
468
- type_hints = typing.get_type_hints(_typecheckingstub__3a8346fde6b51dff587833e7cd68ccdd12e4f80b4b07e756c507ac9d8b81cfdb)
1775
+ type_hints = typing.get_type_hints(_typecheckingstub__f0a3947da1bdccb78be78c5e73ba6a761b9581cfdb6fde618a0c2e2cc24e62e6)
469
1776
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
470
1777
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
471
1778
 
@@ -478,7 +1785,7 @@ class CfnTableBucketPolicy(
478
1785
  :param props: -
479
1786
  '''
480
1787
  if __debug__:
481
- type_hints = typing.get_type_hints(_typecheckingstub__32d2b3e7f152d93640c11f17b345fb2a9bf95efe6dd3c1235a1d9ca148caae1a)
1788
+ type_hints = typing.get_type_hints(_typecheckingstub__79081d3da496e49f8054cf224d3c19c14084df9686495715d7c13deb2b01f4e5)
482
1789
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
483
1790
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
484
1791
 
@@ -488,59 +1795,84 @@ class CfnTableBucketPolicy(
488
1795
  '''The CloudFormation resource type name for this resource class.'''
489
1796
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
490
1797
 
1798
+ @builtins.property
1799
+ @jsii.member(jsii_name="attrNamespace")
1800
+ def attr_namespace(self) -> builtins.str:
1801
+ '''The namespace to associated with the table.
1802
+
1803
+ :cloudformationAttribute: Namespace
1804
+ '''
1805
+ return typing.cast(builtins.str, jsii.get(self, "attrNamespace"))
1806
+
1807
+ @builtins.property
1808
+ @jsii.member(jsii_name="attrTableBucketArn")
1809
+ def attr_table_bucket_arn(self) -> builtins.str:
1810
+ '''The Amazon Resource Name (ARN) of the table bucket that contains the table.
1811
+
1812
+ :cloudformationAttribute: TableBucketARN
1813
+ '''
1814
+ return typing.cast(builtins.str, jsii.get(self, "attrTableBucketArn"))
1815
+
1816
+ @builtins.property
1817
+ @jsii.member(jsii_name="attrTableName")
1818
+ def attr_table_name(self) -> builtins.str:
1819
+ '''The name of the table.
1820
+
1821
+ :cloudformationAttribute: TableName
1822
+ '''
1823
+ return typing.cast(builtins.str, jsii.get(self, "attrTableName"))
1824
+
491
1825
  @builtins.property
492
1826
  @jsii.member(jsii_name="cfnProperties")
493
1827
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
494
1828
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
495
1829
 
1830
+ @builtins.property
1831
+ @jsii.member(jsii_name="tablePolicyRef")
1832
+ def table_policy_ref(self) -> _TablePolicyReference_a435d553:
1833
+ '''A reference to a TablePolicy resource.'''
1834
+ return typing.cast(_TablePolicyReference_a435d553, jsii.get(self, "tablePolicyRef"))
1835
+
496
1836
  @builtins.property
497
1837
  @jsii.member(jsii_name="resourcePolicy")
498
1838
  def resource_policy(self) -> typing.Any:
499
- '''The bucket policy JSON for the table bucket.'''
1839
+ '''The ``JSON`` that defines the policy.'''
500
1840
  return typing.cast(typing.Any, jsii.get(self, "resourcePolicy"))
501
1841
 
502
1842
  @resource_policy.setter
503
1843
  def resource_policy(self, value: typing.Any) -> None:
504
1844
  if __debug__:
505
- type_hints = typing.get_type_hints(_typecheckingstub__60d686568fe0e9bc1be86d3585b33d6e6dcf5d8ec00b2b4b4ba9c5e48ea4cd82)
1845
+ type_hints = typing.get_type_hints(_typecheckingstub__e5ff64cf2723b6c321a7dae00772c6657abff46b53f326cb7ef2461494ecaead)
506
1846
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
507
1847
  jsii.set(self, "resourcePolicy", value) # pyright: ignore[reportArgumentType]
508
1848
 
509
1849
  @builtins.property
510
- @jsii.member(jsii_name="tableBucketArn")
511
- def table_bucket_arn(self) -> builtins.str:
512
- '''The Amazon Resource Name (ARN) of the table bucket.'''
513
- return typing.cast(builtins.str, jsii.get(self, "tableBucketArn"))
1850
+ @jsii.member(jsii_name="tableArn")
1851
+ def table_arn(self) -> builtins.str:
1852
+ '''The Amazon Resource Name (ARN) of the table.'''
1853
+ return typing.cast(builtins.str, jsii.get(self, "tableArn"))
514
1854
 
515
- @table_bucket_arn.setter
516
- def table_bucket_arn(self, value: builtins.str) -> None:
1855
+ @table_arn.setter
1856
+ def table_arn(self, value: builtins.str) -> None:
517
1857
  if __debug__:
518
- type_hints = typing.get_type_hints(_typecheckingstub__9db770e8febae7602179359c1a5975b5ae8be6270348474fc3a1cca79c47ad2b)
1858
+ type_hints = typing.get_type_hints(_typecheckingstub__87d38159ba1fcdcd6a78891e84e79fef3b2492c5066559f8f91cd5cc6191efe4)
519
1859
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
520
- jsii.set(self, "tableBucketArn", value) # pyright: ignore[reportArgumentType]
1860
+ jsii.set(self, "tableArn", value) # pyright: ignore[reportArgumentType]
521
1861
 
522
1862
 
523
1863
  @jsii.data_type(
524
- jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketPolicyProps",
1864
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTablePolicyProps",
525
1865
  jsii_struct_bases=[],
526
- name_mapping={
527
- "resource_policy": "resourcePolicy",
528
- "table_bucket_arn": "tableBucketArn",
529
- },
1866
+ name_mapping={"resource_policy": "resourcePolicy", "table_arn": "tableArn"},
530
1867
  )
531
- class CfnTableBucketPolicyProps:
532
- def __init__(
533
- self,
534
- *,
535
- resource_policy: typing.Any,
536
- table_bucket_arn: builtins.str,
537
- ) -> None:
538
- '''Properties for defining a ``CfnTableBucketPolicy``.
1868
+ class CfnTablePolicyProps:
1869
+ def __init__(self, *, resource_policy: typing.Any, table_arn: builtins.str) -> None:
1870
+ '''Properties for defining a ``CfnTablePolicy``.
539
1871
 
540
- :param resource_policy: The bucket policy JSON for the table bucket.
541
- :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket.
1872
+ :param resource_policy: The ``JSON`` that defines the policy.
1873
+ :param table_arn: The Amazon Resource Name (ARN) of the table.
542
1874
 
543
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html
1875
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablepolicy.html
544
1876
  :exampleMetadata: fixture=_generated
545
1877
 
546
1878
  Example::
@@ -551,38 +1883,38 @@ class CfnTableBucketPolicyProps:
551
1883
 
552
1884
  # resource_policy: Any
553
1885
 
554
- cfn_table_bucket_policy_props = s3tables.CfnTableBucketPolicyProps(
1886
+ cfn_table_policy_props = s3tables.CfnTablePolicyProps(
555
1887
  resource_policy=resource_policy,
556
- table_bucket_arn="tableBucketArn"
1888
+ table_arn="tableArn"
557
1889
  )
558
1890
  '''
559
1891
  if __debug__:
560
- type_hints = typing.get_type_hints(_typecheckingstub__df8972559ed3d0ff90d01d70d1cf8f77869398b91f03a408d49a7b5bee0615a0)
1892
+ type_hints = typing.get_type_hints(_typecheckingstub__9e4efe8d2b5f3164478497385240c6eecce420e07f634572b7fac929a357ad5f)
561
1893
  check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
562
- check_type(argname="argument table_bucket_arn", value=table_bucket_arn, expected_type=type_hints["table_bucket_arn"])
1894
+ check_type(argname="argument table_arn", value=table_arn, expected_type=type_hints["table_arn"])
563
1895
  self._values: typing.Dict[builtins.str, typing.Any] = {
564
1896
  "resource_policy": resource_policy,
565
- "table_bucket_arn": table_bucket_arn,
1897
+ "table_arn": table_arn,
566
1898
  }
567
1899
 
568
1900
  @builtins.property
569
1901
  def resource_policy(self) -> typing.Any:
570
- '''The bucket policy JSON for the table bucket.
1902
+ '''The ``JSON`` that defines the policy.
571
1903
 
572
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html#cfn-s3tables-tablebucketpolicy-resourcepolicy
1904
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablepolicy.html#cfn-s3tables-tablepolicy-resourcepolicy
573
1905
  '''
574
1906
  result = self._values.get("resource_policy")
575
1907
  assert result is not None, "Required property 'resource_policy' is missing"
576
1908
  return typing.cast(typing.Any, result)
577
1909
 
578
1910
  @builtins.property
579
- def table_bucket_arn(self) -> builtins.str:
580
- '''The Amazon Resource Name (ARN) of the table bucket.
1911
+ def table_arn(self) -> builtins.str:
1912
+ '''The Amazon Resource Name (ARN) of the table.
581
1913
 
582
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html#cfn-s3tables-tablebucketpolicy-tablebucketarn
1914
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablepolicy.html#cfn-s3tables-tablepolicy-tablearn
583
1915
  '''
584
- result = self._values.get("table_bucket_arn")
585
- assert result is not None, "Required property 'table_bucket_arn' is missing"
1916
+ result = self._values.get("table_arn")
1917
+ assert result is not None, "Required property 'table_arn' is missing"
586
1918
  return typing.cast(builtins.str, result)
587
1919
 
588
1920
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
@@ -592,35 +1924,53 @@ class CfnTableBucketPolicyProps:
592
1924
  return not (rhs == self)
593
1925
 
594
1926
  def __repr__(self) -> str:
595
- return "CfnTableBucketPolicyProps(%s)" % ", ".join(
1927
+ return "CfnTablePolicyProps(%s)" % ", ".join(
596
1928
  k + "=" + repr(v) for k, v in self._values.items()
597
1929
  )
598
1930
 
599
1931
 
600
1932
  @jsii.data_type(
601
- jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketProps",
1933
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableProps",
602
1934
  jsii_struct_bases=[],
603
1935
  name_mapping={
604
- "table_bucket_name": "tableBucketName",
605
- "encryption_configuration": "encryptionConfiguration",
606
- "unreferenced_file_removal": "unreferencedFileRemoval",
1936
+ "namespace": "namespace",
1937
+ "open_table_format": "openTableFormat",
1938
+ "table_bucket_arn": "tableBucketArn",
1939
+ "table_name": "tableName",
1940
+ "compaction": "compaction",
1941
+ "iceberg_metadata": "icebergMetadata",
1942
+ "snapshot_management": "snapshotManagement",
1943
+ "tags": "tags",
1944
+ "without_metadata": "withoutMetadata",
607
1945
  },
608
1946
  )
609
- class CfnTableBucketProps:
1947
+ class CfnTableProps:
610
1948
  def __init__(
611
1949
  self,
612
1950
  *,
613
- table_bucket_name: builtins.str,
614
- encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
615
- unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1951
+ namespace: builtins.str,
1952
+ open_table_format: builtins.str,
1953
+ table_bucket_arn: builtins.str,
1954
+ table_name: builtins.str,
1955
+ compaction: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.CompactionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1956
+ iceberg_metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.IcebergMetadataProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1957
+ snapshot_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SnapshotManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1958
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1959
+ without_metadata: typing.Optional[builtins.str] = None,
616
1960
  ) -> None:
617
- '''Properties for defining a ``CfnTableBucket``.
618
-
619
- :param table_bucket_name: The name for the table bucket.
620
- :param encryption_configuration: Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
621
- :param unreferenced_file_removal: The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
622
-
623
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html
1961
+ '''Properties for defining a ``CfnTable``.
1962
+
1963
+ :param namespace: The name of the namespace.
1964
+ :param open_table_format: The format of the table.
1965
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket to create the table in.
1966
+ :param table_name: The name for the table.
1967
+ :param compaction: Contains details about the compaction settings for an Iceberg table.
1968
+ :param iceberg_metadata: Contains details about the metadata for an Iceberg table.
1969
+ :param snapshot_management: Contains details about the Iceberg snapshot management settings for the table.
1970
+ :param tags: User tags (key-value pairs) to associate with the table.
1971
+ :param without_metadata: Indicates that you don't want to specify a schema for the table. This property is mutually exclusive to ``IcebergMetadata`` , and its only possible value is ``Yes`` .
1972
+
1973
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html
624
1974
  :exampleMetadata: fixture=_generated
625
1975
 
626
1976
  Example::
@@ -629,69 +1979,160 @@ class CfnTableBucketProps:
629
1979
  # The values are placeholders you should change.
630
1980
  from aws_cdk import aws_s3tables as s3tables
631
1981
 
632
- cfn_table_bucket_props = s3tables.CfnTableBucketProps(
633
- table_bucket_name="tableBucketName",
1982
+ cfn_table_props = s3tables.CfnTableProps(
1983
+ namespace="namespace",
1984
+ open_table_format="openTableFormat",
1985
+ table_bucket_arn="tableBucketArn",
1986
+ table_name="tableName",
634
1987
 
635
1988
  # the properties below are optional
636
- encryption_configuration=s3tables.CfnTableBucket.EncryptionConfigurationProperty(
637
- kms_key_arn="kmsKeyArn",
638
- sse_algorithm="sseAlgorithm"
639
- ),
640
- unreferenced_file_removal=s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
641
- noncurrent_days=123,
1989
+ compaction=s3tables.CfnTable.CompactionProperty(
642
1990
  status="status",
643
- unreferenced_days=123
644
- )
1991
+ target_file_size_mb=123
1992
+ ),
1993
+ iceberg_metadata=s3tables.CfnTable.IcebergMetadataProperty(
1994
+ iceberg_schema=s3tables.CfnTable.IcebergSchemaProperty(
1995
+ schema_field_list=[s3tables.CfnTable.SchemaFieldProperty(
1996
+ name="name",
1997
+ type="type",
1998
+
1999
+ # the properties below are optional
2000
+ required=False
2001
+ )]
2002
+ )
2003
+ ),
2004
+ snapshot_management=s3tables.CfnTable.SnapshotManagementProperty(
2005
+ max_snapshot_age_hours=123,
2006
+ min_snapshots_to_keep=123,
2007
+ status="status"
2008
+ ),
2009
+ tags=[CfnTag(
2010
+ key="key",
2011
+ value="value"
2012
+ )],
2013
+ without_metadata="withoutMetadata"
645
2014
  )
646
2015
  '''
647
2016
  if __debug__:
648
- type_hints = typing.get_type_hints(_typecheckingstub__6fb9342a13c0e9f7b21679814e793d7ccc0964ccfe53bc5e0916676b628d20f3)
649
- check_type(argname="argument table_bucket_name", value=table_bucket_name, expected_type=type_hints["table_bucket_name"])
650
- check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
651
- check_type(argname="argument unreferenced_file_removal", value=unreferenced_file_removal, expected_type=type_hints["unreferenced_file_removal"])
2017
+ type_hints = typing.get_type_hints(_typecheckingstub__6346a05fb3e021dceca566705037999fa06de23c2e117b37dcdd3e46838b7bc6)
2018
+ check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
2019
+ check_type(argname="argument open_table_format", value=open_table_format, expected_type=type_hints["open_table_format"])
2020
+ check_type(argname="argument table_bucket_arn", value=table_bucket_arn, expected_type=type_hints["table_bucket_arn"])
2021
+ check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
2022
+ check_type(argname="argument compaction", value=compaction, expected_type=type_hints["compaction"])
2023
+ check_type(argname="argument iceberg_metadata", value=iceberg_metadata, expected_type=type_hints["iceberg_metadata"])
2024
+ check_type(argname="argument snapshot_management", value=snapshot_management, expected_type=type_hints["snapshot_management"])
2025
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2026
+ check_type(argname="argument without_metadata", value=without_metadata, expected_type=type_hints["without_metadata"])
652
2027
  self._values: typing.Dict[builtins.str, typing.Any] = {
653
- "table_bucket_name": table_bucket_name,
2028
+ "namespace": namespace,
2029
+ "open_table_format": open_table_format,
2030
+ "table_bucket_arn": table_bucket_arn,
2031
+ "table_name": table_name,
654
2032
  }
655
- if encryption_configuration is not None:
656
- self._values["encryption_configuration"] = encryption_configuration
657
- if unreferenced_file_removal is not None:
658
- self._values["unreferenced_file_removal"] = unreferenced_file_removal
2033
+ if compaction is not None:
2034
+ self._values["compaction"] = compaction
2035
+ if iceberg_metadata is not None:
2036
+ self._values["iceberg_metadata"] = iceberg_metadata
2037
+ if snapshot_management is not None:
2038
+ self._values["snapshot_management"] = snapshot_management
2039
+ if tags is not None:
2040
+ self._values["tags"] = tags
2041
+ if without_metadata is not None:
2042
+ self._values["without_metadata"] = without_metadata
659
2043
 
660
2044
  @builtins.property
661
- def table_bucket_name(self) -> builtins.str:
662
- '''The name for the table bucket.
2045
+ def namespace(self) -> builtins.str:
2046
+ '''The name of the namespace.
663
2047
 
664
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-tablebucketname
2048
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-namespace
665
2049
  '''
666
- result = self._values.get("table_bucket_name")
667
- assert result is not None, "Required property 'table_bucket_name' is missing"
2050
+ result = self._values.get("namespace")
2051
+ assert result is not None, "Required property 'namespace' is missing"
668
2052
  return typing.cast(builtins.str, result)
669
2053
 
670
2054
  @builtins.property
671
- def encryption_configuration(
2055
+ def open_table_format(self) -> builtins.str:
2056
+ '''The format of the table.
2057
+
2058
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-opentableformat
2059
+ '''
2060
+ result = self._values.get("open_table_format")
2061
+ assert result is not None, "Required property 'open_table_format' is missing"
2062
+ return typing.cast(builtins.str, result)
2063
+
2064
+ @builtins.property
2065
+ def table_bucket_arn(self) -> builtins.str:
2066
+ '''The Amazon Resource Name (ARN) of the table bucket to create the table in.
2067
+
2068
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-tablebucketarn
2069
+ '''
2070
+ result = self._values.get("table_bucket_arn")
2071
+ assert result is not None, "Required property 'table_bucket_arn' is missing"
2072
+ return typing.cast(builtins.str, result)
2073
+
2074
+ @builtins.property
2075
+ def table_name(self) -> builtins.str:
2076
+ '''The name for the table.
2077
+
2078
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-tablename
2079
+ '''
2080
+ result = self._values.get("table_name")
2081
+ assert result is not None, "Required property 'table_name' is missing"
2082
+ return typing.cast(builtins.str, result)
2083
+
2084
+ @builtins.property
2085
+ def compaction(
672
2086
  self,
673
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.EncryptionConfigurationProperty]]:
674
- '''Configuration specifying how data should be encrypted.
2087
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.CompactionProperty]]:
2088
+ '''Contains details about the compaction settings for an Iceberg table.
675
2089
 
676
- This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
2090
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-compaction
2091
+ '''
2092
+ result = self._values.get("compaction")
2093
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.CompactionProperty]], result)
677
2094
 
678
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-encryptionconfiguration
2095
+ @builtins.property
2096
+ def iceberg_metadata(
2097
+ self,
2098
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.IcebergMetadataProperty]]:
2099
+ '''Contains details about the metadata for an Iceberg table.
2100
+
2101
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-icebergmetadata
679
2102
  '''
680
- result = self._values.get("encryption_configuration")
681
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.EncryptionConfigurationProperty]], result)
2103
+ result = self._values.get("iceberg_metadata")
2104
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.IcebergMetadataProperty]], result)
682
2105
 
683
2106
  @builtins.property
684
- def unreferenced_file_removal(
2107
+ def snapshot_management(
685
2108
  self,
686
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]]:
687
- '''The unreferenced file removal settings for your table bucket.
2109
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SnapshotManagementProperty]]:
2110
+ '''Contains details about the Iceberg snapshot management settings for the table.
688
2111
 
689
- Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
2112
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-snapshotmanagement
2113
+ '''
2114
+ result = self._values.get("snapshot_management")
2115
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SnapshotManagementProperty]], result)
690
2116
 
691
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-unreferencedfileremoval
2117
+ @builtins.property
2118
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2119
+ '''User tags (key-value pairs) to associate with the table.
2120
+
2121
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-tags
692
2122
  '''
693
- result = self._values.get("unreferenced_file_removal")
694
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]], result)
2123
+ result = self._values.get("tags")
2124
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2125
+
2126
+ @builtins.property
2127
+ def without_metadata(self) -> typing.Optional[builtins.str]:
2128
+ '''Indicates that you don't want to specify a schema for the table.
2129
+
2130
+ This property is mutually exclusive to ``IcebergMetadata`` , and its only possible value is ``Yes`` .
2131
+
2132
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-withoutmetadata
2133
+ '''
2134
+ result = self._values.get("without_metadata")
2135
+ return typing.cast(typing.Optional[builtins.str], result)
695
2136
 
696
2137
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
697
2138
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -700,26 +2141,198 @@ class CfnTableBucketProps:
700
2141
  return not (rhs == self)
701
2142
 
702
2143
  def __repr__(self) -> str:
703
- return "CfnTableBucketProps(%s)" % ", ".join(
2144
+ return "CfnTableProps(%s)" % ", ".join(
704
2145
  k + "=" + repr(v) for k, v in self._values.items()
705
2146
  )
706
2147
 
707
2148
 
708
2149
  __all__ = [
2150
+ "CfnNamespace",
2151
+ "CfnNamespaceProps",
2152
+ "CfnTable",
709
2153
  "CfnTableBucket",
710
2154
  "CfnTableBucketPolicy",
711
2155
  "CfnTableBucketPolicyProps",
712
2156
  "CfnTableBucketProps",
2157
+ "CfnTablePolicy",
2158
+ "CfnTablePolicyProps",
2159
+ "CfnTableProps",
713
2160
  ]
714
2161
 
715
2162
  publication.publish()
716
2163
 
2164
+ def _typecheckingstub__fd79dcff4893fe1cd3464c1f48689d2a01ad4a5eed6acfd35e21266683ab1f1c(
2165
+ scope: _constructs_77d1e7e8.Construct,
2166
+ id: builtins.str,
2167
+ *,
2168
+ namespace: builtins.str,
2169
+ table_bucket_arn: builtins.str,
2170
+ ) -> None:
2171
+ """Type checking stubs"""
2172
+ pass
2173
+
2174
+ def _typecheckingstub__0dae368df5e118b03066ac5fbad3765e81aa23b31a7288aa2bb824379578614f(
2175
+ inspector: _TreeInspector_488e0dd5,
2176
+ ) -> None:
2177
+ """Type checking stubs"""
2178
+ pass
2179
+
2180
+ def _typecheckingstub__2c772aad560ab6b4e840f54665ca3a18a9fcbf362512eb78423617db138b70b0(
2181
+ props: typing.Mapping[builtins.str, typing.Any],
2182
+ ) -> None:
2183
+ """Type checking stubs"""
2184
+ pass
2185
+
2186
+ def _typecheckingstub__083038783d9a592008992f105965913f4b10d8bc23252afb9a929c22e7cebd06(
2187
+ value: builtins.str,
2188
+ ) -> None:
2189
+ """Type checking stubs"""
2190
+ pass
2191
+
2192
+ def _typecheckingstub__8560b7f29623bc1f753b1cf34442c874c6958096b39accf37244c9341879fd81(
2193
+ value: builtins.str,
2194
+ ) -> None:
2195
+ """Type checking stubs"""
2196
+ pass
2197
+
2198
+ def _typecheckingstub__5fdadc8758c9f96fac22200567c0d51cfd3e36c943cb9fa46e50cbf9abf25faf(
2199
+ *,
2200
+ namespace: builtins.str,
2201
+ table_bucket_arn: builtins.str,
2202
+ ) -> None:
2203
+ """Type checking stubs"""
2204
+ pass
2205
+
2206
+ def _typecheckingstub__9cb6d8b27037c33c46017d3b0b00b52a14bbd8c0a922c03aca7fff9e327b1420(
2207
+ scope: _constructs_77d1e7e8.Construct,
2208
+ id: builtins.str,
2209
+ *,
2210
+ namespace: builtins.str,
2211
+ open_table_format: builtins.str,
2212
+ table_bucket_arn: builtins.str,
2213
+ table_name: builtins.str,
2214
+ compaction: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.CompactionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2215
+ iceberg_metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.IcebergMetadataProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2216
+ snapshot_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SnapshotManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2217
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2218
+ without_metadata: typing.Optional[builtins.str] = None,
2219
+ ) -> None:
2220
+ """Type checking stubs"""
2221
+ pass
2222
+
2223
+ def _typecheckingstub__8e9f0a1074447de044514c7c1b5b2cca167912d3e02c228b501f3cc4c1b09a6f(
2224
+ inspector: _TreeInspector_488e0dd5,
2225
+ ) -> None:
2226
+ """Type checking stubs"""
2227
+ pass
2228
+
2229
+ def _typecheckingstub__a82da714fe9043c593e17c8af3ba9310ce4d043a6843c815aa933a3f004a6d5a(
2230
+ props: typing.Mapping[builtins.str, typing.Any],
2231
+ ) -> None:
2232
+ """Type checking stubs"""
2233
+ pass
2234
+
2235
+ def _typecheckingstub__fb40731dfd6256164661895ce0f48c78b8e18c58fb7f27fbb73a3ce7c916c1df(
2236
+ value: builtins.str,
2237
+ ) -> None:
2238
+ """Type checking stubs"""
2239
+ pass
2240
+
2241
+ def _typecheckingstub__5892a05d87447cee97d5ab4f41ddb7d6837df87a8b4e6b9d577c79cfe927180a(
2242
+ value: builtins.str,
2243
+ ) -> None:
2244
+ """Type checking stubs"""
2245
+ pass
2246
+
2247
+ def _typecheckingstub__7ad6ac8e43e44c04006a5ef80e152c8effbbdb7bf127bd063a6b732c4ee1f9a9(
2248
+ value: builtins.str,
2249
+ ) -> None:
2250
+ """Type checking stubs"""
2251
+ pass
2252
+
2253
+ def _typecheckingstub__f410c91375a77f7ed3b5736522dbfb254643b931cd30ea49af6d7d51d9c5ddc5(
2254
+ value: builtins.str,
2255
+ ) -> None:
2256
+ """Type checking stubs"""
2257
+ pass
2258
+
2259
+ def _typecheckingstub__4ff6f95f778b64c53b87dfe6f8a117fa9d1583584d475eef7586c75859dcb219(
2260
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.CompactionProperty]],
2261
+ ) -> None:
2262
+ """Type checking stubs"""
2263
+ pass
2264
+
2265
+ def _typecheckingstub__6f0509a656c9927b41c3ead9b58d6c83257863d2b8d1104c542e1a8435be4160(
2266
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.IcebergMetadataProperty]],
2267
+ ) -> None:
2268
+ """Type checking stubs"""
2269
+ pass
2270
+
2271
+ def _typecheckingstub__c6c432f4785ee47d59f072204756d42650b9fc3dd3e85a79139ab4f11fb72a43(
2272
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SnapshotManagementProperty]],
2273
+ ) -> None:
2274
+ """Type checking stubs"""
2275
+ pass
2276
+
2277
+ def _typecheckingstub__325161e5105ae7e0c745e5ef4817aaec57d30e105c6645c3b5269abbe859cdf2(
2278
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2279
+ ) -> None:
2280
+ """Type checking stubs"""
2281
+ pass
2282
+
2283
+ def _typecheckingstub__e5d21acaabd2bab58c6f59f334d1b06b0962eb6541244a042a933b5ce009a061(
2284
+ value: typing.Optional[builtins.str],
2285
+ ) -> None:
2286
+ """Type checking stubs"""
2287
+ pass
2288
+
2289
+ def _typecheckingstub__f49118bb06f06baf9f7618e6cd633803a2486d06b541e59cab8801a6a0983fcc(
2290
+ *,
2291
+ status: typing.Optional[builtins.str] = None,
2292
+ target_file_size_mb: typing.Optional[jsii.Number] = None,
2293
+ ) -> None:
2294
+ """Type checking stubs"""
2295
+ pass
2296
+
2297
+ def _typecheckingstub__1e5dc7085346ad722ba37251e910871affc6e3d90d9251cc9d43941978d7cb0a(
2298
+ *,
2299
+ iceberg_schema: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.IcebergSchemaProperty, typing.Dict[builtins.str, typing.Any]]],
2300
+ ) -> None:
2301
+ """Type checking stubs"""
2302
+ pass
2303
+
2304
+ def _typecheckingstub__3613cb002c55c4baeb2517f3445ed9e71396e5ee393d230544d3f1302b471205(
2305
+ *,
2306
+ schema_field_list: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SchemaFieldProperty, typing.Dict[builtins.str, typing.Any]]]]],
2307
+ ) -> None:
2308
+ """Type checking stubs"""
2309
+ pass
2310
+
2311
+ def _typecheckingstub__b3f6368f6b334e97c5c50a43ab04d5e784e18fdb0e687d1684b9ad01ad6c1a29(
2312
+ *,
2313
+ name: builtins.str,
2314
+ type: builtins.str,
2315
+ required: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2316
+ ) -> None:
2317
+ """Type checking stubs"""
2318
+ pass
2319
+
2320
+ def _typecheckingstub__fa9c2ac7b8956daecf8522166700dd475625d08f131913fda8e01475215f3656(
2321
+ *,
2322
+ max_snapshot_age_hours: typing.Optional[jsii.Number] = None,
2323
+ min_snapshots_to_keep: typing.Optional[jsii.Number] = None,
2324
+ status: typing.Optional[builtins.str] = None,
2325
+ ) -> None:
2326
+ """Type checking stubs"""
2327
+ pass
2328
+
717
2329
  def _typecheckingstub__de433918cd34eecbcaab0e81b6a287f71a48dd308c2f4d42e07a0e19ce5af0e2(
718
2330
  scope: _constructs_77d1e7e8.Construct,
719
2331
  id: builtins.str,
720
2332
  *,
721
2333
  table_bucket_name: builtins.str,
722
2334
  encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2335
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
723
2336
  unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
724
2337
  ) -> None:
725
2338
  """Type checking stubs"""
@@ -749,6 +2362,12 @@ def _typecheckingstub__61499f569b4e5dc20b99defd26e29c6e9b7761b6630e1adec9c20e97e
749
2362
  """Type checking stubs"""
750
2363
  pass
751
2364
 
2365
+ def _typecheckingstub__3bd32e36df516fe785d94d21a1dc923e712becb1b93de4a82fa887f57a6b4823(
2366
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2367
+ ) -> None:
2368
+ """Type checking stubs"""
2369
+ pass
2370
+
752
2371
  def _typecheckingstub__02bf42691243dcbc8ea49c2499d3414260e70a80c4e38a371b64664c49f17e6e(
753
2372
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]],
754
2373
  ) -> None:
@@ -818,7 +2437,65 @@ def _typecheckingstub__6fb9342a13c0e9f7b21679814e793d7ccc0964ccfe53bc5e0916676b6
818
2437
  *,
819
2438
  table_bucket_name: builtins.str,
820
2439
  encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2440
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
821
2441
  unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
822
2442
  ) -> None:
823
2443
  """Type checking stubs"""
824
2444
  pass
2445
+
2446
+ def _typecheckingstub__a411c2784ec9f97ff20ac6b524d48b9d66affbbc6dde8cf88f11829983b62656(
2447
+ scope: _constructs_77d1e7e8.Construct,
2448
+ id: builtins.str,
2449
+ *,
2450
+ resource_policy: typing.Any,
2451
+ table_arn: builtins.str,
2452
+ ) -> None:
2453
+ """Type checking stubs"""
2454
+ pass
2455
+
2456
+ def _typecheckingstub__f0a3947da1bdccb78be78c5e73ba6a761b9581cfdb6fde618a0c2e2cc24e62e6(
2457
+ inspector: _TreeInspector_488e0dd5,
2458
+ ) -> None:
2459
+ """Type checking stubs"""
2460
+ pass
2461
+
2462
+ def _typecheckingstub__79081d3da496e49f8054cf224d3c19c14084df9686495715d7c13deb2b01f4e5(
2463
+ props: typing.Mapping[builtins.str, typing.Any],
2464
+ ) -> None:
2465
+ """Type checking stubs"""
2466
+ pass
2467
+
2468
+ def _typecheckingstub__e5ff64cf2723b6c321a7dae00772c6657abff46b53f326cb7ef2461494ecaead(
2469
+ value: typing.Any,
2470
+ ) -> None:
2471
+ """Type checking stubs"""
2472
+ pass
2473
+
2474
+ def _typecheckingstub__87d38159ba1fcdcd6a78891e84e79fef3b2492c5066559f8f91cd5cc6191efe4(
2475
+ value: builtins.str,
2476
+ ) -> None:
2477
+ """Type checking stubs"""
2478
+ pass
2479
+
2480
+ def _typecheckingstub__9e4efe8d2b5f3164478497385240c6eecce420e07f634572b7fac929a357ad5f(
2481
+ *,
2482
+ resource_policy: typing.Any,
2483
+ table_arn: builtins.str,
2484
+ ) -> None:
2485
+ """Type checking stubs"""
2486
+ pass
2487
+
2488
+ def _typecheckingstub__6346a05fb3e021dceca566705037999fa06de23c2e117b37dcdd3e46838b7bc6(
2489
+ *,
2490
+ namespace: builtins.str,
2491
+ open_table_format: builtins.str,
2492
+ table_bucket_arn: builtins.str,
2493
+ table_name: builtins.str,
2494
+ compaction: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.CompactionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2495
+ iceberg_metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.IcebergMetadataProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2496
+ snapshot_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SnapshotManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2497
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2498
+ without_metadata: typing.Optional[builtins.str] = None,
2499
+ ) -> None:
2500
+ """Type checking stubs"""
2501
+ pass