aws-sdk-customerprofiles 1.10.0 → 1.14.0

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.
@@ -153,6 +153,52 @@ module Aws::CustomerProfiles
153
153
  include Aws::Structure
154
154
  end
155
155
 
156
+ # Configuration settings for how to perform the auto-merging of
157
+ # profiles.
158
+ #
159
+ # @note When making an API call, you may pass AutoMerging
160
+ # data as a hash:
161
+ #
162
+ # {
163
+ # enabled: false, # required
164
+ # consolidation: {
165
+ # matching_attributes_list: [ # required
166
+ # ["string1To255"],
167
+ # ],
168
+ # },
169
+ # conflict_resolution: {
170
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
171
+ # source_name: "string1To255",
172
+ # },
173
+ # }
174
+ #
175
+ # @!attribute [rw] enabled
176
+ # The flag that enables the auto-merging of duplicate profiles.
177
+ # @return [Boolean]
178
+ #
179
+ # @!attribute [rw] consolidation
180
+ # A list of matching attributes that represent matching criteria. If
181
+ # two profiles meet at least one of the requirements in the matching
182
+ # attributes list, they will be merged.
183
+ # @return [Types::Consolidation]
184
+ #
185
+ # @!attribute [rw] conflict_resolution
186
+ # How the auto-merging process should resolve conflicts between
187
+ # different profiles. For example, if Profile A and Profile B have the
188
+ # same `FirstName` and `LastName` (and that is the matching criteria),
189
+ # which `EmailAddress` should be used?
190
+ # @return [Types::ConflictResolution]
191
+ #
192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AutoMerging AWS API Documentation
193
+ #
194
+ class AutoMerging < Struct.new(
195
+ :enabled,
196
+ :consolidation,
197
+ :conflict_resolution)
198
+ SENSITIVE = []
199
+ include Aws::Structure
200
+ end
201
+
156
202
  # The input you provided is invalid.
157
203
  #
158
204
  # @!attribute [rw] message
@@ -166,6 +212,43 @@ module Aws::CustomerProfiles
166
212
  include Aws::Structure
167
213
  end
168
214
 
215
+ # How the auto-merging process should resolve conflicts between
216
+ # different profiles.
217
+ #
218
+ # @note When making an API call, you may pass ConflictResolution
219
+ # data as a hash:
220
+ #
221
+ # {
222
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
223
+ # source_name: "string1To255",
224
+ # }
225
+ #
226
+ # @!attribute [rw] conflict_resolving_model
227
+ # How the auto-merging process should resolve conflicts between
228
+ # different profiles.
229
+ #
230
+ # * `RECENCY`\: Uses the data that was most recently updated.
231
+ #
232
+ # * `SOURCE`\: Uses the data from a specific source. For example, if a
233
+ # company has been aquired or two departments have merged, data from
234
+ # the specified source is used. If two duplicate profiles are from
235
+ # the same source, then `RECENCY` is used again.
236
+ # @return [String]
237
+ #
238
+ # @!attribute [rw] source_name
239
+ # The `ObjectType` name that is used to resolve profile merging
240
+ # conflicts when choosing `SOURCE` as the `ConflictResolvingModel`.
241
+ # @return [String]
242
+ #
243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ConflictResolution AWS API Documentation
244
+ #
245
+ class ConflictResolution < Struct.new(
246
+ :conflict_resolving_model,
247
+ :source_name)
248
+ SENSITIVE = []
249
+ include Aws::Structure
250
+ end
251
+
169
252
  # The operation to be performed on the provided source fields.
170
253
  #
171
254
  # @note When making an API call, you may pass ConnectorOperator
@@ -214,6 +297,29 @@ module Aws::CustomerProfiles
214
297
  include Aws::Structure
215
298
  end
216
299
 
300
+ # The matching criteria to be used during the auto-merging process.
301
+ #
302
+ # @note When making an API call, you may pass Consolidation
303
+ # data as a hash:
304
+ #
305
+ # {
306
+ # matching_attributes_list: [ # required
307
+ # ["string1To255"],
308
+ # ],
309
+ # }
310
+ #
311
+ # @!attribute [rw] matching_attributes_list
312
+ # A list of matching criteria.
313
+ # @return [Array<Array<String>>]
314
+ #
315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/Consolidation AWS API Documentation
316
+ #
317
+ class Consolidation < Struct.new(
318
+ :matching_attributes_list)
319
+ SENSITIVE = []
320
+ include Aws::Structure
321
+ end
322
+
217
323
  # @note When making an API call, you may pass CreateDomainRequest
218
324
  # data as a hash:
219
325
  #
@@ -224,6 +330,28 @@ module Aws::CustomerProfiles
224
330
  # dead_letter_queue_url: "sqsQueueUrl",
225
331
  # matching: {
226
332
  # enabled: false, # required
