aws-cdk-lib 2.137.0__py3-none-any.whl → 2.139.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (73) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.137.0.jsii.tgz → aws-cdk-lib@2.139.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +29 -113
  5. aws_cdk/aws_apigateway/__init__.py +29 -16
  6. aws_cdk/aws_appconfig/__init__.py +315 -77
  7. aws_cdk/aws_appintegrations/__init__.py +55 -6
  8. aws_cdk/aws_apprunner/__init__.py +5 -2
  9. aws_cdk/aws_appsync/__init__.py +400 -13
  10. aws_cdk/aws_aps/__init__.py +64 -47
  11. aws_cdk/aws_autoscaling/__init__.py +62 -60
  12. aws_cdk/aws_b2bi/__init__.py +2 -6
  13. aws_cdk/aws_backup/__init__.py +53 -57
  14. aws_cdk/aws_batch/__init__.py +109 -0
  15. aws_cdk/aws_bcmdataexports/__init__.py +1114 -0
  16. aws_cdk/aws_bedrock/__init__.py +4144 -0
  17. aws_cdk/aws_chatbot/__init__.py +6 -4
  18. aws_cdk/aws_cleanrooms/__init__.py +526 -3
  19. aws_cdk/aws_cleanroomsml/__init__.py +960 -0
  20. aws_cdk/aws_cloudtrail/__init__.py +10 -10
  21. aws_cdk/aws_cloudwatch/__init__.py +244 -8
  22. aws_cdk/aws_codebuild/__init__.py +27 -22
  23. aws_cdk/aws_codeconnections/__init__.py +435 -0
  24. aws_cdk/aws_cognito/__init__.py +175 -79
  25. aws_cdk/aws_datazone/__init__.py +22 -0
  26. aws_cdk/aws_deadline/__init__.py +5394 -0
  27. aws_cdk/aws_dms/__init__.py +2 -4
  28. aws_cdk/aws_ec2/__init__.py +402 -247
  29. aws_cdk/aws_ecr/__init__.py +630 -0
  30. aws_cdk/aws_ecs/__init__.py +361 -20
  31. aws_cdk/aws_efs/__init__.py +594 -2
  32. aws_cdk/aws_elasticache/__init__.py +86 -32
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +75 -10
  34. aws_cdk/aws_emr/__init__.py +2 -2
  35. aws_cdk/aws_entityresolution/__init__.py +1982 -773
  36. aws_cdk/aws_events_targets/__init__.py +17 -4
  37. aws_cdk/aws_globalaccelerator/__init__.py +443 -0
  38. aws_cdk/aws_iam/__init__.py +1 -2
  39. aws_cdk/aws_internetmonitor/__init__.py +14 -6
  40. aws_cdk/aws_ivs/__init__.py +1273 -71
  41. aws_cdk/aws_kms/__init__.py +44 -0
  42. aws_cdk/aws_lambda/__init__.py +9 -0
  43. aws_cdk/aws_mediatailor/__init__.py +41 -0
  44. aws_cdk/aws_oam/__init__.py +204 -0
  45. aws_cdk/aws_personalize/__init__.py +8 -6
  46. aws_cdk/aws_pinpoint/__init__.py +5 -3
  47. aws_cdk/aws_pipes/__init__.py +5 -1
  48. aws_cdk/aws_quicksight/__init__.py +12 -6
  49. aws_cdk/aws_rds/__init__.py +370 -96
  50. aws_cdk/aws_redshiftserverless/__init__.py +157 -0
  51. aws_cdk/aws_route53/__init__.py +587 -14
  52. aws_cdk/aws_sagemaker/__init__.py +233 -2
  53. aws_cdk/aws_securityhub/__init__.py +4940 -102
  54. aws_cdk/aws_securitylake/__init__.py +1326 -89
  55. aws_cdk/aws_ses_actions/__init__.py +155 -0
  56. aws_cdk/aws_sns/__init__.py +61 -4
  57. aws_cdk/aws_ssm/__init__.py +5 -2
  58. aws_cdk/aws_ssmcontacts/__init__.py +11 -4
  59. aws_cdk/aws_stepfunctions/__init__.py +8 -16
  60. aws_cdk/aws_stepfunctions_tasks/__init__.py +676 -1
  61. aws_cdk/aws_timestream/__init__.py +1045 -0
  62. aws_cdk/aws_transfer/__init__.py +19 -10
  63. aws_cdk/aws_verifiedpermissions/__init__.py +114 -37
  64. aws_cdk/aws_wisdom/__init__.py +2 -2
  65. aws_cdk/aws_workspacesthinclient/__init__.py +8 -8
  66. aws_cdk/custom_resources/__init__.py +688 -26
  67. aws_cdk/cx_api/__init__.py +17 -0
  68. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/METADATA +3 -3
  69. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/RECORD +73 -69
  70. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/LICENSE +0 -0
  71. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/NOTICE +0 -0
  72. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/WHEEL +0 -0
  73. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/top_level.txt +0 -0
@@ -440,11 +440,11 @@ class CfnIdMappingWorkflow(
440
440
  schema_arn: typing.Optional[builtins.str] = None,
441
441
  type: typing.Optional[builtins.str] = None,
442
442
  ) -> None:
443
- '''An object containing ``InputSourceARN`` and ``SchemaName`` .
443
+ '''An object containing ``InputSourceARN`` , ``SchemaName`` , and ``Type`` .
444
444
 
445
445
  :param input_source_arn: An AWS Glue table ARN for the input source table.
446
446
  :param schema_arn: The ARN (Amazon Resource Name) that AWS Entity Resolution generated for the ``SchemaMapping`` .
447
- :param type:
447
+ :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
448
448
 
449
449
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingworkflowinputsource.html
450
450
  :exampleMetadata: fixture=_generated
