aws-cdk-lib 2.153.0__py3-none-any.whl → 2.154.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 (266) hide show
  1. aws_cdk/__init__.py +157 -215
  2. aws_cdk/_jsii/__init__.py +2 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.153.0.jsii.tgz → aws-cdk-lib@2.154.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -3
  5. aws_cdk/aws_accessanalyzer/__init__.py +5 -5
  6. aws_cdk/aws_acmpca/__init__.py +79 -24
  7. aws_cdk/aws_amazonmq/__init__.py +161 -161
  8. aws_cdk/aws_amplify/__init__.py +36 -36
  9. aws_cdk/aws_amplifyuibuilder/__init__.py +32 -32
  10. aws_cdk/aws_apigateway/__init__.py +122 -122
  11. aws_cdk/aws_apigatewayv2/__init__.py +135 -121
  12. aws_cdk/aws_apigatewayv2_integrations/__init__.py +12 -12
  13. aws_cdk/aws_appconfig/__init__.py +59 -59
  14. aws_cdk/aws_appflow/__init__.py +20 -20
  15. aws_cdk/aws_appintegrations/__init__.py +19 -19
  16. aws_cdk/aws_applicationautoscaling/__init__.py +31 -16
  17. aws_cdk/aws_applicationinsights/__init__.py +11 -11
  18. aws_cdk/aws_applicationsignals/__init__.py +5 -5
  19. aws_cdk/aws_appmesh/__init__.py +35 -35
  20. aws_cdk/aws_apprunner/__init__.py +25 -25
  21. aws_cdk/aws_appstream/__init__.py +105 -105
  22. aws_cdk/aws_appsync/__init__.py +89 -89
  23. aws_cdk/aws_apptest/__init__.py +25 -25
  24. aws_cdk/aws_aps/__init__.py +14 -14
  25. aws_cdk/aws_arczonalshift/__init__.py +200 -3
  26. aws_cdk/aws_athena/__init__.py +25 -25
  27. aws_cdk/aws_auditmanager/__init__.py +15 -15
  28. aws_cdk/aws_autoscaling/__init__.py +84 -84
  29. aws_cdk/aws_autoscalingplans/__init__.py +2 -2
  30. aws_cdk/aws_b2bi/__init__.py +24 -24
  31. aws_cdk/aws_backup/__init__.py +33 -33
  32. aws_cdk/aws_backupgateway/__init__.py +7 -7
  33. aws_cdk/aws_batch/__init__.py +289 -35
  34. aws_cdk/aws_bcmdataexports/__init__.py +2 -2
  35. aws_cdk/aws_bedrock/__init__.py +13239 -3277
  36. aws_cdk/aws_billingconductor/__init__.py +28 -28
  37. aws_cdk/aws_budgets/__init__.py +12 -12
  38. aws_cdk/aws_cassandra/__init__.py +16 -16
  39. aws_cdk/aws_ce/__init__.py +17 -17
  40. aws_cdk/aws_certificatemanager/__init__.py +9 -9
  41. aws_cdk/aws_chatbot/__init__.py +22 -22
  42. aws_cdk/aws_cleanrooms/__init__.py +2470 -307
  43. aws_cdk/aws_cleanroomsml/__init__.py +5 -5
  44. aws_cdk/aws_cloud9/__init__.py +10 -10
  45. aws_cdk/aws_cloudformation/__init__.py +94 -69
  46. aws_cdk/aws_cloudfront/__init__.py +31 -30
  47. aws_cdk/aws_cloudtrail/__init__.py +46 -44
  48. aws_cdk/aws_cloudwatch/__init__.py +61 -69
  49. aws_cdk/aws_codeartifact/__init__.py +19 -19
  50. aws_cdk/aws_codebuild/__init__.py +60 -68
  51. aws_cdk/aws_codecommit/__init__.py +10 -6
  52. aws_cdk/aws_codeconnections/__init__.py +5 -5
  53. aws_cdk/aws_codedeploy/__init__.py +28 -28
  54. aws_cdk/aws_codeguruprofiler/__init__.py +5 -5
  55. aws_cdk/aws_codegurureviewer/__init__.py +6 -6
  56. aws_cdk/aws_codepipeline/__init__.py +849 -52
  57. aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
  58. aws_cdk/aws_codestar/__init__.py +8 -8
  59. aws_cdk/aws_codestarconnections/__init__.py +17 -17
  60. aws_cdk/aws_codestarnotifications/__init__.py +10 -10
  61. aws_cdk/aws_cognito/__init__.py +465 -133
  62. aws_cdk/aws_comprehend/__init__.py +20 -20
  63. aws_cdk/aws_config/__init__.py +67 -67
  64. aws_cdk/aws_connect/__init__.py +139 -137
  65. aws_cdk/aws_connectcampaigns/__init__.py +5 -5
  66. aws_cdk/aws_controltower/__init__.py +12 -12
  67. aws_cdk/aws_cur/__init__.py +12 -12
  68. aws_cdk/aws_customerprofiles/__init__.py +36 -36
  69. aws_cdk/aws_databrew/__init__.py +45 -45
  70. aws_cdk/aws_datapipeline/__init__.py +12 -8
  71. aws_cdk/aws_datasync/__init__.py +119 -117
  72. aws_cdk/aws_datazone/__init__.py +63 -63
  73. aws_cdk/aws_dax/__init__.py +20 -20
  74. aws_cdk/aws_deadline/__init__.py +221 -292
  75. aws_cdk/aws_detective/__init__.py +8 -8
  76. aws_cdk/aws_devicefarm/__init__.py +37 -37
  77. aws_cdk/aws_devopsguru/__init__.py +2 -2
  78. aws_cdk/aws_directoryservice/__init__.py +15 -15
  79. aws_cdk/aws_dlm/__init__.py +12 -12
  80. aws_cdk/aws_dms/__init__.py +300 -298
  81. aws_cdk/aws_docdb/__init__.py +49 -49
  82. aws_cdk/aws_docdbelastic/__init__.py +14 -14
  83. aws_cdk/aws_dynamodb/__init__.py +371 -37
  84. aws_cdk/aws_ec2/__init__.py +900 -606
  85. aws_cdk/aws_ecr/__init__.py +117 -77
  86. aws_cdk/aws_ecr_assets/__init__.py +4 -4
  87. aws_cdk/aws_ecs/__init__.py +190 -191
  88. aws_cdk/aws_ecs_patterns/__init__.py +2 -2
  89. aws_cdk/aws_efs/__init__.py +22 -22
  90. aws_cdk/aws_eks/__init__.py +177 -61
  91. aws_cdk/aws_elasticache/__init__.py +218 -226
  92. aws_cdk/aws_elasticbeanstalk/__init__.py +25 -25
  93. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -16
  94. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1066 -102
  95. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +86 -4
  96. aws_cdk/aws_elasticsearch/__init__.py +16 -16
  97. aws_cdk/aws_emr/__init__.py +74 -74
  98. aws_cdk/aws_emrcontainers/__init__.py +3 -3
  99. aws_cdk/aws_emrserverless/__init__.py +157 -14
  100. aws_cdk/aws_entityresolution/__init__.py +613 -35
  101. aws_cdk/aws_events/__init__.py +42 -42
  102. aws_cdk/aws_eventschemas/__init__.py +16 -16
  103. aws_cdk/aws_evidently/__init__.py +38 -38
  104. aws_cdk/aws_finspace/__init__.py +8 -8
  105. aws_cdk/aws_fis/__init__.py +12 -12
  106. aws_cdk/aws_fms/__init__.py +21 -21
  107. aws_cdk/aws_forecast/__init__.py +18 -11
  108. aws_cdk/aws_frauddetector/__init__.py +35 -35
  109. aws_cdk/aws_fsx/__init__.py +35 -35
  110. aws_cdk/aws_gamelift/__init__.py +103 -103
  111. aws_cdk/aws_globalaccelerator/__init__.py +46 -24
  112. aws_cdk/aws_glue/__init__.py +132 -139
  113. aws_cdk/aws_grafana/__init__.py +17 -17
  114. aws_cdk/aws_greengrass/__init__.py +48 -48
  115. aws_cdk/aws_greengrassv2/__init__.py +10 -10
  116. aws_cdk/aws_groundstation/__init__.py +16 -16
  117. aws_cdk/aws_guardduty/__init__.py +40 -38
  118. aws_cdk/aws_healthimaging/__init__.py +3 -3
  119. aws_cdk/aws_healthlake/__init__.py +6 -6
  120. aws_cdk/aws_iam/__init__.py +120 -122
  121. aws_cdk/aws_identitystore/__init__.py +6 -6
  122. aws_cdk/aws_imagebuilder/__init__.py +92 -92
  123. aws_cdk/aws_inspector/__init__.py +8 -8
  124. aws_cdk/aws_inspectorv2/__init__.py +102 -97
  125. aws_cdk/aws_internetmonitor/__init__.py +12 -12
  126. aws_cdk/aws_iot/__init__.py +141 -141
  127. aws_cdk/aws_iot1click/__init__.py +9 -9
  128. aws_cdk/aws_iotanalytics/__init__.py +21 -21
  129. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +2 -2
  130. aws_cdk/aws_iotevents/__init__.py +20 -20
  131. aws_cdk/aws_iotfleethub/__init__.py +4 -4
  132. aws_cdk/aws_iotfleetwise/__init__.py +45 -45
  133. aws_cdk/aws_iotsitewise/__init__.py +40 -40
  134. aws_cdk/aws_iotthingsgraph/__init__.py +2 -2
  135. aws_cdk/aws_iottwinmaker/__init__.py +34 -34
  136. aws_cdk/aws_iotwireless/__init__.py +66 -66
  137. aws_cdk/aws_ivs/__init__.py +32 -32
  138. aws_cdk/aws_ivschat/__init__.py +9 -9
  139. aws_cdk/aws_kafkaconnect/__init__.py +22 -22
  140. aws_cdk/aws_kendra/__init__.py +28 -28
  141. aws_cdk/aws_kendraranking/__init__.py +4 -4
  142. aws_cdk/aws_kinesis/__init__.py +8 -8
  143. aws_cdk/aws_kinesisanalytics/__init__.py +23 -23
  144. aws_cdk/aws_kinesisanalyticsv2/__init__.py +15 -15
  145. aws_cdk/aws_kinesisfirehose/__init__.py +677 -18
  146. aws_cdk/aws_kinesisvideo/__init__.py +10 -10
  147. aws_cdk/aws_kms/__init__.py +20 -20
  148. aws_cdk/aws_lakeformation/__init__.py +36 -36
  149. aws_cdk/aws_lambda/__init__.py +174 -118
  150. aws_cdk/aws_launchwizard/__init__.py +508 -0
  151. aws_cdk/aws_lex/__init__.py +24 -24
  152. aws_cdk/aws_licensemanager/__init__.py +17 -17
  153. aws_cdk/aws_lightsail/__init__.py +90 -90
  154. aws_cdk/aws_location/__init__.py +41 -41
  155. aws_cdk/aws_logs/__init__.py +50 -50
  156. aws_cdk/aws_lookoutequipment/__init__.py +9 -9
  157. aws_cdk/aws_lookoutmetrics/__init__.py +10 -10
  158. aws_cdk/aws_lookoutvision/__init__.py +1 -1
  159. aws_cdk/aws_m2/__init__.py +20 -20
  160. aws_cdk/aws_macie/__init__.py +19 -19
  161. aws_cdk/aws_managedblockchain/__init__.py +10 -10
  162. aws_cdk/aws_mediaconnect/__init__.py +114 -77
  163. aws_cdk/aws_mediaconvert/__init__.py +20 -20
  164. aws_cdk/aws_medialive/__init__.py +44 -76
  165. aws_cdk/aws_mediapackage/__init__.py +38 -38
  166. aws_cdk/aws_mediapackagev2/__init__.py +178 -25
  167. aws_cdk/aws_mediastore/__init__.py +7 -7
  168. aws_cdk/aws_mediatailor/__init__.py +40 -40
  169. aws_cdk/aws_memorydb/__init__.py +41 -41
  170. aws_cdk/aws_msk/__init__.py +39 -39
  171. aws_cdk/aws_mwaa/__init__.py +25 -25
  172. aws_cdk/aws_neptune/__init__.py +55 -55
  173. aws_cdk/aws_neptunegraph/__init__.py +11 -11
  174. aws_cdk/aws_networkfirewall/__init__.py +36 -30
  175. aws_cdk/aws_networkmanager/__init__.py +1062 -91
  176. aws_cdk/aws_nimblestudio/__init__.py +31 -31
  177. aws_cdk/aws_oam/__init__.py +8 -8
  178. aws_cdk/aws_omics/__init__.py +36 -36
  179. aws_cdk/aws_opensearchserverless/__init__.py +25 -25
  180. aws_cdk/aws_opensearchservice/__init__.py +20 -20
  181. aws_cdk/aws_opsworks/__init__.py +87 -87
  182. aws_cdk/aws_opsworkscm/__init__.py +21 -21
  183. aws_cdk/aws_organizations/__init__.py +17 -17
  184. aws_cdk/aws_osis/__init__.py +122 -9
  185. aws_cdk/aws_panorama/__init__.py +27 -22
  186. aws_cdk/aws_paymentcryptography/__init__.py +7 -7
  187. aws_cdk/aws_pcaconnectorad/__init__.py +17 -17
  188. aws_cdk/aws_personalize/__init__.py +19 -19
  189. aws_cdk/aws_pinpoint/__init__.py +122 -122
  190. aws_cdk/aws_pinpointemail/__init__.py +16 -16
  191. aws_cdk/aws_pipes/__init__.py +14 -16
  192. aws_cdk/aws_proton/__init__.py +19 -19
  193. aws_cdk/aws_qbusiness/__init__.py +160 -45
  194. aws_cdk/aws_qldb/__init__.py +12 -12
  195. aws_cdk/aws_quicksight/__init__.py +91 -91
  196. aws_cdk/aws_ram/__init__.py +11 -11
  197. aws_cdk/aws_rds/__init__.py +365 -259
  198. aws_cdk/aws_redshift/__init__.py +136 -91
  199. aws_cdk/aws_redshiftserverless/__init__.py +27 -27
  200. aws_cdk/aws_refactorspaces/__init__.py +26 -26
  201. aws_cdk/aws_rekognition/__init__.py +16 -16
  202. aws_cdk/aws_resiliencehub/__init__.py +15 -15
  203. aws_cdk/aws_resourceexplorer2/__init__.py +8 -8
  204. aws_cdk/aws_resourcegroups/__init__.py +6 -6
  205. aws_cdk/aws_robomaker/__init__.py +25 -25
  206. aws_cdk/aws_rolesanywhere/__init__.py +67 -19
  207. aws_cdk/aws_route53/__init__.py +36 -36
  208. aws_cdk/aws_route53profiles/__init__.py +11 -11
  209. aws_cdk/aws_route53recoverycontrol/__init__.py +14 -14
  210. aws_cdk/aws_route53recoveryreadiness/__init__.py +13 -13
  211. aws_cdk/aws_route53resolver/__init__.py +123 -82
  212. aws_cdk/aws_rum/__init__.py +6 -6
  213. aws_cdk/aws_s3/__init__.py +136 -80
  214. aws_cdk/aws_s3_deployment/__init__.py +30 -24
  215. aws_cdk/aws_s3_notifications/__init__.py +3 -4
  216. aws_cdk/aws_s3express/__init__.py +5 -5
  217. aws_cdk/aws_s3objectlambda/__init__.py +6 -6
  218. aws_cdk/aws_s3outposts/__init__.py +16 -16
  219. aws_cdk/aws_sagemaker/__init__.py +2412 -280
  220. aws_cdk/aws_sam/__init__.py +101 -101
  221. aws_cdk/aws_scheduler/__init__.py +13 -13
  222. aws_cdk/aws_sdb/__init__.py +1 -1
  223. aws_cdk/aws_secretsmanager/__init__.py +20 -19
  224. aws_cdk/aws_securityhub/__init__.py +70 -57
  225. aws_cdk/aws_securitylake/__init__.py +341 -16
  226. aws_cdk/aws_servicecatalog/__init__.py +87 -87
  227. aws_cdk/aws_servicecatalogappregistry/__init__.py +12 -12
  228. aws_cdk/aws_servicediscovery/__init__.py +23 -23
  229. aws_cdk/aws_ses/__init__.py +12038 -5604
  230. aws_cdk/aws_shield/__init__.py +15 -15
  231. aws_cdk/aws_signer/__init__.py +9 -9
  232. aws_cdk/aws_simspaceweaver/__init__.py +5 -5
  233. aws_cdk/aws_sns/__init__.py +28 -28
  234. aws_cdk/aws_sqs/__init__.py +20 -20
  235. aws_cdk/aws_ssm/__init__.py +172 -101
  236. aws_cdk/aws_ssmcontacts/__init__.py +18 -18
  237. aws_cdk/aws_ssmincidents/__init__.py +11 -11
  238. aws_cdk/aws_sso/__init__.py +31 -31
  239. aws_cdk/aws_stepfunctions/__init__.py +370 -28
  240. aws_cdk/aws_supportapp/__init__.py +11 -11
  241. aws_cdk/aws_synthetics/__init__.py +18 -18
  242. aws_cdk/aws_systemsmanagersap/__init__.py +48 -7
  243. aws_cdk/aws_timestream/__init__.py +34 -34
  244. aws_cdk/aws_transfer/__init__.py +57 -57
  245. aws_cdk/aws_verifiedpermissions/__init__.py +11 -11
  246. aws_cdk/aws_voiceid/__init__.py +4 -4
  247. aws_cdk/aws_vpclattice/__init__.py +42 -42
  248. aws_cdk/aws_waf/__init__.py +17 -17
  249. aws_cdk/aws_wafregional/__init__.py +28 -28
  250. aws_cdk/aws_wafv2/__init__.py +39 -39
  251. aws_cdk/aws_wisdom/__init__.py +16 -16
  252. aws_cdk/aws_workspaces/__init__.py +18 -18
  253. aws_cdk/aws_workspacesthinclient/__init__.py +63 -9
  254. aws_cdk/aws_workspacesweb/__init__.py +87 -46
  255. aws_cdk/aws_xray/__init__.py +12 -12
  256. aws_cdk/cloud_assembly_schema/__init__.py +348 -239
  257. aws_cdk/custom_resources/__init__.py +283 -0
  258. aws_cdk/cx_api/__init__.py +15 -15
  259. aws_cdk/pipelines/__init__.py +172 -237
  260. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/METADATA +3 -2
  261. aws_cdk_lib-2.154.0.dist-info/RECORD +292 -0
  262. aws_cdk_lib-2.153.0.dist-info/RECORD +0 -291
  263. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/LICENSE +0 -0
  264. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/NOTICE +0 -0
  265. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/WHEEL +0 -0
  266. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/top_level.txt +0 -0