333
+ # job_schedule: {
334
+ # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
335
+ # time: "JobScheduleTime", # required
336
+ # },
337
+ # auto_merging: {
338
+ # enabled: false, # required
339
+ # consolidation: {
340
+ # matching_attributes_list: [ # required
341
+ # ["string1To255"],
342
+ # ],
343
+ # },
344
+ # conflict_resolution: {
345
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
346
+ # source_name: "string1To255",
347
+ # },
348
+ # },
349
+ # exporting_config: {
350
+ # s3_exporting: {
351
+ # s3_bucket_name: "s3BucketName", # required
352
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
353
+ # },
354
+ # },
227
355
  # },
228
356
  # tags: {
229
357
  # "TagKey" => "TagValue",
@@ -254,11 +382,16 @@ module Aws::CustomerProfiles
254
382
  # @return [String]
255
383
  #
256
384
  # @!attribute [rw] matching
257
- # The process of matching duplicate profiles. If Matching = true,
258
- # Amazon Connect Customer Profiles starts a weekly batch process every
385
+ # The process of matching duplicate profiles. If `Matching` = `true`,
386
+ # Amazon Connect Customer Profiles starts a weekly batch process
387
+ # called Identity Resolution Job. If you do not specify a date and
388
+ # time for Identity Resolution Job to run, by default it runs every
259
389
  # Saturday at 12AM UTC to detect duplicate profiles in your domains.
260
- # After that batch process completes, use the [GetMatches][1] API to
261
- # return and review the results.
390
+ #
391
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
392
+ # API to return and review the results. Or, if you have configured
393
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
394
+ # results from S3.
262
395
  #
263
396
  #
264
397
  #
@@ -304,11 +437,16 @@ module Aws::CustomerProfiles
304
437
  # @return [String]
305
438
  #
306
439
  # @!attribute [rw] matching
307
- # The process of matching duplicate profiles. If Matching = true,
308
- # Amazon Connect Customer Profiles starts a weekly batch process every
440
+ # The process of matching duplicate profiles. If `Matching` = `true`,
441
+ # Amazon Connect Customer Profiles starts a weekly batch process
442
+ # called Identity Resolution Job. If you do not specify a date and
443
+ # time for Identity Resolution Job to run, by default it runs every
309
444
  # Saturday at 12AM UTC to detect duplicate profiles in your domains.
310
- # After that batch process completes, use the [GetMatches][1] API to
311
- # return and review the results.
445
+ #
446
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
447
+ # API to return and review the results. Or, if you have configured
448
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
449
+ # results from S3.
312
450
  #
313
451
  #
314
452
  #
@@ -822,6 +960,57 @@ module Aws::CustomerProfiles
822
960
  include Aws::Structure
823
961
  end
824
962
 
963
+ # Configuration information about the S3 bucket where Identity
964
+ # Resolution Jobs writes result files.
965
+ #
966
+ # <note markdown="1"> You need to give Customer Profiles service principal write permission
967
+ # to your S3 bucket. Otherwise, you'll get an exception in the API
968
+ # response. For an example policy, see [Amazon Connect Customer Profiles
969
+ # cross-service confused deputy prevention][1].
970
+ #
971
+ # </note>
972
+ #
973
+ #
974
+ #
975
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service
976
+ #
977
+ # @note When making an API call, you may pass ExportingConfig
978
+ # data as a hash:
979
+ #
980
+ # {
981
+ # s3_exporting: {
982
+ # s3_bucket_name: "s3BucketName", # required
983
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
984
+ # },
985
+ # }
986
+ #
987
+ # @!attribute [rw] s3_exporting
988
+ # The S3 location where Identity Resolution Jobs write result files.
989
+ # @return [Types::S3ExportingConfig]
990
+ #
991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ExportingConfig AWS API Documentation
992
+ #
993
+ class ExportingConfig < Struct.new(
994
+ :s3_exporting)
995
+ SENSITIVE = []
996
+ include Aws::Structure
997
+ end
998
+
999
+ # The S3 location where Identity Resolution Jobs write result files.
1000
+ #
1001
+ # @!attribute [rw] s3_exporting
1002
+ # Information about the S3 location where Identity Resolution Jobs
1003
+ # write result files.
1004
+ # @return [Types::S3ExportingLocation]
1005
+ #
1006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ExportingLocation AWS API Documentation
1007
+ #
1008
+ class ExportingLocation < Struct.new(
1009
+ :s3_exporting)
1010
+ SENSITIVE = []
1011
+ include Aws::Structure
1012
+ end
1013
+
825
1014
  # A duplicate customer profile that is to be merged into a main profile.
826
1015
  #
827
1016
  # @note When making an API call, you may pass FieldSourceProfileIds
@@ -1080,6 +1269,74 @@ module Aws::CustomerProfiles
1080
1269
  include Aws::Structure
1081
1270
  end
1082
1271
 