@@ -497,7 +497,12 @@ class CfnIdMappingWorkflow(
497
497
 
498
498
  @builtins.property
499
499
  def type(self) -> typing.Optional[builtins.str]:
500
- '''
500
+ '''The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` .
501
+
502
+ The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow.
503
+
504
+ The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
505
+
501
506
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingworkflowinputsource.html#cfn-entityresolution-idmappingworkflow-idmappingworkflowinputsource-type
502
507
  '''
503
508
  result = self._values.get("type")
@@ -943,17 +948,17 @@ class CfnIdMappingWorkflowProps:
943
948
 
944
949
 
945
950
  @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
946
- class CfnMatchingWorkflow(
951
+ class CfnIdNamespace(
947
952
  _CfnResource_9df397a6,
948
953
  metaclass=jsii.JSIIMeta,
949
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow",
954
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespace",
950
955
  ):
951
- '''Creates a ``MatchingWorkflow`` object which stores the configuration of the data processing job to be run.
956
+ '''Creates an ID namespace object which will help customers provide metadata explaining their dataset and how to use it.
952
957
 
953
- 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.
958
+ Each ID namespace must have a unique name. To modify an existing ID namespace, use the ``UpdateIdNamespace`` API.
954
959
 
955
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html
956
- :cloudformationResource: AWS::EntityResolution::MatchingWorkflow
960
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html
961
+ :cloudformationResource: AWS::EntityResolution::IdNamespace
957
962
  :exampleMetadata: fixture=_generated
958
963
 
959
964
  Example::
@@ -962,53 +967,32 @@ class CfnMatchingWorkflow(
962
967
  # The values are placeholders you should change.
963
968
  from aws_cdk import aws_entityresolution as entityresolution
964
969
 
965
- cfn_matching_workflow = entityresolution.CfnMatchingWorkflow(self, "MyCfnMatchingWorkflow",
966
- input_source_config=[entityresolution.CfnMatchingWorkflow.InputSourceProperty(
967
- input_source_arn="inputSourceArn",
968
- schema_arn="schemaArn",
969
-
970
- # the properties below are optional
971
- apply_normalization=False
972
- )],
973
- output_source_config=[entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
974
- output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
975
- name="name",
970
+ cfn_id_namespace = entityresolution.CfnIdNamespace(self, "MyCfnIdNamespace",
971
+ id_namespace_name="idNamespaceName",
972
+ type="type",
976
973
 
977
- # the properties below are optional
978
- hashed=False
979
- )],
980
- output_s3_path="outputS3Path",
974
+ # the properties below are optional
975
+ description="description",
976
+ id_mapping_workflow_properties=[entityresolution.CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty(
977
+ id_mapping_type="idMappingType",
981
978
 
982
979
  # the properties below are optional
983
- apply_normalization=False,
984
- kms_arn="kmsArn"
985
- )],
986
- resolution_techniques=entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
987
- provider_properties=entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty(
980
+ provider_properties=entityresolution.CfnIdNamespace.NamespaceProviderPropertiesProperty(
988
981
  provider_service_arn="providerServiceArn",
989
982
 
990
983
  # the properties below are optional
991
- intermediate_source_configuration=entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
992
- intermediate_s3_path="intermediateS3Path"
993
- ),
994
984
  provider_configuration={
995
985
  "provider_configuration_key": "providerConfiguration"
996
986
  }
997
- ),
998
- resolution_type="resolutionType",
999
- rule_based_properties=entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
1000
- attribute_matching_model="attributeMatchingModel",
1001
- rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
1002
- matching_keys=["matchingKeys"],
1003
- rule_name="ruleName"
1004
- )]
1005
987
  )
1006
- ),
1007
- role_arn="roleArn",
1008
- workflow_name="workflowName",
988
+ )],
989
+ input_source_config=[entityresolution.CfnIdNamespace.IdNamespaceInputSourceProperty(
990
+ input_source_arn="inputSourceArn",
1009
991
 
1010
- # the properties below are optional
1011
- description="description",
992
+ # the properties below are optional
993
+ schema_name="schemaName"
994
+ )],
995
+ role_arn="roleArn",
1012
996
  tags=[CfnTag(
1013
997
  key="key",
1014
998
  value="value"
@@ -1021,36 +1005,36 @@ class CfnMatchingWorkflow(
1021
1005
  scope: _constructs_77d1e7e8.Construct,
1022
1006
  id: builtins.str,
1023
1007
  *,
1024
- input_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.InputSourceProperty", typing.Dict[builtins.str, typing.Any]]]]],
1025
- output_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.OutputSourceProperty", typing.Dict[builtins.str, typing.Any]]]]],
1026
- resolution_techniques: typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.ResolutionTechniquesProperty", typing.Dict[builtins.str, typing.Any]]],
1027
- role_arn: builtins.str,
1028
- workflow_name: builtins.str,
1008
+ id_namespace_name: builtins.str,
1009
+ type: builtins.str,
1029
1010
  description: typing.Optional[builtins.str] = None,
1011
+ id_mapping_workflow_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1012
+ input_source_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespace.IdNamespaceInputSourceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1013
+ role_arn: typing.Optional[builtins.str] = None,
1030
1014
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1031
1015
  ) -> None:
1032
1016
  '''
1033
1017
  :param scope: Scope in which this resource is defined.
1034
1018
  :param id: Construct identifier for this resource (unique in its scope).
1019
+ :param id_namespace_name: The name of the ID namespace.
1020
+ :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
1021
+ :param description: The description of the ID namespace.
1022
+ :param id_mapping_workflow_properties: Determines the properties of ``IdMappingWorflow`` where this ``IdNamespace`` can be used as a ``Source`` or a ``Target`` .
1035
1023
  :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
1036
- :param output_source_config: A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
1037
- :param resolution_techniques: An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
1038
- :param role_arn: The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
1039
- :param workflow_name: The name of the workflow. There can't be multiple ``MatchingWorkflows`` with the same name.
1040
- :param description: A description of the workflow.
1024
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to access the resources defined in this ``IdNamespace`` on your behalf as part of the workflow run.
1041
1025
  :param tags: The tags used to organize, track, or control access for this resource.
1042
1026
  '''
1043
1027
  if __debug__:
1044
- type_hints = typing.get_type_hints(_typecheckingstub__8c9e9b620b89ac2aae774eb42384e0472b5a13eeb28983708b164b2400ebcd39)
1028
+ type_hints = typing.get_type_hints(_typecheckingstub__725fcecd44cb8acaba43bacc813f1feb11b78b50f21d8344c7e80f5e92917340)
1045
1029
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1046
1030
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1047
- props = CfnMatchingWorkflowProps(
1031
+ props = CfnIdNamespaceProps(
1032
+ id_namespace_name=id_namespace_name,
1033
+ type=type,
1034
+ description=description,
1035
+ id_mapping_workflow_properties=id_mapping_workflow_properties,
1048
1036
  input_source_config=input_source_config,
1049
- output_source_config=output_source_config,
1050
- resolution_techniques=resolution_techniques,
1051
1037
  role_arn=role_arn,
1052
- workflow_name=workflow_name,
1053
- description=description,
1054
1038
  tags=tags,
1055
1039
  )
1056
1040
 
@@ -1063,7 +1047,7 @@ class CfnMatchingWorkflow(
1063
1047
  :param inspector: tree inspector to collect and process attributes.
1064
1048
  '''
1065
1049
  if __debug__:
1066
- type_hints = typing.get_type_hints(_typecheckingstub__8a2bf1cfd69ad77cafcf7b6d5e0508159e0ece5385e2b3a0808436e336abbfcc)
1050
+ type_hints = typing.get_type_hints(_typecheckingstub__acf8c5714be6a867ffa9fef5d36a2331d2ce5ef82287380b1e043fd28e6f21f2)
1067
1051
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1068
1052
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1069
1053
 
@@ -1076,7 +1060,7 @@ class CfnMatchingWorkflow(
1076
1060
  :param props: -
1077
1061
  '''
1078
1062
  if __debug__:
1079
- type_hints = typing.get_type_hints(_typecheckingstub__83843fc5000b4b7c1f325390bceaadeeec20658b2de2de2143a3d987e3c49953)
1063
+ type_hints = typing.get_type_hints(_typecheckingstub__8d9f864fd29fded27417d446b412a21dab387ea93f243f5e7e7d25d71a2aec2f)
1080
1064
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1081
1065
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1082
1066
 
@@ -1089,29 +1073,29 @@ class CfnMatchingWorkflow(
1089
1073
  @builtins.property
1090
1074
  @jsii.member(jsii_name="attrCreatedAt")
1091
1075
  def attr_created_at(self) -> builtins.str:
1092
- '''The time of this MatchingWorkflow got created.
1076
+ '''The date and time when the IdNamespace was created.
1093
1077
 
1094
1078
  :cloudformationAttribute: CreatedAt
1095
1079
  '''
1096
1080
  return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
1097
1081
 
1098
1082
  @builtins.property
1099
- @jsii.member(jsii_name="attrUpdatedAt")
1100
- def attr_updated_at(self) -> builtins.str:
1101
- '''The time of this MatchingWorkflow got last updated at.
1083
+ @jsii.member(jsii_name="attrIdNamespaceArn")
1084
+ def attr_id_namespace_arn(self) -> builtins.str:
1085
+ '''The arn associated with the IdNamespace.
1102
1086
 
1103
- :cloudformationAttribute: UpdatedAt
1087
+ :cloudformationAttribute: IdNamespaceArn
1104
1088
  '''
1105
- return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
1089
+ return typing.cast(builtins.str, jsii.get(self, "attrIdNamespaceArn"))
1106
1090
 
1107
1091
  @builtins.property
1108
- @jsii.member(jsii_name="attrWorkflowArn")
1109
- def attr_workflow_arn(self) -> builtins.str:
1110
- '''The default MatchingWorkflow arn.
1092
+ @jsii.member(jsii_name="attrUpdatedAt")
1093
+ def attr_updated_at(self) -> builtins.str:
1094
+ '''The date and time when the IdNamespace was updated.
1111
1095
 
1112
- :cloudformationAttribute: WorkflowArn
1096
+ :cloudformationAttribute: UpdatedAt
1113
1097
  '''
1114
- return typing.cast(builtins.str, jsii.get(self, "attrWorkflowArn"))
1098
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
1115
1099
 
1116
1100
  @builtins.property
1117
1101
  @jsii.member(jsii_name="cdkTagManager")
@@ -1125,97 +1109,95 @@ class CfnMatchingWorkflow(
1125
1109
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1126
1110
 
1127
1111
  @builtins.property
1128
- @jsii.member(jsii_name="inputSourceConfig")
1129
- def input_source_config(
1130
- self,
1131
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]]:
1132
- '''A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .'''
1133
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]], jsii.get(self, "inputSourceConfig"))
1112
+ @jsii.member(jsii_name="idNamespaceName")
1113
+ def id_namespace_name(self) -> builtins.str:
1114
+ '''The name of the ID namespace.'''
1115
+ return typing.cast(builtins.str, jsii.get(self, "idNamespaceName"))
1134
1116
 
1135
- @input_source_config.setter
1136
- def input_source_config(
1137
- self,
1138
- value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]],
1139
- ) -> None:
1117
+ @id_namespace_name.setter
1118
+ def id_namespace_name(self, value: builtins.str) -> None:
1140
1119
  if __debug__:
1141
- type_hints = typing.get_type_hints(_typecheckingstub__46336e1b290b62290456cef0086653d1bf7bde247391e85b7b88570883b249d6)
1120
+ type_hints = typing.get_type_hints(_typecheckingstub__f6edc56662f23af984d5dabe222f6a5f7a29873d00db9469fa30becc99669015)
1142
1121
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1143
- jsii.set(self, "inputSourceConfig", value)
1122
+ jsii.set(self, "idNamespaceName", value)
1144
1123
 
1145
1124
  @builtins.property
1146
- @jsii.member(jsii_name="outputSourceConfig")
1147
- def output_source_config(
1148
- self,
1149
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]]:
1150
- '''A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .'''
1151
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]], jsii.get(self, "outputSourceConfig"))
1125
+ @jsii.member(jsii_name="type")
1126
+ def type(self) -> builtins.str:
1127
+ '''The type of ID namespace.
1152
1128
 
1153
- @output_source_config.setter
1154
- def output_source_config(
1155
- self,
1156
- value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]],
1157
- ) -> None:
1129
+ There are two types: ``SOURCE`` and ``TARGET`` .
1130
+ '''
1131
+ return typing.cast(builtins.str, jsii.get(self, "type"))
1132
+
1133
+ @type.setter
1134
+ def type(self, value: builtins.str) -> None:
1158
1135
  if __debug__:
1159
- type_hints = typing.get_type_hints(_typecheckingstub__f6752620fe10a272a45c22eb2493e5e30fcac8bb82fcc95b6f46271727dadc72)
1136
+ type_hints = typing.get_type_hints(_typecheckingstub__59aa3cddc506bb9301e306fc65a81fe2f3d9a2d8f6325f117b73c0cdfb3383f0)
1160
1137
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1161
- jsii.set(self, "outputSourceConfig", value)
1138
+ jsii.set(self, "type", value)
1162
1139
 
1163
1140
  @builtins.property
1164
- @jsii.member(jsii_name="resolutionTechniques")
1165
- def resolution_techniques(
1166
- self,
1167
- ) -> typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"]:
1168
- '''An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .'''
1169
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"], jsii.get(self, "resolutionTechniques"))
1141
+ @jsii.member(jsii_name="description")
1142
+ def description(self) -> typing.Optional[builtins.str]:
1143
+ '''The description of the ID namespace.'''
1144
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
1170
1145
 
1171
- @resolution_techniques.setter
1172
- def resolution_techniques(
1173
- self,
1174
- value: typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"],
1175
- ) -> None:
1146
+ @description.setter
1147
+ def description(self, value: typing.Optional[builtins.str]) -> None:
1176
1148
  if __debug__:
1177
- type_hints = typing.get_type_hints(_typecheckingstub__bfbb583351458ecc2896a0f04d4bae86260e8762b28c2687fe570562260a9a48)
1149
+ type_hints = typing.get_type_hints(_typecheckingstub__62808fb43ceca295eefdf3d9bf0915cc4c583c943ab92427f8ad0c90b7041c27)
1178
1150
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1179
- jsii.set(self, "resolutionTechniques", value)
1151
+ jsii.set(self, "description", value)
1180
1152
 
1181
1153
  @builtins.property
1182
- @jsii.member(jsii_name="roleArn")
1183
- def role_arn(self) -> builtins.str:
1184
- '''The Amazon Resource Name (ARN) of the IAM role.'''
1185
- return typing.cast(builtins.str, jsii.get(self, "roleArn"))
1154
+ @jsii.member(jsii_name="idMappingWorkflowProperties")
1155
+ def id_mapping_workflow_properties(
1156
+ self,
1157
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty"]]]]:
1158
+ '''Determines the properties of ``IdMappingWorflow`` where this ``IdNamespace`` can be used as a ``Source`` or a ``Target`` .'''
1159
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty"]]]], jsii.get(self, "idMappingWorkflowProperties"))
1186
1160
 
1187
- @role_arn.setter
1188
- def role_arn(self, value: builtins.str) -> None:
1161
+ @id_mapping_workflow_properties.setter
1162
+ def id_mapping_workflow_properties(
1163
+ self,
1164
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty"]]]],
1165
+ ) -> None:
1189
1166
  if __debug__:
1190
- type_hints = typing.get_type_hints(_typecheckingstub__a68dfd5a70e354a050b7085c6c4cc4520862c51d487a8a8e920928f222fa1894)
1167
+ type_hints = typing.get_type_hints(_typecheckingstub__bf3f06822761d2f6d3dffb9e7372b2e0adbfdbe7d2d1a69ccbf7fe76c0cd3563)
1191
1168
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1192
- jsii.set(self, "roleArn", value)
1169
+ jsii.set(self, "idMappingWorkflowProperties", value)
1193
1170
 
1194
1171
  @builtins.property
1195
- @jsii.member(jsii_name="workflowName")
1196
- def workflow_name(self) -> builtins.str:
1197
- '''The name of the workflow.'''
1198
- return typing.cast(builtins.str, jsii.get(self, "workflowName"))
1172
+ @jsii.member(jsii_name="inputSourceConfig")
1173
+ def input_source_config(
1174
+ self,
1175
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.IdNamespaceInputSourceProperty"]]]]:
1176
+ '''A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .'''
1177
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.IdNamespaceInputSourceProperty"]]]], jsii.get(self, "inputSourceConfig"))
1199
1178
 
1200
- @workflow_name.setter
1201
- def workflow_name(self, value: builtins.str) -> None:
1179
+ @input_source_config.setter
1180
+ def input_source_config(
1181
+ self,
1182
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.IdNamespaceInputSourceProperty"]]]],
1183
+ ) -> None:
1202
1184
  if __debug__:
1203
- type_hints = typing.get_type_hints(_typecheckingstub__92e33fb06ce08c9c2af24c4cb3e68018f92d9bc69c0f62bc965ba1640232fd73)
1185
+ type_hints = typing.get_type_hints(_typecheckingstub__07ed70fcfed9befc6606046de0c338bb1c3c4a34f8857c885f1ee4de60a117a5)
1204
1186
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1205
- jsii.set(self, "workflowName", value)
1187
+ jsii.set(self, "inputSourceConfig", value)
1206
1188
 
1207
1189
  @builtins.property
1208
- @jsii.member(jsii_name="description")
1209
- def description(self) -> typing.Optional[builtins.str]:
1210
- '''A description of the workflow.'''
1211
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
1190
+ @jsii.member(jsii_name="roleArn")
1191
+ def role_arn(self) -> typing.Optional[builtins.str]:
1192
+ '''The Amazon Resource Name (ARN) of the IAM role.'''
1193
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "roleArn"))
1212
1194
 
1213
- @description.setter
1214
- def description(self, value: typing.Optional[builtins.str]) -> None:
1195
+ @role_arn.setter
1196
+ def role_arn(self, value: typing.Optional[builtins.str]) -> None:
1215
1197
  if __debug__:
1216
- type_hints = typing.get_type_hints(_typecheckingstub__146028c4441df7c65ea8aba2981fe23a6e2fda2af137f4c78d1c5c84d63a3b1a)
1198
+ type_hints = typing.get_type_hints(_typecheckingstub__94c305262a4b68819464007b072179d90eca1c2de79673e950550fcc4c13e4da)
1217
1199
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1218
- jsii.set(self, "description", value)
1200
+ jsii.set(self, "roleArn", value)
1219
1201
 
1220
1202
  @builtins.property
1221
1203
  @jsii.member(jsii_name="tags")
@@ -1226,34 +1208,31 @@ class CfnMatchingWorkflow(
1226
1208
  @tags.setter
1227
1209
  def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1228
1210
  if __debug__:
1229
- type_hints = typing.get_type_hints(_typecheckingstub__a7a7896d7bea53a4e2ffc9445d9a42b8864f5ac9a6cf43c3b27fe3c77bd39a83)
1211
+ type_hints = typing.get_type_hints(_typecheckingstub__8f05afda3b318f866f888a36136617b66dbba80a6134a0504f9adc95f42fbdff)
1230
1212
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1231
1213
  jsii.set(self, "tags", value)
1232
1214
 
1233
1215
  @jsii.data_type(
1234
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.InputSourceProperty",
1216
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty",
1235
1217
  jsii_struct_bases=[],
1236
1218
  name_mapping={
1237
- "input_source_arn": "inputSourceArn",
1238
- "schema_arn": "schemaArn",
1239
- "apply_normalization": "applyNormalization",
1219
+ "id_mapping_type": "idMappingType",
1220
+ "provider_properties": "providerProperties",
1240
1221
  },
1241
1222
  )
1242
- class InputSourceProperty:
1223
+ class IdNamespaceIdMappingWorkflowPropertiesProperty:
1243
1224
  def __init__(
1244
1225
  self,
1245
1226
  *,
1246
- input_source_arn: builtins.str,
1247
- schema_arn: builtins.str,
1248
- apply_normalization: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1227
+ id_mapping_type: builtins.str,
1228
+ provider_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespace.NamespaceProviderPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1249
1229
  ) -> None:
1250
- '''An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
1230
+ '''An object containing ``IdMappingType`` and ``ProviderProperties`` .
1251
1231
 
1252
- :param input_source_arn: An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
1253
- :param schema_arn: The name of the schema.
1254
- :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.
1232
+ :param id_mapping_type: The type of ID mapping.
1233
+ :param provider_properties: An object which defines any additional configurations required by the provider service.
1255
1234
 
1256
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html
1235
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties.html
1257
1236
  :exampleMetadata: fixture=_generated
1258
1237
 
1259
1238
  Example::
@@ -1262,58 +1241,50 @@ class CfnMatchingWorkflow(
1262
1241
  # The values are placeholders you should change.
1263
1242
  from aws_cdk import aws_entityresolution as entityresolution
1264
1243
 
1265
- input_source_property = entityresolution.CfnMatchingWorkflow.InputSourceProperty(
1266
- input_source_arn="inputSourceArn",
1267
- schema_arn="schemaArn",
1244
+ id_namespace_id_mapping_workflow_properties_property = entityresolution.CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty(
1245
+ id_mapping_type="idMappingType",
1268
1246
 
1269
1247
  # the properties below are optional
1270
- apply_normalization=False
1248
+ provider_properties=entityresolution.CfnIdNamespace.NamespaceProviderPropertiesProperty(
1249
+ provider_service_arn="providerServiceArn",
1250
+
1251
+ # the properties below are optional
1252
+ provider_configuration={
1253
+ "provider_configuration_key": "providerConfiguration"
1254
+ }
1255
+ )
1271
1256
  )
1272
1257
  '''
1273
1258
  if __debug__:
1274
- type_hints = typing.get_type_hints(_typecheckingstub__6a18bfef9ee8ade2fff3913e22cf37d98f5880893c2204caa684a7f3831327af)
1275
- check_type(argname="argument input_source_arn", value=input_source_arn, expected_type=type_hints["input_source_arn"])
1276
- check_type(argname="argument schema_arn", value=schema_arn, expected_type=type_hints["schema_arn"])
1277
- check_type(argname="argument apply_normalization", value=apply_normalization, expected_type=type_hints["apply_normalization"])
1259
+ type_hints = typing.get_type_hints(_typecheckingstub__0fc06bed3ebb2bebac13d7f812581356c393a6004c7ebcc6cfeb91e46afa58b5)
1260
+ check_type(argname="argument id_mapping_type", value=id_mapping_type, expected_type=type_hints["id_mapping_type"])
1261
+ check_type(argname="argument provider_properties", value=provider_properties, expected_type=type_hints["provider_properties"])
1278
1262
  self._values: typing.Dict[builtins.str, typing.Any] = {
1279
- "input_source_arn": input_source_arn,
1280
- "schema_arn": schema_arn,
1263
+ "id_mapping_type": id_mapping_type,
1281
1264
  }
1282
- if apply_normalization is not None:
1283
- self._values["apply_normalization"] = apply_normalization
1284
-
1285
- @builtins.property
1286
- def input_source_arn(self) -> builtins.str:
1287
- '''An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
1288
-
1289
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-inputsourcearn
1290
- '''
1291
- result = self._values.get("input_source_arn")
1292
- assert result is not None, "Required property 'input_source_arn' is missing"
1293
- return typing.cast(builtins.str, result)
1265
+ if provider_properties is not None:
1266
+ self._values["provider_properties"] = provider_properties
1294
1267
 
1295
1268
  @builtins.property
1296
- def schema_arn(self) -> builtins.str:
1297
- '''The name of the schema.
1269
+ def id_mapping_type(self) -> builtins.str:
1270
+ '''The type of ID mapping.
1298
1271
 
1299
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-schemaarn
1272
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties.html#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-idmappingtype
1300
1273
  '''
1301
- result = self._values.get("schema_arn")
1302
- assert result is not None, "Required property 'schema_arn' is missing"
1274
+ result = self._values.get("id_mapping_type")
1275
+ assert result is not None, "Required property 'id_mapping_type' is missing"
1303
1276
  return typing.cast(builtins.str, result)
1304
1277
 
1305
1278
  @builtins.property
1306
- def apply_normalization(
1279
+ def provider_properties(
1307
1280
  self,
1308
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1309
- '''Normalizes the attributes defined in the schema in the input data.
1310
-
1311
- 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.
1281
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.NamespaceProviderPropertiesProperty"]]:
1282
+ '''An object which defines any additional configurations required by the provider service.
1312
1283
 
1313
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-applynormalization
1284
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties.html#cfn-entityresolution-idnamespace-idnamespaceidmappingworkflowproperties-providerproperties
1314
1285
  '''
1315
- result = self._values.get("apply_normalization")
1316
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1286
+ result = self._values.get("provider_properties")
1287
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdNamespace.NamespaceProviderPropertiesProperty"]], result)
1317
1288
 
1318
1289
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1319
1290
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1322,174 +1293,31 @@ class CfnMatchingWorkflow(
1322
1293
  return not (rhs == self)
1323
1294
 
1324
1295
  def __repr__(self) -> str:
1325
- return "InputSourceProperty(%s)" % ", ".join(
1296
+ return "IdNamespaceIdMappingWorkflowPropertiesProperty(%s)" % ", ".join(
1326
1297
  k + "=" + repr(v) for k, v in self._values.items()
1327
1298
  )
1328
1299
 
1329
1300
  @jsii.data_type(
1330
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty",
1301
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespace.IdNamespaceInputSourceProperty",
1331
1302
  jsii_struct_bases=[],
1332
- name_mapping={"intermediate_s3_path": "intermediateS3Path"},
1303
+ name_mapping={
1304
+ "input_source_arn": "inputSourceArn",
1305
+ "schema_name": "schemaName",
1306
+ },
1333
1307
  )
1334
- class IntermediateSourceConfigurationProperty:
1335
- def __init__(self, *, intermediate_s3_path: builtins.str) -> None:
1336
- '''The Amazon S3 location that temporarily stores your data while it processes.
1337
-
1338
- Your information won't be saved permanently.
1339
-
1340
- :param intermediate_s3_path: The Amazon S3 location (bucket and prefix). For example: ``s3://provider_bucket/DOC-EXAMPLE-BUCKET``
1341
-
1342
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-intermediatesourceconfiguration.html
1343
- :exampleMetadata: fixture=_generated
1344
-
1345
- Example::
1346
-
1347
- # The code below shows an example of how to instantiate this type.
1348
- # The values are placeholders you should change.
1349
- from aws_cdk import aws_entityresolution as entityresolution
1350
-
1351
- intermediate_source_configuration_property = entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
1352
- intermediate_s3_path="intermediateS3Path"
1353
- )
1354
- '''
1355
- if __debug__:
1356
- type_hints = typing.get_type_hints(_typecheckingstub__daeae439a9bdc17358415316e1698c6a761d86970a2159c5d870437f7498d2b4)
1357
- check_type(argname="argument intermediate_s3_path", value=intermediate_s3_path, expected_type=type_hints["intermediate_s3_path"])
1358
- self._values: typing.Dict[builtins.str, typing.Any] = {
1359
- "intermediate_s3_path": intermediate_s3_path,
1360
- }
1361
-
1362
- @builtins.property
1363
- def intermediate_s3_path(self) -> builtins.str:
1364
- '''The Amazon S3 location (bucket and prefix).
1365
-
1366
- For example: ``s3://provider_bucket/DOC-EXAMPLE-BUCKET``
1367
-
1368
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-intermediatesourceconfiguration.html#cfn-entityresolution-matchingworkflow-intermediatesourceconfiguration-intermediates3path
1369
- '''
1370
- result = self._values.get("intermediate_s3_path")
1371
- assert result is not None, "Required property 'intermediate_s3_path' is missing"
1372
- return typing.cast(builtins.str, result)
1373
-
1374
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
1375
- return isinstance(rhs, self.__class__) and rhs._values == self._values
1376
-
1377
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
1378
- return not (rhs == self)
1379
-
1380
- def __repr__(self) -> str:
1381
- return "IntermediateSourceConfigurationProperty(%s)" % ", ".join(
1382
- k + "=" + repr(v) for k, v in self._values.items()
1383
- )
1384
-
1385
- @jsii.data_type(
1386
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.OutputAttributeProperty",
1387
- jsii_struct_bases=[],
1388
- name_mapping={"name": "name", "hashed": "hashed"},
1389
- )
1390
- class OutputAttributeProperty:
1391
- def __init__(
1392
- self,
1393
- *,
1394
- name: builtins.str,
1395
- hashed: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1396
- ) -> None:
1397
- '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
1398
-
1399
- Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
1400
-
1401
- :param name: A name of a column to be written to the output. This must be an ``InputField`` name in the schema mapping.
1402
- :param hashed: Enables the ability to hash the column values in the output.
1403
-
1404
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html
1405
- :exampleMetadata: fixture=_generated
1406
-
1407
- Example::
1408
-
1409
- # The code below shows an example of how to instantiate this type.
1410
- # The values are placeholders you should change.
1411
- from aws_cdk import aws_entityresolution as entityresolution
1412
-
1413
- output_attribute_property = entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
1414
- name="name",
1415
-
1416
- # the properties below are optional
1417
- hashed=False
1418
- )
1419
- '''
1420
- if __debug__:
1421
- type_hints = typing.get_type_hints(_typecheckingstub__006a3c9280759d8123ca560d0c7cfef20e64f8703bb04be12b8a7e08728768e5)
1422
- check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1423
- check_type(argname="argument hashed", value=hashed, expected_type=type_hints["hashed"])
1424
- self._values: typing.Dict[builtins.str, typing.Any] = {
1425
- "name": name,
1426
- }
1427
- if hashed is not None:
1428
- self._values["hashed"] = hashed
1429
-
1430
- @builtins.property
1431
- def name(self) -> builtins.str:
1432
- '''A name of a column to be written to the output.
1433
-
1434
- This must be an ``InputField`` name in the schema mapping.
1435
-
1436
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html#cfn-entityresolution-matchingworkflow-outputattribute-name
1437
- '''
1438
- result = self._values.get("name")
1439
- assert result is not None, "Required property 'name' is missing"
1440
- return typing.cast(builtins.str, result)
1441
-
1442
- @builtins.property
1443
- def hashed(
1444
- self,
1445
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1446
- '''Enables the ability to hash the column values in the output.
1447
-
1448
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html#cfn-entityresolution-matchingworkflow-outputattribute-hashed
1449
- '''
1450
- result = self._values.get("hashed")
1451
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1452
-
1453
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
1454
- return isinstance(rhs, self.__class__) and rhs._values == self._values
1455
-
1456
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
1457
- return not (rhs == self)
1458
-
1459
- def __repr__(self) -> str:
1460
- return "OutputAttributeProperty(%s)" % ", ".join(
1461
- k + "=" + repr(v) for k, v in self._values.items()
1462
- )
1463
-
1464
- @jsii.data_type(
1465
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.OutputSourceProperty",
1466
- jsii_struct_bases=[],
1467
- name_mapping={
1468
- "output": "output",
1469
- "output_s3_path": "outputS3Path",
1470
- "apply_normalization": "applyNormalization",
1471
- "kms_arn": "kmsArn",
1472
- },
1473
- )
1474
- class OutputSourceProperty:
1308
+ class IdNamespaceInputSourceProperty:
1475
1309
  def __init__(
1476
1310
  self,
1477
1311
  *,
1478
- output: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.OutputAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]],
1479
- output_s3_path: builtins.str,
1480
- apply_normalization: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1481
- kms_arn: typing.Optional[builtins.str] = None,
1312
+ input_source_arn: builtins.str,
1313
+ schema_name: typing.Optional[builtins.str] = None,
1482
1314
  ) -> None:
1483
- '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
1484
-
1485
- Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
1315
+ '''An object containing ``InputSourceARN`` and ``SchemaName`` .
1486
1316
 
1487
- :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.
1488
- :param output_s3_path: The S3 path to which AWS Entity Resolution will write the output table.
1489
- :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.
1490
- :param kms_arn: Customer KMS ARN for encryption at rest. If not provided, system will use an AWS Entity Resolution managed KMS key.
1317
+ :param input_source_arn: An AWS Glue table ARN for the input source table.
1318
+ :param schema_name: The name of the schema.
1491
1319
 
1492
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html
1320
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceinputsource.html
1493
1321
  :exampleMetadata: fixture=_generated
1494
1322
 
1495
1323
  Example::
@@ -1498,81 +1326,40 @@ class CfnMatchingWorkflow(
1498
1326
  # The values are placeholders you should change.
1499
1327
  from aws_cdk import aws_entityresolution as entityresolution
1500
1328
 
1501
- output_source_property = entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
1502
- output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
1503
- name="name",
1504
-
1505
- # the properties below are optional
1506
- hashed=False
1507
- )],
1508
- output_s3_path="outputS3Path",
1329
+ id_namespace_input_source_property = entityresolution.CfnIdNamespace.IdNamespaceInputSourceProperty(
1330
+ input_source_arn="inputSourceArn",
1509
1331
 
1510
1332
  # the properties below are optional
1511
- apply_normalization=False,
1512
- kms_arn="kmsArn"
1333
+ schema_name="schemaName"
1513
1334
  )
1514
1335
  '''
1515
1336
  if __debug__:
1516
- type_hints = typing.get_type_hints(_typecheckingstub__92bb2dc25f018fe0017c7ab79f29b2fdfb4238d6fb1293a9cd606b9f93976df8)
1517
- check_type(argname="argument output", value=output, expected_type=type_hints["output"])
1518
- check_type(argname="argument output_s3_path", value=output_s3_path, expected_type=type_hints["output_s3_path"])
1519
- check_type(argname="argument apply_normalization", value=apply_normalization, expected_type=type_hints["apply_normalization"])
1520
- check_type(argname="argument kms_arn", value=kms_arn, expected_type=type_hints["kms_arn"])
1337
+ type_hints = typing.get_type_hints(_typecheckingstub__aa5718722693305710be5b352d71edd25fd091931c7c10bc186aa634ab02534a)
1338
+ check_type(argname="argument input_source_arn", value=input_source_arn, expected_type=type_hints["input_source_arn"])
1339
+ check_type(argname="argument schema_name", value=schema_name, expected_type=type_hints["schema_name"])
1521
1340
  self._values: typing.Dict[builtins.str, typing.Any] = {
1522
- "output": output,
1523
- "output_s3_path": output_s3_path,
1341
+ "input_source_arn": input_source_arn,
1524
1342
  }
1525
- if apply_normalization is not None:
1526
- self._values["apply_normalization"] = apply_normalization
1527
- if kms_arn is not None:
1528
- self._values["kms_arn"] = kms_arn
1343
+ if schema_name is not None:
1344
+ self._values["schema_name"] = schema_name
1529
1345
 
1530
1346
  @builtins.property
1531
- def output(
1532
- self,
1533
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputAttributeProperty"]]]:
1534
- '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
1535
-
1536
- Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
1537
-
1538
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-output
1539
- '''
1540
- result = self._values.get("output")
1541
- assert result is not None, "Required property 'output' is missing"
1542
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputAttributeProperty"]]], result)
1543
-
1544
- @builtins.property
1545
- def output_s3_path(self) -> builtins.str:
1546
- '''The S3 path to which AWS Entity Resolution will write the output table.
1347
+ def input_source_arn(self) -> builtins.str:
1348
+ '''An AWS Glue table ARN for the input source table.
1547
1349
 
1548
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-outputs3path
1350
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceinputsource.html#cfn-entityresolution-idnamespace-idnamespaceinputsource-inputsourcearn
1549
1351
  '''
1550
- result = self._values.get("output_s3_path")
1551
- assert result is not None, "Required property 'output_s3_path' is missing"
1352
+ result = self._values.get("input_source_arn")
1353
+ assert result is not None, "Required property 'input_source_arn' is missing"
1552
1354
  return typing.cast(builtins.str, result)
1553
1355
 
1554
1356
  @builtins.property
1555
- def apply_normalization(
1556
- self,
1557
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1558
- '''Normalizes the attributes defined in the schema in the input data.
1559
-
1560
- 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.
1561
-
1562
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-applynormalization
1563
- '''
1564
- result = self._values.get("apply_normalization")
1565
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
1566
-
1567
- @builtins.property
1568
- def kms_arn(self) -> typing.Optional[builtins.str]:
1569
- '''Customer KMS ARN for encryption at rest.
1570
-
1571
- If not provided, system will use an AWS Entity Resolution managed KMS key.
1357
+ def schema_name(self) -> typing.Optional[builtins.str]:
1358
+ '''The name of the schema.
1572
1359
 
1573
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-kmsarn
1360
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceinputsource.html#cfn-entityresolution-idnamespace-idnamespaceinputsource-schemaname
1574
1361
  '''
1575
- result = self._values.get("kms_arn")
1362
+ result = self._values.get("schema_name")
1576
1363
  return typing.cast(typing.Optional[builtins.str], result)
1577
1364
 
1578
1365
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
@@ -1582,34 +1369,31 @@ class CfnMatchingWorkflow(
1582
1369
  return not (rhs == self)
1583
1370
 
1584
1371
  def __repr__(self) -> str:
1585
- return "OutputSourceProperty(%s)" % ", ".join(
1372
+ return "IdNamespaceInputSourceProperty(%s)" % ", ".join(
1586
1373
  k + "=" + repr(v) for k, v in self._values.items()
1587
1374
  )
1588
1375
 
1589
1376
  @jsii.data_type(
1590
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty",
1377
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespace.NamespaceProviderPropertiesProperty",
1591
1378
  jsii_struct_bases=[],
1592
1379
  name_mapping={
1593
1380
  "provider_service_arn": "providerServiceArn",
1594
- "intermediate_source_configuration": "intermediateSourceConfiguration",
1595
1381
  "provider_configuration": "providerConfiguration",
1596
1382
  },
1597
1383
  )
1598
- class ProviderPropertiesProperty:
1384
+ class NamespaceProviderPropertiesProperty:
1599
1385
  def __init__(
1600
1386
  self,
1601
1387
  *,
1602
1388
  provider_service_arn: builtins.str,
1603
- intermediate_source_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.IntermediateSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1604
1389
  provider_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
1605
1390
  ) -> None:
1606
- '''An object containing the ``providerServiceARN`` , ``intermediateSourceConfiguration`` , and ``providerConfiguration`` .
1391
+ '''An object containing ``ProviderConfiguration`` and ``ProviderServiceArn`` .
1607
1392
 
1608
- :param provider_service_arn: The ARN of the provider service.
1609
- :param intermediate_source_configuration: The Amazon S3 location that temporarily stores your data while it processes. Your information won't be saved permanently.
1610
- :param provider_configuration: The required configuration fields to use with the provider service.
1393
+ :param provider_service_arn: The Amazon Resource Name (ARN) of the provider service.
1394
+ :param provider_configuration: An object which defines any additional configurations required by the provider service.
1611
1395
 
1612
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-providerproperties.html
1396
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-namespaceproviderproperties.html
1613
1397
  :exampleMetadata: fixture=_generated
1614
1398
 
1615
1399
  Example::
@@ -1618,61 +1402,42 @@ class CfnMatchingWorkflow(
1618
1402
  # The values are placeholders you should change.
1619
1403
  from aws_cdk import aws_entityresolution as entityresolution
1620
1404
 
1621
- provider_properties_property = entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty(
1405
+ namespace_provider_properties_property = entityresolution.CfnIdNamespace.NamespaceProviderPropertiesProperty(
1622
1406
  provider_service_arn="providerServiceArn",
1623
1407
 
1624
1408
  # the properties below are optional
1625
- intermediate_source_configuration=entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
1626
- intermediate_s3_path="intermediateS3Path"
1627
- ),
1628
1409
  provider_configuration={
1629
1410
  "provider_configuration_key": "providerConfiguration"
1630
1411
  }
1631
1412
  )
1632
1413
  '''
1633
1414
  if __debug__:
1634
- type_hints = typing.get_type_hints(_typecheckingstub__9d0c8e14a190c02dfa2c1fa72a0c82e1ead9fb5ffa0de2fbba168cafff86959a)
1415
+ type_hints = typing.get_type_hints(_typecheckingstub__8d5dbe88736667d56bc74050ba3debedc70aa5658eb42d955598a1141fa6accd)
1635
1416
  check_type(argname="argument provider_service_arn", value=provider_service_arn, expected_type=type_hints["provider_service_arn"])
1636
- check_type(argname="argument intermediate_source_configuration", value=intermediate_source_configuration, expected_type=type_hints["intermediate_source_configuration"])
1637
1417
  check_type(argname="argument provider_configuration", value=provider_configuration, expected_type=type_hints["provider_configuration"])
1638
1418
  self._values: typing.Dict[builtins.str, typing.Any] = {
1639
1419
  "provider_service_arn": provider_service_arn,
1640
1420
  }
1641
- if intermediate_source_configuration is not None:
1642
- self._values["intermediate_source_configuration"] = intermediate_source_configuration
1643
1421
  if provider_configuration is not None:
1644
1422
  self._values["provider_configuration"] = provider_configuration
1645
1423
 
1646
1424
  @builtins.property
1647
1425
  def provider_service_arn(self) -> builtins.str:
1648
- '''The ARN of the provider service.
1426
+ '''The Amazon Resource Name (ARN) of the provider service.
1649
1427
 
1650
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-providerproperties.html#cfn-entityresolution-matchingworkflow-providerproperties-providerservicearn
1428
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-namespaceproviderproperties.html#cfn-entityresolution-idnamespace-namespaceproviderproperties-providerservicearn
1651
1429
  '''
1652
1430
  result = self._values.get("provider_service_arn")
1653
1431
  assert result is not None, "Required property 'provider_service_arn' is missing"
1654
1432
  return typing.cast(builtins.str, result)
1655
1433
 
1656
- @builtins.property
1657
- def intermediate_source_configuration(
1658
- self,
1659
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.IntermediateSourceConfigurationProperty"]]:
1660
- '''The Amazon S3 location that temporarily stores your data while it processes.
1661
-
1662
- Your information won't be saved permanently.
1663
-
1664
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-providerproperties.html#cfn-entityresolution-matchingworkflow-providerproperties-intermediatesourceconfiguration
1665
- '''
1666
- result = self._values.get("intermediate_source_configuration")
1667
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.IntermediateSourceConfigurationProperty"]], result)
1668
-
1669
1434
  @builtins.property
1670
1435
  def provider_configuration(
1671
1436
  self,
1672
1437
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
1673
- '''The required configuration fields to use with the provider service.
1438
+ '''An object which defines any additional configurations required by the provider service.
1674
1439
 
1675
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-providerproperties.html#cfn-entityresolution-matchingworkflow-providerproperties-providerconfiguration
1440
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-namespaceproviderproperties.html#cfn-entityresolution-idnamespace-namespaceproviderproperties-providerconfiguration
1676
1441
  '''
1677
1442
  result = self._values.get("provider_configuration")
1678
1443
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
@@ -1684,7 +1449,941 @@ class CfnMatchingWorkflow(
1684
1449
  return not (rhs == self)
1685
1450
 
1686
1451
  def __repr__(self) -> str:
1687
- return "ProviderPropertiesProperty(%s)" % ", ".join(
1452
+ return "NamespaceProviderPropertiesProperty(%s)" % ", ".join(
1453
+ k + "=" + repr(v) for k, v in self._values.items()
1454
+ )
1455
+
1456
+
1457
+ @jsii.data_type(
1458
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnIdNamespaceProps",
1459
+ jsii_struct_bases=[],
1460
+ name_mapping={
1461
+ "id_namespace_name": "idNamespaceName",
1462
+ "type": "type",
1463
+ "description": "description",
1464
+ "id_mapping_workflow_properties": "idMappingWorkflowProperties",
1465
+ "input_source_config": "inputSourceConfig",
1466
+ "role_arn": "roleArn",
1467
+ "tags": "tags",
1468
+ },
1469
+ )
1470
+ class CfnIdNamespaceProps:
1471
+ def __init__(
1472
+ self,
1473
+ *,
1474
+ id_namespace_name: builtins.str,
1475
+ type: builtins.str,
1476
+ description: typing.Optional[builtins.str] = None,
1477
+ id_mapping_workflow_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1478
+ input_source_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.IdNamespaceInputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1479
+ role_arn: typing.Optional[builtins.str] = None,
1480
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1481
+ ) -> None:
1482
+ '''Properties for defining a ``CfnIdNamespace``.
1483
+
1484
+ :param id_namespace_name: The name of the ID namespace.
1485
+ :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
1486
+ :param description: The description of the ID namespace.
1487
+ :param id_mapping_workflow_properties: Determines the properties of ``IdMappingWorflow`` where this ``IdNamespace`` can be used as a ``Source`` or a ``Target`` .
1488
+ :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
1489
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to access the resources defined in this ``IdNamespace`` on your behalf as part of the workflow run.
1490
+ :param tags: The tags used to organize, track, or control access for this resource.
1491
+
1492
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html
1493
+ :exampleMetadata: fixture=_generated
1494
+
1495
+ Example::
1496
+
1497
+ # The code below shows an example of how to instantiate this type.
1498
+ # The values are placeholders you should change.
1499
+ from aws_cdk import aws_entityresolution as entityresolution
1500
+
1501
+ cfn_id_namespace_props = entityresolution.CfnIdNamespaceProps(
1502
+ id_namespace_name="idNamespaceName",
1503
+ type="type",
1504
+
1505
+ # the properties below are optional
1506
+ description="description",
1507
+ id_mapping_workflow_properties=[entityresolution.CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty(
1508
+ id_mapping_type="idMappingType",
1509
+
1510
+ # the properties below are optional
1511
+ provider_properties=entityresolution.CfnIdNamespace.NamespaceProviderPropertiesProperty(
1512
+ provider_service_arn="providerServiceArn",
1513
+
1514
+ # the properties below are optional
1515
+ provider_configuration={
1516
+ "provider_configuration_key": "providerConfiguration"
1517
+ }
1518
+ )
1519
+ )],
1520
+ input_source_config=[entityresolution.CfnIdNamespace.IdNamespaceInputSourceProperty(
1521
+ input_source_arn="inputSourceArn",
1522
+
1523
+ # the properties below are optional
1524
+ schema_name="schemaName"
1525
+ )],
1526
+ role_arn="roleArn",
1527
+ tags=[CfnTag(
1528
+ key="key",
1529
+ value="value"
1530
+ )]
1531
+ )
1532
+ '''
1533
+ if __debug__:
1534
+ type_hints = typing.get_type_hints(_typecheckingstub__08dbceaf6584c6ddec9cc5b62fe86da5739412407f6e361f15be9f4533370973)
1535
+ check_type(argname="argument id_namespace_name", value=id_namespace_name, expected_type=type_hints["id_namespace_name"])
1536
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
1537
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1538
+ check_type(argname="argument id_mapping_workflow_properties", value=id_mapping_workflow_properties, expected_type=type_hints["id_mapping_workflow_properties"])
1539
+ check_type(argname="argument input_source_config", value=input_source_config, expected_type=type_hints["input_source_config"])
1540
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
1541
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1542
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1543
+ "id_namespace_name": id_namespace_name,
1544
+ "type": type,
1545
+ }
1546
+ if description is not None:
1547
+ self._values["description"] = description
1548
+ if id_mapping_workflow_properties is not None:
1549
+ self._values["id_mapping_workflow_properties"] = id_mapping_workflow_properties
1550
+ if input_source_config is not None:
1551
+ self._values["input_source_config"] = input_source_config
1552
+ if role_arn is not None:
1553
+ self._values["role_arn"] = role_arn
1554
+ if tags is not None:
1555
+ self._values["tags"] = tags
1556
+
1557
+ @builtins.property
1558
+ def id_namespace_name(self) -> builtins.str:
1559
+ '''The name of the ID namespace.
1560
+
1561
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html#cfn-entityresolution-idnamespace-idnamespacename
1562
+ '''
1563
+ result = self._values.get("id_namespace_name")
1564
+ assert result is not None, "Required property 'id_namespace_name' is missing"
1565
+ return typing.cast(builtins.str, result)
1566
+
1567
+ @builtins.property
1568
+ def type(self) -> builtins.str:
1569
+ '''The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` .
1570
+
1571
+ The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow.
1572
+
1573
+ The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
1574
+
1575
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html#cfn-entityresolution-idnamespace-type
1576
+ '''
1577
+ result = self._values.get("type")
1578
+ assert result is not None, "Required property 'type' is missing"
1579
+ return typing.cast(builtins.str, result)
1580
+
1581
+ @builtins.property
1582
+ def description(self) -> typing.Optional[builtins.str]:
1583
+ '''The description of the ID namespace.
1584
+
1585
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html#cfn-entityresolution-idnamespace-description
1586
+ '''
1587
+ result = self._values.get("description")
1588
+ return typing.cast(typing.Optional[builtins.str], result)
1589
+
1590
+ @builtins.property
1591
+ def id_mapping_workflow_properties(
1592
+ self,
1593
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty]]]]:
1594
+ '''Determines the properties of ``IdMappingWorflow`` where this ``IdNamespace`` can be used as a ``Source`` or a ``Target`` .
1595
+
1596
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html#cfn-entityresolution-idnamespace-idmappingworkflowproperties
1597
+ '''
1598
+ result = self._values.get("id_mapping_workflow_properties")
1599
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty]]]], result)
1600
+
1601
+ @builtins.property
1602
+ def input_source_config(
1603
+ self,
1604
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIdNamespace.IdNamespaceInputSourceProperty]]]]:
1605
+ '''A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
1606
+
1607
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html#cfn-entityresolution-idnamespace-inputsourceconfig
1608
+ '''
1609
+ result = self._values.get("input_source_config")
1610
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIdNamespace.IdNamespaceInputSourceProperty]]]], result)
1611
+
1612
+ @builtins.property
1613
+ def role_arn(self) -> typing.Optional[builtins.str]:
1614
+ '''The Amazon Resource Name (ARN) of the IAM role.
1615
+
1616
+ AWS Entity Resolution assumes this role to access the resources defined in this ``IdNamespace`` on your behalf as part of the workflow run.
1617
+
1618
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html#cfn-entityresolution-idnamespace-rolearn
1619
+ '''
1620
+ result = self._values.get("role_arn")
1621
+ return typing.cast(typing.Optional[builtins.str], result)
1622
+
1623
+ @builtins.property
1624
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1625
+ '''The tags used to organize, track, or control access for this resource.
1626
+
1627
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html#cfn-entityresolution-idnamespace-tags
1628
+ '''
1629
+ result = self._values.get("tags")
1630
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1631
+
1632
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1633
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1634
+
1635
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1636
+ return not (rhs == self)
1637
+
1638
+ def __repr__(self) -> str:
1639
+ return "CfnIdNamespaceProps(%s)" % ", ".join(
1640
+ k + "=" + repr(v) for k, v in self._values.items()
1641
+ )
1642
+
1643
+
1644
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
1645
+ class CfnMatchingWorkflow(
1646
+ _CfnResource_9df397a6,
1647
+ metaclass=jsii.JSIIMeta,
1648
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow",
1649
+ ):
1650
+ '''Creates a ``MatchingWorkflow`` object which stores the configuration of the data processing job to be run.
1651
+
1652
+ 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.
1653
+
1654
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html
1655
+ :cloudformationResource: AWS::EntityResolution::MatchingWorkflow
1656
+ :exampleMetadata: fixture=_generated
1657
+
1658
+ Example::
1659
+
1660
+ # The code below shows an example of how to instantiate this type.
1661
+ # The values are placeholders you should change.
1662
+ from aws_cdk import aws_entityresolution as entityresolution
1663
+
1664
+ cfn_matching_workflow = entityresolution.CfnMatchingWorkflow(self, "MyCfnMatchingWorkflow",
1665
+ input_source_config=[entityresolution.CfnMatchingWorkflow.InputSourceProperty(
1666
+ input_source_arn="inputSourceArn",
1667
+ schema_arn="schemaArn",
1668
+
1669
+ # the properties below are optional
1670
+ apply_normalization=False
1671
+ )],
1672
+ output_source_config=[entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
1673
+ output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
1674
+ name="name",
1675
+
1676
+ # the properties below are optional
1677
+ hashed=False
1678
+ )],
1679
+ output_s3_path="outputS3Path",
1680
+
1681
+ # the properties below are optional
1682
+ apply_normalization=False,
1683
+ kms_arn="kmsArn"
1684
+ )],
1685
+ resolution_techniques=entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
1686
+ provider_properties=entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty(
1687
+ provider_service_arn="providerServiceArn",
1688
+
1689
+ # the properties below are optional
1690
+ intermediate_source_configuration=entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
1691
+ intermediate_s3_path="intermediateS3Path"
1692
+ ),
1693
+ provider_configuration={
1694
+ "provider_configuration_key": "providerConfiguration"
1695
+ }
1696
+ ),
1697
+ resolution_type="resolutionType",
1698
+ rule_based_properties=entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
1699
+ attribute_matching_model="attributeMatchingModel",
1700
+ rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
1701
+ matching_keys=["matchingKeys"],
1702
+ rule_name="ruleName"
1703
+ )]
1704
+ )
1705
+ ),
1706
+ role_arn="roleArn",
1707
+ workflow_name="workflowName",
1708
+
1709
+ # the properties below are optional
1710
+ description="description",
1711
+ tags=[CfnTag(
1712
+ key="key",
1713
+ value="value"
1714
+ )]
1715
+ )
1716
+ '''
1717
+
1718
+ def __init__(
1719
+ self,
1720
+ scope: _constructs_77d1e7e8.Construct,
1721
+ id: builtins.str,
1722
+ *,
1723
+ input_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.InputSourceProperty", typing.Dict[builtins.str, typing.Any]]]]],
1724
+ output_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.OutputSourceProperty", typing.Dict[builtins.str, typing.Any]]]]],
1725
+ resolution_techniques: typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.ResolutionTechniquesProperty", typing.Dict[builtins.str, typing.Any]]],
1726
+ role_arn: builtins.str,
1727
+ workflow_name: builtins.str,
1728
+ description: typing.Optional[builtins.str] = None,
1729
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1730
+ ) -> None:
1731
+ '''
1732
+ :param scope: Scope in which this resource is defined.
1733
+ :param id: Construct identifier for this resource (unique in its scope).
1734
+ :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
1735
+ :param output_source_config: A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
1736
+ :param resolution_techniques: An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
1737
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
1738
+ :param workflow_name: The name of the workflow. There can't be multiple ``MatchingWorkflows`` with the same name.
1739
+ :param description: A description of the workflow.
1740
+ :param tags: The tags used to organize, track, or control access for this resource.
1741
+ '''
1742
+ if __debug__:
1743
+ type_hints = typing.get_type_hints(_typecheckingstub__8c9e9b620b89ac2aae774eb42384e0472b5a13eeb28983708b164b2400ebcd39)
1744
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1745
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1746
+ props = CfnMatchingWorkflowProps(
1747
+ input_source_config=input_source_config,
1748
+ output_source_config=output_source_config,
1749
+ resolution_techniques=resolution_techniques,
1750
+ role_arn=role_arn,
1751
+ workflow_name=workflow_name,
1752
+ description=description,
1753
+ tags=tags,
1754
+ )
1755
+
1756
+ jsii.create(self.__class__, self, [scope, id, props])
1757
+
1758
+ @jsii.member(jsii_name="inspect")
1759
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1760
+ '''Examines the CloudFormation resource and discloses attributes.
1761
+
1762
+ :param inspector: tree inspector to collect and process attributes.
1763
+ '''
1764
+ if __debug__:
1765
+ type_hints = typing.get_type_hints(_typecheckingstub__8a2bf1cfd69ad77cafcf7b6d5e0508159e0ece5385e2b3a0808436e336abbfcc)
1766
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1767
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1768
+
1769
+ @jsii.member(jsii_name="renderProperties")
1770
+ def _render_properties(
1771
+ self,
1772
+ props: typing.Mapping[builtins.str, typing.Any],
1773
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1774
+ '''
1775
+ :param props: -
1776
+ '''
1777
+ if __debug__:
1778
+ type_hints = typing.get_type_hints(_typecheckingstub__83843fc5000b4b7c1f325390bceaadeeec20658b2de2de2143a3d987e3c49953)
1779
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1780
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1781
+
1782
+ @jsii.python.classproperty
1783
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1784
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1785
+ '''The CloudFormation resource type name for this resource class.'''
1786
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1787
+
1788
+ @builtins.property
1789
+ @jsii.member(jsii_name="attrCreatedAt")
1790
+ def attr_created_at(self) -> builtins.str:
1791
+ '''The time of this MatchingWorkflow got created.
1792
+
1793
+ :cloudformationAttribute: CreatedAt
1794
+ '''
1795
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
1796
+
1797
+ @builtins.property
1798
+ @jsii.member(jsii_name="attrUpdatedAt")
1799
+ def attr_updated_at(self) -> builtins.str:
1800
+ '''The time of this MatchingWorkflow got last updated at.
1801
+
1802
+ :cloudformationAttribute: UpdatedAt
1803
+ '''
1804
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
1805
+
1806
+ @builtins.property
1807
+ @jsii.member(jsii_name="attrWorkflowArn")
1808
+ def attr_workflow_arn(self) -> builtins.str:
1809
+ '''The default MatchingWorkflow arn.
1810
+
1811
+ :cloudformationAttribute: WorkflowArn
1812
+ '''
1813
+ return typing.cast(builtins.str, jsii.get(self, "attrWorkflowArn"))
1814
+
1815
+ @builtins.property
1816
+ @jsii.member(jsii_name="cdkTagManager")
1817
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1818
+ '''Tag Manager which manages the tags for this resource.'''
1819
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1820
+
1821
+ @builtins.property
1822
+ @jsii.member(jsii_name="cfnProperties")
1823
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1824
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1825
+
1826
+ @builtins.property
1827
+ @jsii.member(jsii_name="inputSourceConfig")
1828
+ def input_source_config(
1829
+ self,
1830
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]]:
1831
+ '''A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .'''
1832
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]], jsii.get(self, "inputSourceConfig"))
1833
+
1834
+ @input_source_config.setter
1835
+ def input_source_config(
1836
+ self,
1837
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.InputSourceProperty"]]],
1838
+ ) -> None:
1839
+ if __debug__:
1840
+ type_hints = typing.get_type_hints(_typecheckingstub__46336e1b290b62290456cef0086653d1bf7bde247391e85b7b88570883b249d6)
1841
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1842
+ jsii.set(self, "inputSourceConfig", value)
1843
+
1844
+ @builtins.property
1845
+ @jsii.member(jsii_name="outputSourceConfig")
1846
+ def output_source_config(
1847
+ self,
1848
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]]:
1849
+ '''A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .'''
1850
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]], jsii.get(self, "outputSourceConfig"))
1851
+
1852
+ @output_source_config.setter
1853
+ def output_source_config(
1854
+ self,
1855
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputSourceProperty"]]],
1856
+ ) -> None:
1857
+ if __debug__:
1858
+ type_hints = typing.get_type_hints(_typecheckingstub__f6752620fe10a272a45c22eb2493e5e30fcac8bb82fcc95b6f46271727dadc72)
1859
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1860
+ jsii.set(self, "outputSourceConfig", value)
1861
+
1862
+ @builtins.property
1863
+ @jsii.member(jsii_name="resolutionTechniques")
1864
+ def resolution_techniques(
1865
+ self,
1866
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"]:
1867
+ '''An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .'''
1868
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"], jsii.get(self, "resolutionTechniques"))
1869
+
1870
+ @resolution_techniques.setter
1871
+ def resolution_techniques(
1872
+ self,
1873
+ value: typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ResolutionTechniquesProperty"],
1874
+ ) -> None:
1875
+ if __debug__:
1876
+ type_hints = typing.get_type_hints(_typecheckingstub__bfbb583351458ecc2896a0f04d4bae86260e8762b28c2687fe570562260a9a48)
1877
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1878
+ jsii.set(self, "resolutionTechniques", value)
1879
+
1880
+ @builtins.property
1881
+ @jsii.member(jsii_name="roleArn")
1882
+ def role_arn(self) -> builtins.str:
1883
+ '''The Amazon Resource Name (ARN) of the IAM role.'''
1884
+ return typing.cast(builtins.str, jsii.get(self, "roleArn"))
1885
+
1886
+ @role_arn.setter
1887
+ def role_arn(self, value: builtins.str) -> None:
1888
+ if __debug__:
1889
+ type_hints = typing.get_type_hints(_typecheckingstub__a68dfd5a70e354a050b7085c6c4cc4520862c51d487a8a8e920928f222fa1894)
1890
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1891
+ jsii.set(self, "roleArn", value)
1892
+
1893
+ @builtins.property
1894
+ @jsii.member(jsii_name="workflowName")
1895
+ def workflow_name(self) -> builtins.str:
1896
+ '''The name of the workflow.'''
1897
+ return typing.cast(builtins.str, jsii.get(self, "workflowName"))
1898
+
1899
+ @workflow_name.setter
1900
+ def workflow_name(self, value: builtins.str) -> None:
1901
+ if __debug__:
1902
+ type_hints = typing.get_type_hints(_typecheckingstub__92e33fb06ce08c9c2af24c4cb3e68018f92d9bc69c0f62bc965ba1640232fd73)
1903
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1904
+ jsii.set(self, "workflowName", value)
1905
+
1906
+ @builtins.property
1907
+ @jsii.member(jsii_name="description")
1908
+ def description(self) -> typing.Optional[builtins.str]:
1909
+ '''A description of the workflow.'''
1910
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
1911
+
1912
+ @description.setter
1913
+ def description(self, value: typing.Optional[builtins.str]) -> None:
1914
+ if __debug__:
1915
+ type_hints = typing.get_type_hints(_typecheckingstub__146028c4441df7c65ea8aba2981fe23a6e2fda2af137f4c78d1c5c84d63a3b1a)
1916
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1917
+ jsii.set(self, "description", value)
1918
+
1919
+ @builtins.property
1920
+ @jsii.member(jsii_name="tags")
1921
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1922
+ '''The tags used to organize, track, or control access for this resource.'''
1923
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1924
+
1925
+ @tags.setter
1926
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1927
+ if __debug__:
1928
+ type_hints = typing.get_type_hints(_typecheckingstub__a7a7896d7bea53a4e2ffc9445d9a42b8864f5ac9a6cf43c3b27fe3c77bd39a83)
1929
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1930
+ jsii.set(self, "tags", value)
1931
+
1932
+ @jsii.data_type(
1933
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.InputSourceProperty",
1934
+ jsii_struct_bases=[],
1935
+ name_mapping={
1936
+ "input_source_arn": "inputSourceArn",
1937
+ "schema_arn": "schemaArn",
1938
+ "apply_normalization": "applyNormalization",
1939
+ },
1940
+ )
1941
+ class InputSourceProperty:
1942
+ def __init__(
1943
+ self,
1944
+ *,
1945
+ input_source_arn: builtins.str,
1946
+ schema_arn: builtins.str,
1947
+ apply_normalization: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1948
+ ) -> None:
1949
+ '''An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
1950
+
1951
+ :param input_source_arn: An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
1952
+ :param schema_arn: The name of the schema.
1953
+ :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.
1954
+
1955
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html
1956
+ :exampleMetadata: fixture=_generated
1957
+
1958
+ Example::
1959
+
1960
+ # The code below shows an example of how to instantiate this type.
1961
+ # The values are placeholders you should change.
1962
+ from aws_cdk import aws_entityresolution as entityresolution
1963
+
1964
+ input_source_property = entityresolution.CfnMatchingWorkflow.InputSourceProperty(
1965
+ input_source_arn="inputSourceArn",
1966
+ schema_arn="schemaArn",
1967
+
1968
+ # the properties below are optional
1969
+ apply_normalization=False
1970
+ )
1971
+ '''
1972
+ if __debug__:
1973
+ type_hints = typing.get_type_hints(_typecheckingstub__6a18bfef9ee8ade2fff3913e22cf37d98f5880893c2204caa684a7f3831327af)
1974
+ check_type(argname="argument input_source_arn", value=input_source_arn, expected_type=type_hints["input_source_arn"])
1975
+ check_type(argname="argument schema_arn", value=schema_arn, expected_type=type_hints["schema_arn"])
1976
+ check_type(argname="argument apply_normalization", value=apply_normalization, expected_type=type_hints["apply_normalization"])
1977
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1978
+ "input_source_arn": input_source_arn,
1979
+ "schema_arn": schema_arn,
1980
+ }
1981
+ if apply_normalization is not None:
1982
+ self._values["apply_normalization"] = apply_normalization
1983
+
1984
+ @builtins.property
1985
+ def input_source_arn(self) -> builtins.str:
1986
+ '''An object containing ``InputSourceARN`` , ``SchemaName`` , and ``ApplyNormalization`` .
1987
+
1988
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-inputsourcearn
1989
+ '''
1990
+ result = self._values.get("input_source_arn")
1991
+ assert result is not None, "Required property 'input_source_arn' is missing"
1992
+ return typing.cast(builtins.str, result)
1993
+
1994
+ @builtins.property
1995
+ def schema_arn(self) -> builtins.str:
1996
+ '''The name of the schema.
1997
+
1998
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-schemaarn
1999
+ '''
2000
+ result = self._values.get("schema_arn")
2001
+ assert result is not None, "Required property 'schema_arn' is missing"
2002
+ return typing.cast(builtins.str, result)
2003
+
2004
+ @builtins.property
2005
+ def apply_normalization(
2006
+ self,
2007
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2008
+ '''Normalizes the attributes defined in the schema in the input data.
2009
+
2010
+ 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.
2011
+
2012
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-inputsource.html#cfn-entityresolution-matchingworkflow-inputsource-applynormalization
2013
+ '''
2014
+ result = self._values.get("apply_normalization")
2015
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2016
+
2017
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2018
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2019
+
2020
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2021
+ return not (rhs == self)
2022
+
2023
+ def __repr__(self) -> str:
2024
+ return "InputSourceProperty(%s)" % ", ".join(
2025
+ k + "=" + repr(v) for k, v in self._values.items()
2026
+ )
2027
+
2028
+ @jsii.data_type(
2029
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty",
2030
+ jsii_struct_bases=[],
2031
+ name_mapping={"intermediate_s3_path": "intermediateS3Path"},
2032
+ )
2033
+ class IntermediateSourceConfigurationProperty:
2034
+ def __init__(self, *, intermediate_s3_path: builtins.str) -> None:
2035
+ '''The Amazon S3 location that temporarily stores your data while it processes.
2036
+
2037
+ Your information won't be saved permanently.
2038
+
2039
+ :param intermediate_s3_path: The Amazon S3 location (bucket and prefix). For example: ``s3://provider_bucket/DOC-EXAMPLE-BUCKET``
2040
+
2041
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-intermediatesourceconfiguration.html
2042
+ :exampleMetadata: fixture=_generated
2043
+
2044
+ Example::
2045
+
2046
+ # The code below shows an example of how to instantiate this type.
2047
+ # The values are placeholders you should change.
2048
+ from aws_cdk import aws_entityresolution as entityresolution
2049
+
2050
+ intermediate_source_configuration_property = entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
2051
+ intermediate_s3_path="intermediateS3Path"
2052
+ )
2053
+ '''
2054
+ if __debug__:
2055
+ type_hints = typing.get_type_hints(_typecheckingstub__daeae439a9bdc17358415316e1698c6a761d86970a2159c5d870437f7498d2b4)
2056
+ check_type(argname="argument intermediate_s3_path", value=intermediate_s3_path, expected_type=type_hints["intermediate_s3_path"])
2057
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2058
+ "intermediate_s3_path": intermediate_s3_path,
2059
+ }
2060
+
2061
+ @builtins.property
2062
+ def intermediate_s3_path(self) -> builtins.str:
2063
+ '''The Amazon S3 location (bucket and prefix).
2064
+
2065
+ For example: ``s3://provider_bucket/DOC-EXAMPLE-BUCKET``
2066
+
2067
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-intermediatesourceconfiguration.html#cfn-entityresolution-matchingworkflow-intermediatesourceconfiguration-intermediates3path
2068
+ '''
2069
+ result = self._values.get("intermediate_s3_path")
2070
+ assert result is not None, "Required property 'intermediate_s3_path' is missing"
2071
+ return typing.cast(builtins.str, result)
2072
+
2073
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2074
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2075
+
2076
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2077
+ return not (rhs == self)
2078
+
2079
+ def __repr__(self) -> str:
2080
+ return "IntermediateSourceConfigurationProperty(%s)" % ", ".join(
2081
+ k + "=" + repr(v) for k, v in self._values.items()
2082
+ )
2083
+
2084
+ @jsii.data_type(
2085
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.OutputAttributeProperty",
2086
+ jsii_struct_bases=[],
2087
+ name_mapping={"name": "name", "hashed": "hashed"},
2088
+ )
2089
+ class OutputAttributeProperty:
2090
+ def __init__(
2091
+ self,
2092
+ *,
2093
+ name: builtins.str,
2094
+ hashed: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2095
+ ) -> None:
2096
+ '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
2097
+
2098
+ Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
2099
+
2100
+ :param name: A name of a column to be written to the output. This must be an ``InputField`` name in the schema mapping.
2101
+ :param hashed: Enables the ability to hash the column values in the output.
2102
+
2103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html
2104
+ :exampleMetadata: fixture=_generated
2105
+
2106
+ Example::
2107
+
2108
+ # The code below shows an example of how to instantiate this type.
2109
+ # The values are placeholders you should change.
2110
+ from aws_cdk import aws_entityresolution as entityresolution
2111
+
2112
+ output_attribute_property = entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
2113
+ name="name",
2114
+
2115
+ # the properties below are optional
2116
+ hashed=False
2117
+ )
2118
+ '''
2119
+ if __debug__:
2120
+ type_hints = typing.get_type_hints(_typecheckingstub__006a3c9280759d8123ca560d0c7cfef20e64f8703bb04be12b8a7e08728768e5)
2121
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2122
+ check_type(argname="argument hashed", value=hashed, expected_type=type_hints["hashed"])
2123
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2124
+ "name": name,
2125
+ }
2126
+ if hashed is not None:
2127
+ self._values["hashed"] = hashed
2128
+
2129
+ @builtins.property
2130
+ def name(self) -> builtins.str:
2131
+ '''A name of a column to be written to the output.
2132
+
2133
+ This must be an ``InputField`` name in the schema mapping.
2134
+
2135
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html#cfn-entityresolution-matchingworkflow-outputattribute-name
2136
+ '''
2137
+ result = self._values.get("name")
2138
+ assert result is not None, "Required property 'name' is missing"
2139
+ return typing.cast(builtins.str, result)
2140
+
2141
+ @builtins.property
2142
+ def hashed(
2143
+ self,
2144
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2145
+ '''Enables the ability to hash the column values in the output.
2146
+
2147
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputattribute.html#cfn-entityresolution-matchingworkflow-outputattribute-hashed
2148
+ '''
2149
+ result = self._values.get("hashed")
2150
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2151
+
2152
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2153
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2154
+
2155
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2156
+ return not (rhs == self)
2157
+
2158
+ def __repr__(self) -> str:
2159
+ return "OutputAttributeProperty(%s)" % ", ".join(
2160
+ k + "=" + repr(v) for k, v in self._values.items()
2161
+ )
2162
+
2163
+ @jsii.data_type(
2164
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.OutputSourceProperty",
2165
+ jsii_struct_bases=[],
2166
+ name_mapping={
2167
+ "output": "output",
2168
+ "output_s3_path": "outputS3Path",
2169
+ "apply_normalization": "applyNormalization",
2170
+ "kms_arn": "kmsArn",
2171
+ },
2172
+ )
2173
+ class OutputSourceProperty:
2174
+ def __init__(
2175
+ self,
2176
+ *,
2177
+ output: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.OutputAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]],
2178
+ output_s3_path: builtins.str,
2179
+ apply_normalization: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2180
+ kms_arn: typing.Optional[builtins.str] = None,
2181
+ ) -> None:
2182
+ '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
2183
+
2184
+ Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
2185
+
2186
+ :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.
2187
+ :param output_s3_path: The S3 path to which AWS Entity Resolution will write the output table.
2188
+ :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.
2189
+ :param kms_arn: Customer KMS ARN for encryption at rest. If not provided, system will use an AWS Entity Resolution managed KMS key.
2190
+
2191
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html
2192
+ :exampleMetadata: fixture=_generated
2193
+
2194
+ Example::
2195
+
2196
+ # The code below shows an example of how to instantiate this type.
2197
+ # The values are placeholders you should change.
2198
+ from aws_cdk import aws_entityresolution as entityresolution
2199
+
2200
+ output_source_property = entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
2201
+ output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
2202
+ name="name",
2203
+
2204
+ # the properties below are optional
2205
+ hashed=False
2206
+ )],
2207
+ output_s3_path="outputS3Path",
2208
+
2209
+ # the properties below are optional
2210
+ apply_normalization=False,
2211
+ kms_arn="kmsArn"
2212
+ )
2213
+ '''
2214
+ if __debug__:
2215
+ type_hints = typing.get_type_hints(_typecheckingstub__92bb2dc25f018fe0017c7ab79f29b2fdfb4238d6fb1293a9cd606b9f93976df8)
2216
+ check_type(argname="argument output", value=output, expected_type=type_hints["output"])
2217
+ check_type(argname="argument output_s3_path", value=output_s3_path, expected_type=type_hints["output_s3_path"])
2218
+ check_type(argname="argument apply_normalization", value=apply_normalization, expected_type=type_hints["apply_normalization"])
2219
+ check_type(argname="argument kms_arn", value=kms_arn, expected_type=type_hints["kms_arn"])
2220
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2221
+ "output": output,
2222
+ "output_s3_path": output_s3_path,
2223
+ }
2224
+ if apply_normalization is not None:
2225
+ self._values["apply_normalization"] = apply_normalization
2226
+ if kms_arn is not None:
2227
+ self._values["kms_arn"] = kms_arn
2228
+
2229
+ @builtins.property
2230
+ def output(
2231
+ self,
2232
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputAttributeProperty"]]]:
2233
+ '''A list of ``OutputAttribute`` objects, each of which have the fields ``Name`` and ``Hashed`` .
2234
+
2235
+ Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.
2236
+
2237
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-output
2238
+ '''
2239
+ result = self._values.get("output")
2240
+ assert result is not None, "Required property 'output' is missing"
2241
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.OutputAttributeProperty"]]], result)
2242
+
2243
+ @builtins.property
2244
+ def output_s3_path(self) -> builtins.str:
2245
+ '''The S3 path to which AWS Entity Resolution will write the output table.
2246
+
2247
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-outputs3path
2248
+ '''
2249
+ result = self._values.get("output_s3_path")
2250
+ assert result is not None, "Required property 'output_s3_path' is missing"
2251
+ return typing.cast(builtins.str, result)
2252
+
2253
+ @builtins.property
2254
+ def apply_normalization(
2255
+ self,
2256
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2257
+ '''Normalizes the attributes defined in the schema in the input data.
2258
+
2259
+ 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.
2260
+
2261
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-applynormalization
2262
+ '''
2263
+ result = self._values.get("apply_normalization")
2264
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2265
+
2266
+ @builtins.property
2267
+ def kms_arn(self) -> typing.Optional[builtins.str]:
2268
+ '''Customer KMS ARN for encryption at rest.
2269
+
2270
+ If not provided, system will use an AWS Entity Resolution managed KMS key.
2271
+
2272
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-outputsource.html#cfn-entityresolution-matchingworkflow-outputsource-kmsarn
2273
+ '''
2274
+ result = self._values.get("kms_arn")
2275
+ return typing.cast(typing.Optional[builtins.str], result)
2276
+
2277
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2278
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2279
+
2280
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2281
+ return not (rhs == self)
2282
+
2283
+ def __repr__(self) -> str:
2284
+ return "OutputSourceProperty(%s)" % ", ".join(
2285
+ k + "=" + repr(v) for k, v in self._values.items()
2286
+ )
2287
+
2288
+ @jsii.data_type(
2289
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty",
2290
+ jsii_struct_bases=[],
2291
+ name_mapping={
2292
+ "provider_service_arn": "providerServiceArn",
2293
+ "intermediate_source_configuration": "intermediateSourceConfiguration",
2294
+ "provider_configuration": "providerConfiguration",
2295
+ },
2296
+ )
2297
+ class ProviderPropertiesProperty:
2298
+ def __init__(
2299
+ self,
2300
+ *,
2301
+ provider_service_arn: builtins.str,
2302
+ intermediate_source_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.IntermediateSourceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2303
+ provider_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
2304
+ ) -> None:
2305
+ '''An object containing the ``providerServiceARN`` , ``intermediateSourceConfiguration`` , and ``providerConfiguration`` .
2306
+
2307
+ :param provider_service_arn: The ARN of the provider service.
2308
+ :param intermediate_source_configuration: The Amazon S3 location that temporarily stores your data while it processes. Your information won't be saved permanently.
2309
+ :param provider_configuration: The required configuration fields to use with the provider service.
2310
+
2311
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-providerproperties.html
2312
+ :exampleMetadata: fixture=_generated
2313
+
2314
+ Example::
2315
+
2316
+ # The code below shows an example of how to instantiate this type.
2317
+ # The values are placeholders you should change.
2318
+ from aws_cdk import aws_entityresolution as entityresolution
2319
+
2320
+ provider_properties_property = entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty(
2321
+ provider_service_arn="providerServiceArn",
2322
+
2323
+ # the properties below are optional
2324
+ intermediate_source_configuration=entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
2325
+ intermediate_s3_path="intermediateS3Path"
2326
+ ),
2327
+ provider_configuration={
2328
+ "provider_configuration_key": "providerConfiguration"
2329
+ }
2330
+ )
2331
+ '''
2332
+ if __debug__:
2333
+ type_hints = typing.get_type_hints(_typecheckingstub__9d0c8e14a190c02dfa2c1fa72a0c82e1ead9fb5ffa0de2fbba168cafff86959a)
2334
+ check_type(argname="argument provider_service_arn", value=provider_service_arn, expected_type=type_hints["provider_service_arn"])
2335
+ check_type(argname="argument intermediate_source_configuration", value=intermediate_source_configuration, expected_type=type_hints["intermediate_source_configuration"])
2336
+ check_type(argname="argument provider_configuration", value=provider_configuration, expected_type=type_hints["provider_configuration"])
2337
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2338
+ "provider_service_arn": provider_service_arn,
2339
+ }
2340
+ if intermediate_source_configuration is not None:
2341
+ self._values["intermediate_source_configuration"] = intermediate_source_configuration
2342
+ if provider_configuration is not None:
2343
+ self._values["provider_configuration"] = provider_configuration
2344
+
2345
+ @builtins.property
2346
+ def provider_service_arn(self) -> builtins.str:
2347
+ '''The ARN of the provider service.
2348
+
2349
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-providerproperties.html#cfn-entityresolution-matchingworkflow-providerproperties-providerservicearn
2350
+ '''
2351
+ result = self._values.get("provider_service_arn")
2352
+ assert result is not None, "Required property 'provider_service_arn' is missing"
2353
+ return typing.cast(builtins.str, result)
2354
+
2355
+ @builtins.property
2356
+ def intermediate_source_configuration(
2357
+ self,
2358
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.IntermediateSourceConfigurationProperty"]]:
2359
+ '''The Amazon S3 location that temporarily stores your data while it processes.
2360
+
2361
+ Your information won't be saved permanently.
2362
+
2363
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-providerproperties.html#cfn-entityresolution-matchingworkflow-providerproperties-intermediatesourceconfiguration
2364
+ '''
2365
+ result = self._values.get("intermediate_source_configuration")
2366
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.IntermediateSourceConfigurationProperty"]], result)
2367
+
2368
+ @builtins.property
2369
+ def provider_configuration(
2370
+ self,
2371
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
2372
+ '''The required configuration fields to use with the provider service.
2373
+
2374
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-providerproperties.html#cfn-entityresolution-matchingworkflow-providerproperties-providerconfiguration
2375
+ '''
2376
+ result = self._values.get("provider_configuration")
2377
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
2378
+
2379
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2380
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2381
+
2382
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2383
+ return not (rhs == self)
2384
+
2385
+ def __repr__(self) -> str:
2386
+ return "ProviderPropertiesProperty(%s)" % ", ".join(
1688
2387
  k + "=" + repr(v) for k, v in self._values.items()
1689
2388
  )
1690
2389
 
@@ -1707,11 +2406,197 @@ class CfnMatchingWorkflow(
1707
2406
  ) -> None:
1708
2407
  '''An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
