aws-sdk-customerprofiles 1.11.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  #