@@ -269,7 +269,7 @@ class CfnAnalysisTemplate(
269
269
  if __debug__:
270
270
  type_hints = typing.get_type_hints(_typecheckingstub__a99bf5a96bec195d52c514c174a5c532136760569f0863c25b3672fb0b2a9f3c)
271
271
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
272
- jsii.set(self, "format", value)
272
+ jsii.set(self, "format", value) # pyright: ignore[reportArgumentType]
273
273
 
274
274
  @builtins.property
275
275
  @jsii.member(jsii_name="membershipIdentifier")
@@ -282,7 +282,7 @@ class CfnAnalysisTemplate(
282
282
  if __debug__:
283
283
  type_hints = typing.get_type_hints(_typecheckingstub__297b2b982e7135bfb11610ac18dcacab85dc955728c10a993db86affc23a6c85)
284
284
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
285
- jsii.set(self, "membershipIdentifier", value)
285
+ jsii.set(self, "membershipIdentifier", value) # pyright: ignore[reportArgumentType]
286
286
 
287
287
  @builtins.property
288
288
  @jsii.member(jsii_name="name")
@@ -295,7 +295,7 @@ class CfnAnalysisTemplate(
295
295
  if __debug__:
296
296
  type_hints = typing.get_type_hints(_typecheckingstub__a0ca9c50ab5c0e5399ff8164eb04d12b160d7880a66ad5c75586fef748051a2a)
297
297
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
298
- jsii.set(self, "name", value)
298
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
299
299
 
300
300
  @builtins.property
301
301
  @jsii.member(jsii_name="source")
@@ -313,7 +313,7 @@ class CfnAnalysisTemplate(
313
313
  if __debug__:
314
314
  type_hints = typing.get_type_hints(_typecheckingstub__53060281bd9759f7bd4026827422f1a24050a030c7c5574430af50f44bcdc81f)
315
315
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
316
- jsii.set(self, "source", value)
316
+ jsii.set(self, "source", value) # pyright: ignore[reportArgumentType]
317
317
 
318
318
  @builtins.property
319
319
  @jsii.member(jsii_name="analysisParameters")
@@ -331,7 +331,7 @@ class CfnAnalysisTemplate(
331
331
  if __debug__:
332
332
  type_hints = typing.get_type_hints(_typecheckingstub__e1b12f58b0c5fa25bf8c085bcbec4d711cdcbcd2bcea3e5137ba027e35f34c9f)
333
333
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
334
- jsii.set(self, "analysisParameters", value)
334
+ jsii.set(self, "analysisParameters", value) # pyright: ignore[reportArgumentType]
335
335
 
336
336
  @builtins.property
337
337
  @jsii.member(jsii_name="description")
@@ -344,7 +344,7 @@ class CfnAnalysisTemplate(
344
344
  if __debug__:
345
345
  type_hints = typing.get_type_hints(_typecheckingstub__a8ea0f1530d49d0cf3ea112be450d6887b42e42d18ffdc9233aac36569611c55)
346
346
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
347
- jsii.set(self, "description", value)
347
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
348
348
 
349
349
  @builtins.property
350
350
  @jsii.member(jsii_name="tags")
@@ -357,7 +357,7 @@ class CfnAnalysisTemplate(
357
357
  if __debug__:
358
358
  type_hints = typing.get_type_hints(_typecheckingstub__b6d8c0e267965c3e8d9449c75e721dc4e1bccb98212af3c5be762ebb7322d8e8)
359
359
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
360
- jsii.set(self, "tags", value)
360
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
361
361
 
362
362
  @jsii.data_type(
363
363
  jsii_type="aws-cdk-lib.aws_cleanrooms.CfnAnalysisTemplate.AnalysisParameterProperty",
@@ -908,7 +908,7 @@ class CfnCollaboration(
908
908
  if __debug__:
909
909
  type_hints = typing.get_type_hints(_typecheckingstub__4a9f17060755de314c6aea7e9fe1c03f18e31972fafbe5d1edf10b18250f60ab)
910
910
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
911
- jsii.set(self, "creatorDisplayName", value)
911
+ jsii.set(self, "creatorDisplayName", value) # pyright: ignore[reportArgumentType]
912
912
 
913
913
  @builtins.property
914
914
  @jsii.member(jsii_name="creatorMemberAbilities")
@@ -921,7 +921,7 @@ class CfnCollaboration(
921
921
  if __debug__:
922
922
  type_hints = typing.get_type_hints(_typecheckingstub__1ee81f8b64fd681cae1a860e0339dfa0ddeb287c4e709f0b34cc3c8bcf9bc6bd)
923
923
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
924
- jsii.set(self, "creatorMemberAbilities", value)
924
+ jsii.set(self, "creatorMemberAbilities", value) # pyright: ignore[reportArgumentType]
925
925
 
926
926
  @builtins.property
927
927
  @jsii.member(jsii_name="description")
@@ -934,7 +934,7 @@ class CfnCollaboration(
934
934
  if __debug__:
935
935
  type_hints = typing.get_type_hints(_typecheckingstub__eb5edb6a58e1c0f33620eadb56126089a140277fe87954ea4d3a06146b3559ef)
936
936
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
937
- jsii.set(self, "description", value)
937
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
938
938
 
939
939
  @builtins.property
940
940
  @jsii.member(jsii_name="members")
@@ -952,7 +952,7 @@ class CfnCollaboration(
952
952
  if __debug__:
953
953
  type_hints = typing.get_type_hints(_typecheckingstub__e816963af09a7c3bdf0ca05211222f43d66929e9fa8216fe82e8fb6e27493bdc)
954
954
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
955
- jsii.set(self, "members", value)
955
+ jsii.set(self, "members", value) # pyright: ignore[reportArgumentType]
956
956
 
957
957
  @builtins.property
958
958
  @jsii.member(jsii_name="name")
@@ -965,7 +965,7 @@ class CfnCollaboration(
965
965
  if __debug__:
966
966
  type_hints = typing.get_type_hints(_typecheckingstub__585aa64e1eeaa11003c987d7230a1772b0683c9f8866457214d0242ba9d00d4e)
967
967
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
968
- jsii.set(self, "name", value)
968
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
969
969
 
970
970
  @builtins.property
971
971
  @jsii.member(jsii_name="queryLogStatus")
@@ -978,7 +978,7 @@ class CfnCollaboration(
978
978
  if __debug__:
979
979
  type_hints = typing.get_type_hints(_typecheckingstub__fa852049fd80eee6c2543d7576eb0c8f60a43d90ca97006450c31d8a1ed9df20)
980
980
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
981
- jsii.set(self, "queryLogStatus", value)
981
+ jsii.set(self, "queryLogStatus", value) # pyright: ignore[reportArgumentType]
982
982
 
983
983
  @builtins.property
984
984
  @jsii.member(jsii_name="creatorPaymentConfiguration")
@@ -996,7 +996,7 @@ class CfnCollaboration(
996
996
  if __debug__:
997
997
  type_hints = typing.get_type_hints(_typecheckingstub__991360bdd6af4d5b428da7f242ab1cc46f2a619a380ffdff6e2434a3e7541e84)
998
998
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
999
- jsii.set(self, "creatorPaymentConfiguration", value)
999
+ jsii.set(self, "creatorPaymentConfiguration", value) # pyright: ignore[reportArgumentType]
1000
1000
 
1001
1001
  @builtins.property
1002
1002
  @jsii.member(jsii_name="dataEncryptionMetadata")
@@ -1014,7 +1014,7 @@ class CfnCollaboration(
1014
1014
  if __debug__:
1015
1015
  type_hints = typing.get_type_hints(_typecheckingstub__a86b18a30aac6a5afc1830c4adb282d4f0f3199f7c3d3ce99ffb24dad829a6eb)
1016
1016
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1017
- jsii.set(self, "dataEncryptionMetadata", value)
1017
+ jsii.set(self, "dataEncryptionMetadata", value) # pyright: ignore[reportArgumentType]
1018
1018
 
1019
1019
  @builtins.property
1020
1020
  @jsii.member(jsii_name="tags")
@@ -1027,7 +1027,7 @@ class CfnCollaboration(
1027
1027
  if __debug__:
1028
1028
  type_hints = typing.get_type_hints(_typecheckingstub__06877122efbe5bc41c92999ba727597f48590c383378ee73a94c91fe43305e60)
1029
1029
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1030
- jsii.set(self, "tags", value)
1030
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1031
1031
 
1032
1032
  @jsii.data_type(
1033
1033
  jsii_type="aws-cdk-lib.aws_cleanrooms.CfnCollaboration.DataEncryptionMetadataProperty",
@@ -1654,6 +1654,7 @@ class CfnConfiguredTable(
1654
1654
  scalar_functions=["scalarFunctions"],
1655
1655
 
1656
1656
  # the properties below are optional
1657
+ additional_analyses="additionalAnalyses",
1657
1658
  allowed_join_operators=["allowedJoinOperators"],
1658
1659
  join_required="joinRequired"
1659
1660
  ),
@@ -1661,18 +1662,21 @@ class CfnConfiguredTable(
1661
1662
  allowed_analyses=["allowedAnalyses"],
1662
1663
 
1663
1664
  # the properties below are optional
1665
+ additional_analyses="additionalAnalyses",
1664
1666
  allowed_analysis_providers=["allowedAnalysisProviders"],
1665
1667
  differential_privacy=cleanrooms.CfnConfiguredTable.DifferentialPrivacyProperty(
1666
1668
  columns=[cleanrooms.CfnConfiguredTable.DifferentialPrivacyColumnProperty(
1667
1669
  name="name"
1668
1670
  )]
1669
- )
1671
+ ),
1672
+ disallowed_output_columns=["disallowedOutputColumns"]
1670
1673
  ),
1671
1674
  list=cleanrooms.CfnConfiguredTable.AnalysisRuleListProperty(
1672
1675
  join_columns=["joinColumns"],
1673
1676
  list_columns=["listColumns"],
1674
1677
 
1675
1678
  # the properties below are optional
1679
+ additional_analyses="additionalAnalyses",
1676
1680
  allowed_join_operators=["allowedJoinOperators"]
1677
1681
  )
1678
1682
  )
@@ -1707,7 +1711,7 @@ class CfnConfiguredTable(
1707
1711
  :param analysis_method: The analysis method for the configured table. The only valid value is currently ``DIRECT_QUERY``.
1708
1712
  :param name: A name for the configured table.
1709
1713
  :param table_reference: The AWS Glue table that this configured table represents.
1710
- :param analysis_rules: The entire created analysis rule.
1714
+ :param analysis_rules: The analysis rule that was created for the configured table.
1711
1715
  :param description: A description for the configured table.
1712
1716
  :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
1713
1717
  '''
@@ -1801,7 +1805,7 @@ class CfnConfiguredTable(
1801
1805
  if __debug__:
1802
1806
  type_hints = typing.get_type_hints(_typecheckingstub__46e6aec85126d8c2d12db0e5442b4d56c199d90e95cd9b98b1c92b7652d7c7eb)
1803
1807
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1804
- jsii.set(self, "allowedColumns", value)
1808
+ jsii.set(self, "allowedColumns", value) # pyright: ignore[reportArgumentType]
1805
1809
 
1806
1810
  @builtins.property
1807
1811
  @jsii.member(jsii_name="analysisMethod")
@@ -1814,7 +1818,7 @@ class CfnConfiguredTable(
1814
1818
  if __debug__:
1815
1819
  type_hints = typing.get_type_hints(_typecheckingstub__1dd16c3f5e30018a39bada3627e112c5d99eea9283a9ad2de82b9790911c3169)
1816
1820
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1817
- jsii.set(self, "analysisMethod", value)
1821
+ jsii.set(self, "analysisMethod", value) # pyright: ignore[reportArgumentType]
1818
1822
 
1819
1823
  @builtins.property
1820
1824
  @jsii.member(jsii_name="name")
@@ -1827,7 +1831,7 @@ class CfnConfiguredTable(
1827
1831
  if __debug__:
1828
1832
  type_hints = typing.get_type_hints(_typecheckingstub__8743fd9932eb6c0afe523245bfc3bc611bed75b8e179806716cdbd7e1e97f817)
1829
1833
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1830
- jsii.set(self, "name", value)
1834
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
1831
1835
 
1832
1836
  @builtins.property
1833
1837
  @jsii.member(jsii_name="tableReference")
@@ -1845,14 +1849,14 @@ class CfnConfiguredTable(
1845
1849
  if __debug__:
1846
1850
  type_hints = typing.get_type_hints(_typecheckingstub__81f7eaa704c6766bfee1be9d2d2b0c8cc4751fd3eb996d6d9902238bdc710232)
1847
1851
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1848
- jsii.set(self, "tableReference", value)
1852
+ jsii.set(self, "tableReference", value) # pyright: ignore[reportArgumentType]
1849
1853
 
1850
1854
  @builtins.property
1851
1855
  @jsii.member(jsii_name="analysisRules")
1852
1856
  def analysis_rules(
1853
1857
  self,
1854
1858
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTable.AnalysisRuleProperty"]]]]:
1855
- '''The entire created analysis rule.'''
1859
+ '''The analysis rule that was created for the configured table.'''
1856
1860
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTable.AnalysisRuleProperty"]]]], jsii.get(self, "analysisRules"))
1857
1861
 
1858
1862
  @analysis_rules.setter
@@ -1863,7 +1867,7 @@ class CfnConfiguredTable(
1863
1867
  if __debug__:
1864
1868
  type_hints = typing.get_type_hints(_typecheckingstub__26267c9443103a44d253b803cbd021f980a5d2b9c34ee95ca6dfc809fab0f1e0)
1865
1869
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1866
- jsii.set(self, "analysisRules", value)
1870
+ jsii.set(self, "analysisRules", value) # pyright: ignore[reportArgumentType]
1867
1871
 
1868
1872
  @builtins.property
1869
1873
  @jsii.member(jsii_name="description")
@@ -1876,7 +1880,7 @@ class CfnConfiguredTable(
1876
1880
  if __debug__:
1877
1881
  type_hints = typing.get_type_hints(_typecheckingstub__1c8634d59e391cfec8341b7e4b408bb2c2335c7e17e4ff15bc5f5d8abc23fd91)
1878
1882
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1879
- jsii.set(self, "description", value)
1883
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
1880
1884
 
1881
1885
  @builtins.property
1882
1886
  @jsii.member(jsii_name="tags")
@@ -1889,7 +1893,7 @@ class CfnConfiguredTable(
1889
1893
  if __debug__:
1890
1894
  type_hints = typing.get_type_hints(_typecheckingstub__b3a9395564381a20388411d14ffd2bda7a4d604b2cf7bf643f5e5bd129bdd0f0)
1891
1895
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1892
- jsii.set(self, "tags", value)
1896
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1893
1897
 
1894
1898
  @jsii.data_type(
1895
1899
  jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTable.AggregateColumnProperty",
@@ -2065,6 +2069,7 @@ class CfnConfiguredTable(
2065
2069
  "join_columns": "joinColumns",
2066
2070
  "output_constraints": "outputConstraints",
2067
2071
  "scalar_functions": "scalarFunctions",
2072
+ "additional_analyses": "additionalAnalyses",
2068
2073
  "allowed_join_operators": "allowedJoinOperators",
2069
2074
  "join_required": "joinRequired",
2070
2075
  },
@@ -2078,6 +2083,7 @@ class CfnConfiguredTable(
2078
2083
  join_columns: typing.Sequence[builtins.str],
2079
2084
  output_constraints: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTable.AggregationConstraintProperty", typing.Dict[builtins.str, typing.Any]]]]],
2080
2085
  scalar_functions: typing.Sequence[builtins.str],
2086
+ additional_analyses: typing.Optional[builtins.str] = None,
2081
2087
  allowed_join_operators: typing.Optional[typing.Sequence[builtins.str]] = None,
2082
2088
  join_required: typing.Optional[builtins.str] = None,
2083
2089
  ) -> None:
@@ -2088,6 +2094,7 @@ class CfnConfiguredTable(
2088
2094
  :param join_columns: Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.
2089
2095
  :param output_constraints: Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.
2090
2096
  :param scalar_functions: Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.
2097
+ :param additional_analyses: An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query. The ``additionalAnalyses`` parameter is currently supported for the list analysis rule ( ``AnalysisRuleList`` ) and the custom analysis rule ( ``AnalysisRuleCustom`` ).
2091
2098
  :param allowed_join_operators: Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is ``AND`` .
2092
2099
  :param join_required: Control that requires member who runs query to do a join with their configured table and/or other configured table in query.
2093
2100
 
@@ -2115,6 +2122,7 @@ class CfnConfiguredTable(
2115
2122
  scalar_functions=["scalarFunctions"],
2116
2123
 
2117
2124
  # the properties below are optional
2125
+ additional_analyses="additionalAnalyses",
2118
2126
  allowed_join_operators=["allowedJoinOperators"],
2119
2127
  join_required="joinRequired"
2120
2128
  )
@@ -2126,6 +2134,7 @@ class CfnConfiguredTable(
2126
2134
  check_type(argname="argument join_columns", value=join_columns, expected_type=type_hints["join_columns"])
2127
2135
  check_type(argname="argument output_constraints", value=output_constraints, expected_type=type_hints["output_constraints"])
2128
2136
  check_type(argname="argument scalar_functions", value=scalar_functions, expected_type=type_hints["scalar_functions"])
2137
+ check_type(argname="argument additional_analyses", value=additional_analyses, expected_type=type_hints["additional_analyses"])
2129
2138
  check_type(argname="argument allowed_join_operators", value=allowed_join_operators, expected_type=type_hints["allowed_join_operators"])
2130
2139
  check_type(argname="argument join_required", value=join_required, expected_type=type_hints["join_required"])
2131
2140
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -2135,6 +2144,8 @@ class CfnConfiguredTable(
2135
2144
  "output_constraints": output_constraints,
2136
2145
  "scalar_functions": scalar_functions,
2137
2146
  }
2147
+ if additional_analyses is not None:
2148
+ self._values["additional_analyses"] = additional_analyses
2138
2149
  if allowed_join_operators is not None:
2139
2150
  self._values["allowed_join_operators"] = allowed_join_operators
2140
2151
  if join_required is not None:
@@ -2196,6 +2207,17 @@ class CfnConfiguredTable(
2196
2207
  assert result is not None, "Required property 'scalar_functions' is missing"
2197
2208
  return typing.cast(typing.List[builtins.str], result)
2198
2209
 
2210
+ @builtins.property
2211
+ def additional_analyses(self) -> typing.Optional[builtins.str]:
2212
+ '''An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.
2213
+
2214
+ The ``additionalAnalyses`` parameter is currently supported for the list analysis rule ( ``AnalysisRuleList`` ) and the custom analysis rule ( ``AnalysisRuleCustom`` ).
2215
+
2216
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisruleaggregation.html#cfn-cleanrooms-configuredtable-analysisruleaggregation-additionalanalyses
2217
+ '''
2218
+ result = self._values.get("additional_analyses")
2219
+ return typing.cast(typing.Optional[builtins.str], result)
2220
+
2199
2221
  @builtins.property
2200
2222
  def allowed_join_operators(self) -> typing.Optional[typing.List[builtins.str]]:
2201
2223
  '''Which logical operators (if any) are to be used in an INNER JOIN match condition.
@@ -2232,8 +2254,10 @@ class CfnConfiguredTable(
2232
2254
  jsii_struct_bases=[],
2233
2255
  name_mapping={
2234
2256
  "allowed_analyses": "allowedAnalyses",
2257
+ "additional_analyses": "additionalAnalyses",
2235
2258
  "allowed_analysis_providers": "allowedAnalysisProviders",
2236
2259
  "differential_privacy": "differentialPrivacy",
2260
+ "disallowed_output_columns": "disallowedOutputColumns",
2237
2261
  },
2238
2262
  )
2239
2263
  class AnalysisRuleCustomProperty:
@@ -2241,16 +2265,20 @@ class CfnConfiguredTable(
2241
2265
  self,
2242
2266
  *,
2243
2267
  allowed_analyses: typing.Sequence[builtins.str],
2268
+ additional_analyses: typing.Optional[builtins.str] = None,
2244
2269
  allowed_analysis_providers: typing.Optional[typing.Sequence[builtins.str]] = None,
2245
2270
  differential_privacy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTable.DifferentialPrivacyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2271
+ disallowed_output_columns: typing.Optional[typing.Sequence[builtins.str]] = None,
2246
2272
  ) -> None:
2247
2273
  '''A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables.
2248
2274
 
2249
2275
  It supports differential privacy.
2250
2276
 
2251
2277
  :param allowed_analyses: The ARN of the analysis templates that are allowed by the custom analysis rule.
2278
+ :param additional_analyses: An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.
2252
2279
  :param allowed_analysis_providers: The IDs of the AWS accounts that are allowed to query by the custom analysis rule. Required when ``allowedAnalyses`` is ``ANY_QUERY`` .
2253
2280
  :param differential_privacy: The differential privacy configuration.
2281
+ :param disallowed_output_columns: A list of columns that aren't allowed to be shown in the query output.
2254
2282
 
2255
2283
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrulecustom.html
2256
2284
  :exampleMetadata: fixture=_generated
@@ -2265,26 +2293,34 @@ class CfnConfiguredTable(
2265
2293
  allowed_analyses=["allowedAnalyses"],
2266
2294
 
2267
2295
  # the properties below are optional
2296
+ additional_analyses="additionalAnalyses",
2268
2297
  allowed_analysis_providers=["allowedAnalysisProviders"],
2269
2298
  differential_privacy=cleanrooms.CfnConfiguredTable.DifferentialPrivacyProperty(
2270
2299
  columns=[cleanrooms.CfnConfiguredTable.DifferentialPrivacyColumnProperty(
2271
2300
  name="name"
2272
2301
  )]
2273
- )
2302
+ ),
2303
+ disallowed_output_columns=["disallowedOutputColumns"]
2274
2304
  )
2275
2305
  '''
2276
2306
  if __debug__:
2277
2307
  type_hints = typing.get_type_hints(_typecheckingstub__fb34762d0bf6ed014ff8964f15e74deaeb8d3d74c070c1dc20496ef94ed7c8ec)
2278
2308
  check_type(argname="argument allowed_analyses", value=allowed_analyses, expected_type=type_hints["allowed_analyses"])
2309
+ check_type(argname="argument additional_analyses", value=additional_analyses, expected_type=type_hints["additional_analyses"])
2279
2310
  check_type(argname="argument allowed_analysis_providers", value=allowed_analysis_providers, expected_type=type_hints["allowed_analysis_providers"])
2280
2311
  check_type(argname="argument differential_privacy", value=differential_privacy, expected_type=type_hints["differential_privacy"])
2312
+ check_type(argname="argument disallowed_output_columns", value=disallowed_output_columns, expected_type=type_hints["disallowed_output_columns"])
2281
2313
  self._values: typing.Dict[builtins.str, typing.Any] = {
2282
2314
  "allowed_analyses": allowed_analyses,
2283
2315
  }
2316
+ if additional_analyses is not None:
2317
+ self._values["additional_analyses"] = additional_analyses
2284
2318
  if allowed_analysis_providers is not None:
2285
2319
  self._values["allowed_analysis_providers"] = allowed_analysis_providers
2286
2320
  if differential_privacy is not None:
2287
2321
  self._values["differential_privacy"] = differential_privacy
2322
+ if disallowed_output_columns is not None:
2323
+ self._values["disallowed_output_columns"] = disallowed_output_columns
2288
2324
 
2289
2325
  @builtins.property
2290
2326
  def allowed_analyses(self) -> typing.List[builtins.str]:
@@ -2296,6 +2332,15 @@ class CfnConfiguredTable(
2296
2332
  assert result is not None, "Required property 'allowed_analyses' is missing"
2297
2333
  return typing.cast(typing.List[builtins.str], result)
2298
2334
 
2335
+ @builtins.property
2336
+ def additional_analyses(self) -> typing.Optional[builtins.str]:
2337
+ '''An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.
2338
+
2339
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrulecustom.html#cfn-cleanrooms-configuredtable-analysisrulecustom-additionalanalyses
2340
+ '''
2341
+ result = self._values.get("additional_analyses")
2342
+ return typing.cast(typing.Optional[builtins.str], result)
2343
+
2299
2344
  @builtins.property
2300
2345
  def allowed_analysis_providers(
2301
2346
  self,
@@ -2320,6 +2365,17 @@ class CfnConfiguredTable(
2320
2365
  result = self._values.get("differential_privacy")
2321
2366
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTable.DifferentialPrivacyProperty"]], result)
2322
2367
 
2368
+ @builtins.property
2369
+ def disallowed_output_columns(
2370
+ self,
2371
+ ) -> typing.Optional[typing.List[builtins.str]]:
2372
+ '''A list of columns that aren't allowed to be shown in the query output.
2373
+
2374
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrulecustom.html#cfn-cleanrooms-configuredtable-analysisrulecustom-disallowedoutputcolumns
2375
+ '''
2376
+ result = self._values.get("disallowed_output_columns")
2377
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2378
+
2323
2379
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2324
2380
  return isinstance(rhs, self.__class__) and rhs._values == self._values
2325
2381
 
@@ -2337,6 +2393,7 @@ class CfnConfiguredTable(
2337
2393
  name_mapping={
2338
2394
  "join_columns": "joinColumns",
2339
2395
  "list_columns": "listColumns",
2396
+ "additional_analyses": "additionalAnalyses",
2340
2397
  "allowed_join_operators": "allowedJoinOperators",
2341
2398
  },
2342
2399
  )
@@ -2346,12 +2403,14 @@ class CfnConfiguredTable(
2346
2403
  *,
2347
2404
  join_columns: typing.Sequence[builtins.str],
2348
2405
  list_columns: typing.Sequence[builtins.str],
2406
+ additional_analyses: typing.Optional[builtins.str] = None,
2349
2407
  allowed_join_operators: typing.Optional[typing.Sequence[builtins.str]] = None,
2350
2408
  ) -> None:
2351
2409
  '''A type of analysis rule that enables row-level analysis.
2352
2410
 
2353
2411
  :param join_columns: Columns that can be used to join a configured table with the table of the member who can query and other members' configured tables.
2354
2412
  :param list_columns: Columns that can be listed in the output.
2413
+ :param additional_analyses: An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.
2355
2414
  :param allowed_join_operators: The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is ``AND`` .
2356
2415
 
2357
2416
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrulelist.html
@@ -2368,6 +2427,7 @@ class CfnConfiguredTable(
2368
2427
  list_columns=["listColumns"],
2369
2428
 
2370
2429
  # the properties below are optional
2430
+ additional_analyses="additionalAnalyses",
2371
2431
  allowed_join_operators=["allowedJoinOperators"]
2372
2432
  )
2373
2433
  '''
@@ -2375,11 +2435,14 @@ class CfnConfiguredTable(
2375
2435
  type_hints = typing.get_type_hints(_typecheckingstub__a0accd14fb8407350b8ede83ec532b76a492d21ad538a377f14413f98dae0fba)
2376
2436
  check_type(argname="argument join_columns", value=join_columns, expected_type=type_hints["join_columns"])
2377
2437
  check_type(argname="argument list_columns", value=list_columns, expected_type=type_hints["list_columns"])
2438
+ check_type(argname="argument additional_analyses", value=additional_analyses, expected_type=type_hints["additional_analyses"])
2378
2439
  check_type(argname="argument allowed_join_operators", value=allowed_join_operators, expected_type=type_hints["allowed_join_operators"])
2379
2440
  self._values: typing.Dict[builtins.str, typing.Any] = {
2380
2441
  "join_columns": join_columns,
2381
2442
  "list_columns": list_columns,
2382
2443
  }
2444
+ if additional_analyses is not None:
2445
+ self._values["additional_analyses"] = additional_analyses
2383
2446
  if allowed_join_operators is not None:
2384
2447
  self._values["allowed_join_operators"] = allowed_join_operators
2385
2448
 
@@ -2403,6 +2466,15 @@ class CfnConfiguredTable(
2403
2466
  assert result is not None, "Required property 'list_columns' is missing"
2404
2467
  return typing.cast(typing.List[builtins.str], result)
2405
2468
 
2469
+ @builtins.property
2470
+ def additional_analyses(self) -> typing.Optional[builtins.str]:
2471
+ '''An indicator as to whether additional analyses (such as AWS Clean Rooms ML) can be applied to the output of the direct query.
2472
+
2473
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-analysisrulelist.html#cfn-cleanrooms-configuredtable-analysisrulelist-additionalanalyses
2474
+ '''
2475
+ result = self._values.get("additional_analyses")
2476
+ return typing.cast(typing.Optional[builtins.str], result)
2477
+
2406
2478
  @builtins.property
2407
2479
  def allowed_join_operators(self) -> typing.Optional[typing.List[builtins.str]]:
2408
2480
  '''The logical operators (if any) that are to be used in an INNER JOIN match condition.
@@ -2469,6 +2541,7 @@ class CfnConfiguredTable(
2469
2541
  scalar_functions=["scalarFunctions"],
2470
2542
 
2471
2543
  # the properties below are optional
2544
+ additional_analyses="additionalAnalyses",
2472
2545
  allowed_join_operators=["allowedJoinOperators"],
2473
2546
  join_required="joinRequired"
2474
2547
  ),
@@ -2476,18 +2549,21 @@ class CfnConfiguredTable(
2476
2549
  allowed_analyses=["allowedAnalyses"],
2477
2550
 
2478
2551
  # the properties below are optional
2552
+ additional_analyses="additionalAnalyses",
2479
2553
  allowed_analysis_providers=["allowedAnalysisProviders"],
2480
2554
  differential_privacy=cleanrooms.CfnConfiguredTable.DifferentialPrivacyProperty(
2481
2555
  columns=[cleanrooms.CfnConfiguredTable.DifferentialPrivacyColumnProperty(
2482
2556
  name="name"
2483
2557
  )]
2484
- )
2558
+ ),
2559
+ disallowed_output_columns=["disallowedOutputColumns"]
2485
2560
  ),
2486
2561
  list=cleanrooms.CfnConfiguredTable.AnalysisRuleListProperty(
2487
2562
  join_columns=["joinColumns"],
2488
2563
  list_columns=["listColumns"],
2489
2564
 
2490
2565
  # the properties below are optional
2566
+ additional_analyses="additionalAnalyses",
2491
2567
  allowed_join_operators=["allowedJoinOperators"]
2492
2568
  )
2493
2569
  )
@@ -2578,6 +2654,7 @@ class CfnConfiguredTable(
2578
2654
  scalar_functions=["scalarFunctions"],
2579
2655
 
2580
2656
  # the properties below are optional
2657
+ additional_analyses="additionalAnalyses",
2581
2658
  allowed_join_operators=["allowedJoinOperators"],
2582
2659
  join_required="joinRequired"
2583
2660
  ),
@@ -2585,18 +2662,21 @@ class CfnConfiguredTable(
2585
2662
  allowed_analyses=["allowedAnalyses"],
2586
2663
 
2587
2664
  # the properties below are optional
2665
+ additional_analyses="additionalAnalyses",
2588
2666
  allowed_analysis_providers=["allowedAnalysisProviders"],
2589
2667
  differential_privacy=cleanrooms.CfnConfiguredTable.DifferentialPrivacyProperty(
2590
2668
  columns=[cleanrooms.CfnConfiguredTable.DifferentialPrivacyColumnProperty(
2591
2669
  name="name"
2592
2670
  )]
2593
- )
2671
+ ),
2672
+ disallowed_output_columns=["disallowedOutputColumns"]
2594
2673
  ),
2595
2674
  list=cleanrooms.CfnConfiguredTable.AnalysisRuleListProperty(
2596
2675
  join_columns=["joinColumns"],
2597
2676
  list_columns=["listColumns"],
2598
2677
 
2599
2678
  # the properties below are optional
2679
+ additional_analyses="additionalAnalyses",
2600
2680
  allowed_join_operators=["allowedJoinOperators"]
2601
2681
  )
2602
2682
  )
@@ -2680,6 +2760,7 @@ class CfnConfiguredTable(
2680
2760
  scalar_functions=["scalarFunctions"],
2681
2761
 
2682
2762
  # the properties below are optional
2763
+ additional_analyses="additionalAnalyses",
2683
2764
  allowed_join_operators=["allowedJoinOperators"],
2684
2765
  join_required="joinRequired"
2685
2766
  ),
@@ -2687,18 +2768,21 @@ class CfnConfiguredTable(
2687
2768
  allowed_analyses=["allowedAnalyses"],
2688
2769
 
2689
2770
  # the properties below are optional
2771
+ additional_analyses="additionalAnalyses",
2690
2772
  allowed_analysis_providers=["allowedAnalysisProviders"],
2691
2773
  differential_privacy=cleanrooms.CfnConfiguredTable.DifferentialPrivacyProperty(
2692
2774
  columns=[cleanrooms.CfnConfiguredTable.DifferentialPrivacyColumnProperty(
2693
2775
  name="name"
2694
2776
  )]
2695
- )
2777
+ ),
2778
+ disallowed_output_columns=["disallowedOutputColumns"]
2696
2779
  ),
2697
2780
  list=cleanrooms.CfnConfiguredTable.AnalysisRuleListProperty(
2698
2781
  join_columns=["joinColumns"],
2699
2782
  list_columns=["listColumns"],
2700
2783
 
2701
2784
  # the properties below are optional
2785
+ additional_analyses="additionalAnalyses",
2702
2786
  allowed_join_operators=["allowedJoinOperators"]
2703
2787
  )
2704
2788
  )
@@ -3040,6 +3124,25 @@ class CfnConfiguredTableAssociation(
3040
3124
  role_arn="roleArn",
3041
3125
 
3042
3126
  # the properties below are optional
3127
+ configured_table_association_analysis_rules=[cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty(
3128
+ policy=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty(
3129
+ v1=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property(
3130
+ aggregation=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty(
3131
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3132
+ allowed_result_receivers=["allowedResultReceivers"]
3133
+ ),
3134
+ custom=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty(
3135
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3136
+ allowed_result_receivers=["allowedResultReceivers"]
3137
+ ),
3138
+ list=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty(
3139
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3140
+ allowed_result_receivers=["allowedResultReceivers"]
3141
+ )
3142
+ )
3143
+ ),
3144
+ type="type"
3145
+ )],
3043
3146
  description="description",
3044
3147
  tags=[CfnTag(
3045
3148
  key="key",
@@ -3057,6 +3160,7 @@ class CfnConfiguredTableAssociation(
3057
3160
  membership_identifier: builtins.str,
3058
3161
  name: builtins.str,
3059
3162
  role_arn: builtins.str,
3163
+ configured_table_association_analysis_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3060
3164
  description: typing.Optional[builtins.str] = None,
3061
3165
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3062
3166
  ) -> None:
@@ -3067,6 +3171,7 @@ class CfnConfiguredTableAssociation(
3067
3171
  :param membership_identifier: The unique ID for the membership this configured table association belongs to.
3068
3172
  :param name: The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data.
3069
3173
  :param role_arn: The service will assume this role to access catalog metadata and query the table.
3174
+ :param configured_table_association_analysis_rules: An analysis rule for a configured table association. This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the ``ConfiguredTableAssociationAnalysisRule`` is referred to as the *collaboration analysis rule* .
3070
3175
  :param description: A description of the configured table association.
3071
3176
  :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
3072
3177
  '''
@@ -3079,6 +3184,7 @@ class CfnConfiguredTableAssociation(
3079
3184
  membership_identifier=membership_identifier,
3080
3185
  name=name,
3081
3186
  role_arn=role_arn,
3187
+ configured_table_association_analysis_rules=configured_table_association_analysis_rules,
3082
3188
  description=description,
3083
3189
  tags=tags,
3084
3190
  )
@@ -3159,7 +3265,7 @@ class CfnConfiguredTableAssociation(
3159
3265
  if __debug__:
3160
3266
  type_hints = typing.get_type_hints(_typecheckingstub__a9728a7769f77a5cdfb3417c1fc58a389ba8c6ef5730bb294ef56c67c4f965bc)
3161
3267
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3162
- jsii.set(self, "configuredTableIdentifier", value)
3268
+ jsii.set(self, "configuredTableIdentifier", value) # pyright: ignore[reportArgumentType]
3163
3269
 
3164
3270
  @builtins.property
3165
3271
  @jsii.member(jsii_name="membershipIdentifier")
@@ -3172,7 +3278,7 @@ class CfnConfiguredTableAssociation(
3172
3278
  if __debug__:
3173
3279
  type_hints = typing.get_type_hints(_typecheckingstub__7e0b566414c7844303646de783cb99821d6132816fd82629491db143d70bc328)
3174
3280
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3175
- jsii.set(self, "membershipIdentifier", value)
3281
+ jsii.set(self, "membershipIdentifier", value) # pyright: ignore[reportArgumentType]
3176
3282
 
3177
3283
  @builtins.property
3178
3284
  @jsii.member(jsii_name="name")
@@ -3185,7 +3291,7 @@ class CfnConfiguredTableAssociation(
3185
3291
  if __debug__:
3186
3292
  type_hints = typing.get_type_hints(_typecheckingstub__2bb6d6d8ed4af7ba2289b9a65f55feb240da577eb6c05a2a379ac3aa825876b0)
3187
3293
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3188
- jsii.set(self, "name", value)
3294
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
3189
3295
 
3190
3296
  @builtins.property
3191
3297
  @jsii.member(jsii_name="roleArn")
@@ -3198,7 +3304,25 @@ class CfnConfiguredTableAssociation(
3198
3304
  if __debug__:
3199
3305
  type_hints = typing.get_type_hints(_typecheckingstub__6ed3a131e342f3d6715894b34f9784b7f6a4bd2257ccd5640eee2873aff3a7bd)
3200
3306
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3201
- jsii.set(self, "roleArn", value)
3307
+ jsii.set(self, "roleArn", value) # pyright: ignore[reportArgumentType]
3308
+
3309
+ @builtins.property
3310
+ @jsii.member(jsii_name="configuredTableAssociationAnalysisRules")
3311
+ def configured_table_association_analysis_rules(
3312
+ self,
3313
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty"]]]]:
3314
+ '''An analysis rule for a configured table association.'''
3315
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty"]]]], jsii.get(self, "configuredTableAssociationAnalysisRules"))
3316
+
3317
+ @configured_table_association_analysis_rules.setter
3318
+ def configured_table_association_analysis_rules(
3319
+ self,
3320
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty"]]]],
3321
+ ) -> None:
3322
+ if __debug__:
3323
+ type_hints = typing.get_type_hints(_typecheckingstub__e0d0ff28b0fb4873494693033feac4f811d803307eb2eaf6b27473cd93db2ef0)
3324
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3325
+ jsii.set(self, "configuredTableAssociationAnalysisRules", value) # pyright: ignore[reportArgumentType]
3202
3326
 
3203
3327
  @builtins.property
3204
3328
  @jsii.member(jsii_name="description")
@@ -3211,7 +3335,7 @@ class CfnConfiguredTableAssociation(
3211
3335
  if __debug__:
3212
3336
  type_hints = typing.get_type_hints(_typecheckingstub__6c12987240d2469d3de49134d97df56891e19e780c69b74115f2054f5a34a614)
3213
3337
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3214
- jsii.set(self, "description", value)
3338
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
3215
3339
 
3216
3340
  @builtins.property
3217
3341
  @jsii.member(jsii_name="tags")
@@ -3224,195 +3348,2036 @@ class CfnConfiguredTableAssociation(
3224
3348
  if __debug__:
3225
3349
  type_hints = typing.get_type_hints(_typecheckingstub__ab43f7456a874349f59a592b725dc266f2d215b76da6fc373e63e5999b3ce75e)
3226
3350
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3227
- jsii.set(self, "tags", value)
3351
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3228
3352
 
3353
+ @jsii.data_type(
3354
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty",
3355
+ jsii_struct_bases=[],
3356
+ name_mapping={
3357
+ "allowed_additional_analyses": "allowedAdditionalAnalyses",
3358
+ "allowed_result_receivers": "allowedResultReceivers",
3359
+ },
3360
+ )
3361
+ class ConfiguredTableAssociationAnalysisRuleAggregationProperty:
3362
+ def __init__(
3363
+ self,
3364
+ *,
3365
+ allowed_additional_analyses: typing.Optional[typing.Sequence[builtins.str]] = None,
3366
+ allowed_result_receivers: typing.Optional[typing.Sequence[builtins.str]] = None,
3367
+ ) -> None:
3368
+ '''The configured table association analysis rule applied to a configured table with the aggregation analysis rule.
3229
3369
 
3230
- @jsii.data_type(
3231
- jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableAssociationProps",
3232
- jsii_struct_bases=[],
3233
- name_mapping={
3234
- "configured_table_identifier": "configuredTableIdentifier",
3235
- "membership_identifier": "membershipIdentifier",
3236
- "name": "name",
3237
- "role_arn": "roleArn",
3238
- "description": "description",
3239
- "tags": "tags",
3240
- },
3241
- )
3242
- class CfnConfiguredTableAssociationProps:
3243
- def __init__(
3244
- self,
3245
- *,
3246
- configured_table_identifier: builtins.str,
3247
- membership_identifier: builtins.str,
3248
- name: builtins.str,
3249
- role_arn: builtins.str,
3250
- description: typing.Optional[builtins.str] = None,
3251
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3252
- ) -> None:
3253
- '''Properties for defining a ``CfnConfiguredTableAssociation``.
3370
+ :param allowed_additional_analyses: The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output. The ``allowedAdditionalAnalyses`` parameter is currently supported for the list analysis rule ( ``AnalysisRuleList`` ) and the custom analysis rule ( ``AnalysisRuleCustom`` ).
3371
+ :param allowed_result_receivers: The list of collaboration members who are allowed to receive results of queries run with this configured table.
3254
3372
 
3255
- :param configured_table_identifier: A unique identifier for the configured table to be associated to. Currently accepts a configured table ID.
3256
- :param membership_identifier: The unique ID for the membership this configured table association belongs to.
3257
- :param name: The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data.
3258
- :param role_arn: The service will assume this role to access catalog metadata and query the table.
3259
- :param description: A description of the configured table association.
3260
- :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
3373
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation.html
3374
+ :exampleMetadata: fixture=_generated
3261
3375
 
3262
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html
3263
- :exampleMetadata: fixture=_generated
3376
+ Example::
3264
3377
 
3265
- Example::
3378
+ # The code below shows an example of how to instantiate this type.
3379
+ # The values are placeholders you should change.
3380
+ from aws_cdk import aws_cleanrooms as cleanrooms
3381
+
3382
+ configured_table_association_analysis_rule_aggregation_property = cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty(
3383
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3384
+ allowed_result_receivers=["allowedResultReceivers"]
3385
+ )
3386
+ '''
3387
+ if __debug__:
3388
+ type_hints = typing.get_type_hints(_typecheckingstub__238152ae2ae96e49fa6c904bd319b8d4be8fd0916ce96bdf774850ad8ca69140)
3389
+ check_type(argname="argument allowed_additional_analyses", value=allowed_additional_analyses, expected_type=type_hints["allowed_additional_analyses"])
3390
+ check_type(argname="argument allowed_result_receivers", value=allowed_result_receivers, expected_type=type_hints["allowed_result_receivers"])
3391
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3392
+ if allowed_additional_analyses is not None:
3393
+ self._values["allowed_additional_analyses"] = allowed_additional_analyses
3394
+ if allowed_result_receivers is not None:
3395
+ self._values["allowed_result_receivers"] = allowed_result_receivers
3266
3396
 
3267
- # The code below shows an example of how to instantiate this type.
3268
- # The values are placeholders you should change.
3269
- from aws_cdk import aws_cleanrooms as cleanrooms
3270
-
3271
- cfn_configured_table_association_props = cleanrooms.CfnConfiguredTableAssociationProps(
3272
- configured_table_identifier="configuredTableIdentifier",
3273
- membership_identifier="membershipIdentifier",
3274
- name="name",
3275
- role_arn="roleArn",
3276
-
3277
- # the properties below are optional
3278
- description="description",
3279
- tags=[CfnTag(
3280
- key="key",
3281
- value="value"
3282
- )]
3283
- )
3284
- '''
3285
- if __debug__:
3286
- type_hints = typing.get_type_hints(_typecheckingstub__115dd625c37fad8a84b51d36bcabf9183ae442a7285c6ddd1efddd869faae1dc)
3287
- check_type(argname="argument configured_table_identifier", value=configured_table_identifier, expected_type=type_hints["configured_table_identifier"])
3288
- check_type(argname="argument membership_identifier", value=membership_identifier, expected_type=type_hints["membership_identifier"])
3289
- check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3290
- check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
3291
- check_type(argname="argument description", value=description, expected_type=type_hints["description"])
3292
- check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3293
- self._values: typing.Dict[builtins.str, typing.Any] = {
3294
- "configured_table_identifier": configured_table_identifier,
3295
- "membership_identifier": membership_identifier,
3296
- "name": name,
3297
- "role_arn": role_arn,
3298
- }
3299
- if description is not None:
3300
- self._values["description"] = description
3301
- if tags is not None:
3302
- self._values["tags"] = tags
3397
+ @builtins.property
3398
+ def allowed_additional_analyses(
3399
+ self,
3400
+ ) -> typing.Optional[typing.List[builtins.str]]:
3401
+ '''The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.
3303
3402
 
3304
- @builtins.property
3305
- def configured_table_identifier(self) -> builtins.str:
3306
- '''A unique identifier for the configured table to be associated to.
3403
+ The ``allowedAdditionalAnalyses`` parameter is currently supported for the list analysis rule ( ``AnalysisRuleList`` ) and the custom analysis rule ( ``AnalysisRuleCustom`` ).
3307
3404
 
3308
- Currently accepts a configured table ID.
3405
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-allowedadditionalanalyses
3406
+ '''
3407
+ result = self._values.get("allowed_additional_analyses")
3408
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3309
3409
 
3310
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-configuredtableidentifier
3311
- '''
3312
- result = self._values.get("configured_table_identifier")
3313
- assert result is not None, "Required property 'configured_table_identifier' is missing"
3314
- return typing.cast(builtins.str, result)
3410
+ @builtins.property
3411
+ def allowed_result_receivers(
3412
+ self,
3413
+ ) -> typing.Optional[typing.List[builtins.str]]:
3414
+ '''The list of collaboration members who are allowed to receive results of queries run with this configured table.
3315
3415
 
3316
- @builtins.property
3317
- def membership_identifier(self) -> builtins.str:
3318
- '''The unique ID for the membership this configured table association belongs to.
3416
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisruleaggregation-allowedresultreceivers
3417
+ '''
3418
+ result = self._values.get("allowed_result_receivers")
3419
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3319
3420
 
3320
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-membershipidentifier
3321
- '''
3322
- result = self._values.get("membership_identifier")
3323
- assert result is not None, "Required property 'membership_identifier' is missing"
3324
- return typing.cast(builtins.str, result)
3421
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3422
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3325
3423
 
3326
- @builtins.property
3327
- def name(self) -> builtins.str:
3328
- '''The name of the configured table association, in lowercase.
3424
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3425
+ return not (rhs == self)
3329
3426
 
3330
- The table is identified by this name when running protected queries against the underlying data.
3427
+ def __repr__(self) -> str:
3428
+ return "ConfiguredTableAssociationAnalysisRuleAggregationProperty(%s)" % ", ".join(
3429
+ k + "=" + repr(v) for k, v in self._values.items()
3430
+ )
3331
3431
 
3332
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-name
3333
- '''
3334
- result = self._values.get("name")
3335
- assert result is not None, "Required property 'name' is missing"
3336
- return typing.cast(builtins.str, result)
3432
+ @jsii.data_type(
3433
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty",
3434
+ jsii_struct_bases=[],
3435
+ name_mapping={
3436
+ "allowed_additional_analyses": "allowedAdditionalAnalyses",
3437
+ "allowed_result_receivers": "allowedResultReceivers",
3438
+ },
3439
+ )
3440
+ class ConfiguredTableAssociationAnalysisRuleCustomProperty:
3441
+ def __init__(
3442
+ self,
3443
+ *,
3444
+ allowed_additional_analyses: typing.Optional[typing.Sequence[builtins.str]] = None,
3445
+ allowed_result_receivers: typing.Optional[typing.Sequence[builtins.str]] = None,
3446
+ ) -> None:
3447
+ '''The configured table association analysis rule applied to a configured table with the custom analysis rule.
3337
3448
 
3338
- @builtins.property
3339
- def role_arn(self) -> builtins.str:
3340
- '''The service will assume this role to access catalog metadata and query the table.
3449
+ :param allowed_additional_analyses: The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.
3450
+ :param allowed_result_receivers: The list of collaboration members who are allowed to receive results of queries run with this configured table.
3341
3451
 
3342
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-rolearn
3343
- '''
3344
- result = self._values.get("role_arn")
3345
- assert result is not None, "Required property 'role_arn' is missing"
3346
- return typing.cast(builtins.str, result)
3452
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom.html
3453
+ :exampleMetadata: fixture=_generated
3347
3454
 
3348
- @builtins.property
3349
- def description(self) -> typing.Optional[builtins.str]:
3350
- '''A description of the configured table association.
3455
+ Example::
3351
3456
 
3352
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-description
3353
- '''
3354
- result = self._values.get("description")
3355
- return typing.cast(typing.Optional[builtins.str], result)
3457
+ # The code below shows an example of how to instantiate this type.
3458
+ # The values are placeholders you should change.
3459
+ from aws_cdk import aws_cleanrooms as cleanrooms
3460
+
3461
+ configured_table_association_analysis_rule_custom_property = cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty(
3462
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3463
+ allowed_result_receivers=["allowedResultReceivers"]
3464
+ )
3465
+ '''
3466
+ if __debug__:
3467
+ type_hints = typing.get_type_hints(_typecheckingstub__5a7ef0cf97c0f9da19de0009ec3e6fb3ffe6b6f987fc5b6203ab290eec858c53)
3468
+ check_type(argname="argument allowed_additional_analyses", value=allowed_additional_analyses, expected_type=type_hints["allowed_additional_analyses"])
3469
+ check_type(argname="argument allowed_result_receivers", value=allowed_result_receivers, expected_type=type_hints["allowed_result_receivers"])
3470
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3471
+ if allowed_additional_analyses is not None:
3472
+ self._values["allowed_additional_analyses"] = allowed_additional_analyses
3473
+ if allowed_result_receivers is not None:
3474
+ self._values["allowed_result_receivers"] = allowed_result_receivers
3356
3475
 
3357
- @builtins.property
3358
- def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3359
- '''An optional label that you can assign to a resource when you create it.
3476
+ @builtins.property
3477
+ def allowed_additional_analyses(
3478
+ self,
3479
+ ) -> typing.Optional[typing.List[builtins.str]]:
3480
+ '''The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.
3360
3481
 
3361
- Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
3482
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-allowedadditionalanalyses
3483
+ '''
3484
+ result = self._values.get("allowed_additional_analyses")
3485
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3362
3486
 
3363
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-tags
3364
- '''
3365
- result = self._values.get("tags")
3366
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3487
+ @builtins.property
3488
+ def allowed_result_receivers(
3489
+ self,
3490
+ ) -> typing.Optional[typing.List[builtins.str]]:
3491
+ '''The list of collaboration members who are allowed to receive results of queries run with this configured table.
3367
3492
 
3368
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
3369
- return isinstance(rhs, self.__class__) and rhs._values == self._values
3493
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulecustom-allowedresultreceivers
3494
+ '''
3495
+ result = self._values.get("allowed_result_receivers")
3496
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3370
3497
 
3371
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
3372
- return not (rhs == self)
3498
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3499
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3373
3500
 
3374
- def __repr__(self) -> str:
3375
- return "CfnConfiguredTableAssociationProps(%s)" % ", ".join(
3376
- k + "=" + repr(v) for k, v in self._values.items()
3377
- )
3501
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3502
+ return not (rhs == self)
3378
3503
 
3504
+ def __repr__(self) -> str:
3505
+ return "ConfiguredTableAssociationAnalysisRuleCustomProperty(%s)" % ", ".join(
3506
+ k + "=" + repr(v) for k, v in self._values.items()
3507
+ )
3379
3508
 
3380
- @jsii.data_type(
3381
- jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableProps",
3382
- jsii_struct_bases=[],
3383
- name_mapping={
3384
- "allowed_columns": "allowedColumns",
3385
- "analysis_method": "analysisMethod",
3386
- "name": "name",
3387
- "table_reference": "tableReference",
3388
- "analysis_rules": "analysisRules",
3389
- "description": "description",
3390
- "tags": "tags",
3391
- },
3509
+ @jsii.data_type(
3510
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty",
3511
+ jsii_struct_bases=[],
3512
+ name_mapping={
3513
+ "allowed_additional_analyses": "allowedAdditionalAnalyses",
3514
+ "allowed_result_receivers": "allowedResultReceivers",
3515
+ },
3516
+ )
3517
+ class ConfiguredTableAssociationAnalysisRuleListProperty:
3518
+ def __init__(
3519
+ self,
3520
+ *,
3521
+ allowed_additional_analyses: typing.Optional[typing.Sequence[builtins.str]] = None,
3522
+ allowed_result_receivers: typing.Optional[typing.Sequence[builtins.str]] = None,
3523
+ ) -> None:
3524
+ '''The configured table association analysis rule applied to a configured table with the list analysis rule.
3525
+
3526
+ :param allowed_additional_analyses: The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.
3527
+ :param allowed_result_receivers: The list of collaboration members who are allowed to receive results of queries run with this configured table.
3528
+
3529
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist.html
3530
+ :exampleMetadata: fixture=_generated
3531
+
3532
+ Example::
3533
+
3534
+ # The code below shows an example of how to instantiate this type.
3535
+ # The values are placeholders you should change.
3536
+ from aws_cdk import aws_cleanrooms as cleanrooms
3537
+
3538
+ configured_table_association_analysis_rule_list_property = cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty(
3539
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3540
+ allowed_result_receivers=["allowedResultReceivers"]
3541
+ )
3542
+ '''
3543
+ if __debug__:
3544
+ type_hints = typing.get_type_hints(_typecheckingstub__f6bcf6381ae16674a7b2d769e9d709e1ae56dbd9f4c003d1b9c9c8f5d385071f)
3545
+ check_type(argname="argument allowed_additional_analyses", value=allowed_additional_analyses, expected_type=type_hints["allowed_additional_analyses"])
3546
+ check_type(argname="argument allowed_result_receivers", value=allowed_result_receivers, expected_type=type_hints["allowed_result_receivers"])
3547
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3548
+ if allowed_additional_analyses is not None:
3549
+ self._values["allowed_additional_analyses"] = allowed_additional_analyses
3550
+ if allowed_result_receivers is not None:
3551
+ self._values["allowed_result_receivers"] = allowed_result_receivers
3552
+
3553
+ @builtins.property
3554
+ def allowed_additional_analyses(
3555
+ self,
3556
+ ) -> typing.Optional[typing.List[builtins.str]]:
3557
+ '''The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.
3558
+
3559
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-allowedadditionalanalyses
3560
+ '''
3561
+ result = self._values.get("allowed_additional_analyses")
3562
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3563
+
3564
+ @builtins.property
3565
+ def allowed_result_receivers(
3566
+ self,
3567
+ ) -> typing.Optional[typing.List[builtins.str]]:
3568
+ '''The list of collaboration members who are allowed to receive results of queries run with this configured table.
3569
+
3570
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulelist-allowedresultreceivers
3571
+ '''
3572
+ result = self._values.get("allowed_result_receivers")
3573
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3574
+
3575
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3576
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3577
+
3578
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3579
+ return not (rhs == self)
3580
+
3581
+ def __repr__(self) -> str:
3582
+ return "ConfiguredTableAssociationAnalysisRuleListProperty(%s)" % ", ".join(
3583
+ k + "=" + repr(v) for k, v in self._values.items()
3584
+ )
3585
+
3586
+ @jsii.data_type(
3587
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty",
3588
+ jsii_struct_bases=[],
3589
+ name_mapping={"v1": "v1"},
3590
+ )
3591
+ class ConfiguredTableAssociationAnalysisRulePolicyProperty:
3592
+ def __init__(
3593
+ self,
3594
+ *,
3595
+ v1: typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property", typing.Dict[builtins.str, typing.Any]]],
3596
+ ) -> None:
3597
+ '''Controls on the query specifications that can be run on an associated configured table.
3598
+
3599
+ :param v1: The policy for the configured table association analysis rule.
3600
+
3601
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy.html
3602
+ :exampleMetadata: fixture=_generated
3603
+
3604
+ Example::
3605
+
3606
+ # The code below shows an example of how to instantiate this type.
3607
+ # The values are placeholders you should change.
3608
+ from aws_cdk import aws_cleanrooms as cleanrooms
3609
+
3610
+ configured_table_association_analysis_rule_policy_property = cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty(
3611
+ v1=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property(
3612
+ aggregation=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty(
3613
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3614
+ allowed_result_receivers=["allowedResultReceivers"]
3615
+ ),
3616
+ custom=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty(
3617
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3618
+ allowed_result_receivers=["allowedResultReceivers"]
3619
+ ),
3620
+ list=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty(
3621
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3622
+ allowed_result_receivers=["allowedResultReceivers"]
3623
+ )
3624
+ )
3625
+ )
3626
+ '''
3627
+ if __debug__:
3628
+ type_hints = typing.get_type_hints(_typecheckingstub__281bd2c034dea5decd044a63b24891762f44992aab75ab6780e712d520ae64f2)
3629
+ check_type(argname="argument v1", value=v1, expected_type=type_hints["v1"])
3630
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3631
+ "v1": v1,
3632
+ }
3633
+
3634
+ @builtins.property
3635
+ def v1(
3636
+ self,
3637
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property"]:
3638
+ '''The policy for the configured table association analysis rule.
3639
+
3640
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicy-v1
3641
+ '''
3642
+ result = self._values.get("v1")
3643
+ assert result is not None, "Required property 'v1' is missing"
3644
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property"], result)
3645
+
3646
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3647
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3648
+
3649
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3650
+ return not (rhs == self)
3651
+
3652
+ def __repr__(self) -> str:
3653
+ return "ConfiguredTableAssociationAnalysisRulePolicyProperty(%s)" % ", ".join(
3654
+ k + "=" + repr(v) for k, v in self._values.items()
3655
+ )
3656
+
3657
+ @jsii.data_type(
3658
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property",
3659
+ jsii_struct_bases=[],
3660
+ name_mapping={
3661
+ "aggregation": "aggregation",
3662
+ "custom": "custom",
3663
+ "list": "list",
3664
+ },
3665
+ )
3666
+ class ConfiguredTableAssociationAnalysisRulePolicyV1Property:
3667
+ def __init__(
3668
+ self,
3669
+ *,
3670
+ aggregation: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3671
+ custom: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3672
+ list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3673
+ ) -> None:
3674
+ '''Controls on the query specifications that can be run on an associated configured table.
3675
+
3676
+ :param aggregation: Analysis rule type that enables only aggregation queries on a configured table.
3677
+ :param custom: Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.
3678
+ :param list: Analysis rule type that enables only list queries on a configured table.
3679
+
3680
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1.html
3681
+ :exampleMetadata: fixture=_generated
3682
+
3683
+ Example::
3684
+
3685
+ # The code below shows an example of how to instantiate this type.
3686
+ # The values are placeholders you should change.
3687
+ from aws_cdk import aws_cleanrooms as cleanrooms
3688
+
3689
+ configured_table_association_analysis_rule_policy_v1_property = cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property(
3690
+ aggregation=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty(
3691
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3692
+ allowed_result_receivers=["allowedResultReceivers"]
3693
+ ),
3694
+ custom=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty(
3695
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3696
+ allowed_result_receivers=["allowedResultReceivers"]
3697
+ ),
3698
+ list=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty(
3699
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3700
+ allowed_result_receivers=["allowedResultReceivers"]
3701
+ )
3702
+ )
3703
+ '''
3704
+ if __debug__:
3705
+ type_hints = typing.get_type_hints(_typecheckingstub__cc559a0692caa4463a4398f86a4304afc170424b5a1434972be11d3638e5bd07)
3706
+ check_type(argname="argument aggregation", value=aggregation, expected_type=type_hints["aggregation"])
3707
+ check_type(argname="argument custom", value=custom, expected_type=type_hints["custom"])
3708
+ check_type(argname="argument list", value=list, expected_type=type_hints["list"])
3709
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3710
+ if aggregation is not None:
3711
+ self._values["aggregation"] = aggregation
3712
+ if custom is not None:
3713
+ self._values["custom"] = custom
3714
+ if list is not None:
3715
+ self._values["list"] = list
3716
+
3717
+ @builtins.property
3718
+ def aggregation(
3719
+ self,
3720
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty"]]:
3721
+ '''Analysis rule type that enables only aggregation queries on a configured table.
3722
+
3723
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-aggregation
3724
+ '''
3725
+ result = self._values.get("aggregation")
3726
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty"]], result)
3727
+
3728
+ @builtins.property
3729
+ def custom(
3730
+ self,
3731
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty"]]:
3732
+ '''Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables.
3733
+
3734
+ It supports differential privacy.
3735
+
3736
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-custom
3737
+ '''
3738
+ result = self._values.get("custom")
3739
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty"]], result)
3740
+
3741
+ @builtins.property
3742
+ def list(
3743
+ self,
3744
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty"]]:
3745
+ '''Analysis rule type that enables only list queries on a configured table.
3746
+
3747
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrulepolicyv1-list
3748
+ '''
3749
+ result = self._values.get("list")
3750
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty"]], result)
3751
+
3752
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3753
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3754
+
3755
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3756
+ return not (rhs == self)
3757
+
3758
+ def __repr__(self) -> str:
3759
+ return "ConfiguredTableAssociationAnalysisRulePolicyV1Property(%s)" % ", ".join(
3760
+ k + "=" + repr(v) for k, v in self._values.items()
3761
+ )
3762
+
3763
+ @jsii.data_type(
3764
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty",
3765
+ jsii_struct_bases=[],
3766
+ name_mapping={"policy": "policy", "type": "type"},
3767
+ )
3768
+ class ConfiguredTableAssociationAnalysisRuleProperty:
3769
+ def __init__(
3770
+ self,
3771
+ *,
3772
+ policy: typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty", typing.Dict[builtins.str, typing.Any]]],
3773
+ type: builtins.str,
3774
+ ) -> None:
3775
+ '''An analysis rule for a configured table association.
3776
+
3777
+ This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the ``ConfiguredTableAssociationAnalysisRule`` is referred to as the *collaboration analysis rule* .
3778
+
3779
+ :param policy: The policy of the configured table association analysis rule.
3780
+ :param type: The type of the configured table association analysis rule.
3781
+
3782
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule.html
3783
+ :exampleMetadata: fixture=_generated
3784
+
3785
+ Example::
3786
+
3787
+ # The code below shows an example of how to instantiate this type.
3788
+ # The values are placeholders you should change.
3789
+ from aws_cdk import aws_cleanrooms as cleanrooms
3790
+
3791
+ configured_table_association_analysis_rule_property = cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty(
3792
+ policy=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty(
3793
+ v1=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property(
3794
+ aggregation=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty(
3795
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3796
+ allowed_result_receivers=["allowedResultReceivers"]
3797
+ ),
3798
+ custom=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty(
3799
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3800
+ allowed_result_receivers=["allowedResultReceivers"]
3801
+ ),
3802
+ list=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty(
3803
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3804
+ allowed_result_receivers=["allowedResultReceivers"]
3805
+ )
3806
+ )
3807
+ ),
3808
+ type="type"
3809
+ )
3810
+ '''
3811
+ if __debug__:
3812
+ type_hints = typing.get_type_hints(_typecheckingstub__720bc84933dd2d1faf77915df0b8b69bcbb3e46b9d6c11a06d41f925485184d8)
3813
+ check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
3814
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
3815
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3816
+ "policy": policy,
3817
+ "type": type,
3818
+ }
3819
+
3820
+ @builtins.property
3821
+ def policy(
3822
+ self,
3823
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty"]:
3824
+ '''The policy of the configured table association analysis rule.
3825
+
3826
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-policy
3827
+ '''
3828
+ result = self._values.get("policy")
3829
+ assert result is not None, "Required property 'policy' is missing"
3830
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty"], result)
3831
+
3832
+ @builtins.property
3833
+ def type(self) -> builtins.str:
3834
+ '''The type of the configured table association analysis rule.
3835
+
3836
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrule-type
3837
+ '''
3838
+ result = self._values.get("type")
3839
+ assert result is not None, "Required property 'type' is missing"
3840
+ return typing.cast(builtins.str, result)
3841
+
3842
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3843
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3844
+
3845
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3846
+ return not (rhs == self)
3847
+
3848
+ def __repr__(self) -> str:
3849
+ return "ConfiguredTableAssociationAnalysisRuleProperty(%s)" % ", ".join(
3850
+ k + "=" + repr(v) for k, v in self._values.items()
3851
+ )
3852
+
3853
+
3854
+ @jsii.data_type(
3855
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableAssociationProps",
3856
+ jsii_struct_bases=[],
3857
+ name_mapping={
3858
+ "configured_table_identifier": "configuredTableIdentifier",
3859
+ "membership_identifier": "membershipIdentifier",
3860
+ "name": "name",
3861
+ "role_arn": "roleArn",
3862
+ "configured_table_association_analysis_rules": "configuredTableAssociationAnalysisRules",
3863
+ "description": "description",
3864
+ "tags": "tags",
3865
+ },
3866
+ )
3867
+ class CfnConfiguredTableAssociationProps:
3868
+ def __init__(
3869
+ self,
3870
+ *,
3871
+ configured_table_identifier: builtins.str,
3872
+ membership_identifier: builtins.str,
3873
+ name: builtins.str,
3874
+ role_arn: builtins.str,
3875
+ configured_table_association_analysis_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3876
+ description: typing.Optional[builtins.str] = None,
3877
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3878
+ ) -> None:
3879
+ '''Properties for defining a ``CfnConfiguredTableAssociation``.
3880
+
3881
+ :param configured_table_identifier: A unique identifier for the configured table to be associated to. Currently accepts a configured table ID.
3882
+ :param membership_identifier: The unique ID for the membership this configured table association belongs to.
3883
+ :param name: The name of the configured table association, in lowercase. The table is identified by this name when running protected queries against the underlying data.
3884
+ :param role_arn: The service will assume this role to access catalog metadata and query the table.
3885
+ :param configured_table_association_analysis_rules: An analysis rule for a configured table association. This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the ``ConfiguredTableAssociationAnalysisRule`` is referred to as the *collaboration analysis rule* .
3886
+ :param description: A description of the configured table association.
3887
+ :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
3888
+
3889
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html
3890
+ :exampleMetadata: fixture=_generated
3891
+
3892
+ Example::
3893
+
3894
+ # The code below shows an example of how to instantiate this type.
3895
+ # The values are placeholders you should change.
3896
+ from aws_cdk import aws_cleanrooms as cleanrooms
3897
+
3898
+ cfn_configured_table_association_props = cleanrooms.CfnConfiguredTableAssociationProps(
3899
+ configured_table_identifier="configuredTableIdentifier",
3900
+ membership_identifier="membershipIdentifier",
3901
+ name="name",
3902
+ role_arn="roleArn",
3903
+
3904
+ # the properties below are optional
3905
+ configured_table_association_analysis_rules=[cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty(
3906
+ policy=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty(
3907
+ v1=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property(
3908
+ aggregation=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty(
3909
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3910
+ allowed_result_receivers=["allowedResultReceivers"]
3911
+ ),
3912
+ custom=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty(
3913
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3914
+ allowed_result_receivers=["allowedResultReceivers"]
3915
+ ),
3916
+ list=cleanrooms.CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty(
3917
+ allowed_additional_analyses=["allowedAdditionalAnalyses"],
3918
+ allowed_result_receivers=["allowedResultReceivers"]
3919
+ )
3920
+ )
3921
+ ),
3922
+ type="type"
3923
+ )],
3924
+ description="description",
3925
+ tags=[CfnTag(
3926
+ key="key",
3927
+ value="value"
3928
+ )]
3929
+ )
3930
+ '''
3931
+ if __debug__:
3932
+ type_hints = typing.get_type_hints(_typecheckingstub__115dd625c37fad8a84b51d36bcabf9183ae442a7285c6ddd1efddd869faae1dc)
3933
+ check_type(argname="argument configured_table_identifier", value=configured_table_identifier, expected_type=type_hints["configured_table_identifier"])
3934
+ check_type(argname="argument membership_identifier", value=membership_identifier, expected_type=type_hints["membership_identifier"])
3935
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3936
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
3937
+ check_type(argname="argument configured_table_association_analysis_rules", value=configured_table_association_analysis_rules, expected_type=type_hints["configured_table_association_analysis_rules"])
3938
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
3939
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3940
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3941
+ "configured_table_identifier": configured_table_identifier,
3942
+ "membership_identifier": membership_identifier,
3943
+ "name": name,
3944
+ "role_arn": role_arn,
3945
+ }
3946
+ if configured_table_association_analysis_rules is not None:
3947
+ self._values["configured_table_association_analysis_rules"] = configured_table_association_analysis_rules
3948
+ if description is not None:
3949
+ self._values["description"] = description
3950
+ if tags is not None:
3951
+ self._values["tags"] = tags
3952
+
3953
+ @builtins.property
3954
+ def configured_table_identifier(self) -> builtins.str:
3955
+ '''A unique identifier for the configured table to be associated to.
3956
+
3957
+ Currently accepts a configured table ID.
3958
+
3959
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-configuredtableidentifier
3960
+ '''
3961
+ result = self._values.get("configured_table_identifier")
3962
+ assert result is not None, "Required property 'configured_table_identifier' is missing"
3963
+ return typing.cast(builtins.str, result)
3964
+
3965
+ @builtins.property
3966
+ def membership_identifier(self) -> builtins.str:
3967
+ '''The unique ID for the membership this configured table association belongs to.
3968
+
3969
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-membershipidentifier
3970
+ '''
3971
+ result = self._values.get("membership_identifier")
3972
+ assert result is not None, "Required property 'membership_identifier' is missing"
3973
+ return typing.cast(builtins.str, result)
3974
+
3975
+ @builtins.property
3976
+ def name(self) -> builtins.str:
3977
+ '''The name of the configured table association, in lowercase.
3978
+
3979
+ The table is identified by this name when running protected queries against the underlying data.
3980
+
3981
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-name
3982
+ '''
3983
+ result = self._values.get("name")
3984
+ assert result is not None, "Required property 'name' is missing"
3985
+ return typing.cast(builtins.str, result)
3986
+
3987
+ @builtins.property
3988
+ def role_arn(self) -> builtins.str:
3989
+ '''The service will assume this role to access catalog metadata and query the table.
3990
+
3991
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-rolearn
3992
+ '''
3993
+ result = self._values.get("role_arn")
3994
+ assert result is not None, "Required property 'role_arn' is missing"
3995
+ return typing.cast(builtins.str, result)
3996
+
3997
+ @builtins.property
3998
+ def configured_table_association_analysis_rules(
3999
+ self,
4000
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty]]]]:
4001
+ '''An analysis rule for a configured table association.
4002
+
4003
+ This analysis rule specifies how data from the table can be used within its associated collaboration. In the console, the ``ConfiguredTableAssociationAnalysisRule`` is referred to as the *collaboration analysis rule* .
4004
+
4005
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-configuredtableassociationanalysisrules
4006
+ '''
4007
+ result = self._values.get("configured_table_association_analysis_rules")
4008
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty]]]], result)
4009
+
4010
+ @builtins.property
4011
+ def description(self) -> typing.Optional[builtins.str]:
4012
+ '''A description of the configured table association.
4013
+
4014
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-description
4015
+ '''
4016
+ result = self._values.get("description")
4017
+ return typing.cast(typing.Optional[builtins.str], result)
4018
+
4019
+ @builtins.property
4020
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4021
+ '''An optional label that you can assign to a resource when you create it.
4022
+
4023
+ Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
4024
+
4025
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html#cfn-cleanrooms-configuredtableassociation-tags
4026
+ '''
4027
+ result = self._values.get("tags")
4028
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
4029
+
4030
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4031
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4032
+
4033
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4034
+ return not (rhs == self)
4035
+
4036
+ def __repr__(self) -> str:
4037
+ return "CfnConfiguredTableAssociationProps(%s)" % ", ".join(
4038
+ k + "=" + repr(v) for k, v in self._values.items()
4039
+ )
4040
+
4041
+
4042
+ @jsii.data_type(
4043
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnConfiguredTableProps",
4044
+ jsii_struct_bases=[],
4045
+ name_mapping={
4046
+ "allowed_columns": "allowedColumns",
4047
+ "analysis_method": "analysisMethod",
4048
+ "name": "name",
4049
+ "table_reference": "tableReference",
4050
+ "analysis_rules": "analysisRules",
4051
+ "description": "description",
4052
+ "tags": "tags",
4053
+ },
4054
+ )
4055
+ class CfnConfiguredTableProps:
4056
+ def __init__(
4057
+ self,
4058
+ *,
4059
+ allowed_columns: typing.Sequence[builtins.str],
4060
+ analysis_method: builtins.str,
4061
+ name: builtins.str,
4062
+ table_reference: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTable.TableReferenceProperty, typing.Dict[builtins.str, typing.Any]]],
4063
+ analysis_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTable.AnalysisRuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4064
+ description: typing.Optional[builtins.str] = None,
4065
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4066
+ ) -> None:
4067
+ '''Properties for defining a ``CfnConfiguredTable``.
4068
+
4069
+ :param allowed_columns: The columns within the underlying AWS Glue table that can be utilized within collaborations.
4070
+ :param analysis_method: The analysis method for the configured table. The only valid value is currently ``DIRECT_QUERY``.
4071
+ :param name: A name for the configured table.
4072
+ :param table_reference: The AWS Glue table that this configured table represents.
4073
+ :param analysis_rules: The analysis rule that was created for the configured table.
4074
+ :param description: A description for the configured table.
4075
+ :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
4076
+
4077
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html
4078
+ :exampleMetadata: fixture=_generated
4079
+
4080
+ Example::
4081
+
4082
+ # The code below shows an example of how to instantiate this type.
4083
+ # The values are placeholders you should change.
4084
+ from aws_cdk import aws_cleanrooms as cleanrooms
4085
+
4086
+ cfn_configured_table_props = cleanrooms.CfnConfiguredTableProps(
4087
+ allowed_columns=["allowedColumns"],
4088
+ analysis_method="analysisMethod",
4089
+ name="name",
4090
+ table_reference=cleanrooms.CfnConfiguredTable.TableReferenceProperty(
4091
+ glue=cleanrooms.CfnConfiguredTable.GlueTableReferenceProperty(
4092
+ database_name="databaseName",
4093
+ table_name="tableName"
4094
+ )
4095
+ ),
4096
+
4097
+ # the properties below are optional
4098
+ analysis_rules=[cleanrooms.CfnConfiguredTable.AnalysisRuleProperty(
4099
+ policy=cleanrooms.CfnConfiguredTable.ConfiguredTableAnalysisRulePolicyProperty(
4100
+ v1=cleanrooms.CfnConfiguredTable.ConfiguredTableAnalysisRulePolicyV1Property(
4101
+ aggregation=cleanrooms.CfnConfiguredTable.AnalysisRuleAggregationProperty(
4102
+ aggregate_columns=[cleanrooms.CfnConfiguredTable.AggregateColumnProperty(
4103
+ column_names=["columnNames"],
4104
+ function="function"
4105
+ )],
4106
+ dimension_columns=["dimensionColumns"],
4107
+ join_columns=["joinColumns"],
4108
+ output_constraints=[cleanrooms.CfnConfiguredTable.AggregationConstraintProperty(
4109
+ column_name="columnName",
4110
+ minimum=123,
4111
+ type="type"
4112
+ )],
4113
+ scalar_functions=["scalarFunctions"],
4114
+
4115
+ # the properties below are optional
4116
+ additional_analyses="additionalAnalyses",
4117
+ allowed_join_operators=["allowedJoinOperators"],
4118
+ join_required="joinRequired"
4119
+ ),
4120
+ custom=cleanrooms.CfnConfiguredTable.AnalysisRuleCustomProperty(
4121
+ allowed_analyses=["allowedAnalyses"],
4122
+
4123
+ # the properties below are optional
4124
+ additional_analyses="additionalAnalyses",
4125
+ allowed_analysis_providers=["allowedAnalysisProviders"],
4126
+ differential_privacy=cleanrooms.CfnConfiguredTable.DifferentialPrivacyProperty(
4127
+ columns=[cleanrooms.CfnConfiguredTable.DifferentialPrivacyColumnProperty(
4128
+ name="name"
4129
+ )]
4130
+ ),
4131
+ disallowed_output_columns=["disallowedOutputColumns"]
4132
+ ),
4133
+ list=cleanrooms.CfnConfiguredTable.AnalysisRuleListProperty(
4134
+ join_columns=["joinColumns"],
4135
+ list_columns=["listColumns"],
4136
+
4137
+ # the properties below are optional
4138
+ additional_analyses="additionalAnalyses",
4139
+ allowed_join_operators=["allowedJoinOperators"]
4140
+ )
4141
+ )
4142
+ ),
4143
+ type="type"
4144
+ )],
4145
+ description="description",
4146
+ tags=[CfnTag(
4147
+ key="key",
4148
+ value="value"
4149
+ )]
4150
+ )
4151
+ '''
4152
+ if __debug__:
4153
+ type_hints = typing.get_type_hints(_typecheckingstub__881d5bc014e7a9ce8400d21437644071526768629f4ac0f4414f60ba95930f3f)
4154
+ check_type(argname="argument allowed_columns", value=allowed_columns, expected_type=type_hints["allowed_columns"])
4155
+ check_type(argname="argument analysis_method", value=analysis_method, expected_type=type_hints["analysis_method"])
4156
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4157
+ check_type(argname="argument table_reference", value=table_reference, expected_type=type_hints["table_reference"])
4158
+ check_type(argname="argument analysis_rules", value=analysis_rules, expected_type=type_hints["analysis_rules"])
4159
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
4160
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4161
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4162
+ "allowed_columns": allowed_columns,
4163
+ "analysis_method": analysis_method,
4164
+ "name": name,
4165
+ "table_reference": table_reference,
4166
+ }
4167
+ if analysis_rules is not None:
4168
+ self._values["analysis_rules"] = analysis_rules
4169
+ if description is not None:
4170
+ self._values["description"] = description
4171
+ if tags is not None:
4172
+ self._values["tags"] = tags
4173
+
4174
+ @builtins.property
4175
+ def allowed_columns(self) -> typing.List[builtins.str]:
4176
+ '''The columns within the underlying AWS Glue table that can be utilized within collaborations.
4177
+
4178
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-allowedcolumns
4179
+ '''
4180
+ result = self._values.get("allowed_columns")
4181
+ assert result is not None, "Required property 'allowed_columns' is missing"
4182
+ return typing.cast(typing.List[builtins.str], result)
4183
+
4184
+ @builtins.property
4185
+ def analysis_method(self) -> builtins.str:
4186
+ '''The analysis method for the configured table.
4187
+
4188
+ The only valid value is currently ``DIRECT_QUERY``.
4189
+
4190
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-analysismethod
4191
+ '''
4192
+ result = self._values.get("analysis_method")
4193
+ assert result is not None, "Required property 'analysis_method' is missing"
4194
+ return typing.cast(builtins.str, result)
4195
+
4196
+ @builtins.property
4197
+ def name(self) -> builtins.str:
4198
+ '''A name for the configured table.
4199
+
4200
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-name
4201
+ '''
4202
+ result = self._values.get("name")
4203
+ assert result is not None, "Required property 'name' is missing"
4204
+ return typing.cast(builtins.str, result)
4205
+
4206
+ @builtins.property
4207
+ def table_reference(
4208
+ self,
4209
+ ) -> typing.Union[_IResolvable_da3f097b, CfnConfiguredTable.TableReferenceProperty]:
4210
+ '''The AWS Glue table that this configured table represents.
4211
+
4212
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-tablereference
4213
+ '''
4214
+ result = self._values.get("table_reference")
4215
+ assert result is not None, "Required property 'table_reference' is missing"
4216
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnConfiguredTable.TableReferenceProperty], result)
4217
+
4218
+ @builtins.property
4219
+ def analysis_rules(
4220
+ self,
4221
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnConfiguredTable.AnalysisRuleProperty]]]]:
4222
+ '''The analysis rule that was created for the configured table.
4223
+
4224
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-analysisrules
4225
+ '''
4226
+ result = self._values.get("analysis_rules")
4227
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnConfiguredTable.AnalysisRuleProperty]]]], result)
4228
+
4229
+ @builtins.property
4230
+ def description(self) -> typing.Optional[builtins.str]:
4231
+ '''A description for the configured table.
4232
+
4233
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-description
4234
+ '''
4235
+ result = self._values.get("description")
4236
+ return typing.cast(typing.Optional[builtins.str], result)
4237
+
4238
+ @builtins.property
4239
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4240
+ '''An optional label that you can assign to a resource when you create it.
4241
+
4242
+ Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
4243
+
4244
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-tags
4245
+ '''
4246
+ result = self._values.get("tags")
4247
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
4248
+
4249
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4250
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4251
+
4252
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4253
+ return not (rhs == self)
4254
+
4255
+ def __repr__(self) -> str:
4256
+ return "CfnConfiguredTableProps(%s)" % ", ".join(
4257
+ k + "=" + repr(v) for k, v in self._values.items()
4258
+ )
4259
+
4260
+
4261
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4262
+ class CfnIdMappingTable(
4263
+ _CfnResource_9df397a6,
4264
+ metaclass=jsii.JSIIMeta,
4265
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdMappingTable",
4266
+ ):
4267
+ '''Describes information about the ID mapping table.
4268
+
4269
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html
4270
+ :cloudformationResource: AWS::CleanRooms::IdMappingTable
4271
+ :exampleMetadata: fixture=_generated
4272
+
4273
+ Example::
4274
+
4275
+ # The code below shows an example of how to instantiate this type.
4276
+ # The values are placeholders you should change.
4277
+ from aws_cdk import aws_cleanrooms as cleanrooms
4278
+
4279
+ cfn_id_mapping_table = cleanrooms.CfnIdMappingTable(self, "MyCfnIdMappingTable",
4280
+ input_reference_config=cleanrooms.CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty(
4281
+ input_reference_arn="inputReferenceArn",
4282
+ manage_resource_policies=False
4283
+ ),
4284
+ membership_identifier="membershipIdentifier",
4285
+ name="name",
4286
+
4287
+ # the properties below are optional
4288
+ description="description",
4289
+ kms_key_arn="kmsKeyArn",
4290
+ tags=[CfnTag(
4291
+ key="key",
4292
+ value="value"
4293
+ )]
4294
+ )
4295
+ '''
4296
+
4297
+ def __init__(
4298
+ self,
4299
+ scope: _constructs_77d1e7e8.Construct,
4300
+ id: builtins.str,
4301
+ *,
4302
+ input_reference_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty", typing.Dict[builtins.str, typing.Any]]],
4303
+ membership_identifier: builtins.str,
4304
+ name: builtins.str,
4305
+ description: typing.Optional[builtins.str] = None,
4306
+ kms_key_arn: typing.Optional[builtins.str] = None,
4307
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4308
+ ) -> None:
4309
+ '''
4310
+ :param scope: Scope in which this resource is defined.
4311
+ :param id: Construct identifier for this resource (unique in its scope).
4312
+ :param input_reference_config: The input reference configuration for the ID mapping table.
4313
+ :param membership_identifier: The unique identifier of the membership resource for the ID mapping table.
4314
+ :param name: The name of the ID mapping table.
4315
+ :param description: The description of the ID mapping table.
4316
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the AWS KMS key.
4317
+ :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
4318
+ '''
4319
+ if __debug__:
4320
+ type_hints = typing.get_type_hints(_typecheckingstub__6a55eec871eed8ea740c3790e228bff6225a56f9406dd161a61af8218377c626)
4321
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4322
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4323
+ props = CfnIdMappingTableProps(
4324
+ input_reference_config=input_reference_config,
4325
+ membership_identifier=membership_identifier,
4326
+ name=name,
4327
+ description=description,
4328
+ kms_key_arn=kms_key_arn,
4329
+ tags=tags,
4330
+ )
4331
+
4332
+ jsii.create(self.__class__, self, [scope, id, props])
4333
+
4334
+ @jsii.member(jsii_name="inspect")
4335
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4336
+ '''Examines the CloudFormation resource and discloses attributes.
4337
+
4338
+ :param inspector: tree inspector to collect and process attributes.
4339
+ '''
4340
+ if __debug__:
4341
+ type_hints = typing.get_type_hints(_typecheckingstub__4fb4bed5d50335d140dfb97a8e1ece95e5918e41e8f333e7a21770aff551143c)
4342
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4343
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4344
+
4345
+ @jsii.member(jsii_name="renderProperties")
4346
+ def _render_properties(
4347
+ self,
4348
+ props: typing.Mapping[builtins.str, typing.Any],
4349
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4350
+ '''
4351
+ :param props: -
4352
+ '''
4353
+ if __debug__:
4354
+ type_hints = typing.get_type_hints(_typecheckingstub__acdffe9d489cfb1fd064c08c8b300b2880a9e20996d6a0e15e197844adf31b6d)
4355
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4356
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4357
+
4358
+ @jsii.python.classproperty
4359
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4360
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4361
+ '''The CloudFormation resource type name for this resource class.'''
4362
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4363
+
4364
+ @builtins.property
4365
+ @jsii.member(jsii_name="attrArn")
4366
+ def attr_arn(self) -> builtins.str:
4367
+ '''The Amazon Resource Name (ARN) of the ID mapping table.
4368
+
4369
+ :cloudformationAttribute: Arn
4370
+ '''
4371
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
4372
+
4373
+ @builtins.property
4374
+ @jsii.member(jsii_name="attrCollaborationArn")
4375
+ def attr_collaboration_arn(self) -> builtins.str:
4376
+ '''The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table.
4377
+
4378
+ :cloudformationAttribute: CollaborationArn
4379
+ '''
4380
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationArn"))
4381
+
4382
+ @builtins.property
4383
+ @jsii.member(jsii_name="attrCollaborationIdentifier")
4384
+ def attr_collaboration_identifier(self) -> builtins.str:
4385
+ '''
4386
+ :cloudformationAttribute: CollaborationIdentifier
4387
+ '''
4388
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationIdentifier"))
4389
+
4390
+ @builtins.property
4391
+ @jsii.member(jsii_name="attrIdMappingTableIdentifier")
4392
+ def attr_id_mapping_table_identifier(self) -> builtins.str:
4393
+ '''
4394
+ :cloudformationAttribute: IdMappingTableIdentifier
4395
+ '''
4396
+ return typing.cast(builtins.str, jsii.get(self, "attrIdMappingTableIdentifier"))
4397
+
4398
+ @builtins.property
4399
+ @jsii.member(jsii_name="attrInputReferenceProperties")
4400
+ def attr_input_reference_properties(self) -> _IResolvable_da3f097b:
4401
+ '''
4402
+ :cloudformationAttribute: InputReferenceProperties
4403
+ '''
4404
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrInputReferenceProperties"))
4405
+
4406
+ @builtins.property
4407
+ @jsii.member(jsii_name="attrMembershipArn")
4408
+ def attr_membership_arn(self) -> builtins.str:
4409
+ '''The Amazon Resource Name (ARN) of the membership resource for the ID mapping table.
4410
+
4411
+ :cloudformationAttribute: MembershipArn
4412
+ '''
4413
+ return typing.cast(builtins.str, jsii.get(self, "attrMembershipArn"))
4414
+
4415
+ @builtins.property
4416
+ @jsii.member(jsii_name="cdkTagManager")
4417
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
4418
+ '''Tag Manager which manages the tags for this resource.'''
4419
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
4420
+
4421
+ @builtins.property
4422
+ @jsii.member(jsii_name="cfnProperties")
4423
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4424
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4425
+
4426
+ @builtins.property
4427
+ @jsii.member(jsii_name="inputReferenceConfig")
4428
+ def input_reference_config(
4429
+ self,
4430
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty"]:
4431
+ '''The input reference configuration for the ID mapping table.'''
4432
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty"], jsii.get(self, "inputReferenceConfig"))
4433
+
4434
+ @input_reference_config.setter
4435
+ def input_reference_config(
4436
+ self,
4437
+ value: typing.Union[_IResolvable_da3f097b, "CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty"],
4438
+ ) -> None:
4439
+ if __debug__:
4440
+ type_hints = typing.get_type_hints(_typecheckingstub__80a1443fefffd729ef997de9fb9306db15cfda0ecccaa0f348c3f55a13fc2f6b)
4441
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4442
+ jsii.set(self, "inputReferenceConfig", value) # pyright: ignore[reportArgumentType]
4443
+
4444
+ @builtins.property
4445
+ @jsii.member(jsii_name="membershipIdentifier")
4446
+ def membership_identifier(self) -> builtins.str:
4447
+ '''The unique identifier of the membership resource for the ID mapping table.'''
4448
+ return typing.cast(builtins.str, jsii.get(self, "membershipIdentifier"))
4449
+
4450
+ @membership_identifier.setter
4451
+ def membership_identifier(self, value: builtins.str) -> None:
4452
+ if __debug__:
4453
+ type_hints = typing.get_type_hints(_typecheckingstub__a608278f5ac9f4b2374d49aaae1f9c846f8320a4fb6cf2c093385273f313224c)
4454
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4455
+ jsii.set(self, "membershipIdentifier", value) # pyright: ignore[reportArgumentType]
4456
+
4457
+ @builtins.property
4458
+ @jsii.member(jsii_name="name")
4459
+ def name(self) -> builtins.str:
4460
+ '''The name of the ID mapping table.'''
4461
+ return typing.cast(builtins.str, jsii.get(self, "name"))
4462
+
4463
+ @name.setter
4464
+ def name(self, value: builtins.str) -> None:
4465
+ if __debug__:
4466
+ type_hints = typing.get_type_hints(_typecheckingstub__9d89d3a813c07afbd9194e6ef736daf000c0d923680da83dd94897908ef16598)
4467
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4468
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
4469
+
4470
+ @builtins.property
4471
+ @jsii.member(jsii_name="description")
4472
+ def description(self) -> typing.Optional[builtins.str]:
4473
+ '''The description of the ID mapping table.'''
4474
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
4475
+
4476
+ @description.setter
4477
+ def description(self, value: typing.Optional[builtins.str]) -> None:
4478
+ if __debug__:
4479
+ type_hints = typing.get_type_hints(_typecheckingstub__0fe55d535ef13a6fa856ac8e5ba601c43e7ece61a7d5ddf03730c1f1ea475767)
4480
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4481
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
4482
+
4483
+ @builtins.property
4484
+ @jsii.member(jsii_name="kmsKeyArn")
4485
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
4486
+ '''The Amazon Resource Name (ARN) of the AWS KMS key.'''
4487
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyArn"))
4488
+
4489
+ @kms_key_arn.setter
4490
+ def kms_key_arn(self, value: typing.Optional[builtins.str]) -> None:
4491
+ if __debug__:
4492
+ type_hints = typing.get_type_hints(_typecheckingstub__1390f292c37578c0a018f5c4283630c58da4fdd1848e6bfb85b87946002dc103)
4493
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4494
+ jsii.set(self, "kmsKeyArn", value) # pyright: ignore[reportArgumentType]
4495
+
4496
+ @builtins.property
4497
+ @jsii.member(jsii_name="tags")
4498
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4499
+ '''An optional label that you can assign to a resource when you create it.'''
4500
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
4501
+
4502
+ @tags.setter
4503
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4504
+ if __debug__:
4505
+ type_hints = typing.get_type_hints(_typecheckingstub__5d6b9b9f29a25fa84794d9a566af8e18597086eba6792ac31fe185d0f74a9ff5)
4506
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4507
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
4508
+
4509
+ @jsii.data_type(
4510
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty",
4511
+ jsii_struct_bases=[],
4512
+ name_mapping={
4513
+ "input_reference_arn": "inputReferenceArn",
4514
+ "manage_resource_policies": "manageResourcePolicies",
4515
+ },
4516
+ )
4517
+ class IdMappingTableInputReferenceConfigProperty:
4518
+ def __init__(
4519
+ self,
4520
+ *,
4521
+ input_reference_arn: builtins.str,
4522
+ manage_resource_policies: typing.Union[builtins.bool, _IResolvable_da3f097b],
4523
+ ) -> None:
4524
+ '''Provides the input reference configuration for the ID mapping table.
4525
+
4526
+ :param input_reference_arn: The Amazon Resource Name (ARN) of the referenced resource in AWS Entity Resolution . Valid values are ID mapping workflow ARNs.
4527
+ :param manage_resource_policies: When ``TRUE`` , AWS Clean Rooms manages permissions for the ID mapping table resource. When ``FALSE`` , the resource owner manages permissions for the ID mapping table resource.
4528
+
4529
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig.html
4530
+ :exampleMetadata: fixture=_generated
4531
+
4532
+ Example::
4533
+
4534
+ # The code below shows an example of how to instantiate this type.
4535
+ # The values are placeholders you should change.
4536
+ from aws_cdk import aws_cleanrooms as cleanrooms
4537
+
4538
+ id_mapping_table_input_reference_config_property = cleanrooms.CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty(
4539
+ input_reference_arn="inputReferenceArn",
4540
+ manage_resource_policies=False
4541
+ )
4542
+ '''
4543
+ if __debug__:
4544
+ type_hints = typing.get_type_hints(_typecheckingstub__3e37f64c35b172103f8bfa9f0d30e75b382e86d01d38fd2e8eb28803124f2fbc)
4545
+ check_type(argname="argument input_reference_arn", value=input_reference_arn, expected_type=type_hints["input_reference_arn"])
4546
+ check_type(argname="argument manage_resource_policies", value=manage_resource_policies, expected_type=type_hints["manage_resource_policies"])
4547
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4548
+ "input_reference_arn": input_reference_arn,
4549
+ "manage_resource_policies": manage_resource_policies,
4550
+ }
4551
+
4552
+ @builtins.property
4553
+ def input_reference_arn(self) -> builtins.str:
4554
+ '''The Amazon Resource Name (ARN) of the referenced resource in AWS Entity Resolution .
4555
+
4556
+ Valid values are ID mapping workflow ARNs.
4557
+
4558
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig.html#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-inputreferencearn
4559
+ '''
4560
+ result = self._values.get("input_reference_arn")
4561
+ assert result is not None, "Required property 'input_reference_arn' is missing"
4562
+ return typing.cast(builtins.str, result)
4563
+
4564
+ @builtins.property
4565
+ def manage_resource_policies(
4566
+ self,
4567
+ ) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
4568
+ '''When ``TRUE`` , AWS Clean Rooms manages permissions for the ID mapping table resource.
4569
+
4570
+ When ``FALSE`` , the resource owner manages permissions for the ID mapping table resource.
4571
+
4572
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig.html#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceconfig-manageresourcepolicies
4573
+ '''
4574
+ result = self._values.get("manage_resource_policies")
4575
+ assert result is not None, "Required property 'manage_resource_policies' is missing"
4576
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
4577
+
4578
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4579
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4580
+
4581
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4582
+ return not (rhs == self)
4583
+
4584
+ def __repr__(self) -> str:
4585
+ return "IdMappingTableInputReferenceConfigProperty(%s)" % ", ".join(
4586
+ k + "=" + repr(v) for k, v in self._values.items()
4587
+ )
4588
+
4589
+ @jsii.data_type(
4590
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdMappingTable.IdMappingTableInputReferencePropertiesProperty",
4591
+ jsii_struct_bases=[],
4592
+ name_mapping={"id_mapping_table_input_source": "idMappingTableInputSource"},
4593
+ )
4594
+ class IdMappingTableInputReferencePropertiesProperty:
4595
+ def __init__(
4596
+ self,
4597
+ *,
4598
+ id_mapping_table_input_source: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdMappingTable.IdMappingTableInputSourceProperty", typing.Dict[builtins.str, typing.Any]]]]],
4599
+ ) -> None:
4600
+ '''The input reference properties for the ID mapping table.
4601
+
4602
+ :param id_mapping_table_input_source: The input source of the ID mapping table.
4603
+
4604
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties.html
4605
+ :exampleMetadata: fixture=_generated
4606
+
4607
+ Example::
4608
+
4609
+ # The code below shows an example of how to instantiate this type.
4610
+ # The values are placeholders you should change.
4611
+ from aws_cdk import aws_cleanrooms as cleanrooms
4612
+
4613
+ id_mapping_table_input_reference_properties_property = cleanrooms.CfnIdMappingTable.IdMappingTableInputReferencePropertiesProperty(
4614
+ id_mapping_table_input_source=[cleanrooms.CfnIdMappingTable.IdMappingTableInputSourceProperty(
4615
+ id_namespace_association_id="idNamespaceAssociationId",
4616
+ type="type"
4617
+ )]
4618
+ )
4619
+ '''
4620
+ if __debug__:
4621
+ type_hints = typing.get_type_hints(_typecheckingstub__0e2b496feb9017399bea5c97a77d2124b505586ff18a03d366e20cfcd893709e)
4622
+ check_type(argname="argument id_mapping_table_input_source", value=id_mapping_table_input_source, expected_type=type_hints["id_mapping_table_input_source"])
4623
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4624
+ "id_mapping_table_input_source": id_mapping_table_input_source,
4625
+ }
4626
+
4627
+ @builtins.property
4628
+ def id_mapping_table_input_source(
4629
+ self,
4630
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdMappingTable.IdMappingTableInputSourceProperty"]]]:
4631
+ '''The input source of the ID mapping table.
4632
+
4633
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties.html#cfn-cleanrooms-idmappingtable-idmappingtableinputreferenceproperties-idmappingtableinputsource
4634
+ '''
4635
+ result = self._values.get("id_mapping_table_input_source")
4636
+ assert result is not None, "Required property 'id_mapping_table_input_source' is missing"
4637
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdMappingTable.IdMappingTableInputSourceProperty"]]], result)
4638
+
4639
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4640
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4641
+
4642
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4643
+ return not (rhs == self)
4644
+
4645
+ def __repr__(self) -> str:
4646
+ return "IdMappingTableInputReferencePropertiesProperty(%s)" % ", ".join(
4647
+ k + "=" + repr(v) for k, v in self._values.items()
4648
+ )
4649
+
4650
+ @jsii.data_type(
4651
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdMappingTable.IdMappingTableInputSourceProperty",
4652
+ jsii_struct_bases=[],
4653
+ name_mapping={
4654
+ "id_namespace_association_id": "idNamespaceAssociationId",
4655
+ "type": "type",
4656
+ },
4657
+ )
4658
+ class IdMappingTableInputSourceProperty:
4659
+ def __init__(
4660
+ self,
4661
+ *,
4662
+ id_namespace_association_id: builtins.str,
4663
+ type: builtins.str,
4664
+ ) -> None:
4665
+ '''The input source of the ID mapping table.
4666
+
4667
+ :param id_namespace_association_id: The unique identifier of the ID namespace association.
4668
+ :param type: The type of the input source of the ID mapping table.
4669
+
4670
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idmappingtable-idmappingtableinputsource.html
4671
+ :exampleMetadata: fixture=_generated
4672
+
4673
+ Example::
4674
+
4675
+ # The code below shows an example of how to instantiate this type.
4676
+ # The values are placeholders you should change.
4677
+ from aws_cdk import aws_cleanrooms as cleanrooms
4678
+
4679
+ id_mapping_table_input_source_property = cleanrooms.CfnIdMappingTable.IdMappingTableInputSourceProperty(
4680
+ id_namespace_association_id="idNamespaceAssociationId",
4681
+ type="type"
4682
+ )
4683
+ '''
4684
+ if __debug__:
4685
+ type_hints = typing.get_type_hints(_typecheckingstub__690a1415d215001f1d1f03e8ed0bfcd7231c35a0b31d54bd8fab7c8b51e81090)
4686
+ check_type(argname="argument id_namespace_association_id", value=id_namespace_association_id, expected_type=type_hints["id_namespace_association_id"])
4687
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
4688
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4689
+ "id_namespace_association_id": id_namespace_association_id,
4690
+ "type": type,
4691
+ }
4692
+
4693
+ @builtins.property
4694
+ def id_namespace_association_id(self) -> builtins.str:
4695
+ '''The unique identifier of the ID namespace association.
4696
+
4697
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idmappingtable-idmappingtableinputsource.html#cfn-cleanrooms-idmappingtable-idmappingtableinputsource-idnamespaceassociationid
4698
+ '''
4699
+ result = self._values.get("id_namespace_association_id")
4700
+ assert result is not None, "Required property 'id_namespace_association_id' is missing"
4701
+ return typing.cast(builtins.str, result)
4702
+
4703
+ @builtins.property
4704
+ def type(self) -> builtins.str:
4705
+ '''The type of the input source of the ID mapping table.
4706
+
4707
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idmappingtable-idmappingtableinputsource.html#cfn-cleanrooms-idmappingtable-idmappingtableinputsource-type
4708
+ '''
4709
+ result = self._values.get("type")
4710
+ assert result is not None, "Required property 'type' is missing"
4711
+ return typing.cast(builtins.str, result)
4712
+
4713
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4714
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4715
+
4716
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4717
+ return not (rhs == self)
4718
+
4719
+ def __repr__(self) -> str:
4720
+ return "IdMappingTableInputSourceProperty(%s)" % ", ".join(
4721
+ k + "=" + repr(v) for k, v in self._values.items()
4722
+ )
4723
+
4724
+
4725
+ @jsii.data_type(
4726
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdMappingTableProps",
4727
+ jsii_struct_bases=[],
4728
+ name_mapping={
4729
+ "input_reference_config": "inputReferenceConfig",
4730
+ "membership_identifier": "membershipIdentifier",
4731
+ "name": "name",
4732
+ "description": "description",
4733
+ "kms_key_arn": "kmsKeyArn",
4734
+ "tags": "tags",
4735
+ },
4736
+ )
4737
+ class CfnIdMappingTableProps:
4738
+ def __init__(
4739
+ self,
4740
+ *,
4741
+ input_reference_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty, typing.Dict[builtins.str, typing.Any]]],
4742
+ membership_identifier: builtins.str,
4743
+ name: builtins.str,
4744
+ description: typing.Optional[builtins.str] = None,
4745
+ kms_key_arn: typing.Optional[builtins.str] = None,
4746
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4747
+ ) -> None:
4748
+ '''Properties for defining a ``CfnIdMappingTable``.
4749
+
4750
+ :param input_reference_config: The input reference configuration for the ID mapping table.
4751
+ :param membership_identifier: The unique identifier of the membership resource for the ID mapping table.
4752
+ :param name: The name of the ID mapping table.
4753
+ :param description: The description of the ID mapping table.
4754
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the AWS KMS key.
4755
+ :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
4756
+
4757
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html
4758
+ :exampleMetadata: fixture=_generated
4759
+
4760
+ Example::
4761
+
4762
+ # The code below shows an example of how to instantiate this type.
4763
+ # The values are placeholders you should change.
4764
+ from aws_cdk import aws_cleanrooms as cleanrooms
4765
+
4766
+ cfn_id_mapping_table_props = cleanrooms.CfnIdMappingTableProps(
4767
+ input_reference_config=cleanrooms.CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty(
4768
+ input_reference_arn="inputReferenceArn",
4769
+ manage_resource_policies=False
4770
+ ),
4771
+ membership_identifier="membershipIdentifier",
4772
+ name="name",
4773
+
4774
+ # the properties below are optional
4775
+ description="description",
4776
+ kms_key_arn="kmsKeyArn",
4777
+ tags=[CfnTag(
4778
+ key="key",
4779
+ value="value"
4780
+ )]
4781
+ )
4782
+ '''
4783
+ if __debug__:
4784
+ type_hints = typing.get_type_hints(_typecheckingstub__722f65baa0dd5025cc0e42e7e9c4015b3d215b4aa9bb587f8bb4acf1f72b6c17)
4785
+ check_type(argname="argument input_reference_config", value=input_reference_config, expected_type=type_hints["input_reference_config"])
4786
+ check_type(argname="argument membership_identifier", value=membership_identifier, expected_type=type_hints["membership_identifier"])
4787
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4788
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
4789
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
4790
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4791
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4792
+ "input_reference_config": input_reference_config,
4793
+ "membership_identifier": membership_identifier,
4794
+ "name": name,
4795
+ }
4796
+ if description is not None:
4797
+ self._values["description"] = description
4798
+ if kms_key_arn is not None:
4799
+ self._values["kms_key_arn"] = kms_key_arn
4800
+ if tags is not None:
4801
+ self._values["tags"] = tags
4802
+
4803
+ @builtins.property
4804
+ def input_reference_config(
4805
+ self,
4806
+ ) -> typing.Union[_IResolvable_da3f097b, CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty]:
4807
+ '''The input reference configuration for the ID mapping table.
4808
+
4809
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html#cfn-cleanrooms-idmappingtable-inputreferenceconfig
4810
+ '''
4811
+ result = self._values.get("input_reference_config")
4812
+ assert result is not None, "Required property 'input_reference_config' is missing"
4813
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty], result)
4814
+
4815
+ @builtins.property
4816
+ def membership_identifier(self) -> builtins.str:
4817
+ '''The unique identifier of the membership resource for the ID mapping table.
4818
+
4819
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html#cfn-cleanrooms-idmappingtable-membershipidentifier
4820
+ '''
4821
+ result = self._values.get("membership_identifier")
4822
+ assert result is not None, "Required property 'membership_identifier' is missing"
4823
+ return typing.cast(builtins.str, result)
4824
+
4825
+ @builtins.property
4826
+ def name(self) -> builtins.str:
4827
+ '''The name of the ID mapping table.
4828
+
4829
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html#cfn-cleanrooms-idmappingtable-name
4830
+ '''
4831
+ result = self._values.get("name")
4832
+ assert result is not None, "Required property 'name' is missing"
4833
+ return typing.cast(builtins.str, result)
4834
+
4835
+ @builtins.property
4836
+ def description(self) -> typing.Optional[builtins.str]:
4837
+ '''The description of the ID mapping table.
4838
+
4839
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html#cfn-cleanrooms-idmappingtable-description
4840
+ '''
4841
+ result = self._values.get("description")
4842
+ return typing.cast(typing.Optional[builtins.str], result)
4843
+
4844
+ @builtins.property
4845
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
4846
+ '''The Amazon Resource Name (ARN) of the AWS KMS key.
4847
+
4848
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html#cfn-cleanrooms-idmappingtable-kmskeyarn
4849
+ '''
4850
+ result = self._values.get("kms_key_arn")
4851
+ return typing.cast(typing.Optional[builtins.str], result)
4852
+
4853
+ @builtins.property
4854
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4855
+ '''An optional label that you can assign to a resource when you create it.
4856
+
4857
+ Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
4858
+
4859
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html#cfn-cleanrooms-idmappingtable-tags
4860
+ '''
4861
+ result = self._values.get("tags")
4862
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
4863
+
4864
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4865
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4866
+
4867
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4868
+ return not (rhs == self)
4869
+
4870
+ def __repr__(self) -> str:
4871
+ return "CfnIdMappingTableProps(%s)" % ", ".join(
4872
+ k + "=" + repr(v) for k, v in self._values.items()
4873
+ )
4874
+
4875
+
4876
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4877
+ class CfnIdNamespaceAssociation(
4878
+ _CfnResource_9df397a6,
4879
+ metaclass=jsii.JSIIMeta,
4880
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdNamespaceAssociation",
4881
+ ):
4882
+ '''Provides information to create the ID namespace association.
4883
+
4884
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html
4885
+ :cloudformationResource: AWS::CleanRooms::IdNamespaceAssociation
4886
+ :exampleMetadata: fixture=_generated
4887
+
4888
+ Example::
4889
+
4890
+ # The code below shows an example of how to instantiate this type.
4891
+ # The values are placeholders you should change.
4892
+ from aws_cdk import aws_cleanrooms as cleanrooms
4893
+
4894
+ cfn_id_namespace_association = cleanrooms.CfnIdNamespaceAssociation(self, "MyCfnIdNamespaceAssociation",
4895
+ input_reference_config=cleanrooms.CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty(
4896
+ input_reference_arn="inputReferenceArn",
4897
+ manage_resource_policies=False
4898
+ ),
4899
+ membership_identifier="membershipIdentifier",
4900
+ name="name",
4901
+
4902
+ # the properties below are optional
4903
+ description="description",
4904
+ id_mapping_config=cleanrooms.CfnIdNamespaceAssociation.IdMappingConfigProperty(
4905
+ allow_use_as_dimension_column=False
4906
+ ),
4907
+ tags=[CfnTag(
4908
+ key="key",
4909
+ value="value"
4910
+ )]
4911
+ )
4912
+ '''
4913
+
4914
+ def __init__(
4915
+ self,
4916
+ scope: _constructs_77d1e7e8.Construct,
4917
+ id: builtins.str,
4918
+ *,
4919
+ input_reference_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty", typing.Dict[builtins.str, typing.Any]]],
4920
+ membership_identifier: builtins.str,
4921
+ name: builtins.str,
4922
+ description: typing.Optional[builtins.str] = None,
4923
+ id_mapping_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespaceAssociation.IdMappingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4924
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4925
+ ) -> None:
4926
+ '''
4927
+ :param scope: Scope in which this resource is defined.
4928
+ :param id: Construct identifier for this resource (unique in its scope).
4929
+ :param input_reference_config: The input reference configuration for the ID namespace association.
4930
+ :param membership_identifier: The unique identifier of the membership that contains the ID namespace association.
4931
+ :param name: The name of this ID namespace association.
4932
+ :param description: The description of the ID namespace association.
4933
+ :param id_mapping_config: The configuration settings for the ID mapping table.
4934
+ :param tags:
4935
+ '''
4936
+ if __debug__:
4937
+ type_hints = typing.get_type_hints(_typecheckingstub__f52a2f7a45be837d26654b8bb3a3d0fab7fd6c5d25ec9b81d04a38689a6194fc)
4938
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4939
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4940
+ props = CfnIdNamespaceAssociationProps(
4941
+ input_reference_config=input_reference_config,
4942
+ membership_identifier=membership_identifier,
4943
+ name=name,
4944
+ description=description,
4945
+ id_mapping_config=id_mapping_config,
4946
+ tags=tags,
4947
+ )
4948
+
4949
+ jsii.create(self.__class__, self, [scope, id, props])
4950
+
4951
+ @jsii.member(jsii_name="inspect")
4952
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4953
+ '''Examines the CloudFormation resource and discloses attributes.
4954
+
4955
+ :param inspector: tree inspector to collect and process attributes.
4956
+ '''
4957
+ if __debug__:
4958
+ type_hints = typing.get_type_hints(_typecheckingstub__3a273456bd42e75067e1919d356ca738d303809279e3242770cf1909b4c53be9)
4959
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4960
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4961
+
4962
+ @jsii.member(jsii_name="renderProperties")
4963
+ def _render_properties(
4964
+ self,
4965
+ props: typing.Mapping[builtins.str, typing.Any],
4966
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4967
+ '''
4968
+ :param props: -
4969
+ '''
4970
+ if __debug__:
4971
+ type_hints = typing.get_type_hints(_typecheckingstub__c20ff570488d7e6c55252cba585a051fa87292c8341512e81f14562e1f1655f5)
4972
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4973
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4974
+
4975
+ @jsii.python.classproperty
4976
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4977
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4978
+ '''The CloudFormation resource type name for this resource class.'''
4979
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4980
+
4981
+ @builtins.property
4982
+ @jsii.member(jsii_name="attrArn")
4983
+ def attr_arn(self) -> builtins.str:
4984
+ '''The Amazon Resource Name (ARN) of the ID namespace association.
4985
+
4986
+ :cloudformationAttribute: Arn
4987
+ '''
4988
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
4989
+
4990
+ @builtins.property
4991
+ @jsii.member(jsii_name="attrCollaborationArn")
4992
+ def attr_collaboration_arn(self) -> builtins.str:
4993
+ '''The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association.
4994
+
4995
+ :cloudformationAttribute: CollaborationArn
4996
+ '''
4997
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationArn"))
4998
+
4999
+ @builtins.property
5000
+ @jsii.member(jsii_name="attrCollaborationIdentifier")
5001
+ def attr_collaboration_identifier(self) -> builtins.str:
5002
+ '''
5003
+ :cloudformationAttribute: CollaborationIdentifier
5004
+ '''
5005
+ return typing.cast(builtins.str, jsii.get(self, "attrCollaborationIdentifier"))
5006
+
5007
+ @builtins.property
5008
+ @jsii.member(jsii_name="attrIdNamespaceAssociationIdentifier")
5009
+ def attr_id_namespace_association_identifier(self) -> builtins.str:
5010
+ '''
5011
+ :cloudformationAttribute: IdNamespaceAssociationIdentifier
5012
+ '''
5013
+ return typing.cast(builtins.str, jsii.get(self, "attrIdNamespaceAssociationIdentifier"))
5014
+
5015
+ @builtins.property
5016
+ @jsii.member(jsii_name="attrInputReferenceProperties")
5017
+ def attr_input_reference_properties(self) -> _IResolvable_da3f097b:
5018
+ '''
5019
+ :cloudformationAttribute: InputReferenceProperties
5020
+ '''
5021
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrInputReferenceProperties"))
5022
+
5023
+ @builtins.property
5024
+ @jsii.member(jsii_name="attrMembershipArn")
5025
+ def attr_membership_arn(self) -> builtins.str:
5026
+ '''The Amazon Resource Name (ARN) of the membership resource for this ID namespace association.
5027
+
5028
+ :cloudformationAttribute: MembershipArn
5029
+ '''
5030
+ return typing.cast(builtins.str, jsii.get(self, "attrMembershipArn"))
5031
+
5032
+ @builtins.property
5033
+ @jsii.member(jsii_name="cdkTagManager")
5034
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
5035
+ '''Tag Manager which manages the tags for this resource.'''
5036
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
5037
+
5038
+ @builtins.property
5039
+ @jsii.member(jsii_name="cfnProperties")
5040
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5041
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5042
+
5043
+ @builtins.property
5044
+ @jsii.member(jsii_name="inputReferenceConfig")
5045
+ def input_reference_config(
5046
+ self,
5047
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty"]:
5048
+ '''The input reference configuration for the ID namespace association.'''
5049
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty"], jsii.get(self, "inputReferenceConfig"))
5050
+
5051
+ @input_reference_config.setter
5052
+ def input_reference_config(
5053
+ self,
5054
+ value: typing.Union[_IResolvable_da3f097b, "CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty"],
5055
+ ) -> None:
5056
+ if __debug__:
5057
+ type_hints = typing.get_type_hints(_typecheckingstub__314c1541c8ce4234c2ada25e682a151d92fd93edbed1b4fd9105dcda931dc8dc)
5058
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5059
+ jsii.set(self, "inputReferenceConfig", value) # pyright: ignore[reportArgumentType]
5060
+
5061
+ @builtins.property
5062
+ @jsii.member(jsii_name="membershipIdentifier")
5063
+ def membership_identifier(self) -> builtins.str:
5064
+ '''The unique identifier of the membership that contains the ID namespace association.'''
5065
+ return typing.cast(builtins.str, jsii.get(self, "membershipIdentifier"))
5066
+
5067
+ @membership_identifier.setter
5068
+ def membership_identifier(self, value: builtins.str) -> None:
5069
+ if __debug__:
5070
+ type_hints = typing.get_type_hints(_typecheckingstub__6942bfe2fcc0b0271a549fbe0007f1450b5a3d401188d403b97a935468367b94)
5071
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5072
+ jsii.set(self, "membershipIdentifier", value) # pyright: ignore[reportArgumentType]
5073
+
5074
+ @builtins.property
5075
+ @jsii.member(jsii_name="name")
5076
+ def name(self) -> builtins.str:
5077
+ '''The name of this ID namespace association.'''
5078
+ return typing.cast(builtins.str, jsii.get(self, "name"))
5079
+
5080
+ @name.setter
5081
+ def name(self, value: builtins.str) -> None:
5082
+ if __debug__:
5083
+ type_hints = typing.get_type_hints(_typecheckingstub__8ae82ba9441ae418e38e9d46574ca3cf34f6664a35510b70e1232333ae528fcf)
5084
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5085
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
5086
+
5087
+ @builtins.property
5088
+ @jsii.member(jsii_name="description")
5089
+ def description(self) -> typing.Optional[builtins.str]:
5090
+ '''The description of the ID namespace association.'''
5091
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
5092
+
5093
+ @description.setter
5094
+ def description(self, value: typing.Optional[builtins.str]) -> None:
5095
+ if __debug__:
5096
+ type_hints = typing.get_type_hints(_typecheckingstub__8650ed8694c75389ed6fa670c630c6fd8b2e1ada930bf70bddcc54e58397c79f)
5097
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5098
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
5099
+
5100
+ @builtins.property
5101
+ @jsii.member(jsii_name="idMappingConfig")
5102
+ def id_mapping_config(
5103
+ self,
5104
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdNamespaceAssociation.IdMappingConfigProperty"]]:
5105
+ '''The configuration settings for the ID mapping table.'''
5106
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdNamespaceAssociation.IdMappingConfigProperty"]], jsii.get(self, "idMappingConfig"))
5107
+
5108
+ @id_mapping_config.setter
5109
+ def id_mapping_config(
5110
+ self,
5111
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdNamespaceAssociation.IdMappingConfigProperty"]],
5112
+ ) -> None:
5113
+ if __debug__:
5114
+ type_hints = typing.get_type_hints(_typecheckingstub__18b505cc42cf359a69612005213707ca66c0c1daa7090899390265f4b2a5aa3b)
5115
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5116
+ jsii.set(self, "idMappingConfig", value) # pyright: ignore[reportArgumentType]
5117
+
5118
+ @builtins.property
5119
+ @jsii.member(jsii_name="tags")
5120
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5121
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
5122
+
5123
+ @tags.setter
5124
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
5125
+ if __debug__:
5126
+ type_hints = typing.get_type_hints(_typecheckingstub__bb75b574b07bea6c872486b6d13e8f81b7b3304807da45e45a041c11f1b4a84d)
5127
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5128
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
5129
+
5130
+ @jsii.data_type(
5131
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdNamespaceAssociation.IdMappingConfigProperty",
5132
+ jsii_struct_bases=[],
5133
+ name_mapping={"allow_use_as_dimension_column": "allowUseAsDimensionColumn"},
5134
+ )
5135
+ class IdMappingConfigProperty:
5136
+ def __init__(
5137
+ self,
5138
+ *,
5139
+ allow_use_as_dimension_column: typing.Union[builtins.bool, _IResolvable_da3f097b],
5140
+ ) -> None:
5141
+ '''The configuration settings for the ID mapping table.
5142
+
5143
+ :param allow_use_as_dimension_column: An indicator as to whether you can use your column as a dimension column in the ID mapping table ( ``TRUE`` ) or not ( ``FALSE`` ). Default is ``FALSE`` .
5144
+
5145
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idnamespaceassociation-idmappingconfig.html
5146
+ :exampleMetadata: fixture=_generated
5147
+
5148
+ Example::
5149
+
5150
+ # The code below shows an example of how to instantiate this type.
5151
+ # The values are placeholders you should change.
5152
+ from aws_cdk import aws_cleanrooms as cleanrooms
5153
+
5154
+ id_mapping_config_property = cleanrooms.CfnIdNamespaceAssociation.IdMappingConfigProperty(
5155
+ allow_use_as_dimension_column=False
5156
+ )
5157
+ '''
5158
+ if __debug__:
5159
+ type_hints = typing.get_type_hints(_typecheckingstub__c7ab29f7c6ba8d3c436a4a92d514f1221e64c73743bc063c057464db677e1895)
5160
+ check_type(argname="argument allow_use_as_dimension_column", value=allow_use_as_dimension_column, expected_type=type_hints["allow_use_as_dimension_column"])
5161
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5162
+ "allow_use_as_dimension_column": allow_use_as_dimension_column,
5163
+ }
5164
+
5165
+ @builtins.property
5166
+ def allow_use_as_dimension_column(
5167
+ self,
5168
+ ) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
5169
+ '''An indicator as to whether you can use your column as a dimension column in the ID mapping table ( ``TRUE`` ) or not ( ``FALSE`` ).
5170
+
5171
+ Default is ``FALSE`` .
5172
+
5173
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idnamespaceassociation-idmappingconfig.html#cfn-cleanrooms-idnamespaceassociation-idmappingconfig-allowuseasdimensioncolumn
5174
+ '''
5175
+ result = self._values.get("allow_use_as_dimension_column")
5176
+ assert result is not None, "Required property 'allow_use_as_dimension_column' is missing"
5177
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
5178
+
5179
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5180
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5181
+
5182
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5183
+ return not (rhs == self)
5184
+
5185
+ def __repr__(self) -> str:
5186
+ return "IdMappingConfigProperty(%s)" % ", ".join(
5187
+ k + "=" + repr(v) for k, v in self._values.items()
5188
+ )
5189
+
5190
+ @jsii.data_type(
5191
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty",
5192
+ jsii_struct_bases=[],
5193
+ name_mapping={
5194
+ "input_reference_arn": "inputReferenceArn",
5195
+ "manage_resource_policies": "manageResourcePolicies",
5196
+ },
5197
+ )
5198
+ class IdNamespaceAssociationInputReferenceConfigProperty:
5199
+ def __init__(
5200
+ self,
5201
+ *,
5202
+ input_reference_arn: builtins.str,
5203
+ manage_resource_policies: typing.Union[builtins.bool, _IResolvable_da3f097b],
5204
+ ) -> None:
5205
+ '''Provides the information for the ID namespace association input reference configuration.
5206
+
5207
+ :param input_reference_arn: The Amazon Resource Name (ARN) of the AWS Entity Resolution resource that is being associated to the collaboration. Valid resource ARNs are from the ID namespaces that you own.
5208
+ :param manage_resource_policies: When ``TRUE`` , AWS Clean Rooms manages permissions for the ID namespace association resource. When ``FALSE`` , the resource owner manages permissions for the ID namespace association resource.
5209
+
5210
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig.html
5211
+ :exampleMetadata: fixture=_generated
5212
+
5213
+ Example::
5214
+
5215
+ # The code below shows an example of how to instantiate this type.
5216
+ # The values are placeholders you should change.
5217
+ from aws_cdk import aws_cleanrooms as cleanrooms
5218
+
5219
+ id_namespace_association_input_reference_config_property = cleanrooms.CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty(
5220
+ input_reference_arn="inputReferenceArn",
5221
+ manage_resource_policies=False
5222
+ )
5223
+ '''
5224
+ if __debug__:
5225
+ type_hints = typing.get_type_hints(_typecheckingstub__6a0c310848e9ee828aa0877d71d6e2c6b1ece9c6d43464be34c1eea8d23e0b85)
5226
+ check_type(argname="argument input_reference_arn", value=input_reference_arn, expected_type=type_hints["input_reference_arn"])
5227
+ check_type(argname="argument manage_resource_policies", value=manage_resource_policies, expected_type=type_hints["manage_resource_policies"])
5228
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5229
+ "input_reference_arn": input_reference_arn,
5230
+ "manage_resource_policies": manage_resource_policies,
5231
+ }
5232
+
5233
+ @builtins.property
5234
+ def input_reference_arn(self) -> builtins.str:
5235
+ '''The Amazon Resource Name (ARN) of the AWS Entity Resolution resource that is being associated to the collaboration.
5236
+
5237
+ Valid resource ARNs are from the ID namespaces that you own.
5238
+
5239
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig.html#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-inputreferencearn
5240
+ '''
5241
+ result = self._values.get("input_reference_arn")
5242
+ assert result is not None, "Required property 'input_reference_arn' is missing"
5243
+ return typing.cast(builtins.str, result)
5244
+
5245
+ @builtins.property
5246
+ def manage_resource_policies(
5247
+ self,
5248
+ ) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
5249
+ '''When ``TRUE`` , AWS Clean Rooms manages permissions for the ID namespace association resource.
5250
+
5251
+ When ``FALSE`` , the resource owner manages permissions for the ID namespace association resource.
5252
+
5253
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig.html#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceconfig-manageresourcepolicies
5254
+ '''
5255
+ result = self._values.get("manage_resource_policies")
5256
+ assert result is not None, "Required property 'manage_resource_policies' is missing"
5257
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
5258
+
5259
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5260
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5261
+
5262
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5263
+ return not (rhs == self)
5264
+
5265
+ def __repr__(self) -> str:
5266
+ return "IdNamespaceAssociationInputReferenceConfigProperty(%s)" % ", ".join(
5267
+ k + "=" + repr(v) for k, v in self._values.items()
5268
+ )
5269
+
5270
+ @jsii.data_type(
5271
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferencePropertiesProperty",
5272
+ jsii_struct_bases=[],
5273
+ name_mapping={
5274
+ "id_mapping_workflows_supported": "idMappingWorkflowsSupported",
5275
+ "id_namespace_type": "idNamespaceType",
5276
+ },
5277
+ )
5278
+ class IdNamespaceAssociationInputReferencePropertiesProperty:
5279
+ def __init__(
5280
+ self,
5281
+ *,
5282
+ id_mapping_workflows_supported: typing.Optional[typing.Union[typing.Sequence[typing.Any], _IResolvable_da3f097b]] = None,
5283
+ id_namespace_type: typing.Optional[builtins.str] = None,
5284
+ ) -> None:
5285
+ '''Provides the information for the ID namespace association input reference properties.
5286
+
5287
+ :param id_mapping_workflows_supported: Defines how ID mapping workflows are supported for this ID namespace association.
5288
+ :param id_namespace_type: The ID namespace type for this ID namespace association.
5289
+
5290
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties.html
5291
+ :exampleMetadata: fixture=_generated
5292
+
5293
+ Example::
5294
+
5295
+ # The code below shows an example of how to instantiate this type.
5296
+ # The values are placeholders you should change.
5297
+ from aws_cdk import aws_cleanrooms as cleanrooms
5298
+
5299
+ # id_mapping_workflows_supported: Any
5300
+
5301
+ id_namespace_association_input_reference_properties_property = cleanrooms.CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferencePropertiesProperty(
5302
+ id_mapping_workflows_supported=[id_mapping_workflows_supported],
5303
+ id_namespace_type="idNamespaceType"
5304
+ )
5305
+ '''
5306
+ if __debug__:
5307
+ type_hints = typing.get_type_hints(_typecheckingstub__4d6f96ce848c511129f57c9b34eaf0bed9c2e0367e3f29de1038e211e4797e05)
5308
+ check_type(argname="argument id_mapping_workflows_supported", value=id_mapping_workflows_supported, expected_type=type_hints["id_mapping_workflows_supported"])
5309
+ check_type(argname="argument id_namespace_type", value=id_namespace_type, expected_type=type_hints["id_namespace_type"])
5310
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5311
+ if id_mapping_workflows_supported is not None:
5312
+ self._values["id_mapping_workflows_supported"] = id_mapping_workflows_supported
5313
+ if id_namespace_type is not None:
5314
+ self._values["id_namespace_type"] = id_namespace_type
5315
+
5316
+ @builtins.property
5317
+ def id_mapping_workflows_supported(
5318
+ self,
5319
+ ) -> typing.Optional[typing.Union[typing.List[typing.Any], _IResolvable_da3f097b]]:
5320
+ '''Defines how ID mapping workflows are supported for this ID namespace association.
5321
+
5322
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties.html#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-idmappingworkflowssupported
5323
+ '''
5324
+ result = self._values.get("id_mapping_workflows_supported")
5325
+ return typing.cast(typing.Optional[typing.Union[typing.List[typing.Any], _IResolvable_da3f097b]], result)
5326
+
5327
+ @builtins.property
5328
+ def id_namespace_type(self) -> typing.Optional[builtins.str]:
5329
+ '''The ID namespace type for this ID namespace association.
5330
+
5331
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties.html#cfn-cleanrooms-idnamespaceassociation-idnamespaceassociationinputreferenceproperties-idnamespacetype
5332
+ '''
5333
+ result = self._values.get("id_namespace_type")
5334
+ return typing.cast(typing.Optional[builtins.str], result)
5335
+
5336
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5337
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5338
+
5339
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5340
+ return not (rhs == self)
5341
+
5342
+ def __repr__(self) -> str:
5343
+ return "IdNamespaceAssociationInputReferencePropertiesProperty(%s)" % ", ".join(
5344
+ k + "=" + repr(v) for k, v in self._values.items()
5345
+ )
5346
+
5347
+
5348
+ @jsii.data_type(
5349
+ jsii_type="aws-cdk-lib.aws_cleanrooms.CfnIdNamespaceAssociationProps",
5350
+ jsii_struct_bases=[],
5351
+ name_mapping={
5352
+ "input_reference_config": "inputReferenceConfig",
5353
+ "membership_identifier": "membershipIdentifier",
5354
+ "name": "name",
5355
+ "description": "description",
5356
+ "id_mapping_config": "idMappingConfig",
5357
+ "tags": "tags",
5358
+ },
3392
5359
  )
3393
- class CfnConfiguredTableProps:
5360
+ class CfnIdNamespaceAssociationProps:
3394
5361
  def __init__(
3395
5362
  self,
3396
5363
  *,
3397
- allowed_columns: typing.Sequence[builtins.str],
3398
- analysis_method: builtins.str,
5364
+ input_reference_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty, typing.Dict[builtins.str, typing.Any]]],
5365
+ membership_identifier: builtins.str,
3399
5366
  name: builtins.str,
3400
- table_reference: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTable.TableReferenceProperty, typing.Dict[builtins.str, typing.Any]]],
3401
- analysis_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTable.AnalysisRuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3402
5367
  description: typing.Optional[builtins.str] = None,
5368
+ id_mapping_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespaceAssociation.IdMappingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3403
5369
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3404
5370
  ) -> None:
3405
- '''Properties for defining a ``CfnConfiguredTable``.
5371
+ '''Properties for defining a ``CfnIdNamespaceAssociation``.
3406
5372
 
3407
- :param allowed_columns: The columns within the underlying AWS Glue table that can be utilized within collaborations.
3408
- :param analysis_method: The analysis method for the configured table. The only valid value is currently ``DIRECT_QUERY``.
3409
- :param name: A name for the configured table.
3410
- :param table_reference: The AWS Glue table that this configured table represents.
3411
- :param analysis_rules: The entire created analysis rule.
3412
- :param description: A description for the configured table.
3413
- :param tags: An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
5373
+ :param input_reference_config: The input reference configuration for the ID namespace association.
5374
+ :param membership_identifier: The unique identifier of the membership that contains the ID namespace association.
5375
+ :param name: The name of this ID namespace association.
5376
+ :param description: The description of the ID namespace association.
5377
+ :param id_mapping_config: The configuration settings for the ID mapping table.
5378
+ :param tags:
3414
5379
 
3415
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html
5380
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html
3416
5381
  :exampleMetadata: fixture=_generated
3417
5382
 
3418
5383
  Example::
@@ -3421,62 +5386,19 @@ class CfnConfiguredTableProps:
3421
5386
  # The values are placeholders you should change.
3422
5387
  from aws_cdk import aws_cleanrooms as cleanrooms
3423
5388
 
3424
- cfn_configured_table_props = cleanrooms.CfnConfiguredTableProps(
3425
- allowed_columns=["allowedColumns"],
3426
- analysis_method="analysisMethod",
3427
- name="name",
3428
- table_reference=cleanrooms.CfnConfiguredTable.TableReferenceProperty(
3429
- glue=cleanrooms.CfnConfiguredTable.GlueTableReferenceProperty(
3430
- database_name="databaseName",
3431
- table_name="tableName"
3432
- )
5389
+ cfn_id_namespace_association_props = cleanrooms.CfnIdNamespaceAssociationProps(
5390
+ input_reference_config=cleanrooms.CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty(
5391
+ input_reference_arn="inputReferenceArn",
5392
+ manage_resource_policies=False
3433
5393
  ),
5394
+ membership_identifier="membershipIdentifier",
5395
+ name="name",
3434
5396
 
3435
- # the properties below are optional
3436
- analysis_rules=[cleanrooms.CfnConfiguredTable.AnalysisRuleProperty(
3437
- policy=cleanrooms.CfnConfiguredTable.ConfiguredTableAnalysisRulePolicyProperty(
3438
- v1=cleanrooms.CfnConfiguredTable.ConfiguredTableAnalysisRulePolicyV1Property(
3439
- aggregation=cleanrooms.CfnConfiguredTable.AnalysisRuleAggregationProperty(
3440
- aggregate_columns=[cleanrooms.CfnConfiguredTable.AggregateColumnProperty(
3441
- column_names=["columnNames"],
3442
- function="function"
3443
- )],
3444
- dimension_columns=["dimensionColumns"],
3445
- join_columns=["joinColumns"],
3446
- output_constraints=[cleanrooms.CfnConfiguredTable.AggregationConstraintProperty(
3447
- column_name="columnName",
3448
- minimum=123,
3449
- type="type"
3450
- )],
3451
- scalar_functions=["scalarFunctions"],
3452
-
3453
- # the properties below are optional
3454
- allowed_join_operators=["allowedJoinOperators"],
3455
- join_required="joinRequired"
3456
- ),
3457
- custom=cleanrooms.CfnConfiguredTable.AnalysisRuleCustomProperty(
3458
- allowed_analyses=["allowedAnalyses"],
3459
-
3460
- # the properties below are optional
3461
- allowed_analysis_providers=["allowedAnalysisProviders"],
3462
- differential_privacy=cleanrooms.CfnConfiguredTable.DifferentialPrivacyProperty(
3463
- columns=[cleanrooms.CfnConfiguredTable.DifferentialPrivacyColumnProperty(
3464
- name="name"
3465
- )]
3466
- )
3467
- ),
3468
- list=cleanrooms.CfnConfiguredTable.AnalysisRuleListProperty(
3469
- join_columns=["joinColumns"],
3470
- list_columns=["listColumns"],
3471
-
3472
- # the properties below are optional
3473
- allowed_join_operators=["allowedJoinOperators"]
3474
- )
3475
- )
3476
- ),
3477
- type="type"
3478
- )],
5397
+ # the properties below are optional
3479
5398
  description="description",
5399
+ id_mapping_config=cleanrooms.CfnIdNamespaceAssociation.IdMappingConfigProperty(
5400
+ allow_use_as_dimension_column=False
5401
+ ),
3480
5402
  tags=[CfnTag(
3481
5403
  key="key",
3482
5404
  value="value"
@@ -3484,98 +5406,81 @@ class CfnConfiguredTableProps:
3484
5406
  )
3485
5407
  '''
3486
5408
  if __debug__:
3487
- type_hints = typing.get_type_hints(_typecheckingstub__881d5bc014e7a9ce8400d21437644071526768629f4ac0f4414f60ba95930f3f)
3488
- check_type(argname="argument allowed_columns", value=allowed_columns, expected_type=type_hints["allowed_columns"])
3489
- check_type(argname="argument analysis_method", value=analysis_method, expected_type=type_hints["analysis_method"])
5409
+ type_hints = typing.get_type_hints(_typecheckingstub__82e4c0093759d750139b85493d1dd6c9f0b65aa9075fa72356dbfcee3b0a8784)
5410
+ check_type(argname="argument input_reference_config", value=input_reference_config, expected_type=type_hints["input_reference_config"])
5411
+ check_type(argname="argument membership_identifier", value=membership_identifier, expected_type=type_hints["membership_identifier"])
3490
5412
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3491
- check_type(argname="argument table_reference", value=table_reference, expected_type=type_hints["table_reference"])
3492
- check_type(argname="argument analysis_rules", value=analysis_rules, expected_type=type_hints["analysis_rules"])
3493
5413
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
5414
+ check_type(argname="argument id_mapping_config", value=id_mapping_config, expected_type=type_hints["id_mapping_config"])
3494
5415
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3495
5416
  self._values: typing.Dict[builtins.str, typing.Any] = {
3496
- "allowed_columns": allowed_columns,
3497
- "analysis_method": analysis_method,
5417
+ "input_reference_config": input_reference_config,
5418
+ "membership_identifier": membership_identifier,
3498
5419
  "name": name,
3499
- "table_reference": table_reference,
3500
5420
  }
3501
- if analysis_rules is not None:
3502
- self._values["analysis_rules"] = analysis_rules
3503
5421
  if description is not None:
3504
5422
  self._values["description"] = description
5423
+ if id_mapping_config is not None:
5424
+ self._values["id_mapping_config"] = id_mapping_config
3505
5425
  if tags is not None:
3506
5426
  self._values["tags"] = tags
3507
5427
 
3508
5428
  @builtins.property
3509
- def allowed_columns(self) -> typing.List[builtins.str]:
3510
- '''The columns within the underlying AWS Glue table that can be utilized within collaborations.
5429
+ def input_reference_config(
5430
+ self,
5431
+ ) -> typing.Union[_IResolvable_da3f097b, CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty]:
5432
+ '''The input reference configuration for the ID namespace association.
3511
5433
 
3512
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-allowedcolumns
5434
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html#cfn-cleanrooms-idnamespaceassociation-inputreferenceconfig
3513
5435
  '''
3514
- result = self._values.get("allowed_columns")
3515
- assert result is not None, "Required property 'allowed_columns' is missing"
3516
- return typing.cast(typing.List[builtins.str], result)
5436
+ result = self._values.get("input_reference_config")
5437
+ assert result is not None, "Required property 'input_reference_config' is missing"
5438
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty], result)
3517
5439
 
3518
5440
  @builtins.property
3519
- def analysis_method(self) -> builtins.str:
3520
- '''The analysis method for the configured table.
3521
-
3522
- The only valid value is currently ``DIRECT_QUERY``.
5441
+ def membership_identifier(self) -> builtins.str:
5442
+ '''The unique identifier of the membership that contains the ID namespace association.
3523
5443
 
3524
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-analysismethod
5444
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html#cfn-cleanrooms-idnamespaceassociation-membershipidentifier
3525
5445
  '''
3526
- result = self._values.get("analysis_method")
3527
- assert result is not None, "Required property 'analysis_method' is missing"
5446
+ result = self._values.get("membership_identifier")
5447
+ assert result is not None, "Required property 'membership_identifier' is missing"
3528
5448
  return typing.cast(builtins.str, result)
3529
5449
 
3530
5450
  @builtins.property
3531
5451
  def name(self) -> builtins.str:
3532
- '''A name for the configured table.
5452
+ '''The name of this ID namespace association.
3533
5453
 
3534
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-name
5454
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html#cfn-cleanrooms-idnamespaceassociation-name
3535
5455
  '''
3536
5456
  result = self._values.get("name")
3537
5457
  assert result is not None, "Required property 'name' is missing"
3538
5458
  return typing.cast(builtins.str, result)
3539
5459
 
3540
5460
  @builtins.property
3541
- def table_reference(
3542
- self,
3543
- ) -> typing.Union[_IResolvable_da3f097b, CfnConfiguredTable.TableReferenceProperty]:
3544
- '''The AWS Glue table that this configured table represents.
5461
+ def description(self) -> typing.Optional[builtins.str]:
5462
+ '''The description of the ID namespace association.
3545
5463
 
3546
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-tablereference
5464
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html#cfn-cleanrooms-idnamespaceassociation-description
3547
5465
  '''
3548
- result = self._values.get("table_reference")
3549
- assert result is not None, "Required property 'table_reference' is missing"
3550
- return typing.cast(typing.Union[_IResolvable_da3f097b, CfnConfiguredTable.TableReferenceProperty], result)
5466
+ result = self._values.get("description")
5467
+ return typing.cast(typing.Optional[builtins.str], result)
3551
5468
 
3552
5469
  @builtins.property
3553
- def analysis_rules(
5470
+ def id_mapping_config(
3554
5471
  self,
3555
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnConfiguredTable.AnalysisRuleProperty]]]]:
3556
- '''The entire created analysis rule.
3557
-
3558
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-analysisrules
3559
- '''
3560
- result = self._values.get("analysis_rules")
3561
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnConfiguredTable.AnalysisRuleProperty]]]], result)
3562
-
3563
- @builtins.property
3564
- def description(self) -> typing.Optional[builtins.str]:
3565
- '''A description for the configured table.
5472
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIdNamespaceAssociation.IdMappingConfigProperty]]:
5473
+ '''The configuration settings for the ID mapping table.
3566
5474
 
3567
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-description
5475
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html#cfn-cleanrooms-idnamespaceassociation-idmappingconfig
3568
5476
  '''
3569
- result = self._values.get("description")
3570
- return typing.cast(typing.Optional[builtins.str], result)
5477
+ result = self._values.get("id_mapping_config")
5478
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIdNamespaceAssociation.IdMappingConfigProperty]], result)
3571
5479
 