1709
2408
 
1710
- :param provider_properties: The properties of the provider service.
1711
- :param resolution_type: The type of matching. There are three types of matching: ``RULE_MATCHING`` , ``ML_MATCHING`` , and ``PROVIDER`` .
1712
- :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.
2409
+ :param provider_properties: The properties of the provider service.
2410
+ :param resolution_type: The type of matching. There are three types of matching: ``RULE_MATCHING`` , ``ML_MATCHING`` , and ``PROVIDER`` .
2411
+ :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.
2412
+
2413
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html
2414
+ :exampleMetadata: fixture=_generated
2415
+
2416
+ Example::
2417
+
2418
+ # The code below shows an example of how to instantiate this type.
2419
+ # The values are placeholders you should change.
2420
+ from aws_cdk import aws_entityresolution as entityresolution
2421
+
2422
+ resolution_techniques_property = entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
2423
+ provider_properties=entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty(
2424
+ provider_service_arn="providerServiceArn",
2425
+
2426
+ # the properties below are optional
2427
+ intermediate_source_configuration=entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
2428
+ intermediate_s3_path="intermediateS3Path"
2429
+ ),
2430
+ provider_configuration={
2431
+ "provider_configuration_key": "providerConfiguration"
2432
+ }
2433
+ ),
2434
+ resolution_type="resolutionType",
2435
+ rule_based_properties=entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
2436
+ attribute_matching_model="attributeMatchingModel",
2437
+ rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
2438
+ matching_keys=["matchingKeys"],
2439
+ rule_name="ruleName"
2440
+ )]
2441
+ )
2442
+ )
2443
+ '''
2444
+ if __debug__:
2445
+ type_hints = typing.get_type_hints(_typecheckingstub__d1c6ea89cbe5bb10bb721c60f7c5951a6a56729058a7b00d3dd16b091aa63ab9)
2446
+ check_type(argname="argument provider_properties", value=provider_properties, expected_type=type_hints["provider_properties"])
2447
+ check_type(argname="argument resolution_type", value=resolution_type, expected_type=type_hints["resolution_type"])
2448
+ check_type(argname="argument rule_based_properties", value=rule_based_properties, expected_type=type_hints["rule_based_properties"])
2449
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2450
+ if provider_properties is not None:
2451
+ self._values["provider_properties"] = provider_properties
2452
+ if resolution_type is not None:
2453
+ self._values["resolution_type"] = resolution_type
2454
+ if rule_based_properties is not None:
2455
+ self._values["rule_based_properties"] = rule_based_properties
2456
+
2457
+ @builtins.property
2458
+ def provider_properties(
2459
+ self,
2460
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ProviderPropertiesProperty"]]:
2461
+ '''The properties of the provider service.
2462
+
2463
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html#cfn-entityresolution-matchingworkflow-resolutiontechniques-providerproperties
2464
+ '''
2465
+ result = self._values.get("provider_properties")
2466
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ProviderPropertiesProperty"]], result)
2467
+
2468
+ @builtins.property
2469
+ def resolution_type(self) -> typing.Optional[builtins.str]:
2470
+ '''The type of matching.
2471
+
2472
+ There are three types of matching: ``RULE_MATCHING`` , ``ML_MATCHING`` , and ``PROVIDER`` .
2473
+
2474
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html#cfn-entityresolution-matchingworkflow-resolutiontechniques-resolutiontype
2475
+ '''
2476
+ result = self._values.get("resolution_type")
2477
+ return typing.cast(typing.Optional[builtins.str], result)
2478
+
2479
+ @builtins.property
2480
+ def rule_based_properties(
2481
+ self,
2482
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleBasedPropertiesProperty"]]:
2483
+ '''An object which defines the list of matching rules to run and has a field ``Rules`` , which is a list of rule objects.
2484
+
2485
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html#cfn-entityresolution-matchingworkflow-resolutiontechniques-rulebasedproperties
2486
+ '''
2487
+ result = self._values.get("rule_based_properties")
2488
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleBasedPropertiesProperty"]], result)
2489
+
2490
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2491
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2492
+
2493
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2494
+ return not (rhs == self)
2495
+
2496
+ def __repr__(self) -> str:
2497
+ return "ResolutionTechniquesProperty(%s)" % ", ".join(
2498
+ k + "=" + repr(v) for k, v in self._values.items()
2499
+ )
2500
+
2501
+ @jsii.data_type(
2502
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty",
2503
+ jsii_struct_bases=[],
2504
+ name_mapping={
2505
+ "attribute_matching_model": "attributeMatchingModel",
2506
+ "rules": "rules",
2507
+ },
2508
+ )
2509
+ class RuleBasedPropertiesProperty:
2510
+ def __init__(
2511
+ self,
2512
+ *,
2513
+ attribute_matching_model: builtins.str,
2514
+ rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]],
2515
+ ) -> None:
2516
+ '''An object which defines the list of matching rules to run and has a field ``Rules`` , which is a list of rule objects.
2517
+
2518
+ :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.
2519
+ :param rules: A list of ``Rule`` objects, each of which have fields ``RuleName`` and ``MatchingKeys`` .
2520
+
2521
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html
2522
+ :exampleMetadata: fixture=_generated
2523
+
2524
+ Example::
2525
+
2526
+ # The code below shows an example of how to instantiate this type.
2527
+ # The values are placeholders you should change.
2528
+ from aws_cdk import aws_entityresolution as entityresolution
2529
+
2530
+ rule_based_properties_property = entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
2531
+ attribute_matching_model="attributeMatchingModel",
2532
+ rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
2533
+ matching_keys=["matchingKeys"],
2534
+ rule_name="ruleName"
2535
+ )]
2536
+ )
2537
+ '''
2538
+ if __debug__:
2539
+ type_hints = typing.get_type_hints(_typecheckingstub__96d1f97c0110dea5fb9a8413e199ae25878eedad10521ad056ca772f31ddb8ba)
2540
+ check_type(argname="argument attribute_matching_model", value=attribute_matching_model, expected_type=type_hints["attribute_matching_model"])
2541
+ check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
2542
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2543
+ "attribute_matching_model": attribute_matching_model,
2544
+ "rules": rules,
2545
+ }
2546
+
2547
+ @builtins.property
2548
+ def attribute_matching_model(self) -> builtins.str:
2549
+ '''The comparison type.
2550
+
2551
+ 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.
2552
+
2553
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html#cfn-entityresolution-matchingworkflow-rulebasedproperties-attributematchingmodel
2554
+ '''
2555
+ result = self._values.get("attribute_matching_model")
2556
+ assert result is not None, "Required property 'attribute_matching_model' is missing"
2557
+ return typing.cast(builtins.str, result)
2558
+
2559
+ @builtins.property
2560
+ def rules(
2561
+ self,
2562
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleProperty"]]]:
2563
+ '''A list of ``Rule`` objects, each of which have fields ``RuleName`` and ``MatchingKeys`` .
2564
+
2565
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html#cfn-entityresolution-matchingworkflow-rulebasedproperties-rules
2566
+ '''
2567
+ result = self._values.get("rules")
2568
+ assert result is not None, "Required property 'rules' is missing"
2569
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleProperty"]]], result)
2570
+
2571
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2572
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2573
+
2574
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2575
+ return not (rhs == self)
2576
+
2577
+ def __repr__(self) -> str:
2578
+ return "RuleBasedPropertiesProperty(%s)" % ", ".join(
2579
+ k + "=" + repr(v) for k, v in self._values.items()
2580
+ )
2581
+
2582
+ @jsii.data_type(
2583
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.RuleProperty",
2584
+ jsii_struct_bases=[],
2585
+ name_mapping={"matching_keys": "matchingKeys", "rule_name": "ruleName"},
2586
+ )
2587
+ class RuleProperty:
2588
+ def __init__(
2589
+ self,
2590
+ *,
2591
+ matching_keys: typing.Sequence[builtins.str],
2592
+ rule_name: builtins.str,
2593
+ ) -> None:
2594
+ '''An object containing ``RuleName`` , and ``MatchingKeys`` .
2595
+
2596
+ :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.
2597
+ :param rule_name: A name for the matching rule.
1713
2598
 