1272
+ # @note When making an API call, you may pass GetAutoMergingPreviewRequest
1273
+ # data as a hash:
1274
+ #
1275
+ # {
1276
+ # domain_name: "name", # required
1277
+ # consolidation: { # required
1278
+ # matching_attributes_list: [ # required
1279
+ # ["string1To255"],
1280
+ # ],
1281
+ # },
1282
+ # conflict_resolution: { # required
1283
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
1284
+ # source_name: "string1To255",
1285
+ # },
1286
+ # }
1287
+ #
1288
+ # @!attribute [rw] domain_name
1289
+ # The unique name of the domain.
1290
+ # @return [String]
1291
+ #
1292
+ # @!attribute [rw] consolidation
1293
+ # A list of matching attributes that represent matching criteria.
1294
+ # @return [Types::Consolidation]
1295
+ #
1296
+ # @!attribute [rw] conflict_resolution
1297
+ # How the auto-merging process should resolve conflicts between
1298
+ # different profiles.
1299
+ # @return [Types::ConflictResolution]
1300
+ #
1301
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetAutoMergingPreviewRequest AWS API Documentation
1302
+ #
1303
+ class GetAutoMergingPreviewRequest < Struct.new(
1304
+ :domain_name,
1305
+ :consolidation,
1306
+ :conflict_resolution)
1307
+ SENSITIVE = []
1308
+ include Aws::Structure
1309
+ end
1310
+
1311
+ # @!attribute [rw] domain_name
1312
+ # The unique name of the domain.
1313
+ # @return [String]
1314
+ #
1315
+ # @!attribute [rw] number_of_matches_in_sample
1316
+ # The number of match groups in the domain that have been reviewed in
1317
+ # this preview dry run.
1318
+ # @return [Integer]
1319
+ #
1320
+ # @!attribute [rw] number_of_profiles_in_sample
1321
+ # The number of profiles found in this preview dry run.
1322
+ # @return [Integer]
1323
+ #
1324
+ # @!attribute [rw] number_of_profiles_will_be_merged
1325
+ # The number of profiles that would be merged if this wasn't a
1326
+ # preview dry run.
1327
+ # @return [Integer]
1328
+ #
1329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetAutoMergingPreviewResponse AWS API Documentation
1330
+ #
1331
+ class GetAutoMergingPreviewResponse < Struct.new(
1332
+ :domain_name,
1333
+ :number_of_matches_in_sample,
1334
+ :number_of_profiles_in_sample,
1335
+ :number_of_profiles_will_be_merged)
1336
+ SENSITIVE = []
1337
+ include Aws::Structure
1338
+ end
1339
+
1083
1340
  # @note When making an API call, you may pass GetDomainRequest
1084
1341
  # data as a hash:
1085
1342
  #
@@ -1124,11 +1381,16 @@ module Aws::CustomerProfiles
1124
1381
  # @return [Types::DomainStats]
1125
1382
  #
1126
1383
  # @!attribute [rw] matching
1127
- # The process of matching duplicate profiles. If Matching = true,
1128
- # Amazon Connect Customer Profiles starts a weekly batch process every
1384
+ # The process of matching duplicate profiles. If `Matching` = `true`,
1385
+ # Amazon Connect Customer Profiles starts a weekly batch process
1386
+ # called Identity Resolution Job. If you do not specify a date and
1387
+ # time for Identity Resolution Job to run, by default it runs every
1129
1388
  # Saturday at 12AM UTC to detect duplicate profiles in your domains.
1130
- # After that batch process completes, use the [GetMatches][1] API to
1131
- # return and review the results.
1389
+ #
1390
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
1391
+ # API to return and review the results. Or, if you have configured
1392
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
1393
+ # results from S3.
1132
1394
  #
1133
1395
  #
1134
1396
  #
@@ -1164,6 +1426,121 @@ module Aws::CustomerProfiles
1164
1426
  include Aws::Structure
1165
1427
  end
1166
1428
 