3572
5480
  @builtins.property
3573
5481
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3574
- '''An optional label that you can assign to a resource when you create it.
3575
-
3576
- Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.
3577
-
3578
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html#cfn-cleanrooms-configuredtable-tags
5482
+ '''
5483
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html#cfn-cleanrooms-idnamespaceassociation-tags
3579
5484
  '''
3580
5485
  result = self._values.get("tags")
3581
5486
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
@@ -3587,7 +5492,7 @@ class CfnConfiguredTableProps:
3587
5492
  return not (rhs == self)
3588
5493
 
3589
5494
  def __repr__(self) -> str:
3590
- return "CfnConfiguredTableProps(%s)" % ", ".join(
5495
+ return "CfnIdNamespaceAssociationProps(%s)" % ", ".join(
3591
5496
  k + "=" + repr(v) for k, v in self._values.items()
3592
5497
  )
3593
5498
 
@@ -3771,7 +5676,7 @@ class CfnMembership(
3771
5676
  if __debug__:
3772
5677
  type_hints = typing.get_type_hints(_typecheckingstub__ba2cc6691bad0d4fdbfa43d453737e19bbcc1b63648ed884849a27170f877099)
3773
5678
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3774
- jsii.set(self, "collaborationIdentifier", value)
5679
+ jsii.set(self, "collaborationIdentifier", value) # pyright: ignore[reportArgumentType]
3775
5680
 
3776
5681
  @builtins.property
3777
5682
  @jsii.member(jsii_name="queryLogStatus")
@@ -3784,7 +5689,7 @@ class CfnMembership(
3784
5689
  if __debug__:
3785
5690
  type_hints = typing.get_type_hints(_typecheckingstub__bee80a156c452c78946d81f28dfee88d47d5702e2d1eeb7a5c7aeb167b25400e)
3786
5691
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3787
- jsii.set(self, "queryLogStatus", value)
5692
+ jsii.set(self, "queryLogStatus", value) # pyright: ignore[reportArgumentType]
3788
5693
 
3789
5694
  @builtins.property
3790
5695
  @jsii.member(jsii_name="defaultResultConfiguration")
@@ -3802,7 +5707,7 @@ class CfnMembership(
3802
5707
  if __debug__:
3803
5708
  type_hints = typing.get_type_hints(_typecheckingstub__ad055649202ffbf3de067877d88fa96b564e1efb0b59d9afaceb04f351ce0c65)
3804
5709
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3805
- jsii.set(self, "defaultResultConfiguration", value)
5710
+ jsii.set(self, "defaultResultConfiguration", value) # pyright: ignore[reportArgumentType]
3806
5711
 
3807
5712
  @builtins.property
3808
5713
  @jsii.member(jsii_name="paymentConfiguration")
@@ -3820,7 +5725,7 @@ class CfnMembership(
3820
5725
  if __debug__:
3821
5726
  type_hints = typing.get_type_hints(_typecheckingstub__8f2d4b43043fdc1c0f794c725e0fa34d3d42d2b231edc34464fcc237ea7aa6d6)
3822
5727
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3823
- jsii.set(self, "paymentConfiguration", value)
5728
+ jsii.set(self, "paymentConfiguration", value) # pyright: ignore[reportArgumentType]
3824
5729
 
3825
5730
  @builtins.property
3826
5731
  @jsii.member(jsii_name="tags")
@@ -3833,7 +5738,7 @@ class CfnMembership(
3833
5738
  if __debug__:
3834
5739
  type_hints = typing.get_type_hints(_typecheckingstub__efad84033de32d67e94b9ac23a8d3176e7fc904203e000dac066b28793fec68b)
3835
5740
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3836
- jsii.set(self, "tags", value)
5741
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3837
5742
 
3838
5743
  @jsii.data_type(
3839
5744
  jsii_type="aws-cdk-lib.aws_cleanrooms.CfnMembership.MembershipPaymentConfigurationProperty",
@@ -3908,7 +5813,7 @@ class CfnMembership(
3908
5813
  ) -> None:
3909
5814
  '''Contains configurations for protected query results.