1714
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html
2599
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html
1715
2600
  :exampleMetadata: fixture=_generated
1716
2601
 
1717
2602
  Example::
@@ -1720,10 +2605,123 @@ class CfnMatchingWorkflow(
1720
2605
  # The values are placeholders you should change.
1721
2606
  from aws_cdk import aws_entityresolution as entityresolution
1722
2607
 
1723
- resolution_techniques_property = entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
2608
+ rule_property = entityresolution.CfnMatchingWorkflow.RuleProperty(
2609
+ matching_keys=["matchingKeys"],
2610
+ rule_name="ruleName"
2611
+ )
2612
+ '''
2613
+ if __debug__:
2614
+ type_hints = typing.get_type_hints(_typecheckingstub__8ad893f1319125d264f9286a93c40cd8616031944a24803bccedd15e3233ef0f)
2615
+ check_type(argname="argument matching_keys", value=matching_keys, expected_type=type_hints["matching_keys"])
2616
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
2617
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2618
+ "matching_keys": matching_keys,
2619
+ "rule_name": rule_name,
2620
+ }
2621
+
2622
+ @builtins.property
2623
+ def matching_keys(self) -> typing.List[builtins.str]:
2624
+ '''A list of ``MatchingKeys`` .
2625
+
2626
+ 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.
2627
+
2628
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html#cfn-entityresolution-matchingworkflow-rule-matchingkeys
2629
+ '''
2630
+ result = self._values.get("matching_keys")
2631
+ assert result is not None, "Required property 'matching_keys' is missing"
2632
+ return typing.cast(typing.List[builtins.str], result)
2633
+
2634
+ @builtins.property
2635
+ def rule_name(self) -> builtins.str:
2636
+ '''A name for the matching rule.
2637
+
2638
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html#cfn-entityresolution-matchingworkflow-rule-rulename
2639
+ '''
2640
+ result = self._values.get("rule_name")
2641
+ assert result is not None, "Required property 'rule_name' is missing"
2642
+ return typing.cast(builtins.str, result)
2643
+
2644
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2645
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2646
+
2647
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2648
+ return not (rhs == self)
2649
+
2650
+ def __repr__(self) -> str:
2651
+ return "RuleProperty(%s)" % ", ".join(
2652
+ k + "=" + repr(v) for k, v in self._values.items()
2653
+ )
2654
+
2655
+
2656
+ @jsii.data_type(
2657
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflowProps",
2658
+ jsii_struct_bases=[],
2659
+ name_mapping={
2660
+ "input_source_config": "inputSourceConfig",
2661
+ "output_source_config": "outputSourceConfig",
2662
+ "resolution_techniques": "resolutionTechniques",
2663
+ "role_arn": "roleArn",
2664
+ "workflow_name": "workflowName",
2665
+ "description": "description",
2666
+ "tags": "tags",
2667
+ },
2668
+ )
2669
+ class CfnMatchingWorkflowProps:
2670
+ def __init__(
2671
+ self,
2672
+ *,
2673
+ input_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.InputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
2674
+ output_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.OutputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
2675
+ resolution_techniques: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.ResolutionTechniquesProperty, typing.Dict[builtins.str, typing.Any]]],
2676
+ role_arn: builtins.str,
2677
+ workflow_name: builtins.str,
2678
+ description: typing.Optional[builtins.str] = None,
2679
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2680
+ ) -> None:
2681
+ '''Properties for defining a ``CfnMatchingWorkflow``.
2682
+
2683
+ :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
2684
+ :param output_source_config: A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
2685
+ :param resolution_techniques: An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
2686
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
2687
+ :param workflow_name: The name of the workflow. There can't be multiple ``MatchingWorkflows`` with the same name.
2688
+ :param description: A description of the workflow.
2689
+ :param tags: The tags used to organize, track, or control access for this resource.
2690
+
2691
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html
2692
+ :exampleMetadata: fixture=_generated
2693
+
2694
+ Example::
2695
+
2696
+ # The code below shows an example of how to instantiate this type.
2697
+ # The values are placeholders you should change.
2698
+ from aws_cdk import aws_entityresolution as entityresolution
2699
+
2700
+ cfn_matching_workflow_props = entityresolution.CfnMatchingWorkflowProps(
2701
+ input_source_config=[entityresolution.CfnMatchingWorkflow.InputSourceProperty(
2702
+ input_source_arn="inputSourceArn",
2703
+ schema_arn="schemaArn",
2704
+
2705
+ # the properties below are optional
2706
+ apply_normalization=False
2707
+ )],
2708
+ output_source_config=[entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
2709
+ output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
2710
+ name="name",
2711
+
2712
+ # the properties below are optional
2713
+ hashed=False
2714
+ )],
2715
+ output_s3_path="outputS3Path",
2716
+
2717
+ # the properties below are optional
2718
+ apply_normalization=False,
2719
+ kms_arn="kmsArn"
2720
+ )],
2721
+ resolution_techniques=entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
1724
2722
  provider_properties=entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty(
1725
2723
  provider_service_arn="providerServiceArn",
1726
-
2724
+
1727
2725
  # the properties below are optional
1728
2726
  intermediate_source_configuration=entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
1729
2727
  intermediate_s3_path="intermediateS3Path"
@@ -1740,256 +2738,345 @@ class CfnMatchingWorkflow(
1740
2738
  rule_name="ruleName"
1741
2739
  )]