1429
+ # @note When making an API call, you may pass GetIdentityResolutionJobRequest
1430
+ # data as a hash:
1431
+ #
1432
+ # {
1433
+ # domain_name: "name", # required
1434
+ # job_id: "uuid", # required
1435
+ # }
1436
+ #
1437
+ # @!attribute [rw] domain_name
1438
+ # The unique name of the domain.
1439
+ # @return [String]
1440
+ #
1441
+ # @!attribute [rw] job_id
1442
+ # The unique identifier of the Identity Resolution Job.
1443
+ # @return [String]
1444
+ #
1445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIdentityResolutionJobRequest AWS API Documentation
1446
+ #
1447
+ class GetIdentityResolutionJobRequest < Struct.new(
1448
+ :domain_name,
1449
+ :job_id)
1450
+ SENSITIVE = []
1451
+ include Aws::Structure
1452
+ end
1453
+
1454
+ # @!attribute [rw] domain_name
1455
+ # The unique name of the domain.
1456
+ # @return [String]
1457
+ #
1458
+ # @!attribute [rw] job_id
1459
+ # The unique identifier of the Identity Resolution Job.
1460
+ # @return [String]
1461
+ #
1462
+ # @!attribute [rw] status
1463
+ # The status of the Identity Resolution Job.
1464
+ #
1465
+ # * `PENDING`\: The Identity Resolution Job is scheduled but has not
1466
+ # started yet. If you turn off the Identity Resolution feature in
1467
+ # your domain, jobs in the `PENDING` state are deleted.
1468
+ #
1469
+ # * `PREPROCESSING`\: The Identity Resolution Job is loading your
1470
+ # data.
1471
+ #
1472
+ # * `FIND_MATCHING`\: The Identity Resolution Job is using the machine
1473
+ # learning model to identify profiles that belong to the same
1474
+ # matching group.
1475
+ #
1476
+ # * `MERGING`\: The Identity Resolution Job is merging duplicate
1477
+ # profiles.
1478
+ #
1479
+ # * `COMPLETED`\: The Identity Resolution Job completed successfully.
1480
+ #
1481
+ # * `PARTIAL_SUCCESS`\: There's a system error and not all of the
1482
+ # data is merged. The Identity Resolution Job writes a message
1483
+ # indicating the source of the problem.
1484
+ #
1485
+ # * `FAILED`\: The Identity Resolution Job did not merge any data. It
1486
+ # writes a message indicating the source of the problem.
1487
+ # @return [String]
1488
+ #
1489
+ # @!attribute [rw] message
1490
+ # The error messages that are generated when the Identity Resolution
1491
+ # Job runs.
1492
+ # @return [String]
1493
+ #
1494
+ # @!attribute [rw] job_start_time
1495
+ # The timestamp of when the Identity Resolution Job was started or
1496
+ # will be started.
1497
+ # @return [Time]
1498
+ #
1499
+ # @!attribute [rw] job_end_time
1500
+ # The timestamp of when the Identity Resolution Job was completed.
1501
+ # @return [Time]
1502
+ #
1503
+ # @!attribute [rw] last_updated_at
1504
+ # The timestamp of when the Identity Resolution Job was most recently
1505
+ # edited.
1506
+ # @return [Time]
1507
+ #
1508
+ # @!attribute [rw] job_expiration_time
1509
+ # The timestamp of when the Identity Resolution Job will expire.
1510
+ # @return [Time]
1511
+ #
1512
+ # @!attribute [rw] auto_merging
1513
+ # Configuration settings for how to perform the auto-merging of
1514
+ # profiles.
1515
+ # @return [Types::AutoMerging]
1516
+ #
1517
+ # @!attribute [rw] exporting_location
1518
+ # The S3 location where the Identity Resolution Job writes result
1519
+ # files.
1520
+ # @return [Types::ExportingLocation]
1521
+ #
1522
+ # @!attribute [rw] job_stats
1523
+ # Statistics about the Identity Resolution Job.
1524
+ # @return [Types::JobStats]
1525
+ #
1526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIdentityResolutionJobResponse AWS API Documentation
1527
+ #
1528
+ class GetIdentityResolutionJobResponse < Struct.new(
1529
+ :domain_name,
1530
+ :job_id,
1531
+ :status,
1532
+ :message,
1533
+ :job_start_time,
1534
+ :job_end_time,
1535
+ :last_updated_at,
1536
+ :job_expiration_time,
1537
+ :auto_merging,
1538
+ :exporting_location,
1539
+ :job_stats)
1540
+ SENSITIVE = []
1541
+ include Aws::Structure
1542
+ end
1543
+
1167
1544
  # @note When making an API call, you may pass GetIntegrationRequest
1168
1545
  # data as a hash:
1169
1546
  #
@@ -1343,6 +1720,11 @@ module Aws::CustomerProfiles
1343
1720
  # found, then the service creates a new standard profile.
1344
1721
  # @return [Boolean]
1345
1722
  #
1723
+ # @!attribute [rw] source_last_updated_timestamp_format
1724
+ # The format of your `sourceLastUpdatedTimestamp` that was previously
1725
+ # set up.
1726
+ # @return [String]
1727
+ #
1346
1728
  # @!attribute [rw] fields
1347
1729
  # A map of the name and ObjectType field.
1348
1730
  # @return [Hash<String,Types::ObjectTypeField>]
@@ -1373,6 +1755,7 @@ module Aws::CustomerProfiles
1373
1755
  :expiration_days,
1374
1756
  :encryption_key,
1375
1757
  :allow_profile_creation,
1758
+ :source_last_updated_timestamp_format,
1376
1759
  :fields,
1377
1760
  :keys,
1378
1761
  :created_at,
@@ -1422,6 +1805,11 @@ module Aws::CustomerProfiles
1422
1805
  # found, then the service creates a new standard profile.
1423
1806
  # @return [Boolean]
1424
1807
  #
1808
+ # @!attribute [rw] source_last_updated_timestamp_format
1809
+ # The format of your `sourceLastUpdatedTimestamp` that was previously
1810
+ # set up.
1811
+ # @return [String]
1812
+ #
1425
1813
  # @!attribute [rw] fields
1426
1814
  # A map of the name and ObjectType field.
1427
1815
  # @return [Hash<String,Types::ObjectTypeField>]
