aws-cdk-lib 2.96.2__py3-none-any.whl → 2.97.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 (53) hide show
  1. aws_cdk/__init__.py +246 -62
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.96.2.jsii.tgz → aws-cdk-lib@2.97.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +1 -1
  5. aws_cdk/aws_appflow/__init__.py +205 -7
  6. aws_cdk/aws_appstream/__init__.py +33 -28
  7. aws_cdk/aws_appsync/__init__.py +555 -71
  8. aws_cdk/aws_autoscaling/__init__.py +5 -11
  9. aws_cdk/aws_billingconductor/__init__.py +145 -1
  10. aws_cdk/aws_cleanrooms/__init__.py +1198 -86
  11. aws_cdk/aws_cloudformation/__init__.py +221 -55
  12. aws_cdk/aws_cloudwatch/__init__.py +325 -2
  13. aws_cdk/aws_cognito/__init__.py +9 -13
  14. aws_cdk/aws_config/__init__.py +68 -73
  15. aws_cdk/aws_connect/__init__.py +909 -164
  16. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  17. aws_cdk/aws_dms/__init__.py +198 -0
  18. aws_cdk/aws_ec2/__init__.py +593 -73
  19. aws_cdk/aws_ecr/__init__.py +7 -2
  20. aws_cdk/aws_ecs/__init__.py +2 -2
  21. aws_cdk/aws_efs/__init__.py +237 -0
  22. aws_cdk/aws_emr/__init__.py +232 -0
  23. aws_cdk/aws_entityresolution/__init__.py +1702 -0
  24. aws_cdk/aws_events/__init__.py +13 -18
  25. aws_cdk/aws_fms/__init__.py +3 -3
  26. aws_cdk/aws_gamelift/__init__.py +10 -15
  27. aws_cdk/aws_grafana/__init__.py +9 -5
  28. aws_cdk/aws_guardduty/__init__.py +272 -205
  29. aws_cdk/aws_iam/__init__.py +20 -18
  30. aws_cdk/aws_iotwireless/__init__.py +38 -54
  31. aws_cdk/aws_lakeformation/__init__.py +18 -6
  32. aws_cdk/aws_lambda/__init__.py +1 -1
  33. aws_cdk/aws_lightsail/__init__.py +225 -0
  34. aws_cdk/aws_lookoutequipment/__init__.py +4 -4
  35. aws_cdk/aws_macie/__init__.py +5 -3
  36. aws_cdk/aws_mediapackagev2/__init__.py +3227 -0
  37. aws_cdk/aws_pcaconnectorad/__init__.py +6785 -0
  38. aws_cdk/aws_quicksight/__init__.py +189 -116
  39. aws_cdk/aws_rds/__init__.py +316 -9
  40. aws_cdk/aws_resiliencehub/__init__.py +38 -21
  41. aws_cdk/aws_route53resolver/__init__.py +429 -0
  42. aws_cdk/aws_sagemaker/__init__.py +34 -34
  43. aws_cdk/aws_stepfunctions/__init__.py +111 -14
  44. aws_cdk/aws_transfer/__init__.py +2 -2
  45. aws_cdk/aws_vpclattice/__init__.py +128 -120
  46. aws_cdk/aws_workspacesweb/__init__.py +3790 -0
  47. aws_cdk/region_info/__init__.py +49 -0
  48. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/METADATA +2 -2
  49. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/RECORD +53 -49
  50. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/LICENSE +0 -0
  51. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/NOTICE +0 -0
  52. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/WHEEL +0 -0
  53. {aws_cdk_lib-2.96.2.dist-info → aws_cdk_lib-2.97.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1702 @@
1
+ '''
2
+ # AWS::EntityResolution Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_entityresolution as entityresolution
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for EntityResolution construct libraries](https://constructs.dev/search?q=entityresolution)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::EntityResolution resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EntityResolution.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::EntityResolution](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EntityResolution.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ import abc
39
+ import builtins
40
+ import datetime
41
+ import enum
42
+ import typing
43
+
44
+ import jsii
45
+ import publication
46
+ import typing_extensions
47
+
48
+ from typeguard import check_type
49
+
50
+ from .._jsii import *
51
+
52
+ import constructs as _constructs_77d1e7e8
53
+ from .. import (
54
+ CfnResource as _CfnResource_9df397a6,
55
+ CfnTag as _CfnTag_f6864754,
56
+ IInspectable as _IInspectable_c2943556,
57
+ IResolvable as _IResolvable_da3f097b,
58
+ TreeInspector as _TreeInspector_488e0dd5,
59
+ )
60
+
61
+
62
+ @jsii.implements(_IInspectable_c2943556)
63
+ class CfnMatchingWorkflow(
64
+ _CfnResource_9df397a6,
65
+ metaclass=jsii.JSIIMeta,
66
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow",
67
+ ):
68
+ '''Creates a ``MatchingWorkflow`` object which stores the configuration of the data processing job to be run.
69
+
70
+ It is important to note that there should not be a pre-existing ``MatchingWorkflow`` with the same name. To modify an existing workflow, utilize the ``UpdateMatchingWorkflow`` API.
71
+
72
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html
73
+ :exampleMetadata: fixture=_generated
74
+
75
+ Example::
76
+
77
+ # The code below shows an example of how to instantiate this type.
78
+ # The values are placeholders you should change.
79
+ from aws_cdk import aws_entityresolution as entityresolution
80
+
81
+ cfn_matching_workflow = entityresolution.CfnMatchingWorkflow(self, "MyCfnMatchingWorkflow",
82
+ input_source_config=[entityresolution.CfnMatchingWorkflow.InputSourceProperty(
83
+ input_source_arn="inputSourceArn",
84
+ schema_arn="schemaArn",
85
+
86
+ # the properties below are optional
87
+ apply_normalization=False
88
+ )],
89
+ output_source_config=[entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
90
+ output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
91
+ name="name",
92
+
93
+ # the properties below are optional
94
+ hashed=False
95
+ )],
96
+ output_s3_path="outputS3Path",
97
+
98
+ # the properties below are optional
99
+ apply_normalization=False,
100
+ kms_arn="kmsArn"
101
+ )],
102
+ resolution_techniques=entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
103
+ resolution_type="resolutionType",
104
+ rule_based_properties=entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
105
+ attribute_matching_model="attributeMatchingModel",
106
+ rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
107
+ matching_keys=["matchingKeys"],
108
+ rule_name="ruleName"
109
+ )]
110
+ )
111
+ ),
112
+ role_arn="roleArn",
113
+ workflow_name="workflowName",
114
+
115
+ # the properties below are optional
116
+ description="description",
117
+ tags=[CfnTag(
118
+ key="key",
119
+ value="value"
120
+ )]
121
+ )
122
+ '''
123
+
124
+ def __init__(
125
+ self,
126
+ scope: _constructs_77d1e7e8.Construct,
127
+ id: builtins.str,
128
+ *,
129
+ input_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.InputSourceProperty", typing.Dict[builtins.str, typing.Any]]]]],
130
+ output_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.OutputSourceProperty", typing.Dict[builtins.str, typing.Any]]]]],
131
+ resolution_techniques: typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.ResolutionTechniquesProperty", typing.Dict[builtins.str, typing.Any]]],
132
+ role_arn: builtins.str,
133
+ workflow_name: builtins.str,
134
+ description: typing.Optional[builtins.str] = None,
135
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
136
+ ) -> None:
137
+ '''
138
+ :param scope: Scope in which this resource is defined.
139
+ :param id: Construct identifier for this resource (unique in its scope).
140
+ :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
141
+ :param output_source_config: A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
142
+ :param resolution_techniques: An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
143
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
144
+ :param workflow_name: The name of the workflow. There cannot be multiple ``DataIntegrationWorkflows`` with the same name.
145
+ :param description: A description of the workflow.
146
+ :param tags: The tags used to organize, track, or control access for this resource.
147
+ '''
148
+ if __debug__:
149
+ type_hints = typing.get_type_hints(_typecheckingstub__8c9e9b620b89ac2aae774eb42384e0472b5a13eeb28983708b164b2400ebcd39)
150
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
151
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
152
+ props = CfnMatchingWorkflowProps(
153
+ input_source_config=input_source_config,
154
+ output_source_config=output_source_config,
155
+ resolution_techniques=resolution_techniques,
156
+ role_arn=role_arn,
157
+ workflow_name=workflow_name,
158
+ description=description,
159
+ tags=tags,
160
+ )
161
+
162
+ jsii.create(self.__class__, self, [scope, id, props])
163
+
164
+ @jsii.member(jsii_name="inspect")
165
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
166
+ '''Examines the CloudFormation resource and discloses attributes.
167
+
168
+ :param inspector: tree inspector to collect and process attributes.
169
+ '''
170
+ if __debug__:
171
+ type_hints = typing.get_type_hints(_typecheckingstub__8a2bf1cfd69ad77cafcf7b6d5e0508159e0ece5385e2b3a0808436e336abbfcc)
172
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
173
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
174
+
175
+ @jsii.member(jsii_name="renderProperties")
176
+ def _render_properties(
177
+ self,
178
+ props: typing.Mapping[builtins.str, typing.Any],
179
+ ) -> typing.Mapping[builtins.str, typing.Any]:
180
+ '''
181
+ :param props: -
182
+ '''
183
+ if __debug__:
184
+ type_hints = typing.get_type_hints(_typecheckingstub__83843fc5000b4b7c1f325390bceaadeeec20658b2de2de2143a3d987e3c49953)
185
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
186
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
187
+
188
+ @jsii.python.classproperty
189
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
190
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
191
+ '''The CloudFormation resource type name for this resource class.'''
192
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
193
+
194
+ @builtins.property
195
+ @jsii.member(jsii_name="attrCreatedAt")
196
+ def attr_created_at(self) -> builtins.str:
197
+ '''The time of this MatchingWorkflow got created.
198
+
199
+ :cloudformationAttribute: CreatedAt
200
+ '''
201
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
202
+
203
+ @builtins.property
204
+ @jsii.member(jsii_name="attrUpdatedAt")
205
+ def attr_updated_at(self) -> builtins.str:
206
+ '''The time of this MatchingWorkflow got last updated at.
207
+
208
+ :cloudformationAttribute: UpdatedAt
209
+ '''
210
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
211
+
212
+ @builtins.property
213
+ @jsii.member(jsii_name="attrWorkflowArn")
214
+ def attr_workflow_arn(self) -> builtins.str:
215
+ '''The default MatchingWorkflow arn.
216
+
217
+ :cloudformationAttribute: WorkflowArn
218
+ '''
219
+ return typing.cast(builtins.str, jsii.get(self, "attrWorkflowArn"))
220
+
221
+ @builtins.property
222
+ @jsii.member(jsii_name="cfnProperties")
223
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
224
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
225
+
226
+ @builtins.property
227
+ @jsii.member(jsii_name="inputSourceConfig")
228
+ def input_source_config(
229
+ self,
230
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]]:
231
+ '''A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .'''
232
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]], jsii.get(self, "inputSourceConfig"))
233
+
234
+ @input_source_config.setter
235
+ def input_source_config(
236
+ self,
237
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]],
238
+ ) -> None:
239
+ if __debug__:
240
+ type_hints = typing.get_type_hints(_typecheckingstub__46336e1b290b62290456cef0086653d1bf7bde247391e85b7b88570883b249d6)
241
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
242
+ jsii.set(self, "inputSourceConfig", value)
243
+
244
+ @builtins.property
245
+ @jsii.member(jsii_name="outputSourceConfig")
246
+ def output_source_config(
247
+ self,
248
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]]:
249
+ '''A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .'''
250
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]], jsii.get(self, "outputSourceConfig"))
251
+
252
+ @output_source_config.setter
253
+ def output_source_config(
254
+ self,
255
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]],
256
+ ) -> None:
257
+ if __debug__:
258
+ type_hints = typing.get_type_hints(_typecheckingstub__f6752620fe10a272a45c22eb2493e5e30fcac8bb82fcc95b6f46271727dadc72)
259
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
260
+ jsii.set(self, "outputSourceConfig", value)
261
+
262
+ @builtins.property
263
+ @jsii.member(jsii_name="resolutionTechniques")
264
+ def resolution_techniques(
265
+ self,
266
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"]:
267
+ '''An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .'''
268
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"], jsii.get(self, "resolutionTechniques"))
269
+
270
+ @resolution_techniques.setter
271
+ def resolution_techniques(
272
+ self,
273
+ value: typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"],
274
+ ) -> None:
275
+ if __debug__:
276
+ type_hints = typing.get_type_hints(_typecheckingstub__bfbb583351458ecc2896a0f04d4bae86260e8762b28c2687fe570562260a9a48)
277
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
278
+ jsii.set(self, "resolutionTechniques", value)
279
+
280
+ @builtins.property
281
+ @jsii.member(jsii_name="roleArn")
282
+ def role_arn(self) -> builtins.str:
283
+ '''The Amazon Resource Name (ARN) of the IAM role.'''
284
+ return typing.cast(builtins.str, jsii.get(self, "roleArn"))
285
+
286
+ @role_arn.setter
287
+ def role_arn(self, value: builtins.str) -> None:
288
+ if __debug__:
289
+ type_hints = typing.get_type_hints(_typecheckingstub__a68dfd5a70e354a050b7085c6c4cc4520862c51d487a8a8e920928f222fa1894)
290
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
291
+ jsii.set(self, "roleArn", value)
292
+
293
+ @builtins.property
294
+ @jsii.member(jsii_name="workflowName")
295
+ def workflow_name(self) -> builtins.str:
296
+ '''The name of the workflow.'''
297
+ return typing.cast(builtins.str, jsii.get(self, "workflowName"))
298
+
299
+ @workflow_name.setter
300
+ def workflow_name(self, value: builtins.str) -> None:
301
+ if __debug__:
302
+ type_hints = typing.get_type_hints(_typecheckingstub__92e33fb06ce08c9c2af24c4cb3e68018f92d9bc69c0f62bc965ba1640232fd73)
303
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
304
+ jsii.set(self, "workflowName", value)
305
+
306
+ @builtins.property
307
+ @jsii.member(jsii_name="description")
308
+ def description(self) -> typing.Optional[builtins.str]:
309
+ '''A description of the workflow.'''
310
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
311
+
312
+ @description.setter
313
+ def description(self, value: typing.Optional[builtins.str]) -> None:
314
+ if __debug__:
315
+ type_hints = typing.get_type_hints(_typecheckingstub__146028c4441df7c65ea8aba2981fe23a6e2fda2af137f4c78d1c5c84d63a3b1a)
316
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
317
+ jsii.set(self, "description", value)
318
+
319
+ @builtins.property
320
+ @jsii.member(jsii_name="tags")
321
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
322
+ '''The tags used to organize, track, or control access for this resource.'''
323
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
324
+
325
+ @tags.setter
326
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
327
+ if __debug__:
328
+ type_hints = typing.get_type_hints(_typecheckingstub__a7a7896d7bea53a4e2ffc9445d9a42b8864f5ac9a6cf43c3b27fe3c77bd39a83)
329
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
330
+ jsii.set(self, "tags", value)
331
+
332
+ @jsii.data_type(
333
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.InputSourceProperty",
334
+ jsii_struct_bases=[],
335
+ name_mapping={
336
+ "input_source_arn": "inputSourceArn",
337
+ "schema_arn": "schemaArn",
338
+ "apply_normalization": "applyNormalization",
339
+ },
340
+ )
341
+ class InputSourceProperty:
342
+ def __init__(
343
+ self,
344
+ *,
345
+ input_source_arn: builtins.str,
346
+ schema_arn: builtins.str,
347
+ apply_normalization: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
348
+ ) -> None:
349
+ '''An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
350
+
351
+ :param input_source_arn: An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
352
+ :param schema_arn: The name of the schema.
353
+ :param apply_normalization: Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an ``AttributeType`` of ``PHONE_NUMBER`` , and the data in the input table is in a format of 1234567890, AWS Entity Resolution will normalize this field in the output to (123)-456-7890.
354
+
355
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html
356
+ :exampleMetadata: fixture=_generated
357
+
358
+ Example::
359
+
360
+ # The code below shows an example of how to instantiate this type.
361
+ # The values are placeholders you should change.
362
+ from aws_cdk import aws_entityresolution as entityresolution
363
+
364
+ input_source_property = entityresolution.CfnMatchingWorkflow.InputSourceProperty(
365
+ input_source_arn="inputSourceArn",
366
+ schema_arn="schemaArn",
367
+
368
+ # the properties below are optional
369
+ apply_normalization=False
370
+ )
371
+ '''
372
+ if __debug__:
373
+ type_hints = typing.get_type_hints(_typecheckingstub__6a18bfef9ee8ade2fff3913e22cf37d98f5880893c2204caa684a7f3831327af)
374
+ check_type(argname="argument input_source_arn", value=input_source_arn, expected_type=type_hints["input_source_arn"])
375
+ check_type(argname="argument schema_arn", value=schema_arn, expected_type=type_hints["schema_arn"])
376
+ check_type(argname="argument apply_normalization", value=apply_normalization, expected_type=type_hints["apply_normalization"])
377
+ self._values: typing.Dict[builtins.str, typing.Any] = {
378
+ "input_source_arn": input_source_arn,
379
+ "schema_arn": schema_arn,
380
+ }
381
+ if apply_normalization is not None:
382
+ self._values["apply_normalization"] = apply_normalization
383
+
384
+ @builtins.property
385
+ def input_source_arn(self) -> builtins.str:
386
+ '''An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
387
+
388
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-inputsourcearn
389
+ '''
390
+ result = self._values.get("input_source_arn")
391
+ assert result is not None, "Required property 'input_source_arn' is missing"
392
+ return typing.cast(builtins.str, result)
393
+
394
+ @builtins.property
395
+ def schema_arn(self) -> builtins.str:
396
+ '''The name of the schema.
397
+
398
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-schemaarn
399
+ '''
400
+ result = self._values.get("schema_arn")
401
+ assert result is not None, "Required property 'schema_arn' is missing"
402
+ return typing.cast(builtins.str, result)
403
+
404
+ @builtins.property
405
+ def apply_normalization(
406
+ self,
407
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
408
+ '''Normalizes the attributes defined in the schema in the input data.
409
+
410
+ For example, if an attribute has an ``AttributeType`` of ``PHONE_NUMBER`` , and the data in the input table is in a format of 1234567890, AWS Entity Resolution will normalize this field in the output to (123)-456-7890.
411
+
412
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-applynormalization
413
+ '''
414
+ result = self._values.get("apply_normalization")
415
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
416
+
417
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
418
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
419
+
420
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
421
+ return not (rhs == self)
422
+
423
+ def __repr__(self) -> str:
424
+ return "InputSourceProperty(%s)" % ", ".join(
425
+ k + "=" + repr(v) for k, v in self._values.items()
426
+ )
427
+
428
+ @jsii.data_type(
429
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.OutputAttributeProperty",
430
+ jsii_struct_bases=[],
431
+ name_mapping={"name": "name", "hashed": "hashed"},
432
+ )
433
+ class OutputAttributeProperty:
434
+ def __init__(
435
+ self,
436
+ *,
437
+ name: builtins.str,
438
+ hashed: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
439
+ ) -> None:
440
+ '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
441
+
442
+ Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
443
+
444
+ :param name: A name of a column to be written to the output. This must be an ``InputField`` name in the schema mapping.
445
+ :param hashed: Enables the ability to hash the column values in the output.
446
+
447
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html
448
+ :exampleMetadata: fixture=_generated
449
+
450
+ Example::
451
+
452
+ # The code below shows an example of how to instantiate this type.
453
+ # The values are placeholders you should change.
454
+ from aws_cdk import aws_entityresolution as entityresolution
455
+
456
+ output_attribute_property = entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
457
+ name="name",
458
+
459
+ # the properties below are optional
460
+ hashed=False
461
+ )
462
+ '''
463
+ if __debug__:
464
+ type_hints = typing.get_type_hints(_typecheckingstub__006a3c9280759d8123ca560d0c7cfef20e64f8703bb04be12b8a7e08728768e5)
465
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
466
+ check_type(argname="argument hashed", value=hashed, expected_type=type_hints["hashed"])
467
+ self._values: typing.Dict[builtins.str, typing.Any] = {
468
+ "name": name,
469
+ }
470
+ if hashed is not None:
471
+ self._values["hashed"] = hashed
472
+
473
+ @builtins.property
474
+ def name(self) -> builtins.str:
475
+ '''A name of a column to be written to the output.
476
+
477
+ This must be an ``InputField`` name in the schema mapping.
478
+
479
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html#cfn-entityresolution-matchingworkflow-outputattribute-name
480
+ '''
481
+ result = self._values.get("name")
482
+ assert result is not None, "Required property 'name' is missing"
483
+ return typing.cast(builtins.str, result)
484
+
485
+ @builtins.property
486
+ def hashed(
487
+ self,
488
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
489
+ '''Enables the ability to hash the column values in the output.
490
+
491
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html#cfn-entityresolution-matchingworkflow-outputattribute-hashed
492
+ '''
493
+ result = self._values.get("hashed")
494
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
495
+
496
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
497
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
498
+
499
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
500
+ return not (rhs == self)
501
+
502
+ def __repr__(self) -> str:
503
+ return "OutputAttributeProperty(%s)" % ", ".join(
504
+ k + "=" + repr(v) for k, v in self._values.items()
505
+ )
506
+
507
+ @jsii.data_type(
508
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.OutputSourceProperty",
509
+ jsii_struct_bases=[],
510
+ name_mapping={
511
+ "output": "output",
512
+ "output_s3_path": "outputS3Path",
513
+ "apply_normalization": "applyNormalization",
514
+ "kms_arn": "kmsArn",
515
+ },
516
+ )
517
+ class OutputSourceProperty:
518
+ def __init__(
519
+ self,
520
+ *,
521
+ output: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.OutputAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]],
522
+ output_s3_path: builtins.str,
523
+ apply_normalization: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
524
+ kms_arn: typing.Optional[builtins.str] = None,
525
+ ) -> None:
526
+ '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
527
+
528
+ Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
529
+
530
+ :param output: A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` . Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
531
+ :param output_s3_path: The S3 path to which AWS Entity Resolution will write the output table.
532
+ :param apply_normalization: Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an ``AttributeType`` of ``PHONE_NUMBER`` , and the data in the input table is in a format of 1234567890, AWS Entity Resolution will normalize this field in the output to (123)-456-7890.
533
+ :param kms_arn: Customer KMS ARN for encryption at rest. If not provided, system will use an AWS Entity Resolution managed KMS key.
534
+
535
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html
536
+ :exampleMetadata: fixture=_generated
537
+
538
+ Example::
539
+
540
+ # The code below shows an example of how to instantiate this type.
541
+ # The values are placeholders you should change.
542
+ from aws_cdk import aws_entityresolution as entityresolution
543
+
544
+ output_source_property = entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
545
+ output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
546
+ name="name",
547
+
548
+ # the properties below are optional
549
+ hashed=False
550
+ )],
551
+ output_s3_path="outputS3Path",
552
+
553
+ # the properties below are optional
554
+ apply_normalization=False,
555
+ kms_arn="kmsArn"
556
+ )
557
+ '''
558
+ if __debug__:
559
+ type_hints = typing.get_type_hints(_typecheckingstub__92bb2dc25f018fe0017c7ab79f29b2fdfb4238d6fb1293a9cd606b9f93976df8)
560
+ check_type(argname="argument output", value=output, expected_type=type_hints["output"])
561
+ check_type(argname="argument output_s3_path", value=output_s3_path, expected_type=type_hints["output_s3_path"])
562
+ check_type(argname="argument apply_normalization", value=apply_normalization, expected_type=type_hints["apply_normalization"])
563
+ check_type(argname="argument kms_arn", value=kms_arn, expected_type=type_hints["kms_arn"])
564
+ self._values: typing.Dict[builtins.str, typing.Any] = {
565
+ "output": output,
566
+ "output_s3_path": output_s3_path,
567
+ }
568
+ if apply_normalization is not None:
569
+ self._values["apply_normalization"] = apply_normalization
570
+ if kms_arn is not None:
571
+ self._values["kms_arn"] = kms_arn
572
+
573
+ @builtins.property
574
+ def output(
575
+ self,
576
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputAttributeProperty"]]]:
577
+ '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
578
+
579
+ Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
580
+
581
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-output
582
+ '''
583
+ result = self._values.get("output")
584
+ assert result is not None, "Required property 'output' is missing"
585
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputAttributeProperty"]]], result)
586
+
587
+ @builtins.property
588
+ def output_s3_path(self) -> builtins.str:
589
+ '''The S3 path to which AWS Entity Resolution will write the output table.
590
+
591
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-outputs3path
592
+ '''
593
+ result = self._values.get("output_s3_path")
594
+ assert result is not None, "Required property 'output_s3_path' is missing"
595
+ return typing.cast(builtins.str, result)
596
+
597
+ @builtins.property
598
+ def apply_normalization(
599
+ self,
600
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
601
+ '''Normalizes the attributes defined in the schema in the input data.
602
+
603
+ For example, if an attribute has an ``AttributeType`` of ``PHONE_NUMBER`` , and the data in the input table is in a format of 1234567890, AWS Entity Resolution will normalize this field in the output to (123)-456-7890.
604
+
605
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-applynormalization
606
+ '''
607
+ result = self._values.get("apply_normalization")
608
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
609
+
610
+ @builtins.property
611
+ def kms_arn(self) -> typing.Optional[builtins.str]:
612
+ '''Customer KMS ARN for encryption at rest.
613
+
614
+ If not provided, system will use an AWS Entity Resolution managed KMS key.
615
+
616
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-kmsarn
617
+ '''
618
+ result = self._values.get("kms_arn")
619
+ return typing.cast(typing.Optional[builtins.str], result)
620
+
621
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
622
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
623
+
624
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
625
+ return not (rhs == self)
626
+
627
+ def __repr__(self) -> str:
628
+ return "OutputSourceProperty(%s)" % ", ".join(
629
+ k + "=" + repr(v) for k, v in self._values.items()
630
+ )
631
+
632
+ @jsii.data_type(
633
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty",
634
+ jsii_struct_bases=[],
635
+ name_mapping={
636
+ "resolution_type": "resolutionType",
637
+ "rule_based_properties": "ruleBasedProperties",
638
+ },
639
+ )
640
+ class ResolutionTechniquesProperty:
641
+ def __init__(
642
+ self,
643
+ *,
644
+ resolution_type: typing.Optional[builtins.str] = None,
645
+ rule_based_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.RuleBasedPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
646
+ ) -> None:
647
+ '''An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
648
+
649
+ :param resolution_type: The type of matching. There are two types of matching: ``RULE_MATCHING`` and ``ML_MATCHING`` .
650
+ :param rule_based_properties: An object which defines the list of matching rules to run and has a field ``Rules`` , which is a list of rule objects.
651
+
652
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html
653
+ :exampleMetadata: fixture=_generated
654
+
655
+ Example::
656
+
657
+ # The code below shows an example of how to instantiate this type.
658
+ # The values are placeholders you should change.
659
+ from aws_cdk import aws_entityresolution as entityresolution
660
+
661
+ resolution_techniques_property = entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
662
+ resolution_type="resolutionType",
663
+ rule_based_properties=entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
664
+ attribute_matching_model="attributeMatchingModel",
665
+ rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
666
+ matching_keys=["matchingKeys"],
667
+ rule_name="ruleName"
668
+ )]
669
+ )
670
+ )
671
+ '''
672
+ if __debug__:
673
+ type_hints = typing.get_type_hints(_typecheckingstub__d1c6ea89cbe5bb10bb721c60f7c5951a6a56729058a7b00d3dd16b091aa63ab9)
674
+ check_type(argname="argument resolution_type", value=resolution_type, expected_type=type_hints["resolution_type"])
675
+ check_type(argname="argument rule_based_properties", value=rule_based_properties, expected_type=type_hints["rule_based_properties"])
676
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
677
+ if resolution_type is not None:
678
+ self._values["resolution_type"] = resolution_type
679
+ if rule_based_properties is not None:
680
+ self._values["rule_based_properties"] = rule_based_properties
681
+
682
+ @builtins.property
683
+ def resolution_type(self) -> typing.Optional[builtins.str]:
684
+ '''The type of matching.
685
+
686
+ There are two types of matching: ``RULE_MATCHING`` and ``ML_MATCHING`` .
687
+
688
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html#cfn-entityresolution-matchingworkflow-resolutiontechniques-resolutiontype
689
+ '''
690
+ result = self._values.get("resolution_type")
691
+ return typing.cast(typing.Optional[builtins.str], result)
692
+
693
+ @builtins.property
694
+ def rule_based_properties(
695
+ self,
696
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleBasedPropertiesProperty"]]:
697
+ '''An object which defines the list of matching rules to run and has a field ``Rules`` , which is a list of rule objects.
698
+
699
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html#cfn-entityresolution-matchingworkflow-resolutiontechniques-rulebasedproperties
700
+ '''
701
+ result = self._values.get("rule_based_properties")
702
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleBasedPropertiesProperty"]], result)
703
+
704
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
705
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
706
+
707
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
708
+ return not (rhs == self)
709
+
710
+ def __repr__(self) -> str:
711
+ return "ResolutionTechniquesProperty(%s)" % ", ".join(
712
+ k + "=" + repr(v) for k, v in self._values.items()
713
+ )
714
+
715
+ @jsii.data_type(
716
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty",
717
+ jsii_struct_bases=[],
718
+ name_mapping={
719
+ "attribute_matching_model": "attributeMatchingModel",
720
+ "rules": "rules",
721
+ },
722
+ )
723
+ class RuleBasedPropertiesProperty:
724
+ def __init__(
725
+ self,
726
+ *,
727
+ attribute_matching_model: builtins.str,
728
+ rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]],
729
+ ) -> None:
730
+ '''An object which defines the list of matching rules to run and has a field ``Rules`` , which is a list of rule objects.
731
+
732
+ :param attribute_matching_model: The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the AttributeMatchingModel. When choosing ``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`` type. When choosing ``ONE_TO_ONE`` ,the system can only match if the sub-types are exact matches. For example, only when the value of the ``Email`` field of Profile A and the value of the ``Email`` field of Profile B matches, the two profiles are matched on the ``Email`` type.
733
+ :param rules: A list of ``Rule`` objects, each of which have fields ``RuleName`` and ``MatchingKeys`` .
734
+
735
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html
736
+ :exampleMetadata: fixture=_generated
737
+
738
+ Example::
739
+
740
+ # The code below shows an example of how to instantiate this type.
741
+ # The values are placeholders you should change.
742
+ from aws_cdk import aws_entityresolution as entityresolution
743
+
744
+ rule_based_properties_property = entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
745
+ attribute_matching_model="attributeMatchingModel",
746
+ rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
747
+ matching_keys=["matchingKeys"],
748
+ rule_name="ruleName"
749
+ )]
750
+ )
751
+ '''
752
+ if __debug__:
753
+ type_hints = typing.get_type_hints(_typecheckingstub__96d1f97c0110dea5fb9a8413e199ae25878eedad10521ad056ca772f31ddb8ba)
754
+ check_type(argname="argument attribute_matching_model", value=attribute_matching_model, expected_type=type_hints["attribute_matching_model"])
755
+ check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
756
+ self._values: typing.Dict[builtins.str, typing.Any] = {
757
+ "attribute_matching_model": attribute_matching_model,
758
+ "rules": rules,
759
+ }
760
+
761
+ @builtins.property
762
+ def attribute_matching_model(self) -> builtins.str:
763
+ '''The comparison type.
764
+
765
+ You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the AttributeMatchingModel. When choosing ``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`` type. When choosing ``ONE_TO_ONE`` ,the system can only match if the sub-types are exact matches. For example, only when the value of the ``Email`` field of Profile A and the value of the ``Email`` field of Profile B matches, the two profiles are matched on the ``Email`` type.
766
+
767
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html#cfn-entityresolution-matchingworkflow-rulebasedproperties-attributematchingmodel
768
+ '''
769
+ result = self._values.get("attribute_matching_model")
770
+ assert result is not None, "Required property 'attribute_matching_model' is missing"
771
+ return typing.cast(builtins.str, result)
772
+
773
+ @builtins.property
774
+ def rules(
775
+ self,
776
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleProperty"]]]:
777
+ '''A list of ``Rule`` objects, each of which have fields ``RuleName`` and ``MatchingKeys`` .
778
+
779
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html#cfn-entityresolution-matchingworkflow-rulebasedproperties-rules
780
+ '''
781
+ result = self._values.get("rules")
782
+ assert result is not None, "Required property 'rules' is missing"
783
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleProperty"]]], result)
784
+
785
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
786
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
787
+
788
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
789
+ return not (rhs == self)
790
+
791
+ def __repr__(self) -> str:
792
+ return "RuleBasedPropertiesProperty(%s)" % ", ".join(
793
+ k + "=" + repr(v) for k, v in self._values.items()
794
+ )
795
+
796
+ @jsii.data_type(
797
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.RuleProperty",
798
+ jsii_struct_bases=[],
799
+ name_mapping={"matching_keys": "matchingKeys", "rule_name": "ruleName"},
800
+ )
801
+ class RuleProperty:
802
+ def __init__(
803
+ self,
804
+ *,
805
+ matching_keys: typing.Sequence[builtins.str],
806
+ rule_name: builtins.str,
807
+ ) -> None:
808
+ '''An object containing ``RuleName`` , and ``MatchingKeys`` .
809
+
810
+ :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.
811
+ :param rule_name: A name for the matching rule.
812
+
813
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html
814
+ :exampleMetadata: fixture=_generated
815
+
816
+ Example::
817
+
818
+ # The code below shows an example of how to instantiate this type.
819
+ # The values are placeholders you should change.
820
+ from aws_cdk import aws_entityresolution as entityresolution
821
+
822
+ rule_property = entityresolution.CfnMatchingWorkflow.RuleProperty(
823
+ matching_keys=["matchingKeys"],
824
+ rule_name="ruleName"
825
+ )
826
+ '''
827
+ if __debug__:
828
+ type_hints = typing.get_type_hints(_typecheckingstub__8ad893f1319125d264f9286a93c40cd8616031944a24803bccedd15e3233ef0f)
829
+ check_type(argname="argument matching_keys", value=matching_keys, expected_type=type_hints["matching_keys"])
830
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
831
+ self._values: typing.Dict[builtins.str, typing.Any] = {
832
+ "matching_keys": matching_keys,
833
+ "rule_name": rule_name,
834
+ }
835
+
836
+ @builtins.property
837
+ def matching_keys(self) -> typing.List[builtins.str]:
838
+ '''A list of ``MatchingKeys`` .
839
+
840
+ 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.
841
+
842
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html#cfn-entityresolution-matchingworkflow-rule-matchingkeys
843
+ '''
844
+ result = self._values.get("matching_keys")
845
+ assert result is not None, "Required property 'matching_keys' is missing"
846
+ return typing.cast(typing.List[builtins.str], result)
847
+
848
+ @builtins.property
849
+ def rule_name(self) -> builtins.str:
850
+ '''A name for the matching rule.
851
+
852
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html#cfn-entityresolution-matchingworkflow-rule-rulename
853
+ '''
854
+ result = self._values.get("rule_name")
855
+ assert result is not None, "Required property 'rule_name' is missing"
856
+ return typing.cast(builtins.str, result)
857
+
858
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
859
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
860
+
861
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
862
+ return not (rhs == self)
863
+
864
+ def __repr__(self) -> str:
865
+ return "RuleProperty(%s)" % ", ".join(
866
+ k + "=" + repr(v) for k, v in self._values.items()
867
+ )
868
+
869
+
870
+ @jsii.data_type(
871
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflowProps",
872
+ jsii_struct_bases=[],
873
+ name_mapping={
874
+ "input_source_config": "inputSourceConfig",
875
+ "output_source_config": "outputSourceConfig",
876
+ "resolution_techniques": "resolutionTechniques",
877
+ "role_arn": "roleArn",
878
+ "workflow_name": "workflowName",
879
+ "description": "description",
880
+ "tags": "tags",
881
+ },
882
+ )
883
+ class CfnMatchingWorkflowProps:
884
+ def __init__(
885
+ self,
886
+ *,
887
+ input_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.InputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
888
+ output_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.OutputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
889
+ resolution_techniques: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.ResolutionTechniquesProperty, typing.Dict[builtins.str, typing.Any]]],
890
+ role_arn: builtins.str,
891
+ workflow_name: builtins.str,
892
+ description: typing.Optional[builtins.str] = None,
893
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
894
+ ) -> None:
895
+ '''Properties for defining a ``CfnMatchingWorkflow``.
896
+
897
+ :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
898
+ :param output_source_config: A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
899
+ :param resolution_techniques: An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
900
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
901
+ :param workflow_name: The name of the workflow. There cannot be multiple ``DataIntegrationWorkflows`` with the same name.
902
+ :param description: A description of the workflow.
903
+ :param tags: The tags used to organize, track, or control access for this resource.
904
+
905
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html
906
+ :exampleMetadata: fixture=_generated
907
+
908
+ Example::
909
+
910
+ # The code below shows an example of how to instantiate this type.
911
+ # The values are placeholders you should change.
912
+ from aws_cdk import aws_entityresolution as entityresolution
913
+
914
+ cfn_matching_workflow_props = entityresolution.CfnMatchingWorkflowProps(
915
+ input_source_config=[entityresolution.CfnMatchingWorkflow.InputSourceProperty(
916
+ input_source_arn="inputSourceArn",
917
+ schema_arn="schemaArn",
918
+
919
+ # the properties below are optional
920
+ apply_normalization=False
921
+ )],
922
+ output_source_config=[entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
923
+ output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
924
+ name="name",
925
+
926
+ # the properties below are optional
927
+ hashed=False
928
+ )],
929
+ output_s3_path="outputS3Path",
930
+
931
+ # the properties below are optional
932
+ apply_normalization=False,
933
+ kms_arn="kmsArn"
934
+ )],
935
+ resolution_techniques=entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
936
+ resolution_type="resolutionType",
937
+ rule_based_properties=entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
938
+ attribute_matching_model="attributeMatchingModel",
939
+ rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
940
+ matching_keys=["matchingKeys"],
941
+ rule_name="ruleName"
942
+ )]
943
+ )
944
+ ),
945
+ role_arn="roleArn",
946
+ workflow_name="workflowName",
947
+
948
+ # the properties below are optional
949
+ description="description",
950
+ tags=[CfnTag(
951
+ key="key",
952
+ value="value"
953
+ )]
954
+ )
955
+ '''
956
+ if __debug__:
957
+ type_hints = typing.get_type_hints(_typecheckingstub__2be3b46399b509a45bb640cf4a70ab0714322917a6d3dc4c241cb16ab2d1dbb0)
958
+ check_type(argname="argument input_source_config", value=input_source_config, expected_type=type_hints["input_source_config"])
959
+ check_type(argname="argument output_source_config", value=output_source_config, expected_type=type_hints["output_source_config"])
960
+ check_type(argname="argument resolution_techniques", value=resolution_techniques, expected_type=type_hints["resolution_techniques"])
961
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
962
+ check_type(argname="argument workflow_name", value=workflow_name, expected_type=type_hints["workflow_name"])
963
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
964
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
965
+ self._values: typing.Dict[builtins.str, typing.Any] = {
966
+ "input_source_config": input_source_config,
967
+ "output_source_config": output_source_config,
968
+ "resolution_techniques": resolution_techniques,
969
+ "role_arn": role_arn,
970
+ "workflow_name": workflow_name,
971
+ }
972
+ if description is not None:
973
+ self._values["description"] = description
974
+ if tags is not None:
975
+ self._values["tags"] = tags
976
+
977
+ @builtins.property
978
+ def input_source_config(
979
+ self,
980
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.InputSourceProperty]]]:
981
+ '''A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
982
+
983
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-inputsourceconfig
984
+ '''
985
+ result = self._values.get("input_source_config")
986
+ assert result is not None, "Required property 'input_source_config' is missing"
987
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.InputSourceProperty]]], result)
988
+
989
+ @builtins.property
990
+ def output_source_config(
991
+ self,
992
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.OutputSourceProperty]]]:
993
+ '''A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
994
+
995
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-outputsourceconfig
996
+ '''
997
+ result = self._values.get("output_source_config")
998
+ assert result is not None, "Required property 'output_source_config' is missing"
999
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.OutputSourceProperty]]], result)
1000
+
1001
+ @builtins.property
1002
+ def resolution_techniques(
1003
+ self,
1004
+ ) -> typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.ResolutionTechniquesProperty]:
1005
+ '''An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
1006
+
1007
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-resolutiontechniques
1008
+ '''
1009
+ result = self._values.get("resolution_techniques")
1010
+ assert result is not None, "Required property 'resolution_techniques' is missing"
1011
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.ResolutionTechniquesProperty], result)
1012
+
1013
+ @builtins.property
1014
+ def role_arn(self) -> builtins.str:
1015
+ '''The Amazon Resource Name (ARN) of the IAM role.
1016
+
1017
+ Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
1018
+
1019
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-rolearn
1020
+ '''
1021
+ result = self._values.get("role_arn")
1022
+ assert result is not None, "Required property 'role_arn' is missing"
1023
+ return typing.cast(builtins.str, result)
1024
+
1025
+ @builtins.property
1026
+ def workflow_name(self) -> builtins.str:
1027
+ '''The name of the workflow.
1028
+
1029
+ There cannot be multiple ``DataIntegrationWorkflows`` with the same name.
1030
+
1031
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-workflowname
1032
+ '''
1033
+ result = self._values.get("workflow_name")
1034
+ assert result is not None, "Required property 'workflow_name' is missing"
1035
+ return typing.cast(builtins.str, result)
1036
+
1037
+ @builtins.property
1038
+ def description(self) -> typing.Optional[builtins.str]:
1039
+ '''A description of the workflow.
1040
+
1041
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-description
1042
+ '''
1043
+ result = self._values.get("description")
1044
+ return typing.cast(typing.Optional[builtins.str], result)
1045
+
1046
+ @builtins.property
1047
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1048
+ '''The tags used to organize, track, or control access for this resource.
1049
+
1050
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-tags
1051
+ '''
1052
+ result = self._values.get("tags")
1053
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1054
+
1055
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1056
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1057
+
1058
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1059
+ return not (rhs == self)
1060
+
1061
+ def __repr__(self) -> str:
1062
+ return "CfnMatchingWorkflowProps(%s)" % ", ".join(
1063
+ k + "=" + repr(v) for k, v in self._values.items()
1064
+ )
1065
+
1066
+
1067
+ @jsii.implements(_IInspectable_c2943556)
1068
+ class CfnSchemaMapping(
1069
+ _CfnResource_9df397a6,
1070
+ metaclass=jsii.JSIIMeta,
1071
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnSchemaMapping",
1072
+ ):
1073
+ '''Creates a schema mapping, which defines the schema of the input customer records table.
1074
+
1075
+ The ``SchemaMapping`` also provides AWS Entity Resolution with some metadata about the table, such as the attribute types of the columns and which columns to match on.
1076
+
1077
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html
1078
+ :exampleMetadata: fixture=_generated
1079
+
1080
+ Example::
1081
+
1082
+ # The code below shows an example of how to instantiate this type.
1083
+ # The values are placeholders you should change.
1084
+ from aws_cdk import aws_entityresolution as entityresolution
1085
+
1086
+ cfn_schema_mapping = entityresolution.CfnSchemaMapping(self, "MyCfnSchemaMapping",
1087
+ mapped_input_fields=[entityresolution.CfnSchemaMapping.SchemaInputAttributeProperty(
1088
+ field_name="fieldName",
1089
+ type="type",
1090
+
1091
+ # the properties below are optional
1092
+ group_name="groupName",
1093
+ match_key="matchKey"
1094
+ )],
1095
+ schema_name="schemaName",
1096
+
1097
+ # the properties below are optional
1098
+ description="description",
1099
+ tags=[CfnTag(
1100
+ key="key",
1101
+ value="value"
1102
+ )]
1103
+ )
1104
+ '''
1105
+
1106
+ def __init__(
1107
+ self,
1108
+ scope: _constructs_77d1e7e8.Construct,
1109
+ id: builtins.str,
1110
+ *,
1111
+ mapped_input_fields: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSchemaMapping.SchemaInputAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]],
1112
+ schema_name: builtins.str,
1113
+ description: typing.Optional[builtins.str] = None,
1114
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1115
+ ) -> None:
1116
+ '''
1117
+ :param scope: Scope in which this resource is defined.
1118
+ :param id: Construct identifier for this resource (unique in its scope).
1119
+ :param mapped_input_fields: A list of ``MappedInputFields`` . Each ``MappedInputField`` corresponds to a column the source data table, and contains column name plus additional information that AWS Entity Resolution uses for matching.
1120
+ :param schema_name: The name of the schema. There cannot be multiple ``SchemaMappings`` with the same name.
1121
+ :param description: A description of the schema.
1122
+ :param tags: The tags used to organize, track, or control access for this resource.
1123
+ '''
1124
+ if __debug__:
1125
+ type_hints = typing.get_type_hints(_typecheckingstub__d4b85e0c42d14b4681c4f948114178ba1c1a3d4eee3aed6f96a55a11624008b9)
1126
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1127
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1128
+ props = CfnSchemaMappingProps(
1129
+ mapped_input_fields=mapped_input_fields,
1130
+ schema_name=schema_name,
1131
+ description=description,
1132
+ tags=tags,
1133
+ )
1134
+
1135
+ jsii.create(self.__class__, self, [scope, id, props])
1136
+
1137
+ @jsii.member(jsii_name="inspect")
1138
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1139
+ '''Examines the CloudFormation resource and discloses attributes.
1140
+
1141
+ :param inspector: tree inspector to collect and process attributes.
1142
+ '''
1143
+ if __debug__:
1144
+ type_hints = typing.get_type_hints(_typecheckingstub__32b9491a9fbe1bcc73169aa2c5f87a0aa33490b2a27265d62378a0b8d687f933)
1145
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1146
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1147
+
1148
+ @jsii.member(jsii_name="renderProperties")
1149
+ def _render_properties(
1150
+ self,
1151
+ props: typing.Mapping[builtins.str, typing.Any],
1152
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1153
+ '''
1154
+ :param props: -
1155
+ '''
1156
+ if __debug__:
1157
+ type_hints = typing.get_type_hints(_typecheckingstub__b6cdea55ce60d609a9a8c6b9d013e19c06452d227285f779bdf5724280e9a7c4)
1158
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1159
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1160
+
1161
+ @jsii.python.classproperty
1162
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1163
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1164
+ '''The CloudFormation resource type name for this resource class.'''
1165
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1166
+
1167
+ @builtins.property
1168
+ @jsii.member(jsii_name="attrCreatedAt")
1169
+ def attr_created_at(self) -> builtins.str:
1170
+ '''The time of this SchemaMapping got created.
1171
+
1172
+ :cloudformationAttribute: CreatedAt
1173
+ '''
1174
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
1175
+
1176
+ @builtins.property
1177
+ @jsii.member(jsii_name="attrSchemaArn")
1178
+ def attr_schema_arn(self) -> builtins.str:
1179
+ '''The SchemaMapping arn associated with the Schema.
1180
+
1181
+ :cloudformationAttribute: SchemaArn
1182
+ '''
1183
+ return typing.cast(builtins.str, jsii.get(self, "attrSchemaArn"))
1184
+
1185
+ @builtins.property
1186
+ @jsii.member(jsii_name="attrUpdatedAt")
1187
+ def attr_updated_at(self) -> builtins.str:
1188
+ '''The time of this SchemaMapping got last updated at.
1189
+
1190
+ :cloudformationAttribute: UpdatedAt
1191
+ '''
1192
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
1193
+
1194
+ @builtins.property
1195
+ @jsii.member(jsii_name="cfnProperties")
1196
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1197
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1198
+
1199
+ @builtins.property
1200
+ @jsii.member(jsii_name="mappedInputFields")
1201
+ def mapped_input_fields(
1202
+ self,
1203
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSchemaMapping.SchemaInputAttributeProperty"]]]:
1204
+ '''A list of ``MappedInputFields`` .'''
1205
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSchemaMapping.SchemaInputAttributeProperty"]]], jsii.get(self, "mappedInputFields"))
1206
+
1207
+ @mapped_input_fields.setter
1208
+ def mapped_input_fields(
1209
+ self,
1210
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSchemaMapping.SchemaInputAttributeProperty"]]],
1211
+ ) -> None:
1212
+ if __debug__:
1213
+ type_hints = typing.get_type_hints(_typecheckingstub__582cf934b619d5bd24742b664e76c854f1f5f978250eb7c8b069eea939a36d15)
1214
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1215
+ jsii.set(self, "mappedInputFields", value)
1216
+
1217
+ @builtins.property
1218
+ @jsii.member(jsii_name="schemaName")
1219
+ def schema_name(self) -> builtins.str:
1220
+ '''The name of the schema.'''
1221
+ return typing.cast(builtins.str, jsii.get(self, "schemaName"))
1222
+
1223
+ @schema_name.setter
1224
+ def schema_name(self, value: builtins.str) -> None:
1225
+ if __debug__:
1226
+ type_hints = typing.get_type_hints(_typecheckingstub__2e60d6efab6fe4d38d530b8bf0a9230db6dd3ba98b56dfb812bea973c5fb07fb)
1227
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1228
+ jsii.set(self, "schemaName", value)
1229
+
1230
+ @builtins.property
1231
+ @jsii.member(jsii_name="description")
1232
+ def description(self) -> typing.Optional[builtins.str]:
1233
+ '''A description of the schema.'''
1234
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
1235
+
1236
+ @description.setter
1237
+ def description(self, value: typing.Optional[builtins.str]) -> None:
1238
+ if __debug__:
1239
+ type_hints = typing.get_type_hints(_typecheckingstub__45aaef5bf11ec7b2bf48bfb15f820ed7b15b4ae8a5c668df859ffb21058df8e7)
1240
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1241
+ jsii.set(self, "description", value)
1242
+
1243
+ @builtins.property
1244
+ @jsii.member(jsii_name="tags")
1245
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1246
+ '''The tags used to organize, track, or control access for this resource.'''
1247
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1248
+
1249
+ @tags.setter
1250
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1251
+ if __debug__:
1252
+ type_hints = typing.get_type_hints(_typecheckingstub__eb00d34c669b02d875a4d122d6517a31b19c4fe763a25a3d3e60b62a88dc81c6)
1253
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1254
+ jsii.set(self, "tags", value)
1255
+
1256
+ @jsii.data_type(
1257
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnSchemaMapping.SchemaInputAttributeProperty",
1258
+ jsii_struct_bases=[],
1259
+ name_mapping={
1260
+ "field_name": "fieldName",
1261
+ "type": "type",
1262
+ "group_name": "groupName",
1263
+ "match_key": "matchKey",
1264
+ },
1265
+ )
1266
+ class SchemaInputAttributeProperty:
1267
+ def __init__(
1268
+ self,
1269
+ *,
1270
+ field_name: builtins.str,
1271
+ type: builtins.str,
1272
+ group_name: typing.Optional[builtins.str] = None,
1273
+ match_key: typing.Optional[builtins.str] = None,
1274
+ ) -> None:
1275
+ '''An object containing ``FieldField`` , ``Type`` , ``GroupName`` , and ``MatchKey`` .
1276
+
1277
+ :param field_name: A string containing the field name.
1278
+ :param type: The type of the attribute, selected from a list of values.
1279
+ :param group_name: Instruct 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.
1280
+ :param match_key: A key that allows grouping of multiple input attributes into a unified matching group. For example, let's consider a scenario where the source table contains various addresses, such as business_address and shipping_address. By assigning the ``MatchKey`` *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.
1281
+
1282
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html
1283
+ :exampleMetadata: fixture=_generated
1284
+
1285
+ Example::
1286
+
1287
+ # The code below shows an example of how to instantiate this type.
1288
+ # The values are placeholders you should change.
1289
+ from aws_cdk import aws_entityresolution as entityresolution
1290
+
1291
+ schema_input_attribute_property = entityresolution.CfnSchemaMapping.SchemaInputAttributeProperty(
1292
+ field_name="fieldName",
1293
+ type="type",
1294
+
1295
+ # the properties below are optional
1296
+ group_name="groupName",
1297
+ match_key="matchKey"
1298
+ )
1299
+ '''
1300
+ if __debug__:
1301
+ type_hints = typing.get_type_hints(_typecheckingstub__d608d145fae97c0a85e57f344f3785207a465f180330e5a7bec62b41172c661e)
1302
+ check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
1303
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
1304
+ check_type(argname="argument group_name", value=group_name, expected_type=type_hints["group_name"])
1305
+ check_type(argname="argument match_key", value=match_key, expected_type=type_hints["match_key"])
1306
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1307
+ "field_name": field_name,
1308
+ "type": type,
1309
+ }
1310
+ if group_name is not None:
1311
+ self._values["group_name"] = group_name
1312
+ if match_key is not None:
1313
+ self._values["match_key"] = match_key
1314
+
1315
+ @builtins.property
1316
+ def field_name(self) -> builtins.str:
1317
+ '''A string containing the field name.
1318
+
1319
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html#cfn-entityresolution-schemamapping-schemainputattribute-fieldname
1320
+ '''
1321
+ result = self._values.get("field_name")
1322
+ assert result is not None, "Required property 'field_name' is missing"
1323
+ return typing.cast(builtins.str, result)
1324
+
1325
+ @builtins.property
1326
+ def type(self) -> builtins.str:
1327
+ '''The type of the attribute, selected from a list of values.
1328
+
1329
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html#cfn-entityresolution-schemamapping-schemainputattribute-type
1330
+ '''
1331
+ result = self._values.get("type")
1332
+ assert result is not None, "Required property 'type' is missing"
1333
+ return typing.cast(builtins.str, result)
1334
+
1335
+ @builtins.property
1336
+ def group_name(self) -> typing.Optional[builtins.str]:
1337
+ '''Instruct AWS Entity Resolution to combine several columns into a unified column with the identical attribute type.
1338
+
1339
+ 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.
1340
+
1341
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html#cfn-entityresolution-schemamapping-schemainputattribute-groupname
1342
+ '''
1343
+ result = self._values.get("group_name")
1344
+ return typing.cast(typing.Optional[builtins.str], result)
1345
+
1346
+ @builtins.property
1347
+ def match_key(self) -> typing.Optional[builtins.str]:
1348
+ '''A key that allows grouping of multiple input attributes into a unified matching group.
1349
+
1350
+ For example, let's consider a scenario where the source table contains various addresses, such as business_address and shipping_address. By assigning the ``MatchKey`` *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.
1351
+
1352
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html#cfn-entityresolution-schemamapping-schemainputattribute-matchkey
1353
+ '''
1354
+ result = self._values.get("match_key")
1355
+ return typing.cast(typing.Optional[builtins.str], result)
1356
+
1357
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1358
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1359
+
1360
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1361
+ return not (rhs == self)
1362
+
1363
+ def __repr__(self) -> str:
1364
+ return "SchemaInputAttributeProperty(%s)" % ", ".join(
1365
+ k + "=" + repr(v) for k, v in self._values.items()
1366
+ )
1367
+
1368
+
1369
+ @jsii.data_type(
1370
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnSchemaMappingProps",
1371
+ jsii_struct_bases=[],
1372
+ name_mapping={
1373
+ "mapped_input_fields": "mappedInputFields",
1374
+ "schema_name": "schemaName",
1375
+ "description": "description",
1376
+ "tags": "tags",
1377
+ },
1378
+ )
1379
+ class CfnSchemaMappingProps:
1380
+ def __init__(
1381
+ self,
1382
+ *,
1383
+ mapped_input_fields: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSchemaMapping.SchemaInputAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]],
1384
+ schema_name: builtins.str,
1385
+ description: typing.Optional[builtins.str] = None,
1386
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1387
+ ) -> None:
1388
+ '''Properties for defining a ``CfnSchemaMapping``.
1389
+
1390
+ :param mapped_input_fields: A list of ``MappedInputFields`` . Each ``MappedInputField`` corresponds to a column the source data table, and contains column name plus additional information that AWS Entity Resolution uses for matching.
1391
+ :param schema_name: The name of the schema. There cannot be multiple ``SchemaMappings`` with the same name.
1392
+ :param description: A description of the schema.
1393
+ :param tags: The tags used to organize, track, or control access for this resource.
1394
+
1395
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html
1396
+ :exampleMetadata: fixture=_generated
1397
+
1398
+ Example::
1399
+
1400
+ # The code below shows an example of how to instantiate this type.
1401
+ # The values are placeholders you should change.
1402
+ from aws_cdk import aws_entityresolution as entityresolution
1403
+
1404
+ cfn_schema_mapping_props = entityresolution.CfnSchemaMappingProps(
1405
+ mapped_input_fields=[entityresolution.CfnSchemaMapping.SchemaInputAttributeProperty(
1406
+ field_name="fieldName",
1407
+ type="type",
1408
+
1409
+ # the properties below are optional
1410
+ group_name="groupName",
1411
+ match_key="matchKey"
1412
+ )],
1413
+ schema_name="schemaName",
1414
+
1415
+ # the properties below are optional
1416
+ description="description",
1417
+ tags=[CfnTag(
1418
+ key="key",
1419
+ value="value"
1420
+ )]
1421
+ )
1422
+ '''
1423
+ if __debug__:
1424
+ type_hints = typing.get_type_hints(_typecheckingstub__fbadfeefbc588fc98477889c4f0b74bc9f51ac6d9fd8188d64b6ad629a494dad)
1425
+ check_type(argname="argument mapped_input_fields", value=mapped_input_fields, expected_type=type_hints["mapped_input_fields"])
1426
+ check_type(argname="argument schema_name", value=schema_name, expected_type=type_hints["schema_name"])
1427
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1428
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1429
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1430
+ "mapped_input_fields": mapped_input_fields,
1431
+ "schema_name": schema_name,
1432
+ }
1433
+ if description is not None:
1434
+ self._values["description"] = description
1435
+ if tags is not None:
1436
+ self._values["tags"] = tags
1437
+
1438
+ @builtins.property
1439
+ def mapped_input_fields(
1440
+ self,
1441
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSchemaMapping.SchemaInputAttributeProperty]]]:
1442
+ '''A list of ``MappedInputFields`` .
1443
+
1444
+ Each ``MappedInputField`` corresponds to a column the source data table, and contains column name plus additional information that AWS Entity Resolution uses for matching.
1445
+
1446
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html#cfn-entityresolution-schemamapping-mappedinputfields
1447
+ '''
1448
+ result = self._values.get("mapped_input_fields")
1449
+ assert result is not None, "Required property 'mapped_input_fields' is missing"
1450
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSchemaMapping.SchemaInputAttributeProperty]]], result)
1451
+
1452
+ @builtins.property
1453
+ def schema_name(self) -> builtins.str:
1454
+ '''The name of the schema.
1455
+
1456
+ There cannot be multiple ``SchemaMappings`` with the same name.
1457
+
1458
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html#cfn-entityresolution-schemamapping-schemaname
1459
+ '''
1460
+ result = self._values.get("schema_name")
1461
+ assert result is not None, "Required property 'schema_name' is missing"
1462
+ return typing.cast(builtins.str, result)
1463
+
1464
+ @builtins.property
1465
+ def description(self) -> typing.Optional[builtins.str]:
1466
+ '''A description of the schema.
1467
+
1468
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html#cfn-entityresolution-schemamapping-description
1469
+ '''
1470
+ result = self._values.get("description")
1471
+ return typing.cast(typing.Optional[builtins.str], result)
1472
+
1473
+ @builtins.property
1474
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1475
+ '''The tags used to organize, track, or control access for this resource.
1476
+
1477
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html#cfn-entityresolution-schemamapping-tags
1478
+ '''
1479
+ result = self._values.get("tags")
1480
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1481
+
1482
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1483
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1484
+
1485
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1486
+ return not (rhs == self)
1487
+
1488
+ def __repr__(self) -> str:
1489
+ return "CfnSchemaMappingProps(%s)" % ", ".join(
1490
+ k + "=" + repr(v) for k, v in self._values.items()
1491
+ )
1492
+
1493
+
1494
+ __all__ = [
1495
+ "CfnMatchingWorkflow",
1496
+ "CfnMatchingWorkflowProps",
1497
+ "CfnSchemaMapping",
1498
+ "CfnSchemaMappingProps",
1499
+ ]
1500
+
1501
+ publication.publish()
1502
+
1503
+ def _typecheckingstub__8c9e9b620b89ac2aae774eb42384e0472b5a13eeb28983708b164b2400ebcd39(
1504
+ scope: _constructs_77d1e7e8.Construct,
1505
+ id: builtins.str,
1506
+ *,
1507
+ input_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.InputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
1508
+ output_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.OutputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
1509
+ resolution_techniques: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.ResolutionTechniquesProperty, typing.Dict[builtins.str, typing.Any]]],
1510
+ role_arn: builtins.str,
1511
+ workflow_name: builtins.str,
1512
+ description: typing.Optional[builtins.str] = None,
1513
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1514
+ ) -> None:
1515
+ """Type checking stubs"""
1516
+ pass
1517
+
1518
+ def _typecheckingstub__8a2bf1cfd69ad77cafcf7b6d5e0508159e0ece5385e2b3a0808436e336abbfcc(
1519
+ inspector: _TreeInspector_488e0dd5,
1520
+ ) -> None:
1521
+ """Type checking stubs"""
1522
+ pass
1523
+
1524
+ def _typecheckingstub__83843fc5000b4b7c1f325390bceaadeeec20658b2de2de2143a3d987e3c49953(
1525
+ props: typing.Mapping[builtins.str, typing.Any],
1526
+ ) -> None:
1527
+ """Type checking stubs"""
1528
+ pass
1529
+
1530
+ def _typecheckingstub__46336e1b290b62290456cef0086653d1bf7bde247391e85b7b88570883b249d6(
1531
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.InputSourceProperty]]],
1532
+ ) -> None:
1533
+ """Type checking stubs"""
1534
+ pass
1535
+
1536
+ def _typecheckingstub__f6752620fe10a272a45c22eb2493e5e30fcac8bb82fcc95b6f46271727dadc72(
1537
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.OutputSourceProperty]]],
1538
+ ) -> None:
1539
+ """Type checking stubs"""
1540
+ pass
1541
+
1542
+ def _typecheckingstub__bfbb583351458ecc2896a0f04d4bae86260e8762b28c2687fe570562260a9a48(
1543
+ value: typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.ResolutionTechniquesProperty],
1544
+ ) -> None:
1545
+ """Type checking stubs"""
1546
+ pass
1547
+
1548
+ def _typecheckingstub__a68dfd5a70e354a050b7085c6c4cc4520862c51d487a8a8e920928f222fa1894(
1549
+ value: builtins.str,
1550
+ ) -> None:
1551
+ """Type checking stubs"""
1552
+ pass
1553
+
1554
+ def _typecheckingstub__92e33fb06ce08c9c2af24c4cb3e68018f92d9bc69c0f62bc965ba1640232fd73(
1555
+ value: builtins.str,
1556
+ ) -> None:
1557
+ """Type checking stubs"""
1558
+ pass
1559
+
1560
+ def _typecheckingstub__146028c4441df7c65ea8aba2981fe23a6e2fda2af137f4c78d1c5c84d63a3b1a(
1561
+ value: typing.Optional[builtins.str],
1562
+ ) -> None:
1563
+ """Type checking stubs"""
1564
+ pass
1565
+
1566
+ def _typecheckingstub__a7a7896d7bea53a4e2ffc9445d9a42b8864f5ac9a6cf43c3b27fe3c77bd39a83(
1567
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
1568
+ ) -> None:
1569
+ """Type checking stubs"""
1570
+ pass
1571
+
1572
+ def _typecheckingstub__6a18bfef9ee8ade2fff3913e22cf37d98f5880893c2204caa684a7f3831327af(
1573
+ *,
1574
+ input_source_arn: builtins.str,
1575
+ schema_arn: builtins.str,
1576
+ apply_normalization: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1577
+ ) -> None:
1578
+ """Type checking stubs"""
1579
+ pass
1580
+
1581
+ def _typecheckingstub__006a3c9280759d8123ca560d0c7cfef20e64f8703bb04be12b8a7e08728768e5(
1582
+ *,
1583
+ name: builtins.str,
1584
+ hashed: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1585
+ ) -> None:
1586
+ """Type checking stubs"""
1587
+ pass
1588
+
1589
+ def _typecheckingstub__92bb2dc25f018fe0017c7ab79f29b2fdfb4238d6fb1293a9cd606b9f93976df8(
1590
+ *,
1591
+ output: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.OutputAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]],
1592
+ output_s3_path: builtins.str,
1593
+ apply_normalization: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1594
+ kms_arn: typing.Optional[builtins.str] = None,
1595
+ ) -> None:
1596
+ """Type checking stubs"""
1597
+ pass
1598
+
1599
+ def _typecheckingstub__d1c6ea89cbe5bb10bb721c60f7c5951a6a56729058a7b00d3dd16b091aa63ab9(
1600
+ *,
1601
+ resolution_type: typing.Optional[builtins.str] = None,
1602
+ rule_based_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.RuleBasedPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1603
+ ) -> None:
1604
+ """Type checking stubs"""
1605
+ pass
1606
+
1607
+ def _typecheckingstub__96d1f97c0110dea5fb9a8413e199ae25878eedad10521ad056ca772f31ddb8ba(
1608
+ *,
1609
+ attribute_matching_model: builtins.str,
1610
+ rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]],
1611
+ ) -> None:
1612
+ """Type checking stubs"""
1613
+ pass
1614
+
1615
+ def _typecheckingstub__8ad893f1319125d264f9286a93c40cd8616031944a24803bccedd15e3233ef0f(
1616
+ *,
1617
+ matching_keys: typing.Sequence[builtins.str],
1618
+ rule_name: builtins.str,
1619
+ ) -> None:
1620
+ """Type checking stubs"""
1621
+ pass
1622
+
1623
+ def _typecheckingstub__2be3b46399b509a45bb640cf4a70ab0714322917a6d3dc4c241cb16ab2d1dbb0(
1624
+ *,
1625
+ input_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.InputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
1626
+ output_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.OutputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
1627
+ resolution_techniques: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.ResolutionTechniquesProperty, typing.Dict[builtins.str, typing.Any]]],
1628
+ role_arn: builtins.str,
1629
+ workflow_name: builtins.str,
1630
+ description: typing.Optional[builtins.str] = None,
1631
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1632
+ ) -> None:
1633
+ """Type checking stubs"""
1634
+ pass
1635
+
1636
+ def _typecheckingstub__d4b85e0c42d14b4681c4f948114178ba1c1a3d4eee3aed6f96a55a11624008b9(
1637
+ scope: _constructs_77d1e7e8.Construct,
1638
+ id: builtins.str,
1639
+ *,
1640
+ mapped_input_fields: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSchemaMapping.SchemaInputAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]],
1641
+ schema_name: builtins.str,
1642
+ description: typing.Optional[builtins.str] = None,
1643
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1644
+ ) -> None:
1645
+ """Type checking stubs"""
1646
+ pass
1647
+
1648
+ def _typecheckingstub__32b9491a9fbe1bcc73169aa2c5f87a0aa33490b2a27265d62378a0b8d687f933(
1649
+ inspector: _TreeInspector_488e0dd5,
1650
+ ) -> None:
1651
+ """Type checking stubs"""
1652
+ pass
1653
+
1654
+ def _typecheckingstub__b6cdea55ce60d609a9a8c6b9d013e19c06452d227285f779bdf5724280e9a7c4(
1655
+ props: typing.Mapping[builtins.str, typing.Any],
1656
+ ) -> None:
1657
+ """Type checking stubs"""
1658
+ pass
1659
+
1660
+ def _typecheckingstub__582cf934b619d5bd24742b664e76c854f1f5f978250eb7c8b069eea939a36d15(
1661
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSchemaMapping.SchemaInputAttributeProperty]]],
1662
+ ) -> None:
1663
+ """Type checking stubs"""
1664
+ pass
1665
+
1666
+ def _typecheckingstub__2e60d6efab6fe4d38d530b8bf0a9230db6dd3ba98b56dfb812bea973c5fb07fb(
1667
+ value: builtins.str,
1668
+ ) -> None:
1669
+ """Type checking stubs"""
1670
+ pass
1671
+
1672
+ def _typecheckingstub__45aaef5bf11ec7b2bf48bfb15f820ed7b15b4ae8a5c668df859ffb21058df8e7(
1673
+ value: typing.Optional[builtins.str],
1674
+ ) -> None:
1675
+ """Type checking stubs"""
1676
+ pass
1677
+
1678
+ def _typecheckingstub__eb00d34c669b02d875a4d122d6517a31b19c4fe763a25a3d3e60b62a88dc81c6(
1679
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
1680
+ ) -> None:
1681
+ """Type checking stubs"""
1682
+ pass
1683
+
1684
+ def _typecheckingstub__d608d145fae97c0a85e57f344f3785207a465f180330e5a7bec62b41172c661e(
1685
+ *,
1686
+ field_name: builtins.str,
1687
+ type: builtins.str,
1688
+ group_name: typing.Optional[builtins.str] = None,
1689
+ match_key: typing.Optional[builtins.str] = None,
1690
+ ) -> None:
1691
+ """Type checking stubs"""
1692
+ pass
1693
+
1694
+ def _typecheckingstub__fbadfeefbc588fc98477889c4f0b74bc9f51ac6d9fd8188d64b6ad629a494dad(
1695
+ *,
1696
+ mapped_input_fields: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSchemaMapping.SchemaInputAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]],
1697
+ schema_name: builtins.str,
1698
+ description: typing.Optional[builtins.str] = None,
1699
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1700
+ ) -> None:
1701
+ """Type checking stubs"""
1702
+ pass