1742
2740
  )
1743
- )
1744
- '''
1745
- if __debug__:
1746
- type_hints = typing.get_type_hints(_typecheckingstub__d1c6ea89cbe5bb10bb721c60f7c5951a6a56729058a7b00d3dd16b091aa63ab9)
1747
- check_type(argname="argument provider_properties", value=provider_properties, expected_type=type_hints["provider_properties"])
1748
- check_type(argname="argument resolution_type", value=resolution_type, expected_type=type_hints["resolution_type"])
1749
- check_type(argname="argument rule_based_properties", value=rule_based_properties, expected_type=type_hints["rule_based_properties"])
1750
- self._values: typing.Dict[builtins.str, typing.Any] = {}
1751
- if provider_properties is not None:
1752
- self._values["provider_properties"] = provider_properties
1753
- if resolution_type is not None:
1754
- self._values["resolution_type"] = resolution_type
1755
- if rule_based_properties is not None:
1756
- self._values["rule_based_properties"] = rule_based_properties
2741
+ ),
2742
+ role_arn="roleArn",
2743
+ workflow_name="workflowName",
2744
+
2745
+ # the properties below are optional
2746
+ description="description",
2747
+ tags=[CfnTag(
2748
+ key="key",
2749
+ value="value"
2750
+ )]
2751
+ )
2752
+ '''
2753
+ if __debug__:
2754
+ type_hints = typing.get_type_hints(_typecheckingstub__2be3b46399b509a45bb640cf4a70ab0714322917a6d3dc4c241cb16ab2d1dbb0)
2755
+ check_type(argname="argument input_source_config", value=input_source_config, expected_type=type_hints["input_source_config"])
2756
+ check_type(argname="argument output_source_config", value=output_source_config, expected_type=type_hints["output_source_config"])
2757
+ check_type(argname="argument resolution_techniques", value=resolution_techniques, expected_type=type_hints["resolution_techniques"])
2758
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
2759
+ check_type(argname="argument workflow_name", value=workflow_name, expected_type=type_hints["workflow_name"])
2760
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2761
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2762
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2763
+ "input_source_config": input_source_config,
2764
+ "output_source_config": output_source_config,
2765
+ "resolution_techniques": resolution_techniques,
2766
+ "role_arn": role_arn,
2767
+ "workflow_name": workflow_name,
2768
+ }
2769
+ if description is not None:
2770
+ self._values["description"] = description
2771
+ if tags is not None:
2772
+ self._values["tags"] = tags
1757
2773
 
1758
- @builtins.property
1759
- def provider_properties(
1760
- self,
1761
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ProviderPropertiesProperty"]]:
1762
- '''The properties of the provider service.
2774
+ @builtins.property
2775
+ def input_source_config(
2776
+ self,
2777
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.InputSourceProperty]]]:
2778
+ '''A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
1763
2779
 
1764
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html#cfn-entityresolution-matchingworkflow-resolutiontechniques-providerproperties
1765
- '''
1766
- result = self._values.get("provider_properties")
1767
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.ProviderPropertiesProperty"]], result)
2780
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-inputsourceconfig
2781
+ '''
2782
+ result = self._values.get("input_source_config")
2783
+ assert result is not None, "Required property 'input_source_config' is missing"
2784
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.InputSourceProperty]]], result)
1768
2785
 
1769
- @builtins.property
1770
- def resolution_type(self) -> typing.Optional[builtins.str]:
1771
- '''The type of matching.
2786
+ @builtins.property
2787
+ def output_source_config(
2788
+ self,
2789
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.OutputSourceProperty]]]:
2790
+ '''A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
1772
2791
 
1773
- There are three types of matching: ``RULE_MATCHING`` , ``ML_MATCHING`` , and ``PROVIDER`` .
2792
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-outputsourceconfig
2793
+ '''
2794
+ result = self._values.get("output_source_config")
2795
+ assert result is not None, "Required property 'output_source_config' is missing"
2796
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.OutputSourceProperty]]], result)
1774
2797
 
1775
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html#cfn-entityresolution-matchingworkflow-resolutiontechniques-resolutiontype
1776
- '''
1777
- result = self._values.get("resolution_type")
1778
- return typing.cast(typing.Optional[builtins.str], result)
2798
+ @builtins.property
2799
+ def resolution_techniques(
2800
+ self,
2801
+ ) -> typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.ResolutionTechniquesProperty]:
2802
+ '''An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
1779
2803
 
1780
- @builtins.property
1781
- def rule_based_properties(
1782
- self,
1783
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleBasedPropertiesProperty"]]:
1784
- '''An object which defines the list of matching rules to run and has a field ``Rules`` , which is a list of rule objects.
2804
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-resolutiontechniques
2805
+ '''
2806
+ result = self._values.get("resolution_techniques")
2807
+ assert result is not None, "Required property 'resolution_techniques' is missing"
2808
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.ResolutionTechniquesProperty], result)
1785
2809
 
1786
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-resolutiontechniques.html#cfn-entityresolution-matchingworkflow-resolutiontechniques-rulebasedproperties
1787
- '''
1788
- result = self._values.get("rule_based_properties")
1789
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleBasedPropertiesProperty"]], result)
2810
+ @builtins.property
2811
+ def role_arn(self) -> builtins.str:
2812
+ '''The Amazon Resource Name (ARN) of the IAM role.
2813
+
2814
+ AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
2815
+
2816
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-rolearn
2817
+ '''
2818
+ result = self._values.get("role_arn")
2819
+ assert result is not None, "Required property 'role_arn' is missing"
2820
+ return typing.cast(builtins.str, result)
2821
+
2822
+ @builtins.property
2823
+ def workflow_name(self) -> builtins.str:
2824
+ '''The name of the workflow.
2825
+
2826
+ There can't be multiple ``MatchingWorkflows`` with the same name.
2827
+
2828
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-workflowname
2829
+ '''
2830
+ result = self._values.get("workflow_name")
2831
+ assert result is not None, "Required property 'workflow_name' is missing"
2832
+ return typing.cast(builtins.str, result)
2833
+
2834
+ @builtins.property
2835
+ def description(self) -> typing.Optional[builtins.str]:
2836
+ '''A description of the workflow.
2837
+
2838
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-description
2839
+ '''
2840
+ result = self._values.get("description")
2841
+ return typing.cast(typing.Optional[builtins.str], result)
1790
2842
 
1791
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
1792
- return isinstance(rhs, self.__class__) and rhs._values == self._values
2843
+ @builtins.property
2844
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2845
+ '''The tags used to organize, track, or control access for this resource.
1793
2846
 
1794
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
1795
- return not (rhs == self)
2847
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-tags
2848
+ '''
2849
+ result = self._values.get("tags")
2850
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1796
2851
 
1797
- def __repr__(self) -> str:
1798
- return "ResolutionTechniquesProperty(%s)" % ", ".join(
1799
- k + "=" + repr(v) for k, v in self._values.items()
1800
- )
2852
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2853
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1801
2854
 
1802
- @jsii.data_type(
1803
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty",
1804
- jsii_struct_bases=[],
1805
- name_mapping={
1806
- "attribute_matching_model": "attributeMatchingModel",
1807
- "rules": "rules",
1808
- },
1809
- )
1810
- class RuleBasedPropertiesProperty:
1811
- def __init__(
1812
- self,
1813
- *,
1814
- attribute_matching_model: builtins.str,
1815
- rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]],
1816
- ) -> None:
1817
- '''An object which defines the list of matching rules to run and has a field ``Rules`` , which is a list of rule objects.
2855
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2856
+ return not (rhs == self)
1818
2857
 
1819
- :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.
1820
- :param rules: A list of ``Rule`` objects, each of which have fields ``RuleName`` and ``MatchingKeys`` .
2858
+ def __repr__(self) -> str:
2859
+ return "CfnMatchingWorkflowProps(%s)" % ", ".join(
2860
+ k + "=" + repr(v) for k, v in self._values.items()
2861
+ )
1821
2862
 
1822
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html
1823
- :exampleMetadata: fixture=_generated
1824
2863
 
1825
- Example::
2864
+ @jsii.implements(_IInspectable_c2943556)
2865
+ class CfnPolicyStatement(
2866
+ _CfnResource_9df397a6,
2867
+ metaclass=jsii.JSIIMeta,
2868
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnPolicyStatement",
2869
+ ):
2870
+ '''Adds a policy statement object.
1826
2871
 
1827
- # The code below shows an example of how to instantiate this type.
1828
- # The values are placeholders you should change.
1829
- from aws_cdk import aws_entityresolution as entityresolution
1830
-
1831
- rule_based_properties_property = entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
1832
- attribute_matching_model="attributeMatchingModel",
1833
- rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
1834
- matching_keys=["matchingKeys"],
1835
- rule_name="ruleName"
1836
- )]
1837
- )
1838
- '''
1839
- if __debug__:
1840
- type_hints = typing.get_type_hints(_typecheckingstub__96d1f97c0110dea5fb9a8413e199ae25878eedad10521ad056ca772f31ddb8ba)
1841
- check_type(argname="argument attribute_matching_model", value=attribute_matching_model, expected_type=type_hints["attribute_matching_model"])
1842
- check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
1843
- self._values: typing.Dict[builtins.str, typing.Any] = {
1844
- "attribute_matching_model": attribute_matching_model,
1845
- "rules": rules,
1846
- }
2872
+ To retrieve a list of existing policy statements, use the ``GetPolicy`` API.
1847
2873
 
1848
- @builtins.property
1849
- def attribute_matching_model(self) -> builtins.str:
1850
- '''The comparison type.
2874
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html
2875
+ :cloudformationResource: AWS::EntityResolution::PolicyStatement
2876
+ :exampleMetadata: fixture=_generated
1851
2877
 
1852
- 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.
2878
+ Example::
1853
2879
 
1854
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html#cfn-entityresolution-matchingworkflow-rulebasedproperties-attributematchingmodel
1855
- '''
1856
- result = self._values.get("attribute_matching_model")
1857
- assert result is not None, "Required property 'attribute_matching_model' is missing"
1858
- return typing.cast(builtins.str, result)
2880
+ # The code below shows an example of how to instantiate this type.
2881
+ # The values are placeholders you should change.
2882
+ from aws_cdk import aws_entityresolution as entityresolution
2883
+
2884
+ cfn_policy_statement = entityresolution.CfnPolicyStatement(self, "MyCfnPolicyStatement",
2885
+ arn="arn",
2886
+ statement_id="statementId",
2887
+
2888
+ # the properties below are optional
2889
+ action=["action"],
2890
+ condition="condition",
2891
+ effect="effect",
2892
+ principal=["principal"]
2893
+ )
2894
+ '''
1859
2895
 
1860
- @builtins.property
1861
- def rules(
1862
- self,
1863
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleProperty"]]]:
1864
- '''A list of ``Rule`` objects, each of which have fields ``RuleName`` and ``MatchingKeys`` .
2896
+ def __init__(
2897
+ self,
2898
+ scope: _constructs_77d1e7e8.Construct,
2899
+ id: builtins.str,
2900
+ *,
2901
+ arn: builtins.str,
2902
+ statement_id: builtins.str,
2903
+ action: typing.Optional[typing.Sequence[builtins.str]] = None,
2904
+ condition: typing.Optional[builtins.str] = None,
2905
+ effect: typing.Optional[builtins.str] = None,
2906
+ principal: typing.Optional[typing.Sequence[builtins.str]] = None,
2907
+ ) -> None:
2908
+ '''
2909
+ :param scope: Scope in which this resource is defined.
2910
+ :param id: Construct identifier for this resource (unique in its scope).
2911
+ :param arn: The Amazon Resource Name (ARN) of the resource that will be accessed by the principal.
2912
+ :param statement_id: A statement identifier that differentiates the statement from others in the same policy.
2913
+ :param action: The action that the principal can use on the resource. For example, ``entityresolution:GetIdMappingJob`` , ``entityresolution:GetMatchingJob`` .
2914
+ :param condition: A set of condition keys that you can use in key policies.
2915
+ :param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
2916
+ :param principal: The AWS service or AWS account that can access the resource defined as ARN.
2917
+ '''
2918
+ if __debug__:
2919
+ type_hints = typing.get_type_hints(_typecheckingstub__76540fbabac41cc4870b4370f399836643d3d5e41180fcf50e53a6c17addfb5a)
2920
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2921
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2922
+ props = CfnPolicyStatementProps(
2923
+ arn=arn,
2924
+ statement_id=statement_id,
2925
+ action=action,
2926
+ condition=condition,
2927
+ effect=effect,
2928
+ principal=principal,
2929
+ )
1865
2930
 
1866
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html#cfn-entityresolution-matchingworkflow-rulebasedproperties-rules
1867
- '''
1868
- result = self._values.get("rules")
1869
- assert result is not None, "Required property 'rules' is missing"
1870
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMatchingWorkflow.RuleProperty"]]], result)
2931
+ jsii.create(self.__class__, self, [scope, id, props])
1871
2932
 
1872
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
1873
- return isinstance(rhs, self.__class__) and rhs._values == self._values
2933
+ @jsii.member(jsii_name="inspect")
2934
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2935
+ '''Examines the CloudFormation resource and discloses attributes.
1874
2936
 
1875
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
1876
- return not (rhs == self)
2937
+ :param inspector: tree inspector to collect and process attributes.
2938
+ '''
2939
+ if __debug__:
2940
+ type_hints = typing.get_type_hints(_typecheckingstub__8d56d58588dfd4acc43447ba3d3135969793f083318d1eb05915953f9e39c49b)
2941
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2942
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1877
2943
 
1878
- def __repr__(self) -> str:
1879
- return "RuleBasedPropertiesProperty(%s)" % ", ".join(
1880
- k + "=" + repr(v) for k, v in self._values.items()
1881
- )
2944
+ @jsii.member(jsii_name="renderProperties")
2945
+ def _render_properties(
2946
+ self,
2947
+ props: typing.Mapping[builtins.str, typing.Any],
2948
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2949
+ '''
2950
+ :param props: -
2951
+ '''
2952
+ if __debug__:
2953
+ type_hints = typing.get_type_hints(_typecheckingstub__96d8ea7cb813853673688dd6801e41df9efe23aab0beee541e2c015abce7dd02)
2954
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2955
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1882
2956
 
1883
- @jsii.data_type(
1884
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflow.RuleProperty",
1885
- jsii_struct_bases=[],
1886
- name_mapping={"matching_keys": "matchingKeys", "rule_name": "ruleName"},
1887
- )
1888
- class RuleProperty:
1889
- def __init__(
1890
- self,
1891
- *,
1892
- matching_keys: typing.Sequence[builtins.str],
1893
- rule_name: builtins.str,
1894
- ) -> None:
1895
- '''An object containing ``RuleName`` , and ``MatchingKeys`` .
2957
+ @jsii.python.classproperty
2958
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2959
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2960
+ '''The CloudFormation resource type name for this resource class.'''
2961
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1896
2962
 
1897
- :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.
1898
- :param rule_name: A name for the matching rule.
2963
+ @builtins.property
2964
+ @jsii.member(jsii_name="cfnProperties")
2965
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2966
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1899
2967
 
1900
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html
1901
- :exampleMetadata: fixture=_generated
2968
+ @builtins.property
2969
+ @jsii.member(jsii_name="arn")
2970
+ def arn(self) -> builtins.str:
2971
+ '''The Amazon Resource Name (ARN) of the resource that will be accessed by the principal.'''
2972
+ return typing.cast(builtins.str, jsii.get(self, "arn"))
1902
2973
 
1903
- Example::
2974
+ @arn.setter
2975
+ def arn(self, value: builtins.str) -> None:
2976
+ if __debug__:
2977
+ type_hints = typing.get_type_hints(_typecheckingstub__a8767fe619cb5d75047f318db538baa5ab3a27e058ca0111a4c24271fa51ff40)
2978
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2979
+ jsii.set(self, "arn", value)
1904
2980
 
1905
- # The code below shows an example of how to instantiate this type.
1906
- # The values are placeholders you should change.
1907
- from aws_cdk import aws_entityresolution as entityresolution
1908
-
1909
- rule_property = entityresolution.CfnMatchingWorkflow.RuleProperty(
1910
- matching_keys=["matchingKeys"],
1911
- rule_name="ruleName"
1912
- )
1913
- '''
1914
- if __debug__:
1915
- type_hints = typing.get_type_hints(_typecheckingstub__8ad893f1319125d264f9286a93c40cd8616031944a24803bccedd15e3233ef0f)
1916
- check_type(argname="argument matching_keys", value=matching_keys, expected_type=type_hints["matching_keys"])
1917
- check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
1918
- self._values: typing.Dict[builtins.str, typing.Any] = {
1919
- "matching_keys": matching_keys,
1920
- "rule_name": rule_name,
1921
- }
2981
+ @builtins.property
2982
+ @jsii.member(jsii_name="statementId")
2983
+ def statement_id(self) -> builtins.str:
2984
+ '''A statement identifier that differentiates the statement from others in the same policy.'''
2985
+ return typing.cast(builtins.str, jsii.get(self, "statementId"))
1922
2986
 
1923
- @builtins.property
1924
- def matching_keys(self) -> typing.List[builtins.str]:
1925
- '''A list of ``MatchingKeys`` .
2987
+ @statement_id.setter
2988
+ def statement_id(self, value: builtins.str) -> None:
2989
+ if __debug__:
2990
+ type_hints = typing.get_type_hints(_typecheckingstub__851fa2b0339949709c645934229c92c57e76587d0add6dfff788c8b6881d496e)
2991
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2992
+ jsii.set(self, "statementId", value)
1926
2993
 
1927
- 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.
2994
+ @builtins.property
2995
+ @jsii.member(jsii_name="action")
2996
+ def action(self) -> typing.Optional[typing.List[builtins.str]]:
2997
+ '''The action that the principal can use on the resource.'''
2998
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "action"))
1928
2999
 
1929
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html#cfn-entityresolution-matchingworkflow-rule-matchingkeys
1930
- '''
1931
- result = self._values.get("matching_keys")
1932
- assert result is not None, "Required property 'matching_keys' is missing"
1933
- return typing.cast(typing.List[builtins.str], result)
3000
+ @action.setter
3001
+ def action(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
3002
+ if __debug__:
3003
+ type_hints = typing.get_type_hints(_typecheckingstub__5c31374cbb6b747ff8aad15e2ba0bcfcf581e9276e6193ea7fea9fc51c170da5)
3004
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3005
+ jsii.set(self, "action", value)
1934
3006
 
1935
- @builtins.property
1936
- def rule_name(self) -> builtins.str:
1937
- '''A name for the matching rule.
3007
+ @builtins.property
3008
+ @jsii.member(jsii_name="condition")
3009
+ def condition(self) -> typing.Optional[builtins.str]:
3010
+ '''A set of condition keys that you can use in key policies.'''
3011
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "condition"))
1938
3012
 
1939
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rule.html#cfn-entityresolution-matchingworkflow-rule-rulename
1940
- '''
1941
- result = self._values.get("rule_name")
1942
- assert result is not None, "Required property 'rule_name' is missing"
1943
- return typing.cast(builtins.str, result)
3013
+ @condition.setter
3014
+ def condition(self, value: typing.Optional[builtins.str]) -> None:
3015
+ if __debug__:
3016
+ type_hints = typing.get_type_hints(_typecheckingstub__9ff6ca47c90dc8044522eb4fdc13f8e8fd3817f4dd78f5c13503a9ddcac783da)
3017
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3018
+ jsii.set(self, "condition", value)
1944
3019
 
1945
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
1946
- return isinstance(rhs, self.__class__) and rhs._values == self._values
3020
+ @builtins.property
3021
+ @jsii.member(jsii_name="effect")
3022
+ def effect(self) -> typing.Optional[builtins.str]:
3023
+ '''Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).'''
3024
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "effect"))
1947
3025
 
1948
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
1949
- return not (rhs == self)
3026
+ @effect.setter
3027
+ def effect(self, value: typing.Optional[builtins.str]) -> None:
3028
+ if __debug__:
3029
+ type_hints = typing.get_type_hints(_typecheckingstub__1f137f4492e162960ce48c9f3937faa9cdc691f98387867695272278e19efeda)
3030
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3031
+ jsii.set(self, "effect", value)
1950
3032
 
1951
- def __repr__(self) -> str:
1952
- return "RuleProperty(%s)" % ", ".join(
1953
- k + "=" + repr(v) for k, v in self._values.items()
1954
- )
3033
+ @builtins.property
3034
+ @jsii.member(jsii_name="principal")
3035
+ def principal(self) -> typing.Optional[typing.List[builtins.str]]:
3036
+ '''The AWS service or AWS account that can access the resource defined as ARN.'''
3037
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "principal"))
3038
+
3039
+ @principal.setter
3040
+ def principal(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
3041
+ if __debug__:
3042
+ type_hints = typing.get_type_hints(_typecheckingstub__d0f1297ccea599d72dd52d3bb273838ce431126a148b946f018fb1f6316e8a42)
3043
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3044
+ jsii.set(self, "principal", value)
1955
3045
 
1956
3046
 
1957
3047
  @jsii.data_type(
1958
- jsii_type="aws-cdk-lib.aws_entityresolution.CfnMatchingWorkflowProps",
3048
+ jsii_type="aws-cdk-lib.aws_entityresolution.CfnPolicyStatementProps",
1959
3049
  jsii_struct_bases=[],
1960
3050
  name_mapping={
1961
- "input_source_config": "inputSourceConfig",
1962
- "output_source_config": "outputSourceConfig",
1963
- "resolution_techniques": "resolutionTechniques",
1964
- "role_arn": "roleArn",
1965
- "workflow_name": "workflowName",
1966
- "description": "description",
1967
- "tags": "tags",
3051
+ "arn": "arn",
3052
+ "statement_id": "statementId",
3053
+ "action": "action",
3054
+ "condition": "condition",
3055
+ "effect": "effect",
3056
+ "principal": "principal",
1968
3057
  },
1969
3058
  )
1970
- class CfnMatchingWorkflowProps:
3059
+ class CfnPolicyStatementProps:
1971
3060
  def __init__(
1972
- self,
1973
- *,
1974
- input_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.InputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
1975
- output_source_config: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.OutputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
1976
- resolution_techniques: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMatchingWorkflow.ResolutionTechniquesProperty, typing.Dict[builtins.str, typing.Any]]],
1977
- role_arn: builtins.str,
1978
- workflow_name: builtins.str,
1979
- description: typing.Optional[builtins.str] = None,
1980
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1981
- ) -> None:
1982
- '''Properties for defining a ``CfnMatchingWorkflow``.
1983
-
1984
- :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
1985
- :param output_source_config: A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
1986
- :param resolution_techniques: An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
1987
- :param role_arn: The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
1988
- :param workflow_name: The name of the workflow. There can't be multiple ``MatchingWorkflows`` with the same name.
1989
- :param description: A description of the workflow.
1990
- :param tags: The tags used to organize, track, or control access for this resource.
3061
+ self,
3062
+ *,
3063
+ arn: builtins.str,
3064
+ statement_id: builtins.str,
3065
+ action: typing.Optional[typing.Sequence[builtins.str]] = None,
3066
+ condition: typing.Optional[builtins.str] = None,
3067
+ effect: typing.Optional[builtins.str] = None,
3068
+ principal: typing.Optional[typing.Sequence[builtins.str]] = None,
3069
+ ) -> None:
3070
+ '''Properties for defining a ``CfnPolicyStatement``.
1991
3071
 
1992
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html
3072
+ :param arn: The Amazon Resource Name (ARN) of the resource that will be accessed by the principal.
3073
+ :param statement_id: A statement identifier that differentiates the statement from others in the same policy.
3074
+ :param action: The action that the principal can use on the resource. For example, ``entityresolution:GetIdMappingJob`` , ``entityresolution:GetMatchingJob`` .
3075
+ :param condition: A set of condition keys that you can use in key policies.
3076
+ :param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
3077
+ :param principal: The AWS service or AWS account that can access the resource defined as ARN.
3078
+
3079
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html
1993
3080
  :exampleMetadata: fixture=_generated
1994
3081
 
1995
3082
  Example::
@@ -1998,157 +3085,95 @@ class CfnMatchingWorkflowProps:
1998
3085
  # The values are placeholders you should change.
1999
3086
  from aws_cdk import aws_entityresolution as entityresolution
2000
3087
 
2001
- cfn_matching_workflow_props = entityresolution.CfnMatchingWorkflowProps(
2002
- input_source_config=[entityresolution.CfnMatchingWorkflow.InputSourceProperty(
2003
- input_source_arn="inputSourceArn",
2004
- schema_arn="schemaArn",
2005
-
2006
- # the properties below are optional
2007
- apply_normalization=False
2008
- )],
2009
- output_source_config=[entityresolution.CfnMatchingWorkflow.OutputSourceProperty(
2010
- output=[entityresolution.CfnMatchingWorkflow.OutputAttributeProperty(
2011
- name="name",
2012
-
2013
- # the properties below are optional
2014
- hashed=False
2015
- )],
2016
- output_s3_path="outputS3Path",
2017
-
2018
- # the properties below are optional
2019
- apply_normalization=False,
2020
- kms_arn="kmsArn"
2021
- )],
2022
- resolution_techniques=entityresolution.CfnMatchingWorkflow.ResolutionTechniquesProperty(
2023
- provider_properties=entityresolution.CfnMatchingWorkflow.ProviderPropertiesProperty(
2024
- provider_service_arn="providerServiceArn",
2025
-
2026
- # the properties below are optional
2027
- intermediate_source_configuration=entityresolution.CfnMatchingWorkflow.IntermediateSourceConfigurationProperty(
2028
- intermediate_s3_path="intermediateS3Path"
2029
- ),
2030
- provider_configuration={
2031
- "provider_configuration_key": "providerConfiguration"
2032
- }
2033
- ),
2034
- resolution_type="resolutionType",
2035
- rule_based_properties=entityresolution.CfnMatchingWorkflow.RuleBasedPropertiesProperty(
2036
- attribute_matching_model="attributeMatchingModel",
2037
- rules=[entityresolution.CfnMatchingWorkflow.RuleProperty(
2038
- matching_keys=["matchingKeys"],
2039
- rule_name="ruleName"
2040
- )]
2041
- )
2042
- ),
2043
- role_arn="roleArn",
2044
- workflow_name="workflowName",
3088
+ cfn_policy_statement_props = entityresolution.CfnPolicyStatementProps(
3089
+ arn="arn",
3090
+ statement_id="statementId",
2045
3091
 
2046
3092
  # the properties below are optional
2047
- description="description",
2048
- tags=[CfnTag(
2049
- key="key",
2050
- value="value"
2051
- )]
3093
+ action=["action"],
3094
+ condition="condition",
3095
+ effect="effect",
3096
+ principal=["principal"]
2052
3097
  )
2053
3098
  '''
2054
3099
  if __debug__:
2055
- type_hints = typing.get_type_hints(_typecheckingstub__2be3b46399b509a45bb640cf4a70ab0714322917a6d3dc4c241cb16ab2d1dbb0)
2056
- check_type(argname="argument input_source_config", value=input_source_config, expected_type=type_hints["input_source_config"])
2057
- check_type(argname="argument output_source_config", value=output_source_config, expected_type=type_hints["output_source_config"])
2058
- check_type(argname="argument resolution_techniques", value=resolution_techniques, expected_type=type_hints["resolution_techniques"])
2059
- check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
2060
- check_type(argname="argument workflow_name", value=workflow_name, expected_type=type_hints["workflow_name"])
2061
- check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2062
- check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3100
+ type_hints = typing.get_type_hints(_typecheckingstub__fb81bcce6b9a473cbe53da03368a24fe3bffbe3a0fa4df32a086651b803e974a)
3101
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
3102
+ check_type(argname="argument statement_id", value=statement_id, expected_type=type_hints["statement_id"])
3103
+ check_type(argname="argument action", value=action, expected_type=type_hints["action"])
3104
+ check_type(argname="argument condition", value=condition, expected_type=type_hints["condition"])
3105
+ check_type(argname="argument effect", value=effect, expected_type=type_hints["effect"])
3106
+ check_type(argname="argument principal", value=principal, expected_type=type_hints["principal"])
2063
3107
  self._values: typing.Dict[builtins.str, typing.Any] = {
2064
- "input_source_config": input_source_config,
2065
- "output_source_config": output_source_config,
2066
- "resolution_techniques": resolution_techniques,
2067
- "role_arn": role_arn,
2068
- "workflow_name": workflow_name,
3108
+ "arn": arn,
3109
+ "statement_id": statement_id,
2069
3110
  }
2070
- if description is not None:
2071
- self._values["description"] = description
2072
- if tags is not None:
2073
- self._values["tags"] = tags
2074
-
2075
- @builtins.property
2076
- def input_source_config(
2077
- self,
2078
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.InputSourceProperty]]]:
2079
- '''A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
2080
-
2081
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-inputsourceconfig
2082
- '''
2083
- result = self._values.get("input_source_config")
2084
- assert result is not None, "Required property 'input_source_config' is missing"
2085
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.InputSourceProperty]]], result)
3111
+ if action is not None:
3112
+ self._values["action"] = action
3113
+ if condition is not None:
3114
+ self._values["condition"] = condition
3115
+ if effect is not None:
3116
+ self._values["effect"] = effect
3117
+ if principal is not None:
3118
+ self._values["principal"] = principal
2086
3119
 
2087
3120
  @builtins.property
2088
- def output_source_config(
2089
- self,
2090
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.OutputSourceProperty]]]:
2091
- '''A list of ``OutputSource`` objects, each of which contains fields ``OutputS3Path`` , ``ApplyNormalization`` , and ``Output`` .
3121
+ def arn(self) -> builtins.str:
3122
+ '''The Amazon Resource Name (ARN) of the resource that will be accessed by the principal.
2092
3123
 
2093
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-outputsourceconfig
3124
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html#cfn-entityresolution-policystatement-arn
2094
3125
  '''
2095
- result = self._values.get("output_source_config")
2096
- assert result is not None, "Required property 'output_source_config' is missing"
2097
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.OutputSourceProperty]]], result)
3126
+ result = self._values.get("arn")
3127
+ assert result is not None, "Required property 'arn' is missing"
3128
+ return typing.cast(builtins.str, result)
2098
3129
 