@@ -1437,12 +1825,87 @@ module Aws::CustomerProfiles
1437
1825
  :source_name,
1438
1826
  :source_object,
1439
1827
  :allow_profile_creation,
1828
+ :source_last_updated_timestamp_format,
1440
1829
  :fields,
1441
1830
  :keys)
1442
1831
  SENSITIVE = []
1443
1832
  include Aws::Structure
1444
1833
  end
1445
1834
 
1835
+ # Information about the Identity Resolution Job.
1836
+ #
1837
+ # @!attribute [rw] domain_name
1838
+ # The unique name of the domain.
1839
+ # @return [String]
1840
+ #
1841
+ # @!attribute [rw] job_id
1842
+ # The unique identifier of the Identity Resolution Job.
1843
+ # @return [String]
1844
+ #
1845
+ # @!attribute [rw] status
1846
+ # The status of the Identity Resolution Job.
1847
+ #
1848
+ # * `PENDING`\: The Identity Resolution Job is scheduled but has not
1849
+ # started yet. If you turn off the Identity Resolution feature in
1850
+ # your domain, jobs in the `PENDING` state are deleted.
1851
+ #
1852
+ # * `PREPROCESSING`\: The Identity Resolution Job is loading your
1853
+ # data.
1854
+ #
1855
+ # * `FIND_MATCHING`\: The Identity Resolution Job is using the machine
1856
+ # learning model to identify profiles that belong to the same
1857
+ # matching group.
1858
+ #
1859
+ # * `MERGING`\: The Identity Resolution Job is merging duplicate
1860
+ # profiles.
1861
+ #
1862
+ # * `COMPLETED`\: The Identity Resolution Job completed successfully.
1863
+ #
1864
+ # * `PARTIAL_SUCCESS`\: There's a system error and not all of the
1865
+ # data is merged. The Identity Resolution Job writes a message
1866
+ # indicating the source of the problem.
1867
+ #
1868
+ # * `FAILED`\: The Identity Resolution Job did not merge any data. It
1869
+ # writes a message indicating the source of the problem.
1870
+ # @return [String]
1871
+ #
1872
+ # @!attribute [rw] job_start_time
1873
+ # The timestamp of when the job was started or will be started.
1874
+ # @return [Time]
1875
+ #
1876
+ # @!attribute [rw] job_end_time
1877
+ # The timestamp of when the job was completed.
1878
+ # @return [Time]
1879
+ #
1880
+ # @!attribute [rw] job_stats
1881
+ # Statistics about an Identity Resolution Job.
1882
+ # @return [Types::JobStats]
1883
+ #
1884
+ # @!attribute [rw] exporting_location
1885
+ # The S3 location where the Identity Resolution Job writes result
1886
+ # files.
1887
+ # @return [Types::ExportingLocation]
1888
+ #
1889
+ # @!attribute [rw] message
1890
+ # The error messages that are generated when the Identity Resolution
1891
+ # Job runs.
1892
+ # @return [String]
1893
+ #
1894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/IdentityResolutionJob AWS API Documentation
1895
+ #
1896
+ class IdentityResolutionJob < Struct.new(
1897
+ :domain_name,
1898
+ :job_id,
1899
+ :status,
1900
+ :job_start_time,
1901
+ :job_end_time,
1902
+ :job_stats,
1903
+ :exporting_location,
1904
+ :message)
1905
+ SENSITIVE = []
1906
+ include Aws::Structure
1907
+ end
1908
+
1446
1909
  # Specifies the configuration used when importing incremental records
1447
1910
  # from the source.
1448
1911
  #
@@ -1479,6 +1942,58 @@ module Aws::CustomerProfiles
1479
1942
  include Aws::Structure
1480
1943
  end
1481
1944
 
1945
+ # The day and time when do you want to start the Identity Resolution Job
1946
+ # every week.
1947
+ #
1948
+ # @note When making an API call, you may pass JobSchedule
1949
+ # data as a hash:
1950
+ #
1951
+ # {
1952
+ # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
1953
+ # time: "JobScheduleTime", # required
1954
+ # }
1955
+ #
1956
+ # @!attribute [rw] day_of_the_week
1957
+ # The day when the Identity Resolution Job should run every week.
1958
+ # @return [String]
1959
+ #
1960
+ # @!attribute [rw] time
1961
+ # The time when the Identity Resolution Job should run every week.
1962
+ # @return [String]
1963
+ #
1964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/JobSchedule AWS API Documentation
1965
+ #
1966
+ class JobSchedule < Struct.new(
1967
+ :day_of_the_week,
1968
+ :time)
1969
+ SENSITIVE = []
1970
+ include Aws::Structure
1971
+ end
1972
+
1973
+ # Statistics about the Identity Resolution Job.
1974
+ #
1975
+ # @!attribute [rw] number_of_profiles_reviewed
1976
+ # The number of profiles reviewed.
1977
+ # @return [Integer]
1978
+ #
1979
+ # @!attribute [rw] number_of_matches_found
1980
+ # The number of matches found.
1981
+ # @return [Integer]
1982
+ #
1983
+ # @!attribute [rw] number_of_merges_done
1984
+ # The number of merges completed.
1985
+ # @return [Integer]
1986
+ #
1987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/JobStats AWS API Documentation
1988
+ #
1989
+ class JobStats < Struct.new(
1990
+ :number_of_profiles_reviewed,
1991
+ :number_of_matches_found,
1992
+ :number_of_merges_done)
1993
+ SENSITIVE = []
1994
+ include Aws::Structure
1995
+ end
1996
+
1482
1997
  # @note When making an API call, you may pass ListAccountIntegrationsRequest
1483
1998
  # data as a hash:
1484
1999
  #
@@ -1601,6 +2116,57 @@ module Aws::CustomerProfiles
1601
2116
  include Aws::Structure
1602
2117
  end
1603
2118
 
2119
+ # @note When making an API call, you may pass ListIdentityResolutionJobsRequest
2120
+ # data as a hash:
2121
+ #
2122
+ # {
2123
+ # domain_name: "name", # required
2124
+ # next_token: "token",
2125
+ # max_results: 1,
2126
+ # }
2127
+ #
2128
+ # @!attribute [rw] domain_name
2129
+ # The unique name of the domain.
2130
+ # @return [String]
2131
+ #
2132
+ # @!attribute [rw] next_token
2133
+ # The token for the next set of results. Use the value returned in the
2134
+ # previous response in the next request to retrieve the next set of
2135
+ # results.
2136
+ # @return [String]
2137
+ #
2138
+ # @!attribute [rw] max_results
2139
+ # The maximum number of results to return per page.
2140
+ # @return [Integer]
2141
+ #
2142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIdentityResolutionJobsRequest AWS API Documentation
2143
+ #
2144
+ class ListIdentityResolutionJobsRequest < Struct.new(
2145
+ :domain_name,
2146
+ :next_token,
2147
+ :max_results)
2148
+ SENSITIVE = []
2149
+ include Aws::Structure
2150
+ end
2151
+
2152
+ # @!attribute [rw] identity_resolution_jobs_list
2153
+ # A list of Identity Resolution Jobs.
2154
+ # @return [Array<Types::IdentityResolutionJob>]
2155
+ #
2156
+ # @!attribute [rw] next_token
2157
+ # If there are additional results, this is the token for the next set
2158
+ # of results.
2159
+ # @return [String]
2160
+ #
2161
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIdentityResolutionJobsResponse AWS API Documentation
2162
+ #
2163
+ class ListIdentityResolutionJobsResponse < Struct.new(
2164
+ :identity_resolution_jobs_list,
2165
+ :next_token)
2166
+ SENSITIVE = []
2167
+ include Aws::Structure
2168
+ end
2169
+
1604
2170
  # An integration in list of integrations.
1605
2171
  #
1606
2172
  # @!attribute [rw] domain_name
@@ -2000,11 +2566,18 @@ module Aws::CustomerProfiles
2000
2566
  # A list of identifiers for profiles that match.
2001
2567
  # @return [Array<String>]
2002
2568
  #
2569
+ # @!attribute [rw] confidence_score
2570
+ # A number between 0 and 1 that represents the confidence level of
2571
+ # assigning profiles to a matching group. A score of 1 likely
2572
+ # indicates an exact match.
2573
+ # @return [Float]
2574
+ #
2003
2575
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchItem AWS API Documentation
2004
2576
  #
2005
2577
  class MatchItem < Struct.new(
2006
2578
  :match_id,
2007
- :profile_ids)
2579
+ :profile_ids,
2580
+ :confidence_score)
2008
2581
  SENSITIVE = []
2009
2582
  include Aws::Structure
2010
2583
  end
@@ -2016,16 +2589,55 @@ module Aws::CustomerProfiles
2016
2589
  #
2017
2590
  # {
2018
2591
  # enabled: false, # required
2592
+ # job_schedule: {
2593
+ # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
2594
+ # time: "JobScheduleTime", # required
2595
+ # },
2596
+ # auto_merging: {
2597
+ # enabled: false, # required
2598
+ # consolidation: {
2599
+ # matching_attributes_list: [ # required
2600
+ # ["string1To255"],
2601
+ # ],
2602
+ # },
2603
+ # conflict_resolution: {
2604
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
2605
+ # source_name: "string1To255",
2606
+ # },
2607
+ # },
2608
+ # exporting_config: {
2609
+ # s3_exporting: {
2610
+ # s3_bucket_name: "s3BucketName", # required
2611
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
2612
+ # },
2613
+ # },
2019
2614
  # }
2020
2615
  #
2021
2616
  # @!attribute [rw] enabled
2022
2617
  # The flag that enables the matching process of duplicate profiles.
2023
2618
  # @return [Boolean]
2024
2619
  #
2620
+ # @!attribute [rw] job_schedule
2621
+ # The day and time when do you want to start the Identity Resolution
2622
+ # Job every week.
2623
+ # @return [Types::JobSchedule]
2624
+ #
2625
+ # @!attribute [rw] auto_merging
2626
+ # Configuration information about the auto-merging process.
2627
+ # @return [Types::AutoMerging]
2628
+ #
2629
+ # @!attribute [rw] exporting_config
2630
+ # Configuration information for exporting Identity Resolution results,
2631
+ # for example, to an S3 bucket.
2632
+ # @return [Types::ExportingConfig]
2633
+ #
2025
2634
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchingRequest AWS API Documentation
2026
2635
  #
2027
2636
  class MatchingRequest < Struct.new(
2028
- :enabled)
2637
+ :enabled,
2638
+ :job_schedule,
2639
+ :auto_merging,
2640
+ :exporting_config)
2029
2641
  SENSITIVE = []
2030
2642
  include Aws::Structure
2031
2643
  end
@@ -2036,10 +2648,27 @@ module Aws::CustomerProfiles
2036
2648
  # The flag that enables the matching process of duplicate profiles.
2037
2649
  # @return [Boolean]
2038
2650
  #
2651
+ # @!attribute [rw] job_schedule
2652
+ # The day and time when do you want to start the Identity Resolution
2653
+ # Job every week.
2654
+ # @return [Types::JobSchedule]
2655
+ #
2656
+ # @!attribute [rw] auto_merging
2657
+ # Configuration information about the auto-merging process.
2658
+ # @return [Types::AutoMerging]
2659
+ #
2660
+ # @!attribute [rw] exporting_config
2661
+ # Configuration information for exporting Identity Resolution results,
2662
+ # for example, to an S3 bucket.
2663
+ # @return [Types::ExportingConfig]
2664
+ #
2039
2665
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchingResponse AWS API Documentation
2040
2666
  #
2041
2667
  class MatchingResponse < Struct.new(
2042
- :enabled)
2668
+ :enabled,
2669
+ :job_schedule,
2670
+ :auto_merging,
2671
+ :exporting_config)
2043
2672
  SENSITIVE = []
2044
2673
  include Aws::Structure
2045
2674
  end
@@ -2551,6 +3180,7 @@ module Aws::CustomerProfiles
2551
3180
  # expiration_days: 1,
2552
3181
  # encryption_key: "encryptionKey",
2553
3182
  # allow_profile_creation: false,
3183
+ # source_last_updated_timestamp_format: "string1To255",
2554
3184
  # fields: {
2555
3185
  # "name" => {
2556
3186
  # source: "text",
@@ -2605,6 +3235,11 @@ module Aws::CustomerProfiles
2605
3235
  # found, then the service creates a new standard profile.
2606
3236
  # @return [Boolean]
2607
3237
  #
3238
+ # @!attribute [rw] source_last_updated_timestamp_format
3239
+ # The format of your `sourceLastUpdatedTimestamp` that was previously
3240
+ # set up.
3241
+ # @return [String]
3242
+ #
2608
3243
  # @!attribute [rw] fields
2609
3244
  # A map of the name and ObjectType field.
2610
3245
  # @return [Hash<String,Types::ObjectTypeField>]
@@ -2628,6 +3263,7 @@ module Aws::CustomerProfiles
2628
3263
  :expiration_days,
2629
3264
  :encryption_key,
2630
3265
  :allow_profile_creation,
3266
+ :source_last_updated_timestamp_format,
2631
3267
  :fields,
2632
3268
  :keys,
2633
3269
  :tags)
@@ -2665,6 +3301,17 @@ module Aws::CustomerProfiles
2665
3301
  # found, then the service creates a new standard profile.
2666
3302
  # @return [Boolean]
2667
3303
  #
3304
+ # @!attribute [rw] source_last_updated_timestamp_format
3305
+ # The format of your `sourceLastUpdatedTimestamp` that was previously
3306
+ # set up in fields that were parsed using [SimpleDateFormat][1]. If
3307
+ # you have `sourceLastUpdatedTimestamp` in your field, you must set up
3308
+ # `sourceLastUpdatedTimestampFormat`.
3309
+ #
3310
+ #
3311
+ #
3312
+ # [1]: https://docs.oracle.com/javase/10/docs/api/java/text/SimpleDateFormat.html
3313
+ # @return [String]
3314
+ #
2668
3315
  # @!attribute [rw] fields
2669
3316
  # A map of the name and ObjectType field.
2670
3317
  # @return [Hash<String,Types::ObjectTypeField>]
@@ -2695,6 +3342,7 @@ module Aws::CustomerProfiles
2695
3342
  :expiration_days,
2696
3343
  :encryption_key,
2697
3344
  :allow_profile_creation,
3345
+ :source_last_updated_timestamp_format,
2698
3346
  :fields,
2699
3347
  :keys,
2700
3348
  :created_at,
@@ -2717,6 +3365,57 @@ module Aws::CustomerProfiles
2717
3365
  include Aws::Structure
2718
3366
  end
2719
3367
 
3368
+ # Configuration information about the S3 bucket where Identity
3369
+ # Resolution Jobs write result files.
3370
+ #
3371
+ # @note When making an API call, you may pass S3ExportingConfig
3372
+ # data as a hash:
3373
+ #
3374
+ # {
3375
+ # s3_bucket_name: "s3BucketName", # required
3376
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
3377
+ # }
3378
+ #
3379
+ # @!attribute [rw] s3_bucket_name
3380
+ # The name of the S3 bucket where Identity Resolution Jobs write
3381
+ # result files.
3382
+ # @return [String]
3383
+ #
3384
+ # @!attribute [rw] s3_key_name
3385
+ # The S3 key name of the location where Identity Resolution Jobs write
3386
+ # result files.
3387
+ # @return [String]
3388
+ #
3389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/S3ExportingConfig AWS API Documentation
3390
+ #
3391
+ class S3ExportingConfig < Struct.new(
3392
+ :s3_bucket_name,
3393
+ :s3_key_name)
3394
+ SENSITIVE = []
3395
+ include Aws::Structure
3396
+ end
3397
+
3398
+ # The S3 location where Identity Resolution Jobs write result files.
3399
+ #
3400
+ # @!attribute [rw] s3_bucket_name
3401
+ # The name of the S3 bucket name where Identity Resolution Jobs write
3402
+ # result files.
3403
+ # @return [String]
3404
+ #
3405
+ # @!attribute [rw] s3_key_name
3406
+ # The S3 key name of the location where Identity Resolution Jobs write
3407
+ # result files.
3408
+ # @return [String]
3409
+ #
3410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/S3ExportingLocation AWS API Documentation
3411
+ #
3412
+ class S3ExportingLocation < Struct.new(
3413
+ :s3_bucket_name,
3414
+ :s3_key_name)
3415
+ SENSITIVE = []
3416
+ include Aws::Structure
3417
+ end
3418
+
2720
3419
  # The properties that are applied when Amazon S3 is being used as the
2721
3420
  # flow source.
2722
3421
  #
@@ -3350,6 +4049,28 @@ module Aws::CustomerProfiles
3350
4049
  # dead_letter_queue_url: "sqsQueueUrl",
3351
4050
  # matching: {
3352
4051
  # enabled: false, # required
4052
+ # job_schedule: {
4053
+ # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
4054
+ # time: "JobScheduleTime", # required
4055
+ # },
4056
+ # auto_merging: {
4057
+ # enabled: false, # required
4058
+ # consolidation: {
4059
+ # matching_attributes_list: [ # required
4060
+ # ["string1To255"],
4061
+ # ],
4062
+ # },
4063
+ # conflict_resolution: {
4064
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
4065
+ # source_name: "string1To255",
4066
+ # },
4067
+ # },
4068
+ # exporting_config: {
4069
+ # s3_exporting: {
4070
+ # s3_bucket_name: "s3BucketName", # required
4071
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
4072
+ # },
4073
+ # },
3353
4074
  # },
3354
4075
  # tags: {
3355
4076
  # "TagKey" => "TagValue",
@@ -3382,11 +4103,16 @@ module Aws::CustomerProfiles
3382
4103
  # @return [String]
3383
4104
  #
3384
4105
  # @!attribute [rw] matching
3385
- # The process of matching duplicate profiles. If Matching = true,
3386
- # Amazon Connect Customer Profiles starts a weekly batch process every
4106
+ # The process of matching duplicate profiles. If `Matching` = `true`,
4107
+ # Amazon Connect Customer Profiles starts a weekly batch process
4108
+ # called Identity Resolution Job. If you do not specify a date and
4109
+ # time for Identity Resolution Job to run, by default it runs every
3387
4110
  # Saturday at 12AM UTC to detect duplicate profiles in your domains.
3388
- # After that batch process completes, use the [GetMatches][1] API to
3389
- # return and review the results.
4111
+ #
4112
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
4113
+ # API to return and review the results. Or, if you have configured
4114
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
4115
+ # results from S3.
3390
4116
  #
3391
4117
  #
3392
4118
  #
@@ -3432,11 +4158,16 @@ module Aws::CustomerProfiles
3432
4158
  # @return [String]
3433
4159
  #
3434
4160
  # @!attribute [rw] matching
3435
- # The process of matching duplicate profiles. If Matching = true,
3436
- # Amazon Connect Customer Profiles starts a weekly batch process every
4161
+ # The process of matching duplicate profiles. If `Matching` = `true`,
4162
+ # Amazon Connect Customer Profiles starts a weekly batch process
4163
+ # called Identity Resolution Job. If you do not specify a date and
4164
+ # time for Identity Resolution Job to run, by default it runs every
3437
4165
  # Saturday at 12AM UTC to detect duplicate profiles in your domains.
3438
- # After that batch process completes, use the [GetMatches][1] API to
3439
- # return and review the results.
4166
+ #
4167
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
4168
+ # API to return and review the results. Or, if you have configured
4169
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
4170
+ # results from S3.
3440
4171
  #
3441
4172
  #
3442
4173
  #