aws-cdk-lib 2.153.0__py3-none-any.whl → 2.154.1__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.1.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 +143 -130
  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 +15766 -3438
  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 +47 -33
  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 +99 -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 +914 -612
  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 +192 -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 +155 -143
  111. aws_cdk/aws_globalaccelerator/__init__.py +46 -24
  112. aws_cdk/aws_glue/__init__.py +187 -143
  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 +98 -98
  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 +490 -34
  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 +49 -40
  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 +127 -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 +2414 -282
  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 +176 -105
  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 +289 -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.1.dist-info}/METADATA +3 -2
  261. aws_cdk_lib-2.154.1.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.1.dist-info}/LICENSE +0 -0
  264. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.1.dist-info}/NOTICE +0 -0
  265. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.1.dist-info}/WHEEL +0 -0
  266. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.1.dist-info}/top_level.txt +0 -0
@@ -97,6 +97,17 @@ class CfnIdMappingWorkflow(
97
97
  provider_configuration={
98
98
  "provider_configuration_key": "providerConfiguration"
99
99
  }
100
+ ),
101
+ rule_based_properties=entityresolution.CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty(
102
+ attribute_matching_model="attributeMatchingModel",
103
+ record_matching_model="recordMatchingModel",
104
+
105
+ # the properties below are optional
106
+ rule_definition_type="ruleDefinitionType",
107
+ rules=[entityresolution.CfnIdMappingWorkflow.RuleProperty(
108
+ matching_keys=["matchingKeys"],
109
+ rule_name="ruleName"
110
+ )]
100
111
  )
101
112
  ),