2099
3130
  @builtins.property
2100
- def resolution_techniques(
2101
- self,
2102
- ) -> typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.ResolutionTechniquesProperty]:
2103
- '''An object which defines the ``resolutionType`` and the ``ruleBasedProperties`` .
3131
+ def statement_id(self) -> builtins.str:
3132
+ '''A statement identifier that differentiates the statement from others in the same policy.
2104
3133
 
2105
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-resolutiontechniques
3134
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html#cfn-entityresolution-policystatement-statementid
2106
3135
  '''
2107
- result = self._values.get("resolution_techniques")
2108
- assert result is not None, "Required property 'resolution_techniques' is missing"
2109
- return typing.cast(typing.Union[_IResolvable_da3f097b, CfnMatchingWorkflow.ResolutionTechniquesProperty], result)
3136
+ result = self._values.get("statement_id")
3137
+ assert result is not None, "Required property 'statement_id' is missing"
3138
+ return typing.cast(builtins.str, result)
2110
3139
 
2111
3140
  @builtins.property
2112
- def role_arn(self) -> builtins.str:
2113
- '''The Amazon Resource Name (ARN) of the IAM role.
3141
+ def action(self) -> typing.Optional[typing.List[builtins.str]]:
3142
+ '''The action that the principal can use on the resource.
2114
3143
 
2115
- AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
3144
+ For example, ``entityresolution:GetIdMappingJob`` , ``entityresolution:GetMatchingJob`` .
2116
3145
 
2117
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-rolearn
3146
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html#cfn-entityresolution-policystatement-action
2118
3147
  '''
2119
- result = self._values.get("role_arn")
2120
- assert result is not None, "Required property 'role_arn' is missing"
2121
- return typing.cast(builtins.str, result)
3148
+ result = self._values.get("action")
3149
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2122
3150
 
2123
3151
  @builtins.property
2124
- def workflow_name(self) -> builtins.str:
2125
- '''The name of the workflow.
2126
-
2127
- There can't be multiple ``MatchingWorkflows`` with the same name.
3152
+ def condition(self) -> typing.Optional[builtins.str]:
3153
+ '''A set of condition keys that you can use in key policies.
2128
3154
 
2129
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-workflowname
3155
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html#cfn-entityresolution-policystatement-condition
2130
3156
  '''
2131
- result = self._values.get("workflow_name")
2132
- assert result is not None, "Required property 'workflow_name' is missing"
2133
- return typing.cast(builtins.str, result)
3157
+ result = self._values.get("condition")
3158
+ return typing.cast(typing.Optional[builtins.str], result)
2134
3159
 
2135
3160
  @builtins.property
2136
- def description(self) -> typing.Optional[builtins.str]:
2137
- '''A description of the workflow.
3161
+ def effect(self) -> typing.Optional[builtins.str]:
3162
+ '''Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
2138
3163
 
2139
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-description
3164
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html#cfn-entityresolution-policystatement-effect
2140
3165
  '''
2141
- result = self._values.get("description")
3166
+ result = self._values.get("effect")
2142
3167
  return typing.cast(typing.Optional[builtins.str], result)
2143
3168
 
2144
3169
  @builtins.property
2145
- def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2146
- '''The tags used to organize, track, or control access for this resource.
3170
+ def principal(self) -> typing.Optional[typing.List[builtins.str]]:
3171
+ '''The AWS service or AWS account that can access the resource defined as ARN.
2147
3172
 
2148
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html#cfn-entityresolution-matchingworkflow-tags
3173
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html#cfn-entityresolution-policystatement-principal
2149
3174
  '''
2150
- result = self._values.get("tags")
2151
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3175
+ result = self._values.get("principal")
3176
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2152
3177
 
2153
3178
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2154
3179
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -2157,7 +3182,7 @@ class CfnMatchingWorkflowProps:
2157
3182
  return not (rhs == self)
2158
3183
 
2159
3184
  def __repr__(self) -> str:
2160
- return "CfnMatchingWorkflowProps(%s)" % ", ".join(
3185
+ return "CfnPolicyStatementProps(%s)" % ", ".join(
2161
3186
  k + "=" + repr(v) for k, v in self._values.items()
2162
3187
  )
2163
3188
 
@@ -2389,12 +3414,12 @@ class CfnSchemaMapping(
2389
3414
  match_key: typing.Optional[builtins.str] = None,
2390
3415
  sub_type: typing.Optional[builtins.str] = None,
2391
3416
  ) -> None:
2392
- '''An object containing ``FieldName`` , ``Type`` , ``GroupName`` , and ``MatchKey`` .
3417
+ '''An object containing ``FieldName`` , ``Type`` , ``GroupName`` , ``MatchKey`` , and ``SubType`` .
2393
3418
 
2394
3419
  :param field_name: A string containing the field name.
2395
3420
  :param type: The type of the attribute, selected from a list of values.
2396
- :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.
2397
- :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.
3421
+ :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.
3422
+ :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.
2398
3423
  :param sub_type: The subtype of the attribute, selected from a list of values.
2399
3424
 
2400
3425
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html
@@ -2456,9 +3481,9 @@ class CfnSchemaMapping(
2456
3481
 
2457
3482
  @builtins.property
2458
3483
  def group_name(self) -> typing.Optional[builtins.str]:
2459
- '''Instruct AWS Entity Resolution to combine several columns into a unified column with the identical attribute type.
3484
+ '''A string that instructs AWS Entity Resolution to combine several columns into a unified column with the identical attribute type.
2460
3485
 
2461
- 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.
3486
+ 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.
2462
3487
 
2463
3488
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html#cfn-entityresolution-schemamapping-schemainputattribute-groupname
2464
3489
  '''
@@ -2469,7 +3494,7 @@ class CfnSchemaMapping(
2469
3494
  def match_key(self) -> typing.Optional[builtins.str]:
2470
3495
  '''A key that allows grouping of multiple input attributes into a unified matching group.
2471
3496
 
2472
- 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.
3497
+ 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.
2473
3498
 
2474
3499
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html#cfn-entityresolution-schemamapping-schemainputattribute-matchkey
2475
3500
  '''
@@ -2626,8 +3651,12 @@ class CfnSchemaMappingProps:
2626
3651
  __all__ = [
2627
3652
  "CfnIdMappingWorkflow",
2628
3653
  "CfnIdMappingWorkflowProps",
3654
+ "CfnIdNamespace",
3655
+ "CfnIdNamespaceProps",
2629
3656
  "CfnMatchingWorkflow",
2630
3657
  "CfnMatchingWorkflowProps",
3658
+ "CfnPolicyStatement",
3659
+ "CfnPolicyStatementProps",
2631
3660
  "CfnSchemaMapping",
2632
3661
  "CfnSchemaMappingProps",
2633
3662
  ]
@@ -2757,6 +3786,112 @@ def _typecheckingstub__a92ec1b5f460936930fefdd0c239f69c3ec93198e4a71c3867bbe1bf1
2757
3786
  """Type checking stubs"""
2758
3787
  pass
2759
3788
 
3789
+ def _typecheckingstub__725fcecd44cb8acaba43bacc813f1feb11b78b50f21d8344c7e80f5e92917340(
3790
+ scope: _constructs_77d1e7e8.Construct,
3791
+ id: builtins.str,
3792
+ *,
3793
+ id_namespace_name: builtins.str,
3794
+ type: builtins.str,
3795
+ description: typing.Optional[builtins.str] = None,
3796
+ id_mapping_workflow_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3797
+ input_source_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.IdNamespaceInputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3798
+ role_arn: typing.Optional[builtins.str] = None,
3799
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3800
+ ) -> None:
3801
+ """Type checking stubs"""
3802
+ pass
3803
+
3804
+ def _typecheckingstub__acf8c5714be6a867ffa9fef5d36a2331d2ce5ef82287380b1e043fd28e6f21f2(
3805
+ inspector: _TreeInspector_488e0dd5,
3806
+ ) -> None:
3807
+ """Type checking stubs"""
3808
+ pass
3809
+
3810
+ def _typecheckingstub__8d9f864fd29fded27417d446b412a21dab387ea93f243f5e7e7d25d71a2aec2f(
3811
+ props: typing.Mapping[builtins.str, typing.Any],
3812
+ ) -> None:
3813
+ """Type checking stubs"""
3814
+ pass
3815
+
3816
+ def _typecheckingstub__f6edc56662f23af984d5dabe222f6a5f7a29873d00db9469fa30becc99669015(
3817
+ value: builtins.str,
3818
+ ) -> None:
3819
+ """Type checking stubs"""
3820
+ pass
3821
+
3822
+ def _typecheckingstub__59aa3cddc506bb9301e306fc65a81fe2f3d9a2d8f6325f117b73c0cdfb3383f0(
3823
+ value: builtins.str,
3824
+ ) -> None:
3825
+ """Type checking stubs"""
3826
+ pass
3827
+
3828
+ def _typecheckingstub__62808fb43ceca295eefdf3d9bf0915cc4c583c943ab92427f8ad0c90b7041c27(
3829
+ value: typing.Optional[builtins.str],
3830
+ ) -> None:
3831
+ """Type checking stubs"""
3832
+ pass
3833
+
3834
+ def _typecheckingstub__bf3f06822761d2f6d3dffb9e7372b2e0adbfdbe7d2d1a69ccbf7fe76c0cd3563(
3835
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty]]]],
3836
+ ) -> None:
3837
+ """Type checking stubs"""
3838
+ pass
3839
+
3840
+ def _typecheckingstub__07ed70fcfed9befc6606046de0c338bb1c3c4a34f8857c885f1ee4de60a117a5(
3841
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIdNamespace.IdNamespaceInputSourceProperty]]]],
3842
+ ) -> None:
3843
+ """Type checking stubs"""
3844
+ pass
3845
+
3846
+ def _typecheckingstub__94c305262a4b68819464007b072179d90eca1c2de79673e950550fcc4c13e4da(
3847
+ value: typing.Optional[builtins.str],
3848
+ ) -> None:
3849
+ """Type checking stubs"""
3850
+ pass
3851
+
3852
+ def _typecheckingstub__8f05afda3b318f866f888a36136617b66dbba80a6134a0504f9adc95f42fbdff(
3853
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3854
+ ) -> None:
3855
+ """Type checking stubs"""
3856
+ pass
3857
+
3858
+ def _typecheckingstub__0fc06bed3ebb2bebac13d7f812581356c393a6004c7ebcc6cfeb91e46afa58b5(
3859
+ *,
3860
+ id_mapping_type: builtins.str,
3861
+ provider_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.NamespaceProviderPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3862
+ ) -> None:
3863
+ """Type checking stubs"""
3864
+ pass
3865
+
3866
+ def _typecheckingstub__aa5718722693305710be5b352d71edd25fd091931c7c10bc186aa634ab02534a(
3867
+ *,
3868
+ input_source_arn: builtins.str,
3869
+ schema_name: typing.Optional[builtins.str] = None,
3870
+ ) -> None:
3871
+ """Type checking stubs"""
3872
+ pass
3873
+
3874
+ def _typecheckingstub__8d5dbe88736667d56bc74050ba3debedc70aa5658eb42d955598a1141fa6accd(
3875
+ *,
3876
+ provider_service_arn: builtins.str,
3877
+ provider_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
3878
+ ) -> None:
3879
+ """Type checking stubs"""
3880
+ pass
3881
+
3882
+ def _typecheckingstub__08dbceaf6584c6ddec9cc5b62fe86da5739412407f6e361f15be9f4533370973(
3883
+ *,
3884
+ id_namespace_name: builtins.str,
3885
+ type: builtins.str,
3886
+ description: typing.Optional[builtins.str] = None,
3887
+ id_mapping_workflow_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.IdNamespaceIdMappingWorkflowPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3888
+ input_source_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdNamespace.IdNamespaceInputSourceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3889
+ role_arn: typing.Optional[builtins.str] = None,
3890
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3891
+ ) -> None:
3892
+ """Type checking stubs"""
3893
+ pass
3894
+
2760
3895
  def _typecheckingstub__8c9e9b620b89ac2aae774eb42384e0472b5a13eeb28983708b164b2400ebcd39(
2761
3896
  scope: _constructs_77d1e7e8.Construct,
2762
3897
  id: builtins.str,
@@ -2907,6 +4042,80 @@ def _typecheckingstub__2be3b46399b509a45bb640cf4a70ab0714322917a6d3dc4c241cb16ab
2907
4042
  """Type checking stubs"""
2908
4043
  pass
2909
4044
 
4045
+ def _typecheckingstub__76540fbabac41cc4870b4370f399836643d3d5e41180fcf50e53a6c17addfb5a(
4046
+ scope: _constructs_77d1e7e8.Construct,
4047
+ id: builtins.str,
4048
+ *,
4049
+ arn: builtins.str,
4050
+ statement_id: builtins.str,
4051
+ action: typing.Optional[typing.Sequence[builtins.str]] = None,
4052
+ condition: typing.Optional[builtins.str] = None,
4053
+ effect: typing.Optional[builtins.str] = None,
4054
+ principal: typing.Optional[typing.Sequence[builtins.str]] = None,
4055
+ ) -> None:
4056
+ """Type checking stubs"""
4057
+ pass
4058
+
4059
+ def _typecheckingstub__8d56d58588dfd4acc43447ba3d3135969793f083318d1eb05915953f9e39c49b(
4060
+ inspector: _TreeInspector_488e0dd5,
4061
+ ) -> None:
4062
+ """Type checking stubs"""
4063
+ pass
4064
+
4065
+ def _typecheckingstub__96d8ea7cb813853673688dd6801e41df9efe23aab0beee541e2c015abce7dd02(
4066
+ props: typing.Mapping[builtins.str, typing.Any],
4067
+ ) -> None:
4068
+ """Type checking stubs"""
4069
+ pass
4070
+
4071
+ def _typecheckingstub__a8767fe619cb5d75047f318db538baa5ab3a27e058ca0111a4c24271fa51ff40(
4072
+ value: builtins.str,
4073
+ ) -> None:
4074
+ """Type checking stubs"""
4075
+ pass
4076
+
4077
+ def _typecheckingstub__851fa2b0339949709c645934229c92c57e76587d0add6dfff788c8b6881d496e(
4078
+ value: builtins.str,
4079
+ ) -> None:
4080
+ """Type checking stubs"""
4081
+ pass
4082
+
4083
+ def _typecheckingstub__5c31374cbb6b747ff8aad15e2ba0bcfcf581e9276e6193ea7fea9fc51c170da5(
4084
+ value: typing.Optional[typing.List[builtins.str]],
4085
+ ) -> None:
4086
+ """Type checking stubs"""
4087
+ pass
4088
+
4089
+ def _typecheckingstub__9ff6ca47c90dc8044522eb4fdc13f8e8fd3817f4dd78f5c13503a9ddcac783da(
4090
+ value: typing.Optional[builtins.str],
4091
+ ) -> None:
4092
+ """Type checking stubs"""
4093
+ pass
4094
+
4095
+ def _typecheckingstub__1f137f4492e162960ce48c9f3937faa9cdc691f98387867695272278e19efeda(
4096
+ value: typing.Optional[builtins.str],
4097
+ ) -> None:
4098
+ """Type checking stubs"""
4099
+ pass
4100
+
4101
+ def _typecheckingstub__d0f1297ccea599d72dd52d3bb273838ce431126a148b946f018fb1f6316e8a42(
4102
+ value: typing.Optional[typing.List[builtins.str]],
4103
+ ) -> None:
4104
+ """Type checking stubs"""
4105
+ pass
4106
+
4107
+ def _typecheckingstub__fb81bcce6b9a473cbe53da03368a24fe3bffbe3a0fa4df32a086651b803e974a(
4108
+ *,
4109
+ arn: builtins.str,
4110
+ statement_id: builtins.str,
4111
+ action: typing.Optional[typing.Sequence[builtins.str]] = None,
4112
+ condition: typing.Optional[builtins.str] = None,
4113
+ effect: typing.Optional[builtins.str] = None,
4114
+ principal: typing.Optional[typing.Sequence[builtins.str]] = None,
4115
+ ) -> None:
4116
+ """Type checking stubs"""
4117
+ pass
4118
+
2910
4119
  def _typecheckingstub__d4b85e0c42d14b4681c4f948114178ba1c1a3d4eee3aed6f96a55a11624008b9(
2911
4120
  scope: _constructs_77d1e7e8.Construct,
2912
4121
  id: builtins.str,