3910
5815
 
3911
- :param s3: Required configuration for a protected query with an ``S3`` output type.
5816
+ :param s3: Required configuration for a protected query with an ``s3`` output type.
3912
5817
 
3913
5818
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershipprotectedqueryoutputconfiguration.html
3914
5819
  :exampleMetadata: fixture=_generated
@@ -3940,7 +5845,7 @@ class CfnMembership(
3940
5845
  def s3(
3941
5846
  self,
3942
5847
  ) -> typing.Union[_IResolvable_da3f097b, "CfnMembership.ProtectedQueryS3OutputConfigurationProperty"]:
3943
- '''Required configuration for a protected query with an ``S3`` output type.
5848
+ '''Required configuration for a protected query with an ``s3`` output type.
3944
5849
 
3945
5850
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-membership-membershipprotectedqueryoutputconfiguration.html#cfn-cleanrooms-membership-membershipprotectedqueryoutputconfiguration-s3
3946
5851
  '''
@@ -4520,7 +6425,7 @@ class CfnPrivacyBudgetTemplate(
4520
6425
  if __debug__:
4521
6426
  type_hints = typing.get_type_hints(_typecheckingstub__7aac4d267c9bad45a4e435ea568f943c0e3bf8200eb41fb580c04ae8a221cfdb)
4522
6427
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4523
- jsii.set(self, "autoRefresh", value)
6428
+ jsii.set(self, "autoRefresh", value) # pyright: ignore[reportArgumentType]
4524
6429
 
4525
6430
  @builtins.property
4526
6431
  @jsii.member(jsii_name="membershipIdentifier")
@@ -4533,7 +6438,7 @@ class CfnPrivacyBudgetTemplate(
4533
6438
  if __debug__:
4534
6439
  type_hints = typing.get_type_hints(_typecheckingstub__451d7c98300c47ca24e57e08313a6f1c3e359f595cc6d9bd21ca7564f781be19)
4535
6440
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4536
- jsii.set(self, "membershipIdentifier", value)
6441
+ jsii.set(self, "membershipIdentifier", value) # pyright: ignore[reportArgumentType]
4537
6442
 
4538
6443
  @builtins.property
4539
6444
  @jsii.member(jsii_name="parameters")
@@ -4551,7 +6456,7 @@ class CfnPrivacyBudgetTemplate(
4551
6456
  if __debug__:
4552
6457
  type_hints = typing.get_type_hints(_typecheckingstub__2f392867d1a4c1fee75cc8b48d97f801894a657d907a13d4d2a21ce8f8e5aeb9)
4553
6458
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4554
- jsii.set(self, "parameters", value)
6459
+ jsii.set(self, "parameters", value) # pyright: ignore[reportArgumentType]
4555
6460
 
4556
6461
  @builtins.property
4557
6462
  @jsii.member(jsii_name="privacyBudgetType")
@@ -4564,7 +6469,7 @@ class CfnPrivacyBudgetTemplate(
4564
6469
  if __debug__:
4565
6470
  type_hints = typing.get_type_hints(_typecheckingstub__af09670bc39ec5464305b000607d6c8a229830c5ad3234b2a82e4e6004d271df)
4566
6471
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4567
- jsii.set(self, "privacyBudgetType", value)
6472
+ jsii.set(self, "privacyBudgetType", value) # pyright: ignore[reportArgumentType]
4568
6473
 
4569
6474
  @builtins.property
4570
6475
  @jsii.member(jsii_name="tags")
@@ -4577,7 +6482,7 @@ class CfnPrivacyBudgetTemplate(
4577
6482
  if __debug__:
4578
6483
  type_hints = typing.get_type_hints(_typecheckingstub__b6baec6343b79fd0bf9b81122904ed3d87c0dfb35be66cc64d471a7a08ddc00f)
4579
6484
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4580
- jsii.set(self, "tags", value)
6485
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
4581
6486
 
4582
6487
  @jsii.data_type(
4583
6488
  jsii_type="aws-cdk-lib.aws_cleanrooms.CfnPrivacyBudgetTemplate.ParametersProperty",
@@ -4802,6 +6707,10 @@ __all__ = [
4802
6707
  "CfnConfiguredTableAssociation",
4803
6708
  "CfnConfiguredTableAssociationProps",
4804
6709
  "CfnConfiguredTableProps",
6710
+ "CfnIdMappingTable",
6711
+ "CfnIdMappingTableProps",
6712
+ "CfnIdNamespaceAssociation",
6713
+ "CfnIdNamespaceAssociationProps",
4805
6714
  "CfnMembership",
4806
6715
  "CfnMembershipProps",
4807
6716
  "CfnPrivacyBudgetTemplate",
@@ -5140,6 +7049,7 @@ def _typecheckingstub__7c88de0a4314f12e0bbceae5eb6edd232a937dc4a6b95c8eb383dabc0
5140
7049
  join_columns: typing.Sequence[builtins.str],
5141
7050
  output_constraints: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTable.AggregationConstraintProperty, typing.Dict[builtins.str, typing.Any]]]]],
5142
7051
  scalar_functions: typing.Sequence[builtins.str],
7052
+ additional_analyses: typing.Optional[builtins.str] = None,
5143
7053
  allowed_join_operators: typing.Optional[typing.Sequence[builtins.str]] = None,
5144
7054
  join_required: typing.Optional[builtins.str] = None,
5145
7055
  ) -> None:
@@ -5149,8 +7059,10 @@ def _typecheckingstub__7c88de0a4314f12e0bbceae5eb6edd232a937dc4a6b95c8eb383dabc0
5149
7059
  def _typecheckingstub__fb34762d0bf6ed014ff8964f15e74deaeb8d3d74c070c1dc20496ef94ed7c8ec(
5150
7060
  *,
5151
7061
  allowed_analyses: typing.Sequence[builtins.str],
7062
+ additional_analyses: typing.Optional[builtins.str] = None,
5152
7063
  allowed_analysis_providers: typing.Optional[typing.Sequence[builtins.str]] = None,
5153
7064
  differential_privacy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTable.DifferentialPrivacyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7065
+ disallowed_output_columns: typing.Optional[typing.Sequence[builtins.str]] = None,
5154
7066
  ) -> None:
5155
7067
  """Type checking stubs"""
5156
7068
  pass
@@ -5159,6 +7071,7 @@ def _typecheckingstub__a0accd14fb8407350b8ede83ec532b76a492d21ad538a377f14413f98
5159
7071
  *,
5160
7072
  join_columns: typing.Sequence[builtins.str],
5161
7073
  list_columns: typing.Sequence[builtins.str],
7074
+ additional_analyses: typing.Optional[builtins.str] = None,
5162
7075
  allowed_join_operators: typing.Optional[typing.Sequence[builtins.str]] = None,
5163
7076
  ) -> None:
5164
7077
  """Type checking stubs"""
@@ -5225,6 +7138,7 @@ def _typecheckingstub__e813cbcc5b9d34191c933a4be199648c57161cd507f73f0659159b5b6
5225
7138
  membership_identifier: builtins.str,
5226
7139
  name: builtins.str,
5227
7140
  role_arn: builtins.str,
7141
+ configured_table_association_analysis_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5228
7142
  description: typing.Optional[builtins.str] = None,
5229
7143
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5230
7144
  ) -> None:
@@ -5267,6 +7181,12 @@ def _typecheckingstub__6ed3a131e342f3d6715894b34f9784b7f6a4bd2257ccd5640eee2873a
5267
7181
  """Type checking stubs"""
5268
7182
  pass
5269
7183
 
7184
+ def _typecheckingstub__e0d0ff28b0fb4873494693033feac4f811d803307eb2eaf6b27473cd93db2ef0(
7185
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty]]]],
7186
+ ) -> None:
7187
+ """Type checking stubs"""
7188
+ pass
7189
+
5270
7190
  def _typecheckingstub__6c12987240d2469d3de49134d97df56891e19e780c69b74115f2054f5a34a614(
5271
7191
  value: typing.Optional[builtins.str],
5272
7192
  ) -> None:
@@ -5279,12 +7199,61 @@ def _typecheckingstub__ab43f7456a874349f59a592b725dc266f2d215b76da6fc373e63e5999
5279
7199
  """Type checking stubs"""
5280
7200
  pass
5281
7201
 
7202
+ def _typecheckingstub__238152ae2ae96e49fa6c904bd319b8d4be8fd0916ce96bdf774850ad8ca69140(
7203
+ *,
7204
+ allowed_additional_analyses: typing.Optional[typing.Sequence[builtins.str]] = None,
7205
+ allowed_result_receivers: typing.Optional[typing.Sequence[builtins.str]] = None,
7206
+ ) -> None:
7207
+ """Type checking stubs"""
7208
+ pass
7209
+
7210
+ def _typecheckingstub__5a7ef0cf97c0f9da19de0009ec3e6fb3ffe6b6f987fc5b6203ab290eec858c53(
7211
+ *,
7212
+ allowed_additional_analyses: typing.Optional[typing.Sequence[builtins.str]] = None,
7213
+ allowed_result_receivers: typing.Optional[typing.Sequence[builtins.str]] = None,
7214
+ ) -> None:
7215
+ """Type checking stubs"""
7216
+ pass
7217
+
7218
+ def _typecheckingstub__f6bcf6381ae16674a7b2d769e9d709e1ae56dbd9f4c003d1b9c9c8f5d385071f(
7219
+ *,
7220
+ allowed_additional_analyses: typing.Optional[typing.Sequence[builtins.str]] = None,
7221
+ allowed_result_receivers: typing.Optional[typing.Sequence[builtins.str]] = None,
7222
+ ) -> None:
7223
+ """Type checking stubs"""
7224
+ pass
7225
+
7226
+ def _typecheckingstub__281bd2c034dea5decd044a63b24891762f44992aab75ab6780e712d520ae64f2(
7227
+ *,
7228
+ v1: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyV1Property, typing.Dict[builtins.str, typing.Any]]],
7229
+ ) -> None:
7230
+ """Type checking stubs"""
7231
+ pass
7232
+
7233
+ def _typecheckingstub__cc559a0692caa4463a4398f86a4304afc170424b5a1434972be11d3638e5bd07(
7234
+ *,
7235
+ aggregation: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleAggregationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7236
+ custom: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleCustomProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7237
+ list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleListProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7238
+ ) -> None:
7239
+ """Type checking stubs"""
7240
+ pass
7241
+
7242
+ def _typecheckingstub__720bc84933dd2d1faf77915df0b8b69bcbb3e46b9d6c11a06d41f925485184d8(
7243
+ *,
7244
+ policy: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRulePolicyProperty, typing.Dict[builtins.str, typing.Any]]],
7245
+ type: builtins.str,
7246
+ ) -> None:
7247
+ """Type checking stubs"""
7248
+ pass
7249
+
5282
7250
  def _typecheckingstub__115dd625c37fad8a84b51d36bcabf9183ae442a7285c6ddd1efddd869faae1dc(
5283
7251
  *,
5284
7252
  configured_table_identifier: builtins.str,
5285
7253
  membership_identifier: builtins.str,
5286
7254
  name: builtins.str,
5287
7255
  role_arn: builtins.str,
7256
+ configured_table_association_analysis_rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfiguredTableAssociation.ConfiguredTableAssociationAnalysisRuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5288
7257
  description: typing.Optional[builtins.str] = None,
5289
7258
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5290
7259
  ) -> None:
@@ -5304,6 +7273,200 @@ def _typecheckingstub__881d5bc014e7a9ce8400d21437644071526768629f4ac0f4414f60ba9
5304
7273
  """Type checking stubs"""
5305
7274
  pass
5306
7275
 
7276
+ def _typecheckingstub__6a55eec871eed8ea740c3790e228bff6225a56f9406dd161a61af8218377c626(
7277
+ scope: _constructs_77d1e7e8.Construct,
7278
+ id: builtins.str,
7279
+ *,
7280
+ input_reference_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty, typing.Dict[builtins.str, typing.Any]]],
7281
+ membership_identifier: builtins.str,
7282
+ name: builtins.str,
7283
+ description: typing.Optional[builtins.str] = None,
7284
+ kms_key_arn: typing.Optional[builtins.str] = None,
7285
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7286
+ ) -> None:
7287
+ """Type checking stubs"""
7288
+ pass
7289
+
7290
+ def _typecheckingstub__4fb4bed5d50335d140dfb97a8e1ece95e5918e41e8f333e7a21770aff551143c(
7291
+ inspector: _TreeInspector_488e0dd5,
7292
+ ) -> None:
7293
+ """Type checking stubs"""
7294
+ pass
7295
+
7296
+ def _typecheckingstub__acdffe9d489cfb1fd064c08c8b300b2880a9e20996d6a0e15e197844adf31b6d(
7297
+ props: typing.Mapping[builtins.str, typing.Any],
7298
+ ) -> None:
7299
+ """Type checking stubs"""
7300
+ pass
7301
+
7302
+ def _typecheckingstub__80a1443fefffd729ef997de9fb9306db15cfda0ecccaa0f348c3f55a13fc2f6b(
7303
+ value: typing.Union[_IResolvable_da3f097b, CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty],
7304
+ ) -> None:
7305
+ """Type checking stubs"""
7306
+ pass
7307
+
7308
+ def _typecheckingstub__a608278f5ac9f4b2374d49aaae1f9c846f8320a4fb6cf2c093385273f313224c(
7309
+ value: builtins.str,
7310
+ ) -> None:
7311
+ """Type checking stubs"""
7312
+ pass
7313
+
7314
+ def _typecheckingstub__9d89d3a813c07afbd9194e6ef736daf000c0d923680da83dd94897908ef16598(
7315
+ value: builtins.str,
7316
+ ) -> None:
7317
+ """Type checking stubs"""
7318
+ pass
7319
+
7320
+ def _typecheckingstub__0fe55d535ef13a6fa856ac8e5ba601c43e7ece61a7d5ddf03730c1f1ea475767(
7321
+ value: typing.Optional[builtins.str],
7322
+ ) -> None:
7323
+ """Type checking stubs"""
7324
+ pass
7325
+
7326
+ def _typecheckingstub__1390f292c37578c0a018f5c4283630c58da4fdd1848e6bfb85b87946002dc103(
7327
+ value: typing.Optional[builtins.str],
7328
+ ) -> None:
7329
+ """Type checking stubs"""
7330
+ pass
7331
+
7332
+ def _typecheckingstub__5d6b9b9f29a25fa84794d9a566af8e18597086eba6792ac31fe185d0f74a9ff5(
7333
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
7334
+ ) -> None:
7335
+ """Type checking stubs"""
7336
+ pass
7337
+
7338
+ def _typecheckingstub__3e37f64c35b172103f8bfa9f0d30e75b382e86d01d38fd2e8eb28803124f2fbc(
7339
+ *,
7340
+ input_reference_arn: builtins.str,
7341
+ manage_resource_policies: typing.Union[builtins.bool, _IResolvable_da3f097b],
7342
+ ) -> None:
7343
+ """Type checking stubs"""
7344
+ pass
7345
+
7346
+ def _typecheckingstub__0e2b496feb9017399bea5c97a77d2124b505586ff18a03d366e20cfcd893709e(
7347
+ *,
7348
+ id_mapping_table_input_source: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdMappingTable.IdMappingTableInputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
7349
+ ) -> None:
7350
+ """Type checking stubs"""
7351
+ pass
7352
+
7353
+ def _typecheckingstub__690a1415d215001f1d1f03e8ed0bfcd7231c35a0b31d54bd8fab7c8b51e81090(
7354
+ *,
7355
+ id_namespace_association_id: builtins.str,
7356
+ type: builtins.str,
7357
+ ) -> None:
7358
+ """Type checking stubs"""
7359
+ pass
7360
+
7361
+ def _typecheckingstub__722f65baa0dd5025cc0e42e7e9c4015b3d215b4aa9bb587f8bb4acf1f72b6c17(
7362
+ *,
7363
+ input_reference_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdMappingTable.IdMappingTableInputReferenceConfigProperty, typing.Dict[builtins.str, typing.Any]]],
7364
+ membership_identifier: builtins.str,
7365
+ name: builtins.str,
7366
+ description: typing.Optional[builtins.str] = None,
7367
+ kms_key_arn: typing.Optional[builtins.str] = None,
7368
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7369
+ ) -> None:
7370
+ """Type checking stubs"""
7371
+ pass
7372
+
7373
+ def _typecheckingstub__f52a2f7a45be837d26654b8bb3a3d0fab7fd6c5d25ec9b81d04a38689a6194fc(
7374
+ scope: _constructs_77d1e7e8.Construct,
7375
+ id: builtins.str,
7376
+ *,
7377
+ input_reference_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty, typing.Dict[builtins.str, typing.Any]]],
7378
+ membership_identifier: builtins.str,
7379
+ name: builtins.str,
7380
+ description: typing.Optional[builtins.str] = None,
7381
+ id_mapping_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespaceAssociation.IdMappingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7382
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7383
+ ) -> None:
7384
+ """Type checking stubs"""
7385
+ pass
7386
+
7387
+ def _typecheckingstub__3a273456bd42e75067e1919d356ca738d303809279e3242770cf1909b4c53be9(
7388
+ inspector: _TreeInspector_488e0dd5,
7389
+ ) -> None:
7390
+ """Type checking stubs"""
7391
+ pass
7392
+
7393
+ def _typecheckingstub__c20ff570488d7e6c55252cba585a051fa87292c8341512e81f14562e1f1655f5(
7394
+ props: typing.Mapping[builtins.str, typing.Any],
7395
+ ) -> None:
7396
+ """Type checking stubs"""
7397
+ pass
7398
+
7399
+ def _typecheckingstub__314c1541c8ce4234c2ada25e682a151d92fd93edbed1b4fd9105dcda931dc8dc(
7400
+ value: typing.Union[_IResolvable_da3f097b, CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty],
7401
+ ) -> None:
7402
+ """Type checking stubs"""
7403
+ pass
7404
+
7405
+ def _typecheckingstub__6942bfe2fcc0b0271a549fbe0007f1450b5a3d401188d403b97a935468367b94(
7406
+ value: builtins.str,
7407
+ ) -> None:
7408
+ """Type checking stubs"""
7409
+ pass
7410
+
7411
+ def _typecheckingstub__8ae82ba9441ae418e38e9d46574ca3cf34f6664a35510b70e1232333ae528fcf(
7412
+ value: builtins.str,
7413
+ ) -> None:
7414
+ """Type checking stubs"""
7415
+ pass
7416
+
7417
+ def _typecheckingstub__8650ed8694c75389ed6fa670c630c6fd8b2e1ada930bf70bddcc54e58397c79f(
7418
+ value: typing.Optional[builtins.str],
7419
+ ) -> None:
7420
+ """Type checking stubs"""
7421
+ pass
7422
+
7423
+ def _typecheckingstub__18b505cc42cf359a69612005213707ca66c0c1daa7090899390265f4b2a5aa3b(
7424
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnIdNamespaceAssociation.IdMappingConfigProperty]],
7425
+ ) -> None:
7426
+ """Type checking stubs"""
7427
+ pass
7428
+
7429
+ def _typecheckingstub__bb75b574b07bea6c872486b6d13e8f81b7b3304807da45e45a041c11f1b4a84d(
7430
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
7431
+ ) -> None:
7432
+ """Type checking stubs"""
7433
+ pass
7434
+
7435
+ def _typecheckingstub__c7ab29f7c6ba8d3c436a4a92d514f1221e64c73743bc063c057464db677e1895(
7436
+ *,
7437
+ allow_use_as_dimension_column: typing.Union[builtins.bool, _IResolvable_da3f097b],
7438
+ ) -> None:
7439
+ """Type checking stubs"""
7440
+ pass
7441
+
7442
+ def _typecheckingstub__6a0c310848e9ee828aa0877d71d6e2c6b1ece9c6d43464be34c1eea8d23e0b85(
7443
+ *,
7444
+ input_reference_arn: builtins.str,
7445
+ manage_resource_policies: typing.Union[builtins.bool, _IResolvable_da3f097b],
7446
+ ) -> None:
7447
+ """Type checking stubs"""
7448
+ pass
7449
+
7450
+ def _typecheckingstub__4d6f96ce848c511129f57c9b34eaf0bed9c2e0367e3f29de1038e211e4797e05(
7451
+ *,
7452
+ id_mapping_workflows_supported: typing.Optional[typing.Union[typing.Sequence[typing.Any], _IResolvable_da3f097b]] = None,
7453
+ id_namespace_type: typing.Optional[builtins.str] = None,
7454
+ ) -> None:
7455
+ """Type checking stubs"""
7456
+ pass
7457
+
7458
+ def _typecheckingstub__82e4c0093759d750139b85493d1dd6c9f0b65aa9075fa72356dbfcee3b0a8784(
7459
+ *,
7460
+ input_reference_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespaceAssociation.IdNamespaceAssociationInputReferenceConfigProperty, typing.Dict[builtins.str, typing.Any]]],
7461
+ membership_identifier: builtins.str,
7462
+ name: builtins.str,
7463
+ description: typing.Optional[builtins.str] = None,
7464
+ id_mapping_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespaceAssociation.IdMappingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7465
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7466
+ ) -> None:
7467
+ """Type checking stubs"""
7468
+ pass
7469
+
5307
7470
  def _typecheckingstub__74d43efdc8d8359f9de6878ad0f2d25ff79e584d96e5ca863178e6f14312cec1(
5308
7471
  scope: _constructs_77d1e7e8.Construct,
5309
7472
  id: builtins.str,