102
113
  input_source_config=[entityresolution.CfnIdMappingWorkflow.IdMappingWorkflowInputSourceProperty(
@@ -248,7 +259,7 @@ class CfnIdMappingWorkflow(
248
259
  if __debug__:
249
260
  type_hints = typing.get_type_hints(_typecheckingstub__98386f6c6b4518a801b696fa8f0f873daefcfe1d2a7891af04eaf6e011722023)
250
261
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
251
- jsii.set(self, "idMappingTechniques", value)
262
+ jsii.set(self, "idMappingTechniques", value) # pyright: ignore[reportArgumentType]
252
263
 
253
264
  @builtins.property
254
265
  @jsii.member(jsii_name="inputSourceConfig")
@@ -266,7 +277,7 @@ class CfnIdMappingWorkflow(
266
277
  if __debug__:
267
278
  type_hints = typing.get_type_hints(_typecheckingstub__4a9193affb5fa4439a48ce7bed8e4da128d477cf32b5570d11bbf2989fbb8c87)
268
279
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
269
- jsii.set(self, "inputSourceConfig", value)
280
+ jsii.set(self, "inputSourceConfig", value) # pyright: ignore[reportArgumentType]
270
281
 
271
282
  @builtins.property
272
283
  @jsii.member(jsii_name="roleArn")
@@ -279,7 +290,7 @@ class CfnIdMappingWorkflow(
279
290
  if __debug__:
280
291
  type_hints = typing.get_type_hints(_typecheckingstub__0590ee667206f813442b789a06c4cb886b668b0e9b9dffab96674a6875e8e692)
281
292
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
282
- jsii.set(self, "roleArn", value)
293
+ jsii.set(self, "roleArn", value) # pyright: ignore[reportArgumentType]
283
294
 
284
295
  @builtins.property
285
296
  @jsii.member(jsii_name="workflowName")
@@ -292,7 +303,7 @@ class CfnIdMappingWorkflow(
292
303
  if __debug__:
293
304
  type_hints = typing.get_type_hints(_typecheckingstub__b8d56686a0d9a714685134d0c5102241eaf1010135accbde2a09a29a15196fd2)
294
305
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
295
- jsii.set(self, "workflowName", value)
306
+ jsii.set(self, "workflowName", value) # pyright: ignore[reportArgumentType]
296
307
 
297
308
  @builtins.property
298
309
  @jsii.member(jsii_name="description")
@@ -305,7 +316,7 @@ class CfnIdMappingWorkflow(
305
316
  if __debug__:
306
317
  type_hints = typing.get_type_hints(_typecheckingstub__73508385219d92414fa73246ef135667c9eca037d9a796d5490e9c29dc374cfc)
307
318
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
308
- jsii.set(self, "description", value)
319
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
309
320
 
310
321
  @builtins.property
311
322
  @jsii.member(jsii_name="outputSourceConfig")
@@ -323,7 +334,7 @@ class CfnIdMappingWorkflow(
323
334
  if __debug__:
324
335
  type_hints = typing.get_type_hints(_typecheckingstub__c441bfde4467a201e4e9322b69a020514feb4e0efb56d31892f1f02e461d7119)
325
336
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
326
- jsii.set(self, "outputSourceConfig", value)
337
+ jsii.set(self, "outputSourceConfig", value) # pyright: ignore[reportArgumentType]
327
338
 
328
339
  @builtins.property
329
340
  @jsii.member(jsii_name="tags")
@@ -336,7 +347,130 @@ class CfnIdMappingWorkflow(
336
347
  if __debug__:
337
348
  type_hints = typing.get_type_hints(_typecheckingstub__f1c5de5e1db5e25e42cb52039b70835fa351dc563f560ac5ff3604bab3a7c6d3)
338
349
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
339
- jsii.set(self, "tags", value)
350
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
351
+
352
+ @jsii.data_type(
353
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty",
354
+ jsii_struct_bases=[],
355
+ name_mapping={
356
+ "attribute_matching_model": "attributeMatchingModel",
357
+ "record_matching_model": "recordMatchingModel",
358
+ "rule_definition_type": "ruleDefinitionType",
359
+ "rules": "rules",
360
+ },
361
+ )
362
+ class IdMappingRuleBasedPropertiesProperty:
363
+ def __init__(
364
+ self,
365
+ *,
366
+ attribute_matching_model: builtins.str,
367
+ record_matching_model: builtins.str,
368
+ rule_definition_type: typing.Optional[builtins.str] = None,
369
+ rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdMappingWorkflow.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
370
+ ) -> None:
371
+ '''An object that defines the list of matching rules to run in an ID mapping workflow.
372
+
373
+ :param attribute_matching_model: The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` . If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A matches the value of the ``BusinessEmail`` field of Profile B, the two profiles are matched on the ``Email`` attribute type. If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
374
+ :param record_matching_model: The type of matching record that is allowed to be used in an ID mapping workflow. If the value is set to ``ONE_SOURCE_TO_ONE_TARGET`` , only one record in the source can be matched to the same record in the target. If the value is set to ``MANY_SOURCE_TO_ONE_TARGET`` , multiple records in the source can be matched to one record in the target.
375
+ :param rule_definition_type: The set of rules you can use in an ID mapping workflow. The limitations specified for the source or target to define the match rules must be compatible.
376
+ :param rules: The rules that can be used for ID mapping.
377
+
378
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingrulebasedproperties.html
379
+ :exampleMetadata: fixture=_generated
380
+
381
+ Example::
382
+
383
+ # The code below shows an example of how to instantiate this type.
384
+ # The values are placeholders you should change.
385
+ from aws_cdk import aws_entityresolution as entityresolution
386
+
387
+ id_mapping_rule_based_properties_property = entityresolution.CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty(
388
+ attribute_matching_model="attributeMatchingModel",
389
+ record_matching_model="recordMatchingModel",
390
+
391
+ # the properties below are optional
392
+ rule_definition_type="ruleDefinitionType",
393
+ rules=[entityresolution.CfnIdMappingWorkflow.RuleProperty(
394
+ matching_keys=["matchingKeys"],
395
+ rule_name="ruleName"
396
+ )]
397
+ )
398
+ '''
399
+ if __debug__:
400
+ type_hints = typing.get_type_hints(_typecheckingstub__4bb92f6ba90c637e6800332c85746dca9a127a9d4ac3f6130ef5f9057e52d644)
401
+ check_type(argname="argument attribute_matching_model", value=attribute_matching_model, expected_type=type_hints["attribute_matching_model"])
402
+ check_type(argname="argument record_matching_model", value=record_matching_model, expected_type=type_hints["record_matching_model"])
403
+ check_type(argname="argument rule_definition_type", value=rule_definition_type, expected_type=type_hints["rule_definition_type"])
404
+ check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
405
+ self._values: typing.Dict[builtins.str, typing.Any] = {
406
+ "attribute_matching_model": attribute_matching_model,
407
+ "record_matching_model": record_matching_model,
408
+ }
409
+ if rule_definition_type is not None:
410
+ self._values["rule_definition_type"] = rule_definition_type
411
+ if rules is not None:
412
+ self._values["rules"] = rules
413
+
414
+ @builtins.property
415
+ def attribute_matching_model(self) -> builtins.str:
416
+ '''The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` .
417
+
418
+ If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A matches the value of the ``BusinessEmail`` field of Profile B, the two profiles are matched on the ``Email`` attribute type.
419
+
420
+ If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
421
+
422
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingrulebasedproperties.html#cfn-entityresolution-idmappingworkflow-idmappingrulebasedproperties-attributematchingmodel
423
+ '''
424
+ result = self._values.get("attribute_matching_model")
425
+ assert result is not None, "Required property 'attribute_matching_model' is missing"
426
+ return typing.cast(builtins.str, result)
427
+
428
+ @builtins.property
429
+ def record_matching_model(self) -> builtins.str:
430
+ '''The type of matching record that is allowed to be used in an ID mapping workflow.
431
+
432
+ If the value is set to ``ONE_SOURCE_TO_ONE_TARGET`` , only one record in the source can be matched to the same record in the target.
433
+
434
+ If the value is set to ``MANY_SOURCE_TO_ONE_TARGET`` , multiple records in the source can be matched to one record in the target.
435
+
436
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingrulebasedproperties.html#cfn-entityresolution-idmappingworkflow-idmappingrulebasedproperties-recordmatchingmodel
437
+ '''
438
+ result = self._values.get("record_matching_model")
439
+ assert result is not None, "Required property 'record_matching_model' is missing"
440
+ return typing.cast(builtins.str, result)
441
+
442
+ @builtins.property
443
+ def rule_definition_type(self) -> typing.Optional[builtins.str]:
444
+ '''The set of rules you can use in an ID mapping workflow.
445
+
446
+ The limitations specified for the source or target to define the match rules must be compatible.
447
+
448
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingrulebasedproperties.html#cfn-entityresolution-idmappingworkflow-idmappingrulebasedproperties-ruledefinitiontype
449
+ '''
450
+ result = self._values.get("rule_definition_type")
451
+ return typing.cast(typing.Optional[builtins.str], result)
452
+
453
+ @builtins.property
454
+ def rules(
455
+ self,
456
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdMappingWorkflow.RuleProperty"]]]]:
457
+ '''The rules that can be used for ID mapping.
458
+
459
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingrulebasedproperties.html#cfn-entityresolution-idmappingworkflow-idmappingrulebasedproperties-rules
460
+ '''
461
+ result = self._values.get("rules")
462
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdMappingWorkflow.RuleProperty"]]]], result)
463
+
464
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
465
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
466
+
467
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
468
+ return not (rhs == self)
469
+
470
+ def __repr__(self) -> str:
471
+ return "IdMappingRuleBasedPropertiesProperty(%s)" % ", ".join(
472
+ k + "=" + repr(v) for k, v in self._values.items()
473
+ )
340
474
 
341
475
  @jsii.data_type(
342
476
  jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdMappingWorkflow.IdMappingTechniquesProperty",
@@ -344,6 +478,7 @@ class CfnIdMappingWorkflow(
344
478
  name_mapping={
345
479
  "id_mapping_type": "idMappingType",
346
480
  "provider_properties": "providerProperties",
481
+ "rule_based_properties": "ruleBasedProperties",
347
482
  },
348
483
  )
349
484
  class IdMappingTechniquesProperty:
@@ -352,11 +487,13 @@ class CfnIdMappingWorkflow(
352
487
  *,
353
488
  id_mapping_type: typing.Optional[builtins.str] = None,
354
489
  provider_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdMappingWorkflow.ProviderPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
490
+ rule_based_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
355
491
  ) -> None:
356
492
  '''An object which defines the ID mapping technique and any additional configurations.
357
493
 
358
494
  :param id_mapping_type: The type of ID mapping.
359
495
  :param provider_properties: An object which defines any additional configurations required by the provider service.
496
+ :param rule_based_properties: An object which defines any additional configurations required by rule-based matching.
360
497
 
361
498
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingtechniques.html
362
499
  :exampleMetadata: fixture=_generated
@@ -379,6 +516,17 @@ class CfnIdMappingWorkflow(
379
516
  provider_configuration={
380
517
  "provider_configuration_key": "providerConfiguration"
381
518
  }
519
+ ),
520
+ rule_based_properties=entityresolution.CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty(
521
+ attribute_matching_model="attributeMatchingModel",
522
+ record_matching_model="recordMatchingModel",
523
+
524
+ # the properties below are optional
525
+ rule_definition_type="ruleDefinitionType",
526
+ rules=[entityresolution.CfnIdMappingWorkflow.RuleProperty(
527
+ matching_keys=["matchingKeys"],
528
+ rule_name="ruleName"
529
+ )]
382
530
  )
383
531
  )
384
532
  '''
@@ -386,11 +534,14 @@ class CfnIdMappingWorkflow(
386
534
  type_hints = typing.get_type_hints(_typecheckingstub__14f084baf89be97b69b754d6755f29c921f7ef9044bf1e234a903b93f7718bcc)
387
535
  check_type(argname="argument id_mapping_type", value=id_mapping_type, expected_type=type_hints["id_mapping_type"])
388
536
  check_type(argname="argument provider_properties", value=provider_properties, expected_type=type_hints["provider_properties"])
537
+ check_type(argname="argument rule_based_properties", value=rule_based_properties, expected_type=type_hints["rule_based_properties"])
389
538
  self._values: typing.Dict[builtins.str, typing.Any] = {}
390
539
  if id_mapping_type is not None:
391
540
  self._values["id_mapping_type"] = id_mapping_type
392
541
  if provider_properties is not None:
393
542
  self._values["provider_properties"] = provider_properties
543
+ if rule_based_properties is not None:
544
+ self._values["rule_based_properties"] = rule_based_properties
394
545
 
395
546
  @builtins.property
396
547
  def id_mapping_type(self) -> typing.Optional[builtins.str]:
@@ -412,6 +563,17 @@ class CfnIdMappingWorkflow(
412
563
  result = self._values.get("provider_properties")
413
564
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdMappingWorkflow.ProviderPropertiesProperty"]], result)
414
565
 
566
+ @builtins.property
567
+ def rule_based_properties(
568
+ self,
569
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty"]]:
570
+ '''An object which defines any additional configurations required by rule-based matching.
571
+
572
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingtechniques.html#cfn-entityresolution-idmappingworkflow-idmappingtechniques-rulebasedproperties
573
+ '''
574
+ result = self._values.get("rule_based_properties")
575
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty"]], result)
576
+
415
577
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
416
578
  return isinstance(rhs, self.__class__) and rhs._values == self._values
417
579
 
@@ -752,6 +914,79 @@ class CfnIdMappingWorkflow(
752
914
  k + "=" + repr(v) for k, v in self._values.items()
753
915
  )
754
916
 
917
+ @jsii.data_type(
918
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdMappingWorkflow.RuleProperty",
919
+ jsii_struct_bases=[],
920
+ name_mapping={"matching_keys": "matchingKeys", "rule_name": "ruleName"},
921
+ )
922
+ class RuleProperty:
923
+ def __init__(
924
+ self,
925
+ *,
926
+ matching_keys: typing.Sequence[builtins.str],
927
+ rule_name: builtins.str,
928
+ ) -> None:
929
+ '''An object containing ``RuleName`` , and ``MatchingKeys`` .
930
+
931
+ :param matching_keys: A list of ``MatchingKeys`` . The ``MatchingKeys`` must have been defined in the ``SchemaMapping`` . Two records are considered to match according to this rule if all of the ``MatchingKeys`` match.
932
+ :param rule_name: A name for the matching rule.
933
+
934
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-rule.html
935
+ :exampleMetadata: fixture=_generated
936
+
937
+ Example::
938
+
939
+ # The code below shows an example of how to instantiate this type.
940
+ # The values are placeholders you should change.
941
+ from aws_cdk import aws_entityresolution as entityresolution
942
+
943
+ rule_property = entityresolution.CfnIdMappingWorkflow.RuleProperty(
944
+ matching_keys=["matchingKeys"],
945
+ rule_name="ruleName"
946
+ )
947
+ '''
948
+ if __debug__:
949
+ type_hints = typing.get_type_hints(_typecheckingstub__9a2722d057e717d3981c452673ade46182ba7a7c53c282a417854ec754ea6c36)
950
+ check_type(argname="argument matching_keys", value=matching_keys, expected_type=type_hints["matching_keys"])
951
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
952
+ self._values: typing.Dict[builtins.str, typing.Any] = {
953
+ "matching_keys": matching_keys,
954
+ "rule_name": rule_name,
955
+ }
956
+
957
+ @builtins.property
958
+ def matching_keys(self) -> typing.List[builtins.str]:
959
+ '''A list of ``MatchingKeys`` .
960
+
961
+ The ``MatchingKeys`` must have been defined in the ``SchemaMapping`` . Two records are considered to match according to this rule if all of the ``MatchingKeys`` match.
962
+
963
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-rule.html#cfn-entityresolution-idmappingworkflow-rule-matchingkeys
964
+ '''
965
+ result = self._values.get("matching_keys")
966
+ assert result is not None, "Required property 'matching_keys' is missing"
967
+ return typing.cast(typing.List[builtins.str], result)
968
+
969
+ @builtins.property
970
+ def rule_name(self) -> builtins.str:
971
+ '''A name for the matching rule.
972
+
973
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-rule.html#cfn-entityresolution-idmappingworkflow-rule-rulename
974
+ '''
975
+ result = self._values.get("rule_name")
976
+ assert result is not None, "Required property 'rule_name' is missing"
977
+ return typing.cast(builtins.str, result)
978
+
979
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
980
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
981
+
982
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
983
+ return not (rhs == self)
984
+
985
+ def __repr__(self) -> str:
986
+ return "RuleProperty(%s)" % ", ".join(
987
+ k + "=" + repr(v) for k, v in self._values.items()
988
+ )
989
+
755
990
 
756
991
  @jsii.data_type(
757
992
  jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdMappingWorkflowProps",
@@ -810,6 +1045,17 @@ class CfnIdMappingWorkflowProps:
810
1045
  provider_configuration={
811
1046
  "provider_configuration_key": "providerConfiguration"
812
1047
  }
1048
+ ),
1049
+ rule_based_properties=entityresolution.CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty(
1050
+ attribute_matching_model="attributeMatchingModel",
1051
+ record_matching_model="recordMatchingModel",
1052
+
1053
+ # the properties below are optional
1054
+ rule_definition_type="ruleDefinitionType",
1055
+ rules=[entityresolution.CfnIdMappingWorkflow.RuleProperty(
1056
+ matching_keys=["matchingKeys"],
1057
+ rule_name="ruleName"
1058
+ )]
813
1059
  )
814
1060
  ),
815
1061
  input_source_config=[entityresolution.CfnIdMappingWorkflow.IdMappingWorkflowInputSourceProperty(
@@ -984,6 +1230,15 @@ class CfnIdNamespace(
984
1230
  provider_configuration={
985
1231
  "provider_configuration_key": "providerConfiguration"
986
1232
  }
1233
+ ),
1234
+ rule_based_properties=entityresolution.CfnIdNamespace.NamespaceRuleBasedPropertiesProperty(
1235
+ attribute_matching_model="attributeMatchingModel",
1236
+ record_matching_models=["recordMatchingModels"],
1237
+ rule_definition_types=["ruleDefinitionTypes"],
1238
+ rules=[entityresolution.CfnIdNamespace.RuleProperty(
1239
+ matching_keys=["matchingKeys"],
1240
+ rule_name="ruleName"
1241
+ )]
987
1242
  )
988
1243
  )],
989
1244
  input_source_config=[entityresolution.CfnIdNamespace.IdNamespaceInputSourceProperty(
@@ -1119,7 +1374,7 @@ class CfnIdNamespace(
1119
1374
  if __debug__:
1120
1375
  type_hints = typing.get_type_hints(_typecheckingstub__f6edc56662f23af984d5dabe222f6a5f7a29873d00db9469fa30becc99669015)
1121
1376
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1122
- jsii.set(self, "idNamespaceName", value)
1377
+ jsii.set(self, "idNamespaceName", value) # pyright: ignore[reportArgumentType]
1123
1378
 
1124
1379
  @builtins.property
1125
1380
  @jsii.member(jsii_name="type")
@@ -1135,7 +1390,7 @@ class CfnIdNamespace(
1135
1390
  if __debug__:
1136
1391
  type_hints = typing.get_type_hints(_typecheckingstub__59aa3cddc506bb9301e306fc65a81fe2f3d9a2d8f6325f117b73c0cdfb3383f0)
1137
1392
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1138
- jsii.set(self, "type", value)
1393
+ jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
1139
1394
 
1140
1395
  @builtins.property
1141
1396
  @jsii.member(jsii_name="description")
@@ -1148,7 +1403,7 @@ class CfnIdNamespace(
1148
1403
  if __debug__:
1149
1404
  type_hints = typing.get_type_hints(_typecheckingstub__62808fb43ceca295eefdf3d9bf0915cc4c583c943ab92427f8ad0c90b7041c27)
1150
1405
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1151
- jsii.set(self, "description", value)
1406
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
1152
1407
 
1153
1408
  @builtins.property
1154
1409
  @jsii.member(jsii_name="idMappingWorkflowProperties")
@@ -1166,7 +1421,7 @@ class CfnIdNamespace(
1166
1421
  if __debug__:
1167
1422
  type_hints = typing.get_type_hints(_typecheckingstub__bf3f06822761d2f6d3dffb9e7372b2e0adbfdbe7d2d1a69ccbf7fe76c0cd3563)
1168
1423
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1169
- jsii.set(self, "idMappingWorkflowProperties", value)
1424
+ jsii.set(self, "idMappingWorkflowProperties", value) # pyright: ignore[reportArgumentType]
1170
1425
 
1171
1426
  @builtins.property
1172
1427
  @jsii.member(jsii_name="inputSourceConfig")
@@ -1184,7 +1439,7 @@ class CfnIdNamespace(
1184
1439
  if __debug__:
1185
1440
  type_hints = typing.get_type_hints(_typecheckingstub__07ed70fcfed9befc6606046de0c338bb1c3c4a34f8857c885f1ee4de60a117a5)
1186
1441
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1187
- jsii.set(self, "inputSourceConfig", value)
1442
+ jsii.set(self, "inputSourceConfig", value) # pyright: ignore[reportArgumentType]
1188
1443
 
1189
1444
  @builtins.property
1190
1445
  @jsii.member(jsii_name="roleArn")
@@ -1197,7 +1452,7 @@ class CfnIdNamespace(
1197
1452
  if __debug__:
1198
1453
  type_hints = typing.get_type_hints(_typecheckingstub__94c305262a4b68819464007b072179d90eca1c2de79673e950550fcc4c13e4da)
1199
1454
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1200
- jsii.set(self, "roleArn", value)
1455
+ jsii.set(self, "roleArn", value) # pyright: ignore[reportArgumentType]
1201
1456
 
1202
1457
  @builtins.property
1203
1458
  @jsii.member(jsii_name="tags")
@@ -1210,7 +1465,7 @@ class CfnIdNamespace(
1210
1465
  if __debug__:
1211
1466
  type_hints = typing.get_type_hints(_typecheckingstub__8f05afda3b318f866f888a36136617b66dbba80a6134a0504f9adc95f42fbdff)
1212
1467
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1213
- jsii.set(self, "tags", value)
1468
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1214
1469
 
1215
1470
  @jsii.data_type(
1216
1471
  jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty",
@@ -1218,6 +1473,7 @@ class CfnIdNamespace(
1218
1473
  name_mapping={
1219
1474
  "id_mapping_type": "idMappingType",
1220
1475
  "provider_properties": "providerProperties",
1476
+ "rule_based_properties": "ruleBasedProperties",
1221
1477
  },
1222
1478
  )
1223
1479
  class IdNamespaceIdMappingWorkflowPropertiesProperty:
@@ -1226,11 +1482,13 @@ class CfnIdNamespace(
1226
1482
  *,
1227
1483
  id_mapping_type: builtins.str,
1228
1484
  provider_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespace.NamespaceProviderPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1485
+ rule_based_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespace.NamespaceRuleBasedPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1229
1486
  ) -> None:
1230
1487
  '''An object containing ``IdMappingType`` , ``ProviderProperties`` , and ``RuleBasedProperties`` .
1231
1488
 
1232
1489
  :param id_mapping_type: The type of ID mapping.
1233
1490
  :param provider_properties: An object which defines any additional configurations required by the provider service.
1491
+ :param rule_based_properties: An object which defines any additional configurations required by rule-based matching.
1234
1492
 
1235
1493
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties.html
1236
1494
  :exampleMetadata: fixture=_generated
@@ -1252,6 +1510,15 @@ class CfnIdNamespace(
1252
1510
  provider_configuration={
1253
1511
  "provider_configuration_key": "providerConfiguration"
1254
1512
  }
1513
+ ),
1514
+ rule_based_properties=entityresolution.CfnIdNamespace.NamespaceRuleBasedPropertiesProperty(
1515
+ attribute_matching_model="attributeMatchingModel",
1516
+ record_matching_models=["recordMatchingModels"],
1517
+ rule_definition_types=["ruleDefinitionTypes"],
1518
+ rules=[entityresolution.CfnIdNamespace.RuleProperty(
1519
+ matching_keys=["matchingKeys"],
1520
+ rule_name="ruleName"
1521
+ )]
1255
1522
  )
1256
1523
  )
1257
1524
  '''
@@ -1259,11 +1526,14 @@ class CfnIdNamespace(
1259
1526
  type_hints = typing.get_type_hints(_typecheckingstub__0fc06bed3ebb2bebac13d7f812581356c393a6004c7ebcc6cfeb91e46afa58b5)
1260
1527
  check_type(argname="argument id_mapping_type", value=id_mapping_type, expected_type=type_hints["id_mapping_type"])
1261
1528
  check_type(argname="argument provider_properties", value=provider_properties, expected_type=type_hints["provider_properties"])
1529
+ check_type(argname="argument rule_based_properties", value=rule_based_properties, expected_type=type_hints["rule_based_properties"])
1262
1530
  self._values: typing.Dict[builtins.str, typing.Any] = {
1263
1531
  "id_mapping_type": id_mapping_type,
1264
1532
  }
1265
1533
  if provider_properties is not None:
1266
1534
  self._values["provider_properties"] = provider_properties
1535
+ if rule_based_properties is not None:
1536
+ self._values["rule_based_properties"] = rule_based_properties
1267
1537
 
1268
1538
  @builtins.property
1269
1539
  def id_mapping_type(self) -> builtins.str:
@@ -1286,6 +1556,17 @@ class CfnIdNamespace(
1286
1556
  result = self._values.get("provider_properties")
1287
1557
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.NamespaceProviderPropertiesProperty"]], result)
1288
1558
 
1559
+ @builtins.property
1560
+ def rule_based_properties(
1561
+ self,
1562
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.NamespaceRuleBasedPropertiesProperty"]]:
1563
+ '''An object which defines any additional configurations required by rule-based matching.
1564
+
1565
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties.html#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-rulebasedproperties
1566
+ '''
1567
+ result = self._values.get("rule_based_properties")
1568
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.NamespaceRuleBasedPropertiesProperty"]], result)
1569
+
1289
1570
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1290
1571
  return isinstance(rhs, self.__class__) and rhs._values == self._values
1291
1572
 
@@ -1453,6 +1734,201 @@ class CfnIdNamespace(
1453
1734
  k + "=" + repr(v) for k, v in self._values.items()
1454
1735
  )
1455
1736
 
1737
+ @jsii.data_type(
1738
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespace.NamespaceRuleBasedPropertiesProperty",
1739
+ jsii_struct_bases=[],
1740
+ name_mapping={
1741
+ "attribute_matching_model": "attributeMatchingModel",
1742
+ "record_matching_models": "recordMatchingModels",
1743
+ "rule_definition_types": "ruleDefinitionTypes",
1744
+ "rules": "rules",
1745
+ },
1746
+ )
1747
+ class NamespaceRuleBasedPropertiesProperty:
1748
+ def __init__(
1749
+ self,
1750
+ *,
1751
+ attribute_matching_model: typing.Optional[builtins.str] = None,
1752
+ record_matching_models: typing.Optional[typing.Sequence[builtins.str]] = None,
1753
+ rule_definition_types: typing.Optional[typing.Sequence[builtins.str]] = None,
1754
+ rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespace.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1755
+ ) -> None:
1756
+ '''The rule-based properties of an ID namespace.
1757
+
1758
+ These properties define how the ID namespace can be used in an ID mapping workflow.
1759
+
1760
+ :param attribute_matching_model: The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` . If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A matches the value of ``BusinessEmail`` field of Profile B, the two profiles are matched on the ``Email`` attribute type. If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
1761
+ :param record_matching_models: The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` . If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A matches the value of ``BusinessEmail`` field of Profile B, the two profiles are matched on the ``Email`` attribute type. If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
1762
+ :param rule_definition_types: The sets of rules you can use in an ID mapping workflow. The limitations specified for the source and target must be compatible.
1763
+ :param rules: The rules for the ID namespace.
1764
+
1765
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-namespacerulebasedproperties.html
1766
+ :exampleMetadata: fixture=_generated
1767
+
1768
+ Example::
1769
+
1770
+ # The code below shows an example of how to instantiate this type.
1771
+ # The values are placeholders you should change.
1772
+ from aws_cdk import aws_entityresolution as entityresolution
1773
+
1774
+ namespace_rule_based_properties_property = entityresolution.CfnIdNamespace.NamespaceRuleBasedPropertiesProperty(
1775
+ attribute_matching_model="attributeMatchingModel",
1776
+ record_matching_models=["recordMatchingModels"],
1777
+ rule_definition_types=["ruleDefinitionTypes"],
1778
+ rules=[entityresolution.CfnIdNamespace.RuleProperty(
1779
+ matching_keys=["matchingKeys"],
1780
+ rule_name="ruleName"
1781
+ )]
1782
+ )
1783
+ '''
1784
+ if __debug__:
1785
+ type_hints = typing.get_type_hints(_typecheckingstub__8bfae40336a06990deb46082eaf84fc7c08dfb1e350147ac63e7816023036424)
1786
+ check_type(argname="argument attribute_matching_model", value=attribute_matching_model, expected_type=type_hints["attribute_matching_model"])
1787
+ check_type(argname="argument record_matching_models", value=record_matching_models, expected_type=type_hints["record_matching_models"])
1788
+ check_type(argname="argument rule_definition_types", value=rule_definition_types, expected_type=type_hints["rule_definition_types"])
1789
+ check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
1790
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1791
+ if attribute_matching_model is not None:
1792
+ self._values["attribute_matching_model"] = attribute_matching_model
1793
+ if record_matching_models is not None:
1794
+ self._values["record_matching_models"] = record_matching_models
1795
+ if rule_definition_types is not None:
1796
+ self._values["rule_definition_types"] = rule_definition_types
1797
+ if rules is not None:
1798
+ self._values["rules"] = rules
1799
+
1800
+ @builtins.property
1801
+ def attribute_matching_model(self) -> typing.Optional[builtins.str]:
1802
+ '''The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` .
1803
+
1804
+ If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A matches the value of ``BusinessEmail`` field of Profile B, the two profiles are matched on the ``Email`` attribute type.
1805
+
1806
+ If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
1807
+
1808
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-namespacerulebasedproperties.html#cfn-entityresolution-idnamespace-namespacerulebasedproperties-attributematchingmodel
1809
+ '''
1810
+ result = self._values.get("attribute_matching_model")
1811
+ return typing.cast(typing.Optional[builtins.str], result)
1812
+
1813
+ @builtins.property
1814
+ def record_matching_models(self) -> typing.Optional[typing.List[builtins.str]]:
1815
+ '''The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` .
1816
+
1817
+ If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A matches the value of ``BusinessEmail`` field of Profile B, the two profiles are matched on the ``Email`` attribute type.
1818
+
1819
+ If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
1820
+
1821
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-namespacerulebasedproperties.html#cfn-entityresolution-idnamespace-namespacerulebasedproperties-recordmatchingmodels
1822
+ '''
1823
+ result = self._values.get("record_matching_models")
1824
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1825
+
1826
+ @builtins.property
1827
+ def rule_definition_types(self) -> typing.Optional[typing.List[builtins.str]]:
1828
+ '''The sets of rules you can use in an ID mapping workflow.
1829
+
1830
+ The limitations specified for the source and target must be compatible.
1831
+
1832
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-namespacerulebasedproperties.html#cfn-entityresolution-idnamespace-namespacerulebasedproperties-ruledefinitiontypes
1833
+ '''
1834
+ result = self._values.get("rule_definition_types")
1835
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1836
+
1837
+ @builtins.property
1838
+ def rules(
1839
+ self,
1840
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.RuleProperty"]]]]:
1841
+ '''The rules for the ID namespace.
1842
+
1843
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-namespacerulebasedproperties.html#cfn-entityresolution-idnamespace-namespacerulebasedproperties-rules
1844
+ '''
1845
+ result = self._values.get("rules")
1846
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.RuleProperty"]]]], result)
1847
+
1848
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1849
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1850
+
1851
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1852
+ return not (rhs == self)
1853
+
1854
+ def __repr__(self) -> str:
1855
+ return "NamespaceRuleBasedPropertiesProperty(%s)" % ", ".join(
1856
+ k + "=" + repr(v) for k, v in self._values.items()
1857
+ )
1858
+
1859
+ @jsii.data_type(
1860
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespace.RuleProperty",
1861
+ jsii_struct_bases=[],
1862
+ name_mapping={"matching_keys": "matchingKeys", "rule_name": "ruleName"},
1863
+ )
1864
+ class RuleProperty:
1865
+ def __init__(
1866
+ self,
1867
+ *,
1868
+ matching_keys: typing.Sequence[builtins.str],
1869
+ rule_name: builtins.str,
1870
+ ) -> None:
1871
+ '''An object containing ``RuleName`` , and ``MatchingKeys`` .
1872
+
1873
+ :param matching_keys: A list of ``MatchingKeys`` . The ``MatchingKeys`` must have been defined in the ``SchemaMapping`` . Two records are considered to match according to this rule if all of the ``MatchingKeys`` match.
1874
+ :param rule_name: A name for the matching rule.
1875
+
1876
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-rule.html
1877
+ :exampleMetadata: fixture=_generated
1878
+
1879
+ Example::
1880
+
1881
+ # The code below shows an example of how to instantiate this type.
1882
+ # The values are placeholders you should change.
1883
+ from aws_cdk import aws_entityresolution as entityresolution
1884
+
1885
+ rule_property = entityresolution.CfnIdNamespace.RuleProperty(
1886
+ matching_keys=["matchingKeys"],
1887
+ rule_name="ruleName"
1888
+ )
1889
+ '''
1890
+ if __debug__:
1891
+ type_hints = typing.get_type_hints(_typecheckingstub__a7b7b4615999e81b09ce8264e01ece7b6902a9159ab61791c90867353cc0609d)
1892
+ check_type(argname="argument matching_keys", value=matching_keys, expected_type=type_hints["matching_keys"])
1893
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
1894
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1895
+ "matching_keys": matching_keys,
1896
+ "rule_name": rule_name,
1897
+ }
1898
+
1899
+ @builtins.property
1900
+ def matching_keys(self) -> typing.List[builtins.str]:
1901
+ '''A list of ``MatchingKeys`` .
1902
+
1903
+ The ``MatchingKeys`` must have been defined in the ``SchemaMapping`` . Two records are considered to match according to this rule if all of the ``MatchingKeys`` match.
1904
+
1905
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-rule.html#cfn-entityresolution-idnamespace-rule-matchingkeys
1906
+ '''
1907
+ result = self._values.get("matching_keys")
1908
+ assert result is not None, "Required property 'matching_keys' is missing"
1909
+ return typing.cast(typing.List[builtins.str], result)
1910
+
1911
+ @builtins.property
1912
+ def rule_name(self) -> builtins.str:
1913
+ '''A name for the matching rule.
1914
+
1915
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-rule.html#cfn-entityresolution-idnamespace-rule-rulename
1916
+ '''
1917
+ result = self._values.get("rule_name")
1918
+ assert result is not None, "Required property 'rule_name' is missing"
1919
+ return typing.cast(builtins.str, result)
1920
+
1921
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1922
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1923
+
1924
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1925
+ return not (rhs == self)
1926
+
1927
+ def __repr__(self) -> str:
1928
+ return "RuleProperty(%s)" % ", ".join(
1929
+ k + "=" + repr(v) for k, v in self._values.items()
1930
+ )
1931
+
1456
1932
 
1457
1933
  @jsii.data_type(
1458
1934
  jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespaceProps",
@@ -1515,6 +1991,15 @@ class CfnIdNamespaceProps:
1515
1991
  provider_configuration={
1516
1992
  "provider_configuration_key": "providerConfiguration"
1517
1993
  }
1994
+ ),
1995
+ rule_based_properties=entityresolution.CfnIdNamespace.NamespaceRuleBasedPropertiesProperty(
1996
+ attribute_matching_model="attributeMatchingModel",
1997
+ record_matching_models=["recordMatchingModels"],
1998
+ rule_definition_types=["ruleDefinitionTypes"],
1999
+ rules=[entityresolution.CfnIdNamespace.RuleProperty(
2000
+ matching_keys=["matchingKeys"],
2001
+ rule_name="ruleName"
2002
+ )]
1518
2003
  )
1519
2004
  )],
1520
2005
  input_source_config=[entityresolution.CfnIdNamespace.IdNamespaceInputSourceProperty(
@@ -1700,7 +2185,10 @@ class CfnMatchingWorkflow(
1700
2185
  rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
1701
2186
  matching_keys=["matchingKeys"],
1702
2187
  rule_name="ruleName"
1703
- )]
2188
+ )],
2189
+
2190
+ # the properties below are optional
2191
+ match_purpose="matchPurpose"
1704
2192
  )
1705
2193
  ),
1706
2194
  role_arn="roleArn",
@@ -1839,7 +2327,7 @@ class CfnMatchingWorkflow(
1839
2327
  if __debug__:
1840
2328
  type_hints = typing.get_type_hints(_typecheckingstub__46336e1b290b62290456cef0086653d1bf7bde247391e85b7b88570883b249d6)
1841
2329
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1842
- jsii.set(self, "inputSourceConfig", value)
2330
+ jsii.set(self, "inputSourceConfig", value) # pyright: ignore[reportArgumentType]
1843
2331
 
1844
2332
  @builtins.property
1845
2333
  @jsii.member(jsii_name="outputSourceConfig")
@@ -1857,7 +2345,7 @@ class CfnMatchingWorkflow(
1857
2345
  if __debug__:
1858
2346
  type_hints = typing.get_type_hints(_typecheckingstub__f6752620fe10a272a45c22eb2493e5e30fcac8bb82fcc95b6f46271727dadc72)
1859
2347
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1860
- jsii.set(self, "outputSourceConfig", value)
2348
+ jsii.set(self, "outputSourceConfig", value) # pyright: ignore[reportArgumentType]
1861
2349
 
1862
2350
  @builtins.property
1863
2351
  @jsii.member(jsii_name="resolutionTechniques")
@@ -1875,7 +2363,7 @@ class CfnMatchingWorkflow(
1875
2363
  if __debug__:
1876
2364
  type_hints = typing.get_type_hints(_typecheckingstub__bfbb583351458ecc2896a0f04d4bae86260e8762b28c2687fe570562260a9a48)
1877
2365
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1878
- jsii.set(self, "resolutionTechniques", value)
2366
+ jsii.set(self, "resolutionTechniques", value) # pyright: ignore[reportArgumentType]
1879
2367
 
1880
2368
  @builtins.property
1881
2369
  @jsii.member(jsii_name="roleArn")
@@ -1888,7 +2376,7 @@ class CfnMatchingWorkflow(
1888
2376
  if __debug__:
1889
2377
  type_hints = typing.get_type_hints(_typecheckingstub__a68dfd5a70e354a050b7085c6c4cc4520862c51d487a8a8e920928f222fa1894)
1890
2378
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1891
- jsii.set(self, "roleArn", value)
2379
+ jsii.set(self, "roleArn", value) # pyright: ignore[reportArgumentType]
1892
2380
 
1893
2381
  @builtins.property
1894
2382
  @jsii.member(jsii_name="workflowName")
@@ -1901,7 +2389,7 @@ class CfnMatchingWorkflow(
1901
2389
  if __debug__:
1902
2390
  type_hints = typing.get_type_hints(_typecheckingstub__92e33fb06ce08c9c2af24c4cb3e68018f92d9bc69c0f62bc965ba1640232fd73)
1903
2391
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1904
- jsii.set(self, "workflowName", value)
2392
+ jsii.set(self, "workflowName", value) # pyright: ignore[reportArgumentType]
1905
2393
 
1906
2394
  @builtins.property
1907
2395
  @jsii.member(jsii_name="description")
@@ -1914,7 +2402,7 @@ class CfnMatchingWorkflow(
1914
2402
  if __debug__:
1915
2403
  type_hints = typing.get_type_hints(_typecheckingstub__146028c4441df7c65ea8aba2981fe23a6e2fda2af137f4c78d1c5c84d63a3b1a)
1916
2404
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1917
- jsii.set(self, "description", value)
2405
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
1918
2406
 
1919
2407
  @builtins.property
1920
2408
  @jsii.member(jsii_name="tags")
@@ -1927,7 +2415,7 @@ class CfnMatchingWorkflow(
1927
2415
  if __debug__:
1928
2416
  type_hints = typing.get_type_hints(_typecheckingstub__a7a7896d7bea53a4e2ffc9445d9a42b8864f5ac9a6cf43c3b27fe3c77bd39a83)
1929
2417
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1930
- jsii.set(self, "tags", value)
2418
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1931
2419
 
1932
2420
  @jsii.data_type(
1933
2421
  jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.InputSourceProperty",
@@ -2437,7 +2925,10 @@ class CfnMatchingWorkflow(
2437
2925
  rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
2438
2926
  matching_keys=["matchingKeys"],
2439
2927
  rule_name="ruleName"
2440
- )]
2928
+ )],
2929
+
2930
+ # the properties below are optional
2931
+ match_purpose="matchPurpose"
2441
2932
  )
2442
2933
  )
2443
2934
  '''
@@ -2504,6 +2995,7 @@ class CfnMatchingWorkflow(
2504
2995
  name_mapping={
2505
2996
  "attribute_matching_model": "attributeMatchingModel",
2506
2997
  "rules": "rules",
2998
+ "match_purpose": "matchPurpose",
2507
2999
  },
2508
3000
  )
2509
3001
  class RuleBasedPropertiesProperty:
@@ -2512,6 +3004,7 @@ class CfnMatchingWorkflow(
2512
3004
  *,
2513
3005
  attribute_matching_model: builtins.str,
2514
3006
  rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]],
3007
+ match_purpose: typing.Optional[builtins.str] = None,
2515
3008
  ) -> None:
2516
3009
  '''An object which defines the list of matching rules to run in a matching workflow.
2517
3010
 
@@ -2519,6 +3012,7 @@ class CfnMatchingWorkflow(
2519
3012
 
2520
3013
  :param attribute_matching_model: The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` . If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A and the value of ``BusinessEmail`` field of Profile B matches, the two profiles are matched on the ``Email`` attribute type. If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
2521
3014
  :param rules: A list of ``Rule`` objects, each of which have fields ``RuleName`` and ``MatchingKeys`` .
3015
+ :param match_purpose: An indicator of whether to generate IDs and index the data or not. If you choose ``IDENTIFIER_GENERATION`` , the process generates IDs and indexes the data. If you choose ``INDEXING`` , the process indexes the data without generating IDs.
2522
3016
 
2523
3017
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html
2524
3018
  :exampleMetadata: fixture=_generated
@@ -2534,17 +3028,23 @@ class CfnMatchingWorkflow(
2534
3028
  rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
2535
3029
  matching_keys=["matchingKeys"],
2536
3030
  rule_name="ruleName"
2537
- )]
3031
+ )],
3032
+
3033
+ # the properties below are optional
3034
+ match_purpose="matchPurpose"
2538
3035
  )
2539
3036
  '''
2540
3037
  if __debug__:
2541
3038
  type_hints = typing.get_type_hints(_typecheckingstub__96d1f97c0110dea5fb9a8413e199ae25878eedad10521ad056ca772f31ddb8ba)
2542
3039
  check_type(argname="argument attribute_matching_model", value=attribute_matching_model, expected_type=type_hints["attribute_matching_model"])
2543
3040
  check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
3041
+ check_type(argname="argument match_purpose", value=match_purpose, expected_type=type_hints["match_purpose"])
2544
3042
  self._values: typing.Dict[builtins.str, typing.Any] = {
2545
3043
  "attribute_matching_model": attribute_matching_model,
2546
3044
  "rules": rules,
2547
3045
  }
3046
+ if match_purpose is not None:
3047
+ self._values["match_purpose"] = match_purpose
2548
3048
 
2549
3049
  @builtins.property
2550
3050
  def attribute_matching_model(self) -> builtins.str:
@@ -2572,6 +3072,19 @@ class CfnMatchingWorkflow(
2572
3072
  assert result is not None, "Required property 'rules' is missing"
2573
3073
  return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleProperty"]]], result)
2574
3074
 
3075
+ @builtins.property
3076
+ def match_purpose(self) -> typing.Optional[builtins.str]:
3077
+ '''An indicator of whether to generate IDs and index the data or not.
3078
+
3079
+ If you choose ``IDENTIFIER_GENERATION`` , the process generates IDs and indexes the data.
3080
+
3081
+ If you choose ``INDEXING`` , the process indexes the data without generating IDs.
3082
+
3083
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html#cfn-entityresolution-matchingworkflow-rulebasedproperties-matchpurpose
3084
+ '''
3085
+ result = self._values.get("match_purpose")
3086
+ return typing.cast(typing.Optional[builtins.str], result)
3087
+
2575
3088
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2576
3089
  return isinstance(rhs, self.__class__) and rhs._values == self._values
2577
3090
 
@@ -2740,7 +3253,10 @@ class CfnMatchingWorkflowProps:
2740
3253
  rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
2741
3254
  matching_keys=["matchingKeys"],
2742
3255
  rule_name="ruleName"
2743
- )]
3256
+ )],
3257
+
3258
+ # the properties below are optional
3259
+ match_purpose="matchPurpose"
2744
3260
  )
2745
3261
  ),
2746
3262
  role_arn="roleArn",
@@ -2980,7 +3496,7 @@ class CfnPolicyStatement(
2980
3496
  if __debug__:
2981
3497
  type_hints = typing.get_type_hints(_typecheckingstub__a8767fe619cb5d75047f318db538baa5ab3a27e058ca0111a4c24271fa51ff40)
2982
3498
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2983
- jsii.set(self, "arn", value)
3499
+ jsii.set(self, "arn", value) # pyright: ignore[reportArgumentType]
2984
3500
 
2985
3501
  @builtins.property
2986
3502
  @jsii.member(jsii_name="statementId")
@@ -2993,7 +3509,7 @@ class CfnPolicyStatement(
2993
3509
  if __debug__:
2994
3510
  type_hints = typing.get_type_hints(_typecheckingstub__851fa2b0339949709c645934229c92c57e76587d0add6dfff788c8b6881d496e)
2995
3511
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2996
- jsii.set(self, "statementId", value)
3512
+ jsii.set(self, "statementId", value) # pyright: ignore[reportArgumentType]
2997
3513
 
2998
3514
  @builtins.property
2999
3515
  @jsii.member(jsii_name="action")
@@ -3006,7 +3522,7 @@ class CfnPolicyStatement(
3006
3522
  if __debug__:
3007
3523
  type_hints = typing.get_type_hints(_typecheckingstub__5c31374cbb6b747ff8aad15e2ba0bcfcf581e9276e6193ea7fea9fc51c170da5)
3008
3524
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3009
- jsii.set(self, "action", value)
3525
+ jsii.set(self, "action", value) # pyright: ignore[reportArgumentType]
3010
3526
 
3011
3527
  @builtins.property
3012
3528
  @jsii.member(jsii_name="condition")
@@ -3019,7 +3535,7 @@ class CfnPolicyStatement(
3019
3535
  if __debug__:
3020
3536
  type_hints = typing.get_type_hints(_typecheckingstub__9ff6ca47c90dc8044522eb4fdc13f8e8fd3817f4dd78f5c13503a9ddcac783da)
3021
3537
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3022
- jsii.set(self, "condition", value)
3538
+ jsii.set(self, "condition", value) # pyright: ignore[reportArgumentType]
3023
3539
 
3024
3540
  @builtins.property
3025
3541
  @jsii.member(jsii_name="effect")
@@ -3032,7 +3548,7 @@ class CfnPolicyStatement(
3032
3548
  if __debug__:
3033
3549
  type_hints = typing.get_type_hints(_typecheckingstub__1f137f4492e162960ce48c9f3937faa9cdc691f98387867695272278e19efeda)
3034
3550
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3035
- jsii.set(self, "effect", value)
3551
+ jsii.set(self, "effect", value) # pyright: ignore[reportArgumentType]
3036
3552
 
3037
3553
  @builtins.property
3038
3554
  @jsii.member(jsii_name="principal")
@@ -3045,7 +3561,7 @@ class CfnPolicyStatement(
3045
3561
  if __debug__:
3046
3562
  type_hints = typing.get_type_hints(_typecheckingstub__d0f1297ccea599d72dd52d3bb273838ce431126a148b946f018fb1f6316e8a42)
3047
3563
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3048
- jsii.set(self, "principal", value)
3564
+ jsii.set(self, "principal", value) # pyright: ignore[reportArgumentType]
3049
3565
 
3050
3566
 
3051
3567
  @jsii.data_type(
@@ -3222,6 +3738,7 @@ class CfnSchemaMapping(
3222
3738
 
3223
3739
  # the properties below are optional
3224
3740
  group_name="groupName",
3741
+ hashed=False,
3225
3742
  match_key="matchKey",
3226
3743
  sub_type="subType"
3227
3744
  )],
@@ -3360,7 +3877,7 @@ class CfnSchemaMapping(
3360
3877
  if __debug__:
3361
3878
  type_hints = typing.get_type_hints(_typecheckingstub__582cf934b619d5bd24742b664e76c854f1f5f978250eb7c8b069eea939a36d15)
3362
3879
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3363
- jsii.set(self, "mappedInputFields", value)
3880
+ jsii.set(self, "mappedInputFields", value) # pyright: ignore[reportArgumentType]
3364
3881
 
3365
3882
  @builtins.property
3366
3883
  @jsii.member(jsii_name="schemaName")
@@ -3373,7 +3890,7 @@ class CfnSchemaMapping(
3373
3890
  if __debug__:
3374
3891
  type_hints = typing.get_type_hints(_typecheckingstub__2e60d6efab6fe4d38d530b8bf0a9230db6dd3ba98b56dfb812bea973c5fb07fb)
3375
3892
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3376
- jsii.set(self, "schemaName", value)
3893
+ jsii.set(self, "schemaName", value) # pyright: ignore[reportArgumentType]
3377
3894
 
3378
3895
  @builtins.property
3379
3896
  @jsii.member(jsii_name="description")
@@ -3386,7 +3903,7 @@ class CfnSchemaMapping(
3386
3903
  if __debug__:
3387
3904
  type_hints = typing.get_type_hints(_typecheckingstub__45aaef5bf11ec7b2bf48bfb15f820ed7b15b4ae8a5c668df859ffb21058df8e7)
3388
3905
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3389
- jsii.set(self, "description", value)
3906
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
3390
3907
 
3391
3908
  @builtins.property
3392
3909
  @jsii.member(jsii_name="tags")
@@ -3399,7 +3916,7 @@ class CfnSchemaMapping(
3399
3916
  if __debug__:
3400
3917
  type_hints = typing.get_type_hints(_typecheckingstub__eb00d34c669b02d875a4d122d6517a31b19c4fe763a25a3d3e60b62a88dc81c6)
3401
3918
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3402
- jsii.set(self, "tags", value)
3919
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3403
3920
 
3404
3921
  @jsii.data_type(
3405
3922
  jsii_type="aws-cdk-lib.aws_entityresolution.CfnSchemaMapping.SchemaInputAttributeProperty",
@@ -3408,6 +3925,7 @@ class CfnSchemaMapping(
3408
3925
  "field_name": "fieldName",
3409
3926
  "type": "type",
3410
3927
  "group_name": "groupName",
3928
+ "hashed": "hashed",
3411
3929
  "match_key": "matchKey",
3412
3930
  "sub_type": "subType",
3413
3931
  },
@@ -3419,6 +3937,7 @@ class CfnSchemaMapping(
3419
3937
  field_name: builtins.str,
3420
3938
  type: builtins.str,
3421
3939
  group_name: typing.Optional[builtins.str] = None,
3940
+ hashed: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3422
3941
  match_key: typing.Optional[builtins.str] = None,
3423
3942
  sub_type: typing.Optional[builtins.str] = None,
3424
3943
  ) -> None:
@@ -3427,6 +3946,7 @@ class CfnSchemaMapping(
3427
3946
  :param field_name: A string containing the field name.
3428
3947
  :param type: The type of the attribute, selected from a list of values.
3429
3948
  :param group_name: A string that instructs AWS Entity Resolution to combine several columns into a unified column with the identical attribute type. For example, when working with columns such as ``first_name`` , ``middle_name`` , and ``last_name`` , assigning them a common ``groupName`` will prompt AWS Entity Resolution to concatenate them into a single value.
3949
+ :param hashed: Indicates if the column values are hashed in the schema input. If the value is set to ``TRUE`` , the column values are hashed. If the value is set to ``FALSE`` , the column values are cleartext.
3430
3950
  :param match_key: A key that allows grouping of multiple input attributes into a unified matching group. For example, consider a scenario where the source table contains various addresses, such as ``business_address`` and ``shipping_address`` . By assigning a ``matchKey`` called ``address`` to both attributes, AWS Entity Resolution will match records across these fields to create a consolidated matching group. If no ``matchKey`` is specified for a column, it won't be utilized for matching purposes but will still be included in the output table.
3431
3951
  :param sub_type: The subtype of the attribute, selected from a list of values.
3432
3952
 
@@ -3445,6 +3965,7 @@ class CfnSchemaMapping(
3445
3965
 
3446
3966
  # the properties below are optional
3447
3967
  group_name="groupName",
3968
+ hashed=False,
3448
3969
  match_key="matchKey",
3449
3970
  sub_type="subType"
3450
3971
  )
@@ -3454,6 +3975,7 @@ class CfnSchemaMapping(
3454
3975
  check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
3455
3976
  check_type(argname="argument type", value=type, expected_type=type_hints["type"])
3456
3977
  check_type(argname="argument group_name", value=group_name, expected_type=type_hints["group_name"])
3978
+ check_type(argname="argument hashed", value=hashed, expected_type=type_hints["hashed"])
3457
3979
  check_type(argname="argument match_key", value=match_key, expected_type=type_hints["match_key"])
3458
3980
  check_type(argname="argument sub_type", value=sub_type, expected_type=type_hints["sub_type"])
3459
3981
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -3462,6 +3984,8 @@ class CfnSchemaMapping(
3462
3984
  }
3463
3985
  if group_name is not None:
3464
3986
  self._values["group_name"] = group_name
3987
+ if hashed is not None:
3988
+ self._values["hashed"] = hashed
3465
3989
  if match_key is not None:
3466
3990
  self._values["match_key"] = match_key
3467
3991
  if sub_type is not None:
@@ -3498,6 +4022,19 @@ class CfnSchemaMapping(
3498
4022
  result = self._values.get("group_name")
3499
4023
  return typing.cast(typing.Optional[builtins.str], result)
3500
4024
 
4025
+ @builtins.property
4026
+ def hashed(
4027
+ self,
4028
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4029
+ '''Indicates if the column values are hashed in the schema input.
4030
+
4031
+ If the value is set to ``TRUE`` , the column values are hashed. If the value is set to ``FALSE`` , the column values are cleartext.
4032
+
4033
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html#cfn-entityresolution-schemamapping-schemainputattribute-hashed
4034
+ '''
4035
+ result = self._values.get("hashed")
4036
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4037
+
3501
4038
  @builtins.property
3502
4039
  def match_key(self) -> typing.Optional[builtins.str]:
3503
4040
  '''A key that allows grouping of multiple input attributes into a unified matching group.
@@ -3574,6 +4111,7 @@ class CfnSchemaMappingProps:
3574
4111
 
3575
4112
  # the properties below are optional
3576
4113
  group_name="groupName",
4114
+ hashed=False,
3577
4115
  match_key="matchKey",
3578
4116
  sub_type="subType"
3579
4117
  )],
@@ -3742,10 +4280,21 @@ def _typecheckingstub__f1c5de5e1db5e25e42cb52039b70835fa351dc563f560ac5ff3604bab
3742
4280
  """Type checking stubs"""
3743
4281
  pass
3744
4282
 
4283
+ def _typecheckingstub__4bb92f6ba90c637e6800332c85746dca9a127a9d4ac3f6130ef5f9057e52d644(
4284
+ *,
4285
+ attribute_matching_model: builtins.str,
4286
+ record_matching_model: builtins.str,
4287
+ rule_definition_type: typing.Optional[builtins.str] = None,
4288
+ rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdMappingWorkflow.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4289
+ ) -> None:
4290
+ """Type checking stubs"""
4291
+ pass
4292
+
3745
4293
  def _typecheckingstub__14f084baf89be97b69b754d6755f29c921f7ef9044bf1e234a903b93f7718bcc(
3746
4294
  *,
3747
4295
  id_mapping_type: typing.Optional[builtins.str] = None,
3748
4296
  provider_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdMappingWorkflow.ProviderPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4297
+ rule_based_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdMappingWorkflow.IdMappingRuleBasedPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3749
4298
  ) -> None:
3750
4299
  """Type checking stubs"""
3751
4300
  pass
@@ -3783,6 +4332,14 @@ def _typecheckingstub__14038cffce86b081db1c8ac49ebcf0ca7c79dab49ef3c8d99bd5529be
3783
4332
  """Type checking stubs"""
3784
4333
  pass
3785
4334
 
4335
+ def _typecheckingstub__9a2722d057e717d3981c452673ade46182ba7a7c53c282a417854ec754ea6c36(
4336
+ *,
4337
+ matching_keys: typing.Sequence[builtins.str],
4338
+ rule_name: builtins.str,
4339
+ ) -> None:
4340
+ """Type checking stubs"""
4341
+ pass
4342
+
3786
4343
  def _typecheckingstub__a92ec1b5f460936930fefdd0c239f69c3ec93198e4a71c3867bbe1bf1a48bf11(
3787
4344
  *,
3788
4345
  id_mapping_techniques: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdMappingWorkflow.IdMappingTechniquesProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -3869,6 +4426,7 @@ def _typecheckingstub__0fc06bed3ebb2bebac13d7f812581356c393a6004c7ebcc6cfeb91e46
3869
4426
  *,
3870
4427
  id_mapping_type: builtins.str,
3871
4428
  provider_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.NamespaceProviderPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4429
+ rule_based_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.NamespaceRuleBasedPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3872
4430
  ) -> None:
3873
4431
  """Type checking stubs"""
3874
4432
  pass
@@ -3889,6 +4447,24 @@ def _typecheckingstub__8d5dbe88736667d56bc74050ba3debedc70aa5658eb42d955598a1141
3889
4447
  """Type checking stubs"""
3890
4448
  pass
3891
4449
 
4450
+ def _typecheckingstub__8bfae40336a06990deb46082eaf84fc7c08dfb1e350147ac63e7816023036424(
4451
+ *,
4452
+ attribute_matching_model: typing.Optional[builtins.str] = None,
4453
+ record_matching_models: typing.Optional[typing.Sequence[builtins.str]] = None,
4454
+ rule_definition_types: typing.Optional[typing.Sequence[builtins.str]] = None,
4455
+ rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4456
+ ) -> None:
4457
+ """Type checking stubs"""
4458
+ pass
4459
+
4460
+ def _typecheckingstub__a7b7b4615999e81b09ce8264e01ece7b6902a9159ab61791c90867353cc0609d(
4461
+ *,
4462
+ matching_keys: typing.Sequence[builtins.str],
4463
+ rule_name: builtins.str,
4464
+ ) -> None:
4465
+ """Type checking stubs"""
4466
+ pass
4467
+
3892
4468
  def _typecheckingstub__08dbceaf6584c6ddec9cc5b62fe86da5739412407f6e361f15be9f4533370973(
3893
4469
  *,
3894
4470
  id_namespace_name: builtins.str,
@@ -4027,6 +4603,7 @@ def _typecheckingstub__96d1f97c0110dea5fb9a8413e199ae25878eedad10521ad056ca772f3
4027
4603
  *,
4028
4604
  attribute_matching_model: builtins.str,
4029
4605
  rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]],
4606
+ match_purpose: typing.Optional[builtins.str] = None,
4030
4607
  ) -> None:
4031
4608
  """Type checking stubs"""
4032
4609
  pass
@@ -4179,6 +4756,7 @@ def _typecheckingstub__d608d145fae97c0a85e57f344f3785207a465f180330e5a7bec62b411
4179
4756
  field_name: builtins.str,
4180
4757
  type: builtins.str,
4181
4758
  group_name: typing.Optional[builtins.str] = None,
4759
+ hashed: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4182
4760
  match_key: typing.Optional[builtins.str] = None,
4183
4761
  sub_type: typing.Optional[builtins.str] = None,
4184
4762
  ) -> None: