@aws-sdk/client-customer-profiles 3.693.0 → 3.695.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.
Files changed (77) hide show
  1. package/README.md +104 -0
  2. package/dist-cjs/index.js +1265 -46
  3. package/dist-es/CustomerProfiles.js +26 -0
  4. package/dist-es/commands/BatchGetCalculatedAttributeForProfileCommand.js +23 -0
  5. package/dist-es/commands/BatchGetProfileCommand.js +23 -0
  6. package/dist-es/commands/CreateSegmentDefinitionCommand.js +23 -0
  7. package/dist-es/commands/CreateSegmentEstimateCommand.js +23 -0
  8. package/dist-es/commands/CreateSegmentSnapshotCommand.js +22 -0
  9. package/dist-es/commands/DeleteSegmentDefinitionCommand.js +22 -0
  10. package/dist-es/commands/GetSegmentDefinitionCommand.js +23 -0
  11. package/dist-es/commands/GetSegmentEstimateCommand.js +22 -0
  12. package/dist-es/commands/GetSegmentMembershipCommand.js +23 -0
  13. package/dist-es/commands/GetSegmentSnapshotCommand.js +22 -0
  14. package/dist-es/commands/ListObjectTypeAttributesCommand.js +22 -0
  15. package/dist-es/commands/ListProfileAttributeValuesCommand.js +22 -0
  16. package/dist-es/commands/ListSegmentDefinitionsCommand.js +23 -0
  17. package/dist-es/commands/index.js +13 -0
  18. package/dist-es/models/models_0.js +208 -34
  19. package/dist-es/pagination/GetSimilarProfilesPaginator.js +4 -0
  20. package/dist-es/pagination/ListObjectTypeAttributesPaginator.js +4 -0
  21. package/dist-es/pagination/ListRuleBasedMatchesPaginator.js +4 -0
  22. package/dist-es/pagination/ListSegmentDefinitionsPaginator.js +4 -0
  23. package/dist-es/pagination/index.js +4 -0
  24. package/dist-es/protocols/Aws_restJson1.js +739 -2
  25. package/dist-types/CustomerProfiles.d.ts +91 -0
  26. package/dist-types/CustomerProfilesClient.d.ts +15 -2
  27. package/dist-types/commands/BatchGetCalculatedAttributeForProfileCommand.d.ts +119 -0
  28. package/dist-types/commands/BatchGetProfileCommand.d.ts +177 -0
  29. package/dist-types/commands/CreateCalculatedAttributeDefinitionCommand.d.ts +40 -0
  30. package/dist-types/commands/CreateSegmentDefinitionCommand.d.ts +221 -0
  31. package/dist-types/commands/CreateSegmentEstimateCommand.d.ts +210 -0
  32. package/dist-types/commands/CreateSegmentSnapshotCommand.d.ts +91 -0
  33. package/dist-types/commands/DeleteSegmentDefinitionCommand.d.ts +87 -0
  34. package/dist-types/commands/DetectProfileObjectTypeCommand.d.ts +1 -1
  35. package/dist-types/commands/GetCalculatedAttributeDefinitionCommand.d.ts +20 -0
  36. package/dist-types/commands/GetProfileObjectTypeCommand.d.ts +1 -1
  37. package/dist-types/commands/GetProfileObjectTypeTemplateCommand.d.ts +1 -1
  38. package/dist-types/commands/GetSegmentDefinitionCommand.d.ts +216 -0
  39. package/dist-types/commands/GetSegmentEstimateCommand.d.ts +92 -0
  40. package/dist-types/commands/GetSegmentMembershipCommand.d.ts +183 -0
  41. package/dist-types/commands/GetSegmentSnapshotCommand.d.ts +94 -0
  42. package/dist-types/commands/ListObjectTypeAttributesCommand.d.ts +95 -0
  43. package/dist-types/commands/ListProfileAttributeValuesCommand.d.ts +94 -0
  44. package/dist-types/commands/ListSegmentDefinitionsCommand.d.ts +100 -0
  45. package/dist-types/commands/PutProfileObjectTypeCommand.d.ts +2 -2
  46. package/dist-types/commands/index.d.ts +13 -0
  47. package/dist-types/models/models_0.d.ts +2277 -826
  48. package/dist-types/pagination/GetSimilarProfilesPaginator.d.ts +7 -0
  49. package/dist-types/pagination/ListObjectTypeAttributesPaginator.d.ts +7 -0
  50. package/dist-types/pagination/ListRuleBasedMatchesPaginator.d.ts +7 -0
  51. package/dist-types/pagination/ListSegmentDefinitionsPaginator.d.ts +7 -0
  52. package/dist-types/pagination/index.d.ts +4 -0
  53. package/dist-types/protocols/Aws_restJson1.d.ts +117 -0
  54. package/dist-types/ts3.4/CustomerProfiles.d.ts +227 -0
  55. package/dist-types/ts3.4/CustomerProfilesClient.d.ts +78 -0
  56. package/dist-types/ts3.4/commands/BatchGetCalculatedAttributeForProfileCommand.d.ts +51 -0
  57. package/dist-types/ts3.4/commands/BatchGetProfileCommand.d.ts +50 -0
  58. package/dist-types/ts3.4/commands/CreateSegmentDefinitionCommand.d.ts +51 -0
  59. package/dist-types/ts3.4/commands/CreateSegmentEstimateCommand.d.ts +51 -0
  60. package/dist-types/ts3.4/commands/CreateSegmentSnapshotCommand.d.ts +51 -0
  61. package/dist-types/ts3.4/commands/DeleteSegmentDefinitionCommand.d.ts +51 -0
  62. package/dist-types/ts3.4/commands/GetSegmentDefinitionCommand.d.ts +51 -0
  63. package/dist-types/ts3.4/commands/GetSegmentEstimateCommand.d.ts +51 -0
  64. package/dist-types/ts3.4/commands/GetSegmentMembershipCommand.d.ts +51 -0
  65. package/dist-types/ts3.4/commands/GetSegmentSnapshotCommand.d.ts +51 -0
  66. package/dist-types/ts3.4/commands/ListObjectTypeAttributesCommand.d.ts +51 -0
  67. package/dist-types/ts3.4/commands/ListProfileAttributeValuesCommand.d.ts +51 -0
  68. package/dist-types/ts3.4/commands/ListSegmentDefinitionsCommand.d.ts +51 -0
  69. package/dist-types/ts3.4/commands/index.d.ts +13 -0
  70. package/dist-types/ts3.4/models/models_0.d.ts +503 -44
  71. package/dist-types/ts3.4/pagination/GetSimilarProfilesPaginator.d.ts +11 -0
  72. package/dist-types/ts3.4/pagination/ListObjectTypeAttributesPaginator.d.ts +11 -0
  73. package/dist-types/ts3.4/pagination/ListRuleBasedMatchesPaginator.d.ts +11 -0
  74. package/dist-types/ts3.4/pagination/ListSegmentDefinitionsPaginator.d.ts +11 -0
  75. package/dist-types/ts3.4/pagination/index.d.ts +4 -0
  76. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +156 -0
  77. package/package.json +1 -1
@@ -184,6 +184,73 @@ export interface Address {
184
184
  */
185
185
  PostalCode?: string | undefined;
186
186
  }
187
+ /**
188
+ * @public
189
+ * @enum
190
+ */
191
+ export declare const StringDimensionType: {
192
+ readonly BEGINS_WITH: "BEGINS_WITH";
193
+ readonly CONTAINS: "CONTAINS";
194
+ readonly ENDS_WITH: "ENDS_WITH";
195
+ readonly EXCLUSIVE: "EXCLUSIVE";
196
+ readonly INCLUSIVE: "INCLUSIVE";
197
+ };
198
+ /**
199
+ * @public
200
+ */
201
+ export type StringDimensionType = (typeof StringDimensionType)[keyof typeof StringDimensionType];
202
+ /**
203
+ * <p>Object to hold the dimensions of a profile's fields to segment on.</p>
204
+ * @public
205
+ */
206
+ export interface ProfileDimension {
207
+ /**
208
+ * <p>The action to segment on.</p>
209
+ * @public
210
+ */
211
+ DimensionType: StringDimensionType | undefined;
212
+ /**
213
+ * <p>The values to apply the DimensionType on.</p>
214
+ * @public
215
+ */
216
+ Values: string[] | undefined;
217
+ }
218
+ /**
219
+ * <p>Object that segments on Customer Profile's address object.</p>
220
+ * @public
221
+ */
222
+ export interface AddressDimension {
223
+ /**
224
+ * <p>The city belonging to the address.</p>
225
+ * @public
226
+ */
227
+ City?: ProfileDimension | undefined;
228
+ /**
229
+ * <p>The country belonging to the address.</p>
230
+ * @public
231
+ */
232
+ Country?: ProfileDimension | undefined;
233
+ /**
234
+ * <p>The county belonging to the address.</p>
235
+ * @public
236
+ */
237
+ County?: ProfileDimension | undefined;
238
+ /**
239
+ * <p>The postal code belonging to the address.</p>
240
+ * @public
241
+ */
242
+ PostalCode?: ProfileDimension | undefined;
243
+ /**
244
+ * <p>The province belonging to the address.</p>
245
+ * @public
246
+ */
247
+ Province?: ProfileDimension | undefined;
248
+ /**
249
+ * <p>The state belonging to the address.</p>
250
+ * @public
251
+ */
252
+ State?: ProfileDimension | undefined;
253
+ }
187
254
  /**
188
255
  * <p>Batch defines the boundaries for ingestion for each step in
189
256
  * <code>APPFLOW_INTEGRATION</code> workflow. <code>APPFLOW_INTEGRATION</code> workflow
@@ -919,6 +986,88 @@ export interface AttributeDetails {
919
986
  */
920
987
  Expression: string | undefined;
921
988
  }
989
+ /**
990
+ * @public
991
+ * @enum
992
+ */
993
+ export declare const AttributeDimensionType: {
994
+ readonly AFTER: "AFTER";
995
+ readonly BEFORE: "BEFORE";
996
+ readonly BEGINS_WITH: "BEGINS_WITH";
997
+ readonly BETWEEN: "BETWEEN";
998
+ readonly CONTAINS: "CONTAINS";
999
+ readonly ENDS_WITH: "ENDS_WITH";
1000
+ readonly EQUAL: "EQUAL";
1001
+ readonly EXCLUSIVE: "EXCLUSIVE";
1002
+ readonly GREATER_THAN: "GREATER_THAN";
1003
+ readonly GREATER_THAN_OR_EQUAL: "GREATER_THAN_OR_EQUAL";
1004
+ readonly INCLUSIVE: "INCLUSIVE";
1005
+ readonly LESS_THAN: "LESS_THAN";
1006
+ readonly LESS_THAN_OR_EQUAL: "LESS_THAN_OR_EQUAL";
1007
+ readonly NOT_BETWEEN: "NOT_BETWEEN";
1008
+ readonly ON: "ON";
1009
+ };
1010
+ /**
1011
+ * @public
1012
+ */
1013
+ export type AttributeDimensionType = (typeof AttributeDimensionType)[keyof typeof AttributeDimensionType];
1014
+ /**
1015
+ * <p>Object that segments on various Customer Profile's fields.</p>
1016
+ * @public
1017
+ */
1018
+ export interface AttributeDimension {
1019
+ /**
1020
+ * <p>The action to segment with.</p>
1021
+ * @public
1022
+ */
1023
+ DimensionType: AttributeDimensionType | undefined;
1024
+ /**
1025
+ * <p>The values to apply the DimensionType on.</p>
1026
+ * @public
1027
+ */
1028
+ Values: string[] | undefined;
1029
+ }
1030
+ /**
1031
+ * @public
1032
+ * @enum
1033
+ */
1034
+ export declare const FilterDimensionType: {
1035
+ readonly AFTER: "AFTER";
1036
+ readonly BEFORE: "BEFORE";
1037
+ readonly BEGINS_WITH: "BEGINS_WITH";
1038
+ readonly BETWEEN: "BETWEEN";
1039
+ readonly CONTAINS: "CONTAINS";
1040
+ readonly ENDS_WITH: "ENDS_WITH";
1041
+ readonly EQUAL: "EQUAL";
1042
+ readonly EXCLUSIVE: "EXCLUSIVE";
1043
+ readonly GREATER_THAN: "GREATER_THAN";
1044
+ readonly GREATER_THAN_OR_EQUAL: "GREATER_THAN_OR_EQUAL";
1045
+ readonly INCLUSIVE: "INCLUSIVE";
1046
+ readonly LESS_THAN: "LESS_THAN";
1047
+ readonly LESS_THAN_OR_EQUAL: "LESS_THAN_OR_EQUAL";
1048
+ readonly NOT_BETWEEN: "NOT_BETWEEN";
1049
+ readonly ON: "ON";
1050
+ };
1051
+ /**
1052
+ * @public
1053
+ */
1054
+ export type FilterDimensionType = (typeof FilterDimensionType)[keyof typeof FilterDimensionType];
1055
+ /**
1056
+ * <p>Object that defines how to filter the incoming objects for the calculated attribute.</p>
1057
+ * @public
1058
+ */
1059
+ export interface FilterAttributeDimension {
1060
+ /**
1061
+ * <p>The action to filter with.</p>
1062
+ * @public
1063
+ */
1064
+ DimensionType: FilterDimensionType | undefined;
1065
+ /**
1066
+ * <p>The values to apply the DimensionType on.</p>
1067
+ * @public
1068
+ */
1069
+ Values: string[] | undefined;
1070
+ }
922
1071
  /**
923
1072
  * @public
924
1073
  * @enum
@@ -1022,6 +1171,17 @@ export interface AttributeTypesSelector {
1022
1171
  */
1023
1172
  EmailAddress?: string[] | undefined;
1024
1173
  }
1174
+ /**
1175
+ * <p>List containing the values for the given attribute.</p>
1176
+ * @public
1177
+ */
1178
+ export interface AttributeValueItem {
1179
+ /**
1180
+ * <p>An individual value belonging to the given attribute.</p>
1181
+ * @public
1182
+ */
1183
+ Value?: string | undefined;
1184
+ }
1025
1185
  /**
1026
1186
  * @public
1027
1187
  * @enum
@@ -1108,47 +1268,78 @@ export interface AutoMerging {
1108
1268
  MinAllowedConfidenceScoreForMerging?: number | undefined;
1109
1269
  }
1110
1270
  /**
1111
- * <p>The details of a single calculated attribute definition.</p>
1112
1271
  * @public
1272
+ * @enum
1113
1273
  */
1114
- export interface ListCalculatedAttributeDefinitionItem {
1274
+ export declare const RangeUnit: {
1275
+ readonly DAYS: "DAYS";
1276
+ };
1277
+ /**
1278
+ * @public
1279
+ */
1280
+ export type RangeUnit = (typeof RangeUnit)[keyof typeof RangeUnit];
1281
+ /**
1282
+ * <p>Overrides the original range on a calculated attribute definition.</p>
1283
+ * @public
1284
+ */
1285
+ export interface RangeOverride {
1115
1286
  /**
1116
- * <p>The unique name of the calculated attribute.</p>
1287
+ * <p>The start time of when to include objects.</p>
1117
1288
  * @public
1118
1289
  */
1119
- CalculatedAttributeName?: string | undefined;
1290
+ Start: number | undefined;
1120
1291
  /**
1121
- * <p>The display name of the calculated attribute.</p>
1292
+ * <p>The end time of when to include objects.</p>
1122
1293
  * @public
1123
1294
  */
1124
- DisplayName?: string | undefined;
1295
+ End?: number | undefined;
1125
1296
  /**
1126
- * <p>The threshold for the calculated attribute.</p>
1297
+ * <p>The unit for start and end.</p>
1127
1298
  * @public
1128
1299
  */
1129
- Description?: string | undefined;
1300
+ Unit: RangeUnit | undefined;
1301
+ }
1302
+ /**
1303
+ * <p>An object to override the original condition block of a calculated attribute.</p>
1304
+ * @public
1305
+ */
1306
+ export interface ConditionOverrides {
1130
1307
  /**
1131
- * <p>The threshold for the calculated attribute.</p>
1308
+ * <p>The relative time period over which data is included in the aggregation for this override.</p>
1132
1309
  * @public
1133
1310
  */
1134
- CreatedAt?: Date | undefined;
1311
+ Range?: RangeOverride | undefined;
1312
+ }
1313
+ /**
1314
+ * @public
1315
+ */
1316
+ export interface BatchGetCalculatedAttributeForProfileRequest {
1135
1317
  /**
1136
- * <p>The timestamp of when the calculated attribute definition was most recently
1137
- * edited.</p>
1318
+ * <p>The unique name of the calculated attribute.</p>
1138
1319
  * @public
1139
1320
  */
1140
- LastUpdatedAt?: Date | undefined;
1321
+ CalculatedAttributeName: string | undefined;
1141
1322
  /**
1142
- * <p>The tags used to organize, track, or control access for this resource.</p>
1323
+ * <p>The unique name of the domain.</p>
1143
1324
  * @public
1144
1325
  */
1145
- Tags?: Record<string, string> | undefined;
1326
+ DomainName: string | undefined;
1327
+ /**
1328
+ * <p>List of unique identifiers for customer profiles to retrieve.</p>
1329
+ * @public
1330
+ */
1331
+ ProfileIds: string[] | undefined;
1332
+ /**
1333
+ * <p>Overrides the condition block within the original calculated attribute definition.</p>
1334
+ * @public
1335
+ */
1336
+ ConditionOverrides?: ConditionOverrides | undefined;
1146
1337
  }
1147
1338
  /**
1148
- * <p>The details of a single calculated attribute for a profile.</p>
1339
+ * <p>The object containing the values of a single calculated attribute value.</p>
1149
1340
  * @public
1150
1341
  */
1151
- export interface ListCalculatedAttributeForProfileItem {
1342
+ export interface CalculatedAttributeValue {
1152
1343
  /**
1153
1344
  * <p>The unique name of the calculated attribute.</p>
1154
1345
  * @public
@@ -1160,11 +1351,15 @@ export interface ListCalculatedAttributeForProfileItem {
1160
1351
  */
1161
1352
  DisplayName?: string | undefined;
1162
1353
  /**
1163
- * <p>Indicates whether the calculated attributes value is based on partial data. If data is
1164
- * partial, it is set to true.</p>
1354
+ * <p>Indicates whether the calculated attribute's value is based on partial data. If the data is partial, it is set to true.</p>
1165
1355
  * @public
1166
1356
  */
1167
1357
  IsDataPartial?: string | undefined;
1358
+ /**
1359
+ * <p>The profile id belonging to this calculated attribute value.</p>
1360
+ * @public
1361
+ */
1362
+ ProfileId?: string | undefined;
1168
1363
  /**
1169
1364
  * <p>The value of the calculated attribute.</p>
1170
1365
  * @public
@@ -1172,196 +1367,1106 @@ export interface ListCalculatedAttributeForProfileItem {
1172
1367
  Value?: string | undefined;
1173
1368
  }
1174
1369
  /**
1175
- * @public
1176
- * @enum
1177
- */
1178
- export declare const Unit: {
1179
- readonly DAYS: "DAYS";
1180
- };
1181
- /**
1182
- * @public
1183
- */
1184
- export type Unit = (typeof Unit)[keyof typeof Unit];
1185
- /**
1186
- * <p>The relative time period over which data is included in the aggregation.</p>
1370
+ * <p>Error object describing why a specific profile and calculated attribute failed.</p>
1187
1371
  * @public
1188
1372
  */
1189
- export interface Range {
1190
- /**
1191
- * <p>The amount of time of the specified unit.</p>
1192
- * @public
1193
- */
1194
- Value: number | undefined;
1373
+ export interface BatchGetCalculatedAttributeForProfileError {
1195
1374
  /**
1196
- * <p>The unit of time.</p>
1375
+ * <p>Status code for why a specific profile and calculated attribute failed.</p>
1197
1376
  * @public
1198
1377
  */
1199
- Unit: Unit | undefined;
1200
- }
1201
- /**
1202
- * @public
1203
- * @enum
1204
- */
1205
- export declare const Operator: {
1206
- readonly EQUAL_TO: "EQUAL_TO";
1207
- readonly GREATER_THAN: "GREATER_THAN";
1208
- readonly LESS_THAN: "LESS_THAN";
1209
- readonly NOT_EQUAL_TO: "NOT_EQUAL_TO";
1210
- };
1211
- /**
1212
- * @public
1213
- */
1214
- export type Operator = (typeof Operator)[keyof typeof Operator];
1215
- /**
1216
- * <p>The threshold for the calculated attribute.</p>
1217
- * @public
1218
- */
1219
- export interface Threshold {
1378
+ Code: string | undefined;
1220
1379
  /**
1221
- * <p>The value of the threshold.</p>
1380
+ * <p>Message describing why a specific profile and calculated attribute failed.</p>
1222
1381
  * @public
1223
1382
  */
1224
- Value: string | undefined;
1383
+ Message: string | undefined;
1225
1384
  /**
1226
- * <p>The operator of the threshold.</p>
1385
+ * <p>The profile id that failed.</p>
1227
1386
  * @public
1228
1387
  */
1229
- Operator: Operator | undefined;
1388
+ ProfileId: string | undefined;
1230
1389
  }
1231
1390
  /**
1232
- * <p>The conditions including range, object count, and threshold for the calculated
1233
- * attribute.</p>
1234
1391
  * @public
1235
1392
  */
1236
- export interface Conditions {
1393
+ export interface BatchGetCalculatedAttributeForProfileResponse {
1237
1394
  /**
1238
- * <p>The relative time period over which data is included in the aggregation.</p>
1395
+ * <p>List of errors for calculated attribute values that could not be retrieved.</p>
1239
1396
  * @public
1240
1397
  */
1241
- Range?: Range | undefined;
1398
+ Errors?: BatchGetCalculatedAttributeForProfileError[] | undefined;
1242
1399
  /**
1243
- * <p>The number of profile objects used for the calculated attribute.</p>
1400
+ * <p>List of calculated attribute values retrieved.</p>
1244
1401
  * @public
1245
1402
  */
1246
- ObjectCount?: number | undefined;
1403
+ CalculatedAttributeValues?: CalculatedAttributeValue[] | undefined;
1247
1404
  /**
1248
- * <p>The threshold for the calculated attribute.</p>
1405
+ * <p>Overrides the condition block within the original calculated attribute definition.</p>
1249
1406
  * @public
1250
1407
  */
1251
- Threshold?: Threshold | undefined;
1408
+ ConditionOverrides?: ConditionOverrides | undefined;
1252
1409
  }
1253
- /**
1254
- * @public
1255
- * @enum
1256
- */
1257
- export declare const Statistic: {
1258
- readonly AVERAGE: "AVERAGE";
1259
- readonly COUNT: "COUNT";
1260
- readonly FIRST_OCCURRENCE: "FIRST_OCCURRENCE";
1261
- readonly LAST_OCCURRENCE: "LAST_OCCURRENCE";
1262
- readonly MAXIMUM: "MAXIMUM";
1263
- readonly MAX_OCCURRENCE: "MAX_OCCURRENCE";
1264
- readonly MINIMUM: "MINIMUM";
1265
- readonly SUM: "SUM";
1266
- };
1267
- /**
1268
- * @public
1269
- */
1270
- export type Statistic = (typeof Statistic)[keyof typeof Statistic];
1271
1410
  /**
1272
1411
  * @public
1273
1412
  */
1274
- export interface CreateCalculatedAttributeDefinitionRequest {
1413
+ export interface BatchGetProfileRequest {
1275
1414
  /**
1276
1415
  * <p>The unique name of the domain.</p>
1277
1416
  * @public
1278
1417
  */
1279
1418
  DomainName: string | undefined;
1280
1419
  /**
1281
- * <p>The unique name of the calculated attribute.</p>
1282
- * @public
1283
- */
1284
- CalculatedAttributeName: string | undefined;
1285
- /**
1286
- * <p>The display name of the calculated attribute.</p>
1420
+ * <p>List of unique identifiers for customer profiles to retrieve.</p>
1287
1421
  * @public
1288
1422
  */
1289
- DisplayName?: string | undefined;
1423
+ ProfileIds: string[] | undefined;
1424
+ }
1425
+ /**
1426
+ * <p>Error object describing why a specific profile failed.</p>
1427
+ * @public
1428
+ */
1429
+ export interface BatchGetProfileError {
1290
1430
  /**
1291
- * <p>The description of the calculated attribute.</p>
1431
+ * <p>Status code for why a specific profile failed.</p>
1292
1432
  * @public
1293
1433
  */
1294
- Description?: string | undefined;
1434
+ Code: string | undefined;
1295
1435
  /**
1296
- * <p>Mathematical expression and a list of attribute items specified in that
1297
- * expression.</p>
1436
+ * <p>Message describing why a specific profile failed.</p>
1298
1437
  * @public
1299
1438
  */
1300
- AttributeDetails: AttributeDetails | undefined;
1439
+ Message: string | undefined;
1301
1440
  /**
1302
- * <p>The conditions including range, object count, and threshold for the calculated
1303
- * attribute.</p>
1441
+ * <p>The profile id that failed.</p>
1304
1442
  * @public
1305
1443
  */
1306
- Conditions?: Conditions | undefined;
1444
+ ProfileId: string | undefined;
1445
+ }
1446
+ /**
1447
+ * <p>A data type pair that consists of a <code>KeyName</code> and <code>Values</code> list
1448
+ * that were used to find a profile returned in response to a <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html">SearchProfiles</a> request.
1449
+ * </p>
1450
+ * @public
1451
+ */
1452
+ export interface FoundByKeyValue {
1307
1453
  /**
1308
- * <p>The aggregation operation to perform for the calculated attribute.</p>
1454
+ * <p>A searchable identifier of a customer profile.</p>
1309
1455
  * @public
1310
1456
  */
1311
- Statistic: Statistic | undefined;
1457
+ KeyName?: string | undefined;
1312
1458
  /**
1313
- * <p>The tags used to organize, track, or control access for this resource.</p>
1459
+ * <p>A list of key values.</p>
1314
1460
  * @public
1315
1461
  */
1316
- Tags?: Record<string, string> | undefined;
1462
+ Values?: string[] | undefined;
1463
+ }
1464
+ /**
1465
+ * @public
1466
+ * @enum
1467
+ */
1468
+ export declare const Gender: {
1469
+ readonly FEMALE: "FEMALE";
1470
+ readonly MALE: "MALE";
1471
+ readonly UNSPECIFIED: "UNSPECIFIED";
1472
+ };
1473
+ /**
1474
+ * @public
1475
+ */
1476
+ export type Gender = (typeof Gender)[keyof typeof Gender];
1477
+ /**
1478
+ * @public
1479
+ * @enum
1480
+ */
1481
+ export declare const PartyType: {
1482
+ readonly BUSINESS: "BUSINESS";
1483
+ readonly INDIVIDUAL: "INDIVIDUAL";
1484
+ readonly OTHER: "OTHER";
1485
+ };
1486
+ /**
1487
+ * @public
1488
+ */
1489
+ export type PartyType = (typeof PartyType)[keyof typeof PartyType];
1490
+ /**
1491
+ * <p>The standard profile of a customer.</p>
1492
+ * @public
1493
+ */
1494
+ export interface Profile {
1495
+ /**
1496
+ * <p>The unique identifier of a customer profile.</p>
1497
+ * @public
1498
+ */
1499
+ ProfileId?: string | undefined;
1500
+ /**
1501
+ * <p>An account number that you have given to the customer.</p>
1502
+ * @public
1503
+ */
1504
+ AccountNumber?: string | undefined;
1505
+ /**
1506
+ * <p>Any additional information relevant to the customer’s profile.</p>
1507
+ * @public
1508
+ */
1509
+ AdditionalInformation?: string | undefined;
1510
+ /**
1511
+ * @deprecated
1512
+ *
1513
+ * <p>The type of profile used to describe the customer.</p>
1514
+ * @public
1515
+ */
1516
+ PartyType?: PartyType | undefined;
1517
+ /**
1518
+ * <p>The name of the customer’s business.</p>
1519
+ * @public
1520
+ */
1521
+ BusinessName?: string | undefined;
1522
+ /**
1523
+ * <p>The customer’s first name.</p>
1524
+ * @public
1525
+ */
1526
+ FirstName?: string | undefined;
1527
+ /**
1528
+ * <p>The customer’s middle name.</p>
1529
+ * @public
1530
+ */
1531
+ MiddleName?: string | undefined;
1532
+ /**
1533
+ * <p>The customer’s last name.</p>
1534
+ * @public
1535
+ */
1536
+ LastName?: string | undefined;
1537
+ /**
1538
+ * <p>The customer’s birth date. </p>
1539
+ * @public
1540
+ */
1541
+ BirthDate?: string | undefined;
1542
+ /**
1543
+ * @deprecated
1544
+ *
1545
+ * <p>The gender with which the customer identifies. </p>
1546
+ * @public
1547
+ */
1548
+ Gender?: Gender | undefined;
1549
+ /**
1550
+ * <p>The customer's phone number, which has not been specified as a mobile, home, or business
1551
+ * number.</p>
1552
+ * @public
1553
+ */
1554
+ PhoneNumber?: string | undefined;
1555
+ /**
1556
+ * <p>The customer’s mobile phone number.</p>
1557
+ * @public
1558
+ */
1559
+ MobilePhoneNumber?: string | undefined;
1560
+ /**
1561
+ * <p>The customer’s home phone number.</p>
1562
+ * @public
1563
+ */
1564
+ HomePhoneNumber?: string | undefined;
1565
+ /**
1566
+ * <p>The customer’s home phone number.</p>
1567
+ * @public
1568
+ */
1569
+ BusinessPhoneNumber?: string | undefined;
1570
+ /**
1571
+ * <p>The customer’s email address, which has not been specified as a personal or business
1572
+ * address. </p>
1573
+ * @public
1574
+ */
1575
+ EmailAddress?: string | undefined;
1576
+ /**
1577
+ * <p>The customer’s personal email address.</p>
1578
+ * @public
1579
+ */
1580
+ PersonalEmailAddress?: string | undefined;
1581
+ /**
1582
+ * <p>The customer’s business email address.</p>
1583
+ * @public
1584
+ */
1585
+ BusinessEmailAddress?: string | undefined;
1586
+ /**
1587
+ * <p>A generic address associated with the customer that is not mailing, shipping, or
1588
+ * billing.</p>
1589
+ * @public
1590
+ */
1591
+ Address?: Address | undefined;
1592
+ /**
1593
+ * <p>The customer’s shipping address.</p>
1594
+ * @public
1595
+ */
1596
+ ShippingAddress?: Address | undefined;
1597
+ /**
1598
+ * <p>The customer’s mailing address.</p>
1599
+ * @public
1600
+ */
1601
+ MailingAddress?: Address | undefined;
1602
+ /**
1603
+ * <p>The customer’s billing address.</p>
1604
+ * @public
1605
+ */
1606
+ BillingAddress?: Address | undefined;
1607
+ /**
1608
+ * <p>A key value pair of attributes of a customer profile.</p>
1609
+ * @public
1610
+ */
1611
+ Attributes?: Record<string, string> | undefined;
1612
+ /**
1613
+ * <p>A list of items used to find a profile returned in a <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html">SearchProfiles</a> response.
1614
+ * An item is a key-value(s) pair that matches an attribute in the profile.</p>
1615
+ * <p>If the optional <code>AdditionalSearchKeys</code> parameter was included in the
1616
+ * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html">SearchProfiles</a> request, the <code>FoundByItems</code> list should be interpreted
1617
+ * based on the <code>LogicalOperator</code> used in the request:</p>
1618
+ * <ul>
1619
+ * <li>
1620
+ * <p>
1621
+ * <code>AND</code> - The profile included in the response matched all of the search
1622
+ * keys specified in the request. The <code>FoundByItems</code> will include all of the
1623
+ * key-value(s) pairs that were specified in the request (as this is a requirement of
1624
+ * <code>AND</code> search logic).</p>
1625
+ * </li>
1626
+ * <li>
1627
+ * <p>
1628
+ * <code>OR</code> - The profile included in the response matched at least one of the
1629
+ * search keys specified in the request. The <code>FoundByItems</code> will include each
1630
+ * of the key-value(s) pairs that the profile was found by.</p>
1631
+ * </li>
1632
+ * </ul>
1633
+ * <p>The <code>OR</code> relationship is the default behavior if the
1634
+ * <code>LogicalOperator</code> parameter is not included in the <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html">SearchProfiles</a>
1635
+ * request.</p>
1636
+ * @public
1637
+ */
1638
+ FoundByItems?: FoundByKeyValue[] | undefined;
1639
+ /**
1640
+ * <p>An alternative to PartyType which accepts any string as input.</p>
1641
+ * @public
1642
+ */
1643
+ PartyTypeString?: string | undefined;
1644
+ /**
1645
+ * <p>An alternative to Gender which accepts any string as input.</p>
1646
+ * @public
1647
+ */
1648
+ GenderString?: string | undefined;
1649
+ }
1650
+ /**
1651
+ * @public
1652
+ */
1653
+ export interface BatchGetProfileResponse {
1654
+ /**
1655
+ * <p>For information about the errors that are common to all actions, see <a href="https://docs.aws.amazon.com/connect/latest/APIReference/CommonErrors.html">Common Errors</a>.</p>
1656
+ * @public
1657
+ */
1658
+ Errors?: BatchGetProfileError[] | undefined;
1659
+ /**
1660
+ * <p>Array of Profile Objects.</p>
1661
+ * @public
1662
+ */
1663
+ Profiles?: Profile[] | undefined;
1664
+ }
1665
+ /**
1666
+ * <p>The details of a single calculated attribute definition.</p>
1667
+ * @public
1668
+ */
1669
+ export interface ListCalculatedAttributeDefinitionItem {
1670
+ /**
1671
+ * <p>The unique name of the calculated attribute.</p>
1672
+ * @public
1673
+ */
1674
+ CalculatedAttributeName?: string | undefined;
1675
+ /**
1676
+ * <p>The display name of the calculated attribute.</p>
1677
+ * @public
1678
+ */
1679
+ DisplayName?: string | undefined;
1680
+ /**
1681
+ * <p>The threshold for the calculated attribute.</p>
1682
+ * @public
1683
+ */
1684
+ Description?: string | undefined;
1685
+ /**
1686
+ * <p>The threshold for the calculated attribute.</p>
1687
+ * @public
1688
+ */
1689
+ CreatedAt?: Date | undefined;
1690
+ /**
1691
+ * <p>The timestamp of when the calculated attribute definition was most recently
1692
+ * edited.</p>
1693
+ * @public
1694
+ */
1695
+ LastUpdatedAt?: Date | undefined;
1696
+ /**
1697
+ * <p>The tags used to organize, track, or control access for this resource.</p>
1698
+ * @public
1699
+ */
1700
+ Tags?: Record<string, string> | undefined;
1701
+ }
1702
+ /**
1703
+ * <p>Object that segments on Customer Profile's Calculated Attributes.</p>
1704
+ * @public
1705
+ */
1706
+ export interface CalculatedAttributeDimension {
1707
+ /**
1708
+ * <p>The action to segment with.</p>
1709
+ * @public
1710
+ */
1711
+ DimensionType: AttributeDimensionType | undefined;
1712
+ /**
1713
+ * <p>The values to apply the DimensionType with.</p>
1714
+ * @public
1715
+ */
1716
+ Values: string[] | undefined;
1717
+ /**
1718
+ * <p>Applies the given condition over the initial Calculated Attribute's definition.</p>
1719
+ * @public
1720
+ */
1721
+ ConditionOverrides?: ConditionOverrides | undefined;
1722
+ }
1723
+ /**
1724
+ * <p>The details of a single calculated attribute for a profile.</p>
1725
+ * @public
1726
+ */
1727
+ export interface ListCalculatedAttributeForProfileItem {
1728
+ /**
1729
+ * <p>The unique name of the calculated attribute.</p>
1730
+ * @public
1731
+ */
1732
+ CalculatedAttributeName?: string | undefined;
1733
+ /**
1734
+ * <p>The display name of the calculated attribute.</p>
1735
+ * @public
1736
+ */
1737
+ DisplayName?: string | undefined;
1738
+ /**
1739
+ * <p>Indicates whether the calculated attribute’s value is based on partial data. If data is
1740
+ * partial, it is set to true.</p>
1741
+ * @public
1742
+ */
1743
+ IsDataPartial?: string | undefined;
1744
+ /**
1745
+ * <p>The value of the calculated attribute.</p>
1746
+ * @public
1747
+ */
1748
+ Value?: string | undefined;
1749
+ }
1750
+ /**
1751
+ * @public
1752
+ * @enum
1753
+ */
1754
+ export declare const Unit: {
1755
+ readonly DAYS: "DAYS";
1756
+ };
1757
+ /**
1758
+ * @public
1759
+ */
1760
+ export type Unit = (typeof Unit)[keyof typeof Unit];
1761
+ /**
1762
+ * <p>The relative time period over which data is included in the aggregation.</p>
1763
+ * @public
1764
+ */
1765
+ export interface Range {
1766
+ /**
1767
+ * <p>The amount of time of the specified unit.</p>
1768
+ * @public
1769
+ */
1770
+ Value: number | undefined;
1771
+ /**
1772
+ * <p>The unit of time.</p>
1773
+ * @public
1774
+ */
1775
+ Unit: Unit | undefined;
1776
+ }
1777
+ /**
1778
+ * @public
1779
+ * @enum
1780
+ */
1781
+ export declare const Operator: {
1782
+ readonly EQUAL_TO: "EQUAL_TO";
1783
+ readonly GREATER_THAN: "GREATER_THAN";
1784
+ readonly LESS_THAN: "LESS_THAN";
1785
+ readonly NOT_EQUAL_TO: "NOT_EQUAL_TO";
1786
+ };
1787
+ /**
1788
+ * @public
1789
+ */
1790
+ export type Operator = (typeof Operator)[keyof typeof Operator];
1791
+ /**
1792
+ * <p>The threshold for the calculated attribute.</p>
1793
+ * @public
1794
+ */
1795
+ export interface Threshold {
1796
+ /**
1797
+ * <p>The value of the threshold.</p>
1798
+ * @public
1799
+ */
1800
+ Value: string | undefined;
1801
+ /**
1802
+ * <p>The operator of the threshold.</p>
1803
+ * @public
1804
+ */
1805
+ Operator: Operator | undefined;
1806
+ }
1807
+ /**
1808
+ * <p>The conditions including range, object count, and threshold for the calculated
1809
+ * attribute.</p>
1810
+ * @public
1811
+ */
1812
+ export interface Conditions {
1813
+ /**
1814
+ * <p>The relative time period over which data is included in the aggregation.</p>
1815
+ * @public
1816
+ */
1817
+ Range?: Range | undefined;
1818
+ /**
1819
+ * <p>The number of profile objects used for the calculated attribute.</p>
1820
+ * @public
1821
+ */
1822
+ ObjectCount?: number | undefined;
1823
+ /**
1824
+ * <p>The threshold for the calculated attribute.</p>
1825
+ * @public
1826
+ */
1827
+ Threshold?: Threshold | undefined;
1828
+ }
1829
+ /**
1830
+ * <p>Contains the map of attribute names to attribute dimensions.</p>
1831
+ * @public
1832
+ */
1833
+ export interface FilterDimension {
1834
+ /**
1835
+ * <p>Is the attribute within the FilterDimension map</p>
1836
+ * @public
1837
+ */
1838
+ Attributes: Record<string, FilterAttributeDimension> | undefined;
1839
+ }
1840
+ /**
1841
+ * @public
1842
+ * @enum
1843
+ */
1844
+ export declare const Type: {
1845
+ readonly ALL: "ALL";
1846
+ readonly ANY: "ANY";
1847
+ readonly NONE: "NONE";
1848
+ };
1849
+ /**
1850
+ * @public
1851
+ */
1852
+ export type Type = (typeof Type)[keyof typeof Type];
1853
+ /**
1854
+ * <p>Object that holds the dimensions to filter on.</p>
1855
+ * @public
1856
+ */
1857
+ export interface FilterGroup {
1858
+ /**
1859
+ * <p>The type of logical relationship between the dimensions of the Filter group.</p>
1860
+ * @public
1861
+ */
1862
+ Type: Type | undefined;
1863
+ /**
1864
+ * <p>Object that holds the attributes to filter on.</p>
1865
+ * @public
1866
+ */
1867
+ Dimensions: FilterDimension[] | undefined;
1868
+ }
1869
+ /**
1870
+ * @public
1871
+ * @enum
1872
+ */
1873
+ export declare const Include: {
1874
+ readonly ALL: "ALL";
1875
+ readonly ANY: "ANY";
1876
+ readonly NONE: "NONE";
1877
+ };
1878
+ /**
1879
+ * @public
1880
+ */
1881
+ export type Include = (typeof Include)[keyof typeof Include];
1882
+ /**
1883
+ * <p>Defines how to filter the objects coming in for calculated attributes.</p>
1884
+ * @public
1885
+ */
1886
+ export interface Filter {
1887
+ /**
1888
+ * <p>Define whether to include or exclude objects for Calculated Attributed calculation that fit the filter groups criteria.</p>
1889
+ * @public
1890
+ */
1891
+ Include: Include | undefined;
1892
+ /**
1893
+ * <p>Holds the list of Filter groups within the Filter definition.</p>
1894
+ * @public
1895
+ */
1896
+ Groups: FilterGroup[] | undefined;
1897
+ }
1898
+ /**
1899
+ * @public
1900
+ * @enum
1901
+ */
1902
+ export declare const Statistic: {
1903
+ readonly AVERAGE: "AVERAGE";
1904
+ readonly COUNT: "COUNT";
1905
+ readonly FIRST_OCCURRENCE: "FIRST_OCCURRENCE";
1906
+ readonly LAST_OCCURRENCE: "LAST_OCCURRENCE";
1907
+ readonly MAXIMUM: "MAXIMUM";
1908
+ readonly MAX_OCCURRENCE: "MAX_OCCURRENCE";
1909
+ readonly MINIMUM: "MINIMUM";
1910
+ readonly SUM: "SUM";
1911
+ };
1912
+ /**
1913
+ * @public
1914
+ */
1915
+ export type Statistic = (typeof Statistic)[keyof typeof Statistic];
1916
+ /**
1917
+ * @public
1918
+ */
1919
+ export interface CreateCalculatedAttributeDefinitionRequest {
1920
+ /**
1921
+ * <p>The unique name of the domain.</p>
1922
+ * @public
1923
+ */
1924
+ DomainName: string | undefined;
1925
+ /**
1926
+ * <p>The unique name of the calculated attribute.</p>
1927
+ * @public
1928
+ */
1929
+ CalculatedAttributeName: string | undefined;
1930
+ /**
1931
+ * <p>The display name of the calculated attribute.</p>
1932
+ * @public
1933
+ */
1934
+ DisplayName?: string | undefined;
1935
+ /**
1936
+ * <p>The description of the calculated attribute.</p>
1937
+ * @public
1938
+ */
1939
+ Description?: string | undefined;
1940
+ /**
1941
+ * <p>Mathematical expression and a list of attribute items specified in that
1942
+ * expression.</p>
1943
+ * @public
1944
+ */
1945
+ AttributeDetails: AttributeDetails | undefined;
1946
+ /**
1947
+ * <p>The conditions including range, object count, and threshold for the calculated
1948
+ * attribute.</p>
1949
+ * @public
1950
+ */
1951
+ Conditions?: Conditions | undefined;
1952
+ /**
1953
+ * <p>Defines how to filter incoming objects to include part of the Calculated Attribute.</p>
1954
+ * @public
1955
+ */
1956
+ Filter?: Filter | undefined;
1957
+ /**
1958
+ * <p>The aggregation operation to perform for the calculated attribute.</p>
1959
+ * @public
1960
+ */
1961
+ Statistic: Statistic | undefined;
1962
+ /**
1963
+ * <p>The tags used to organize, track, or control access for this resource.</p>
1964
+ * @public
1965
+ */
1966
+ Tags?: Record<string, string> | undefined;
1967
+ }
1968
+ /**
1969
+ * @public
1970
+ */
1971
+ export interface CreateCalculatedAttributeDefinitionResponse {
1972
+ /**
1973
+ * <p>The unique name of the calculated attribute.</p>
1974
+ * @public
1975
+ */
1976
+ CalculatedAttributeName?: string | undefined;
1977
+ /**
1978
+ * <p>The display name of the calculated attribute.</p>
1979
+ * @public
1980
+ */
1981
+ DisplayName?: string | undefined;
1982
+ /**
1983
+ * <p>The description of the calculated attribute.</p>
1984
+ * @public
1985
+ */
1986
+ Description?: string | undefined;
1987
+ /**
1988
+ * <p>Mathematical expression and a list of attribute items specified in that
1989
+ * expression.</p>
1990
+ * @public
1991
+ */
1992
+ AttributeDetails?: AttributeDetails | undefined;
1993
+ /**
1994
+ * <p>The conditions including range, object count, and threshold for the calculated
1995
+ * attribute.</p>
1996
+ * @public
1997
+ */
1998
+ Conditions?: Conditions | undefined;
1999
+ /**
2000
+ * <p>The filter that was used as part of the request.</p>
2001
+ * @public
2002
+ */
2003
+ Filter?: Filter | undefined;
2004
+ /**
2005
+ * <p>The aggregation operation to perform for the calculated attribute.</p>
2006
+ * @public
2007
+ */
2008
+ Statistic?: Statistic | undefined;
2009
+ /**
2010
+ * <p>The timestamp of when the calculated attribute definition was created.</p>
2011
+ * @public
2012
+ */
2013
+ CreatedAt?: Date | undefined;
2014
+ /**
2015
+ * <p>The timestamp of when the calculated attribute definition was most recently
2016
+ * edited.</p>
2017
+ * @public
2018
+ */
2019
+ LastUpdatedAt?: Date | undefined;
2020
+ /**
2021
+ * <p>The tags used to organize, track, or control access for this resource.</p>
2022
+ * @public
2023
+ */
2024
+ Tags?: Record<string, string> | undefined;
2025
+ }
2026
+ /**
2027
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs write result files.</p>
2028
+ * @public
2029
+ */
2030
+ export interface S3ExportingConfig {
2031
+ /**
2032
+ * <p>The name of the S3 bucket where Identity Resolution Jobs write result files.</p>
2033
+ * @public
2034
+ */
2035
+ S3BucketName: string | undefined;
2036
+ /**
2037
+ * <p>The S3 key name of the location where Identity Resolution Jobs write result files.</p>
2038
+ * @public
2039
+ */
2040
+ S3KeyName?: string | undefined;
2041
+ }
2042
+ /**
2043
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
2044
+ * <note>
2045
+ * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
2046
+ * Otherwise, you'll get an exception in the API response. For an example policy, see
2047
+ * <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service">Amazon Connect Customer Profiles cross-service confused deputy prevention</a>. </p>
2048
+ * </note>
2049
+ * @public
2050
+ */
2051
+ export interface ExportingConfig {
2052
+ /**
2053
+ * <p>The S3 location where Identity Resolution Jobs write result files.</p>
2054
+ * @public
2055
+ */
2056
+ S3Exporting?: S3ExportingConfig | undefined;
2057
+ }
2058
+ /**
2059
+ * @public
2060
+ * @enum
2061
+ */
2062
+ export declare const JobScheduleDayOfTheWeek: {
2063
+ readonly FRIDAY: "FRIDAY";
2064
+ readonly MONDAY: "MONDAY";
2065
+ readonly SATURDAY: "SATURDAY";
2066
+ readonly SUNDAY: "SUNDAY";
2067
+ readonly THURSDAY: "THURSDAY";
2068
+ readonly TUESDAY: "TUESDAY";
2069
+ readonly WEDNESDAY: "WEDNESDAY";
2070
+ };
2071
+ /**
2072
+ * @public
2073
+ */
2074
+ export type JobScheduleDayOfTheWeek = (typeof JobScheduleDayOfTheWeek)[keyof typeof JobScheduleDayOfTheWeek];
2075
+ /**
2076
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
2077
+ * @public
2078
+ */
2079
+ export interface JobSchedule {
2080
+ /**
2081
+ * <p>The day when the Identity Resolution Job should run every week.</p>
2082
+ * @public
2083
+ */
2084
+ DayOfTheWeek: JobScheduleDayOfTheWeek | undefined;
2085
+ /**
2086
+ * <p>The time when the Identity Resolution Job should run every week.</p>
2087
+ * @public
2088
+ */
2089
+ Time: string | undefined;
2090
+ }
2091
+ /**
2092
+ * <p>The flag that enables the matching process of duplicate profiles.</p>
2093
+ * @public
2094
+ */
2095
+ export interface MatchingRequest {
2096
+ /**
2097
+ * <p>The flag that enables the matching process of duplicate profiles.</p>
2098
+ * @public
2099
+ */
2100
+ Enabled: boolean | undefined;
2101
+ /**
2102
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
2103
+ * @public
2104
+ */
2105
+ JobSchedule?: JobSchedule | undefined;
2106
+ /**
2107
+ * <p>Configuration information about the auto-merging process.</p>
2108
+ * @public
2109
+ */
2110
+ AutoMerging?: AutoMerging | undefined;
2111
+ /**
2112
+ * <p>Configuration information for exporting Identity Resolution results, for example, to an S3
2113
+ * bucket.</p>
2114
+ * @public
2115
+ */
2116
+ ExportingConfig?: ExportingConfig | undefined;
2117
+ }
2118
+ /**
2119
+ * <p>Specifies how does the rule-based matching process should match profiles. You can choose
2120
+ * from the following attributes to build the matching Rule:</p>
2121
+ * <ul>
2122
+ * <li>
2123
+ * <p>AccountNumber</p>
2124
+ * </li>
2125
+ * <li>
2126
+ * <p>Address.Address</p>
2127
+ * </li>
2128
+ * <li>
2129
+ * <p>Address.City</p>
2130
+ * </li>
2131
+ * <li>
2132
+ * <p>Address.Country</p>
2133
+ * </li>
2134
+ * <li>
2135
+ * <p>Address.County</p>
2136
+ * </li>
2137
+ * <li>
2138
+ * <p>Address.PostalCode</p>
2139
+ * </li>
2140
+ * <li>
2141
+ * <p>Address.State</p>
2142
+ * </li>
2143
+ * <li>
2144
+ * <p>Address.Province</p>
2145
+ * </li>
2146
+ * <li>
2147
+ * <p>BirthDate</p>
2148
+ * </li>
2149
+ * <li>
2150
+ * <p>BusinessName</p>
2151
+ * </li>
2152
+ * <li>
2153
+ * <p>EmailAddress</p>
2154
+ * </li>
2155
+ * <li>
2156
+ * <p>FirstName</p>
2157
+ * </li>
2158
+ * <li>
2159
+ * <p>Gender</p>
2160
+ * </li>
2161
+ * <li>
2162
+ * <p>LastName</p>
2163
+ * </li>
2164
+ * <li>
2165
+ * <p>MiddleName</p>
2166
+ * </li>
2167
+ * <li>
2168
+ * <p>PhoneNumber</p>
2169
+ * </li>
2170
+ * <li>
2171
+ * <p>Any customized profile attributes that start with the
2172
+ * <code>Attributes</code>
2173
+ * </p>
2174
+ * </li>
2175
+ * </ul>
2176
+ * @public
2177
+ */
2178
+ export interface MatchingRule {
2179
+ /**
2180
+ * <p>A single rule level of the <code>MatchRules</code>. Configures how the rule-based
2181
+ * matching process should match profiles.</p>
2182
+ * @public
2183
+ */
2184
+ Rule: string[] | undefined;
2185
+ }
2186
+ /**
2187
+ * <p>The request to enable the rule-based matching.</p>
2188
+ * @public
2189
+ */
2190
+ export interface RuleBasedMatchingRequest {
2191
+ /**
2192
+ * <p>The flag that enables the rule-based matching process of duplicate profiles.</p>
2193
+ * @public
2194
+ */
2195
+ Enabled: boolean | undefined;
2196
+ /**
2197
+ * <p>Configures how the rule-based matching process should match profiles. You can have up to
2198
+ * 15 <code>MatchingRule</code> in the <code>MatchingRules</code>.</p>
2199
+ * @public
2200
+ */
2201
+ MatchingRules?: MatchingRule[] | undefined;
2202
+ /**
2203
+ * <p>
2204
+ * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html">MatchingRule</a>
2205
+ * </p>
2206
+ * @public
2207
+ */
2208
+ MaxAllowedRuleLevelForMerging?: number | undefined;
2209
+ /**
2210
+ * <p>Indicates the maximum allowed rule level.</p>
2211
+ * @public
2212
+ */
2213
+ MaxAllowedRuleLevelForMatching?: number | undefined;
2214
+ /**
2215
+ * <p>Configures information about the <code>AttributeTypesSelector</code> where the
2216
+ * rule-based identity resolution uses to match profiles.</p>
2217
+ * @public
2218
+ */
2219
+ AttributeTypesSelector?: AttributeTypesSelector | undefined;
2220
+ /**
2221
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
2222
+ * @public
2223
+ */
2224
+ ConflictResolution?: ConflictResolution | undefined;
2225
+ /**
2226
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
2227
+ * <note>
2228
+ * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
2229
+ * Otherwise, you'll get an exception in the API response. For an example policy, see
2230
+ * <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service">Amazon Connect Customer Profiles cross-service confused deputy prevention</a>. </p>
2231
+ * </note>
2232
+ * @public
2233
+ */
2234
+ ExportingConfig?: ExportingConfig | undefined;
2235
+ }
2236
+ /**
2237
+ * @public
2238
+ */
2239
+ export interface CreateDomainRequest {
2240
+ /**
2241
+ * <p>The unique name of the domain.</p>
2242
+ * @public
2243
+ */
2244
+ DomainName: string | undefined;
2245
+ /**
2246
+ * <p>The default number of days until the data within the domain expires.</p>
2247
+ * @public
2248
+ */
2249
+ DefaultExpirationDays: number | undefined;
2250
+ /**
2251
+ * <p>The default encryption key, which is an AWS managed key, is used when no specific type
2252
+ * of encryption key is specified. It is used to encrypt all data before it is placed in
2253
+ * permanent or semi-permanent storage.</p>
2254
+ * @public
2255
+ */
2256
+ DefaultEncryptionKey?: string | undefined;
2257
+ /**
2258
+ * <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with
2259
+ * ingesting data from third party applications. You must set up a policy on the
2260
+ * DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send
2261
+ * messages to the DeadLetterQueue.</p>
2262
+ * @public
2263
+ */
2264
+ DeadLetterQueueUrl?: string | undefined;
2265
+ /**
2266
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
2267
+ * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
2268
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
2269
+ * <p>After the Identity Resolution Job completes, use the
2270
+ * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
2271
+ * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
2272
+ * S3.</p>
2273
+ * @public
2274
+ */
2275
+ Matching?: MatchingRequest | undefined;
2276
+ /**
2277
+ * <p>The process of matching duplicate profiles using the Rule-Based matching. If
2278
+ * <code>RuleBasedMatching</code> = true, Amazon Connect Customer Profiles will start
2279
+ * to match and merge your profiles according to your configuration in the
2280
+ * <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code>
2281
+ * and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have
2282
+ * configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you
2283
+ * can download the results from S3.</p>
2284
+ * @public
2285
+ */
2286
+ RuleBasedMatching?: RuleBasedMatchingRequest | undefined;
2287
+ /**
2288
+ * <p>The tags used to organize, track, or control access for this resource.</p>
2289
+ * @public
2290
+ */
2291
+ Tags?: Record<string, string> | undefined;
2292
+ }
2293
+ /**
2294
+ * <p>The flag that enables the matching process of duplicate profiles.</p>
2295
+ * @public
2296
+ */
2297
+ export interface MatchingResponse {
2298
+ /**
2299
+ * <p>The flag that enables the matching process of duplicate profiles.</p>
2300
+ * @public
2301
+ */
2302
+ Enabled?: boolean | undefined;
2303
+ /**
2304
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
2305
+ * @public
2306
+ */
2307
+ JobSchedule?: JobSchedule | undefined;
2308
+ /**
2309
+ * <p>Configuration information about the auto-merging process.</p>
2310
+ * @public
2311
+ */
2312
+ AutoMerging?: AutoMerging | undefined;
2313
+ /**
2314
+ * <p>Configuration information for exporting Identity Resolution results, for example, to an S3
2315
+ * bucket.</p>
2316
+ * @public
2317
+ */
2318
+ ExportingConfig?: ExportingConfig | undefined;
2319
+ }
2320
+ /**
2321
+ * @public
2322
+ * @enum
2323
+ */
2324
+ export declare const RuleBasedMatchingStatus: {
2325
+ readonly ACTIVE: "ACTIVE";
2326
+ readonly IN_PROGRESS: "IN_PROGRESS";
2327
+ readonly PENDING: "PENDING";
2328
+ };
2329
+ /**
2330
+ * @public
2331
+ */
2332
+ export type RuleBasedMatchingStatus = (typeof RuleBasedMatchingStatus)[keyof typeof RuleBasedMatchingStatus];
2333
+ /**
2334
+ * <p>The response of the Rule-based matching request.</p>
2335
+ * @public
2336
+ */
2337
+ export interface RuleBasedMatchingResponse {
2338
+ /**
2339
+ * <p>The flag that enables the rule-based matching process of duplicate profiles.</p>
2340
+ * @public
2341
+ */
2342
+ Enabled?: boolean | undefined;
2343
+ /**
2344
+ * <p>Configures how the rule-based matching process should match profiles. You can have up to
2345
+ * 15 <code>MatchingRule</code> in the <code>MatchingRules</code>.</p>
2346
+ * @public
2347
+ */
2348
+ MatchingRules?: MatchingRule[] | undefined;
2349
+ /**
2350
+ * <p>PENDING</p>
2351
+ * <ul>
2352
+ * <li>
2353
+ * <p>The first status after configuration a rule-based matching rule. If it is an
2354
+ * existing domain, the rule-based Identity Resolution waits one hour before creating the matching
2355
+ * rule. If it is a new domain, the system will skip the <code>PENDING</code>
2356
+ * stage.</p>
2357
+ * </li>
2358
+ * </ul>
2359
+ * <p>IN_PROGRESS</p>
2360
+ * <ul>
2361
+ * <li>
2362
+ * <p>The system is creating the rule-based matching rule. Under this status, the system
2363
+ * is evaluating the existing data and you can no longer change the Rule-based matching
2364
+ * configuration.</p>
2365
+ * </li>
2366
+ * </ul>
2367
+ * <p>ACTIVE</p>
2368
+ * <ul>
2369
+ * <li>
2370
+ * <p>The rule is ready to use. You can change the rule a day after the status is in
2371
+ * <code>ACTIVE</code>.</p>
2372
+ * </li>
2373
+ * </ul>
2374
+ * @public
2375
+ */
2376
+ Status?: RuleBasedMatchingStatus | undefined;
2377
+ /**
2378
+ * <p>
2379
+ * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html">MatchingRule</a>
2380
+ * </p>
2381
+ * @public
2382
+ */
2383
+ MaxAllowedRuleLevelForMerging?: number | undefined;
2384
+ /**
2385
+ * <p>Indicates the maximum allowed rule level.</p>
2386
+ * @public
2387
+ */
2388
+ MaxAllowedRuleLevelForMatching?: number | undefined;
2389
+ /**
2390
+ * <p>Configures information about the <code>AttributeTypesSelector</code> where the
2391
+ * rule-based identity resolution uses to match profiles.</p>
2392
+ * @public
2393
+ */
2394
+ AttributeTypesSelector?: AttributeTypesSelector | undefined;
2395
+ /**
2396
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
2397
+ * @public
2398
+ */
2399
+ ConflictResolution?: ConflictResolution | undefined;
2400
+ /**
2401
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
2402
+ * <note>
2403
+ * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
2404
+ * Otherwise, you'll get an exception in the API response. For an example policy, see
2405
+ * <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service">Amazon Connect Customer Profiles cross-service confused deputy prevention</a>. </p>
2406
+ * </note>
2407
+ * @public
2408
+ */
2409
+ ExportingConfig?: ExportingConfig | undefined;
1317
2410
  }
1318
2411
  /**
1319
2412
  * @public
1320
2413
  */
1321
- export interface CreateCalculatedAttributeDefinitionResponse {
2414
+ export interface CreateDomainResponse {
1322
2415
  /**
1323
- * <p>The unique name of the calculated attribute.</p>
2416
+ * <p>The unique name of the domain.</p>
1324
2417
  * @public
1325
2418
  */
1326
- CalculatedAttributeName?: string | undefined;
2419
+ DomainName: string | undefined;
1327
2420
  /**
1328
- * <p>The display name of the calculated attribute.</p>
2421
+ * <p>The default number of days until the data within the domain expires.</p>
1329
2422
  * @public
1330
2423
  */
1331
- DisplayName?: string | undefined;
2424
+ DefaultExpirationDays: number | undefined;
1332
2425
  /**
1333
- * <p>The description of the calculated attribute.</p>
2426
+ * <p>The default encryption key, which is an AWS managed key, is used when no specific type
2427
+ * of encryption key is specified. It is used to encrypt all data before it is placed in
2428
+ * permanent or semi-permanent storage.</p>
1334
2429
  * @public
1335
2430
  */
1336
- Description?: string | undefined;
2431
+ DefaultEncryptionKey?: string | undefined;
1337
2432
  /**
1338
- * <p>Mathematical expression and a list of attribute items specified in that
1339
- * expression.</p>
2433
+ * <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with
2434
+ * ingesting data from third party applications.</p>
1340
2435
  * @public
1341
2436
  */
1342
- AttributeDetails?: AttributeDetails | undefined;
2437
+ DeadLetterQueueUrl?: string | undefined;
1343
2438
  /**
1344
- * <p>The conditions including range, object count, and threshold for the calculated
1345
- * attribute.</p>
2439
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
2440
+ * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
2441
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
2442
+ * <p>After the Identity Resolution Job completes, use the
2443
+ * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
2444
+ * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
2445
+ * S3.</p>
1346
2446
  * @public
1347
2447
  */
1348
- Conditions?: Conditions | undefined;
2448
+ Matching?: MatchingResponse | undefined;
1349
2449
  /**
1350
- * <p>The aggregation operation to perform for the calculated attribute.</p>
2450
+ * <p>The process of matching duplicate profiles using the Rule-Based matching. If
2451
+ * <code>RuleBasedMatching</code> = true, Amazon Connect Customer Profiles will start
2452
+ * to match and merge your profiles according to your configuration in the
2453
+ * <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code>
2454
+ * and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have
2455
+ * configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you
2456
+ * can download the results from S3.</p>
1351
2457
  * @public
1352
2458
  */
1353
- Statistic?: Statistic | undefined;
2459
+ RuleBasedMatching?: RuleBasedMatchingResponse | undefined;
1354
2460
  /**
1355
- * <p>The timestamp of when the calculated attribute definition was created.</p>
2461
+ * <p>The timestamp of when the domain was created.</p>
1356
2462
  * @public
1357
2463
  */
1358
- CreatedAt?: Date | undefined;
2464
+ CreatedAt: Date | undefined;
1359
2465
  /**
1360
- * <p>The timestamp of when the calculated attribute definition was most recently
1361
- * edited.</p>
2466
+ * <p>The timestamp of when the domain was most recently edited.</p>
1362
2467
  * @public
1363
2468
  */
1364
- LastUpdatedAt?: Date | undefined;
2469
+ LastUpdatedAt: Date | undefined;
1365
2470
  /**
1366
2471
  * <p>The tags used to organize, track, or control access for this resource.</p>
1367
2472
  * @public
@@ -1369,735 +2474,704 @@ export interface CreateCalculatedAttributeDefinitionResponse {
1369
2474
  Tags?: Record<string, string> | undefined;
1370
2475
  }
1371
2476
  /**
1372
- * <p>Configuration information about the S3 bucket where Identity Resolution Jobs write result files.</p>
1373
2477
  * @public
1374
2478
  */
1375
- export interface S3ExportingConfig {
2479
+ export interface CreateEventStreamRequest {
1376
2480
  /**
1377
- * <p>The name of the S3 bucket where Identity Resolution Jobs write result files.</p>
2481
+ * <p>The unique name of the domain.</p>
1378
2482
  * @public
1379
2483
  */
1380
- S3BucketName: string | undefined;
2484
+ DomainName: string | undefined;
1381
2485
  /**
1382
- * <p>The S3 key name of the location where Identity Resolution Jobs write result files.</p>
2486
+ * <p>The StreamARN of the destination to deliver profile events to. For example,
2487
+ * arn:aws:kinesis:region:account-id:stream/stream-name</p>
1383
2488
  * @public
1384
2489
  */
1385
- S3KeyName?: string | undefined;
2490
+ Uri: string | undefined;
2491
+ /**
2492
+ * <p>The name of the event stream.</p>
2493
+ * @public
2494
+ */
2495
+ EventStreamName: string | undefined;
2496
+ /**
2497
+ * <p>The tags used to organize, track, or control access for this resource.</p>
2498
+ * @public
2499
+ */
2500
+ Tags?: Record<string, string> | undefined;
1386
2501
  }
1387
2502
  /**
1388
- * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
1389
- * <note>
1390
- * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
1391
- * Otherwise, you'll get an exception in the API response. For an example policy, see
1392
- * <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service">Amazon Connect Customer Profiles cross-service confused deputy prevention</a>. </p>
1393
- * </note>
1394
2503
  * @public
1395
2504
  */
1396
- export interface ExportingConfig {
2505
+ export interface CreateEventStreamResponse {
1397
2506
  /**
1398
- * <p>The S3 location where Identity Resolution Jobs write result files.</p>
2507
+ * <p>A unique identifier for the event stream.</p>
1399
2508
  * @public
1400
2509
  */
1401
- S3Exporting?: S3ExportingConfig | undefined;
2510
+ EventStreamArn: string | undefined;
2511
+ /**
2512
+ * <p>The tags used to organize, track, or control access for this resource.</p>
2513
+ * @public
2514
+ */
2515
+ Tags?: Record<string, string> | undefined;
1402
2516
  }
1403
2517
  /**
2518
+ * <p>Configuration data for integration workflow.</p>
1404
2519
  * @public
1405
- * @enum
1406
2520
  */
1407
- export declare const JobScheduleDayOfTheWeek: {
1408
- readonly FRIDAY: "FRIDAY";
1409
- readonly MONDAY: "MONDAY";
1410
- readonly SATURDAY: "SATURDAY";
1411
- readonly SUNDAY: "SUNDAY";
1412
- readonly THURSDAY: "THURSDAY";
1413
- readonly TUESDAY: "TUESDAY";
1414
- readonly WEDNESDAY: "WEDNESDAY";
1415
- };
2521
+ export interface IntegrationConfig {
2522
+ /**
2523
+ * <p>Configuration data for <code>APPFLOW_INTEGRATION</code> workflow type.</p>
2524
+ * @public
2525
+ */
2526
+ AppflowIntegration?: AppflowIntegration | undefined;
2527
+ }
1416
2528
  /**
1417
2529
  * @public
2530
+ * @enum
1418
2531
  */
1419
- export type JobScheduleDayOfTheWeek = (typeof JobScheduleDayOfTheWeek)[keyof typeof JobScheduleDayOfTheWeek];
2532
+ export declare const WorkflowType: {
2533
+ readonly APPFLOW_INTEGRATION: "APPFLOW_INTEGRATION";
2534
+ };
1420
2535
  /**
1421
- * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
1422
2536
  * @public
1423
2537
  */
1424
- export interface JobSchedule {
1425
- /**
1426
- * <p>The day when the Identity Resolution Job should run every week.</p>
1427
- * @public
1428
- */
1429
- DayOfTheWeek: JobScheduleDayOfTheWeek | undefined;
1430
- /**
1431
- * <p>The time when the Identity Resolution Job should run every week.</p>
1432
- * @public
1433
- */
1434
- Time: string | undefined;
1435
- }
2538
+ export type WorkflowType = (typeof WorkflowType)[keyof typeof WorkflowType];
1436
2539
  /**
1437
- * <p>The flag that enables the matching process of duplicate profiles.</p>
1438
2540
  * @public
1439
2541
  */
1440
- export interface MatchingRequest {
2542
+ export interface CreateIntegrationWorkflowRequest {
1441
2543
  /**
1442
- * <p>The flag that enables the matching process of duplicate profiles.</p>
2544
+ * <p>The unique name of the domain.</p>
1443
2545
  * @public
1444
2546
  */
1445
- Enabled: boolean | undefined;
2547
+ DomainName: string | undefined;
1446
2548
  /**
1447
- * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
2549
+ * <p>The type of workflow. The only supported value is APPFLOW_INTEGRATION.</p>
1448
2550
  * @public
1449
2551
  */
1450
- JobSchedule?: JobSchedule | undefined;
2552
+ WorkflowType: WorkflowType | undefined;
1451
2553
  /**
1452
- * <p>Configuration information about the auto-merging process.</p>
2554
+ * <p>Configuration data for integration workflow.</p>
1453
2555
  * @public
1454
2556
  */
1455
- AutoMerging?: AutoMerging | undefined;
2557
+ IntegrationConfig: IntegrationConfig | undefined;
1456
2558
  /**
1457
- * <p>Configuration information for exporting Identity Resolution results, for example, to an S3
1458
- * bucket.</p>
1459
- * @public
1460
- */
1461
- ExportingConfig?: ExportingConfig | undefined;
1462
- }
1463
- /**
1464
- * <p>Specifies how does the rule-based matching process should match profiles. You can choose
1465
- * from the following attributes to build the matching Rule:</p>
1466
- * <ul>
1467
- * <li>
1468
- * <p>AccountNumber</p>
1469
- * </li>
1470
- * <li>
1471
- * <p>Address.Address</p>
1472
- * </li>
1473
- * <li>
1474
- * <p>Address.City</p>
1475
- * </li>
1476
- * <li>
1477
- * <p>Address.Country</p>
1478
- * </li>
1479
- * <li>
1480
- * <p>Address.County</p>
1481
- * </li>
1482
- * <li>
1483
- * <p>Address.PostalCode</p>
1484
- * </li>
1485
- * <li>
1486
- * <p>Address.State</p>
1487
- * </li>
1488
- * <li>
1489
- * <p>Address.Province</p>
1490
- * </li>
1491
- * <li>
1492
- * <p>BirthDate</p>
1493
- * </li>
1494
- * <li>
1495
- * <p>BusinessName</p>
1496
- * </li>
1497
- * <li>
1498
- * <p>EmailAddress</p>
1499
- * </li>
1500
- * <li>
1501
- * <p>FirstName</p>
1502
- * </li>
1503
- * <li>
1504
- * <p>Gender</p>
1505
- * </li>
1506
- * <li>
1507
- * <p>LastName</p>
1508
- * </li>
1509
- * <li>
1510
- * <p>MiddleName</p>
1511
- * </li>
1512
- * <li>
1513
- * <p>PhoneNumber</p>
1514
- * </li>
1515
- * <li>
1516
- * <p>Any customized profile attributes that start with the
1517
- * <code>Attributes</code>
1518
- * </p>
1519
- * </li>
1520
- * </ul>
2559
+ * <p>The name of the profile object type.</p>
2560
+ * @public
2561
+ */
2562
+ ObjectTypeName: string | undefined;
2563
+ /**
2564
+ * <p>The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this role to create resources on your behalf as part of workflow execution.</p>
2565
+ * @public
2566
+ */
2567
+ RoleArn: string | undefined;
2568
+ /**
2569
+ * <p>The tags used to organize, track, or control access for this resource.</p>
2570
+ * @public
2571
+ */
2572
+ Tags?: Record<string, string> | undefined;
2573
+ }
2574
+ /**
1521
2575
  * @public
1522
2576
  */
1523
- export interface MatchingRule {
2577
+ export interface CreateIntegrationWorkflowResponse {
1524
2578
  /**
1525
- * <p>A single rule level of the <code>MatchRules</code>. Configures how the rule-based
1526
- * matching process should match profiles.</p>
2579
+ * <p>Unique identifier for the workflow.</p>
1527
2580
  * @public
1528
2581
  */
1529
- Rule: string[] | undefined;
2582
+ WorkflowId: string | undefined;
2583
+ /**
2584
+ * <p>A message indicating create request was received.</p>
2585
+ * @public
2586
+ */
2587
+ Message: string | undefined;
1530
2588
  }
1531
2589
  /**
1532
- * <p>The request to enable the rule-based matching.</p>
1533
2590
  * @public
1534
2591
  */
1535
- export interface RuleBasedMatchingRequest {
2592
+ export interface CreateProfileRequest {
1536
2593
  /**
1537
- * <p>The flag that enables the rule-based matching process of duplicate profiles.</p>
2594
+ * <p>The unique name of the domain.</p>
1538
2595
  * @public
1539
2596
  */
1540
- Enabled: boolean | undefined;
2597
+ DomainName: string | undefined;
1541
2598
  /**
1542
- * <p>Configures how the rule-based matching process should match profiles. You can have up to
1543
- * 15 <code>MatchingRule</code> in the <code>MatchingRules</code>.</p>
2599
+ * <p>An account number that you have given to the customer.</p>
1544
2600
  * @public
1545
2601
  */
1546
- MatchingRules?: MatchingRule[] | undefined;
2602
+ AccountNumber?: string | undefined;
1547
2603
  /**
1548
- * <p>
1549
- * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html">MatchingRule</a>
1550
- * </p>
2604
+ * <p>Any additional information relevant to the customer’s profile.</p>
1551
2605
  * @public
1552
2606
  */
1553
- MaxAllowedRuleLevelForMerging?: number | undefined;
2607
+ AdditionalInformation?: string | undefined;
1554
2608
  /**
1555
- * <p>Indicates the maximum allowed rule level.</p>
2609
+ * @deprecated
2610
+ *
2611
+ * <p>The type of profile used to describe the customer.</p>
1556
2612
  * @public
1557
2613
  */
1558
- MaxAllowedRuleLevelForMatching?: number | undefined;
2614
+ PartyType?: PartyType | undefined;
1559
2615
  /**
1560
- * <p>Configures information about the <code>AttributeTypesSelector</code> where the
1561
- * rule-based identity resolution uses to match profiles.</p>
2616
+ * <p>The name of the customer’s business.</p>
1562
2617
  * @public
1563
2618
  */
1564
- AttributeTypesSelector?: AttributeTypesSelector | undefined;
2619
+ BusinessName?: string | undefined;
1565
2620
  /**
1566
- * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
2621
+ * <p>The customer’s first name.</p>
1567
2622
  * @public
1568
2623
  */
1569
- ConflictResolution?: ConflictResolution | undefined;
2624
+ FirstName?: string | undefined;
1570
2625
  /**
1571
- * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
1572
- * <note>
1573
- * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
1574
- * Otherwise, you'll get an exception in the API response. For an example policy, see
1575
- * <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service">Amazon Connect Customer Profiles cross-service confused deputy prevention</a>. </p>
1576
- * </note>
2626
+ * <p>The customer’s middle name.</p>
1577
2627
  * @public
1578
2628
  */
1579
- ExportingConfig?: ExportingConfig | undefined;
1580
- }
1581
- /**
1582
- * @public
1583
- */
1584
- export interface CreateDomainRequest {
2629
+ MiddleName?: string | undefined;
1585
2630
  /**
1586
- * <p>The unique name of the domain.</p>
2631
+ * <p>The customer’s last name.</p>
1587
2632
  * @public
1588
2633
  */
1589
- DomainName: string | undefined;
2634
+ LastName?: string | undefined;
1590
2635
  /**
1591
- * <p>The default number of days until the data within the domain expires.</p>
2636
+ * <p>The customer’s birth date. </p>
1592
2637
  * @public
1593
2638
  */
1594
- DefaultExpirationDays: number | undefined;
2639
+ BirthDate?: string | undefined;
1595
2640
  /**
1596
- * <p>The default encryption key, which is an AWS managed key, is used when no specific type
1597
- * of encryption key is specified. It is used to encrypt all data before it is placed in
1598
- * permanent or semi-permanent storage.</p>
2641
+ * @deprecated
2642
+ *
2643
+ * <p>The gender with which the customer identifies. </p>
1599
2644
  * @public
1600
2645
  */
1601
- DefaultEncryptionKey?: string | undefined;
2646
+ Gender?: Gender | undefined;
1602
2647
  /**
1603
- * <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with
1604
- * ingesting data from third party applications. You must set up a policy on the
1605
- * DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send
1606
- * messages to the DeadLetterQueue.</p>
2648
+ * <p>The customer’s phone number, which has not been specified as a mobile, home, or business
2649
+ * number. </p>
1607
2650
  * @public
1608
2651
  */
1609
- DeadLetterQueueUrl?: string | undefined;
2652
+ PhoneNumber?: string | undefined;
1610
2653
  /**
1611
- * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
1612
- * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
1613
- * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
1614
- * <p>After the Identity Resolution Job completes, use the
1615
- * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
1616
- * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
1617
- * S3.</p>
2654
+ * <p>The customer’s mobile phone number.</p>
1618
2655
  * @public
1619
2656
  */
1620
- Matching?: MatchingRequest | undefined;
2657
+ MobilePhoneNumber?: string | undefined;
1621
2658
  /**
1622
- * <p>The process of matching duplicate profiles using the Rule-Based matching. If
1623
- * <code>RuleBasedMatching</code> = true, Amazon Connect Customer Profiles will start
1624
- * to match and merge your profiles according to your configuration in the
1625
- * <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code>
1626
- * and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have
1627
- * configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you
1628
- * can download the results from S3.</p>
2659
+ * <p>The customer’s home phone number.</p>
1629
2660
  * @public
1630
2661
  */
1631
- RuleBasedMatching?: RuleBasedMatchingRequest | undefined;
2662
+ HomePhoneNumber?: string | undefined;
1632
2663
  /**
1633
- * <p>The tags used to organize, track, or control access for this resource.</p>
2664
+ * <p>The customer’s business phone number.</p>
1634
2665
  * @public
1635
2666
  */
1636
- Tags?: Record<string, string> | undefined;
2667
+ BusinessPhoneNumber?: string | undefined;
2668
+ /**
2669
+ * <p>The customer’s email address, which has not been specified as a personal or business
2670
+ * address. </p>
2671
+ * @public
2672
+ */
2673
+ EmailAddress?: string | undefined;
2674
+ /**
2675
+ * <p>The customer’s personal email address.</p>
2676
+ * @public
2677
+ */
2678
+ PersonalEmailAddress?: string | undefined;
2679
+ /**
2680
+ * <p>The customer’s business email address.</p>
2681
+ * @public
2682
+ */
2683
+ BusinessEmailAddress?: string | undefined;
2684
+ /**
2685
+ * <p>A generic address associated with the customer that is not mailing, shipping, or
2686
+ * billing.</p>
2687
+ * @public
2688
+ */
2689
+ Address?: Address | undefined;
2690
+ /**
2691
+ * <p>The customer’s shipping address.</p>
2692
+ * @public
2693
+ */
2694
+ ShippingAddress?: Address | undefined;
2695
+ /**
2696
+ * <p>The customer’s mailing address.</p>
2697
+ * @public
2698
+ */
2699
+ MailingAddress?: Address | undefined;
2700
+ /**
2701
+ * <p>The customer’s billing address.</p>
2702
+ * @public
2703
+ */
2704
+ BillingAddress?: Address | undefined;
2705
+ /**
2706
+ * <p>A key value pair of attributes of a customer profile.</p>
2707
+ * @public
2708
+ */
2709
+ Attributes?: Record<string, string> | undefined;
2710
+ /**
2711
+ * <p>An alternative to <code>PartyType</code> which accepts any string as input.</p>
2712
+ * @public
2713
+ */
2714
+ PartyTypeString?: string | undefined;
2715
+ /**
2716
+ * <p>An alternative to <code>Gender</code> which accepts any string as input.</p>
2717
+ * @public
2718
+ */
2719
+ GenderString?: string | undefined;
1637
2720
  }
1638
2721
  /**
1639
- * <p>The flag that enables the matching process of duplicate profiles.</p>
1640
2722
  * @public
1641
2723
  */
1642
- export interface MatchingResponse {
1643
- /**
1644
- * <p>The flag that enables the matching process of duplicate profiles.</p>
1645
- * @public
1646
- */
1647
- Enabled?: boolean | undefined;
2724
+ export interface CreateProfileResponse {
1648
2725
  /**
1649
- * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
2726
+ * <p>The unique identifier of a customer profile.</p>
1650
2727
  * @public
1651
2728
  */
1652
- JobSchedule?: JobSchedule | undefined;
2729
+ ProfileId: string | undefined;
2730
+ }
2731
+ /**
2732
+ * <p>Object that segments on various Customer profile's fields that are larger than normal.</p>
2733
+ * @public
2734
+ */
2735
+ export interface ExtraLengthValueProfileDimension {
1653
2736
  /**
1654
- * <p>Configuration information about the auto-merging process.</p>
2737
+ * <p>The action to segment with.</p>
1655
2738
  * @public
1656
2739
  */
1657
- AutoMerging?: AutoMerging | undefined;
2740
+ DimensionType: StringDimensionType | undefined;
1658
2741
  /**
1659
- * <p>Configuration information for exporting Identity Resolution results, for example, to an S3
1660
- * bucket.</p>
2742
+ * <p>The values to apply the DimensionType on.</p>
1661
2743
  * @public
1662
2744
  */
1663
- ExportingConfig?: ExportingConfig | undefined;
2745
+ Values: string[] | undefined;
1664
2746
  }
1665
2747
  /**
1666
2748
  * @public
1667
2749
  * @enum
1668
2750
  */
1669
- export declare const RuleBasedMatchingStatus: {
1670
- readonly ACTIVE: "ACTIVE";
1671
- readonly IN_PROGRESS: "IN_PROGRESS";
1672
- readonly PENDING: "PENDING";
2751
+ export declare const DateDimensionType: {
2752
+ readonly AFTER: "AFTER";
2753
+ readonly BEFORE: "BEFORE";
2754
+ readonly BETWEEN: "BETWEEN";
2755
+ readonly NOT_BETWEEN: "NOT_BETWEEN";
2756
+ readonly ON: "ON";
1673
2757
  };
1674
2758
  /**
1675
2759
  * @public
1676
2760
  */
1677
- export type RuleBasedMatchingStatus = (typeof RuleBasedMatchingStatus)[keyof typeof RuleBasedMatchingStatus];
2761
+ export type DateDimensionType = (typeof DateDimensionType)[keyof typeof DateDimensionType];
1678
2762
  /**
1679
- * <p>The response of the Rule-based matching request.</p>
2763
+ * <p>Object that segments on various Customer Profile's date fields.</p>
1680
2764
  * @public
1681
2765
  */
1682
- export interface RuleBasedMatchingResponse {
2766
+ export interface DateDimension {
1683
2767
  /**
1684
- * <p>The flag that enables the rule-based matching process of duplicate profiles.</p>
2768
+ * <p>The action to segment with.</p>
1685
2769
  * @public
1686
2770
  */
1687
- Enabled?: boolean | undefined;
2771
+ DimensionType: DateDimensionType | undefined;
1688
2772
  /**
1689
- * <p>Configures how the rule-based matching process should match profiles. You can have up to
1690
- * 15 <code>MatchingRule</code> in the <code>MatchingRules</code>.</p>
2773
+ * <p>The values to apply the DimensionType on.</p>
1691
2774
  * @public
1692
2775
  */
1693
- MatchingRules?: MatchingRule[] | undefined;
2776
+ Values: string[] | undefined;
2777
+ }
2778
+ /**
2779
+ * <p>The object used to segment on attributes within the customer profile.</p>
2780
+ * @public
2781
+ */
2782
+ export interface ProfileAttributes {
1694
2783
  /**
1695
- * <p>PENDING</p>
1696
- * <ul>
1697
- * <li>
1698
- * <p>The first status after configuration a rule-based matching rule. If it is an
1699
- * existing domain, the rule-based Identity Resolution waits one hour before creating the matching
1700
- * rule. If it is a new domain, the system will skip the <code>PENDING</code>
1701
- * stage.</p>
1702
- * </li>
1703
- * </ul>
1704
- * <p>IN_PROGRESS</p>
1705
- * <ul>
1706
- * <li>
1707
- * <p>The system is creating the rule-based matching rule. Under this status, the system
1708
- * is evaluating the existing data and you can no longer change the Rule-based matching
1709
- * configuration.</p>
1710
- * </li>
1711
- * </ul>
1712
- * <p>ACTIVE</p>
1713
- * <ul>
1714
- * <li>
1715
- * <p>The rule is ready to use. You can change the rule a day after the status is in
1716
- * <code>ACTIVE</code>.</p>
1717
- * </li>
1718
- * </ul>
2784
+ * <p>A field to describe values to segment on within account number.</p>
1719
2785
  * @public
1720
2786
  */
1721
- Status?: RuleBasedMatchingStatus | undefined;
2787
+ AccountNumber?: ProfileDimension | undefined;
1722
2788
  /**
1723
- * <p>
1724
- * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html">MatchingRule</a>
1725
- * </p>
2789
+ * <p>A field to describe values to segment on within additional information.</p>
1726
2790
  * @public
1727
2791
  */
1728
- MaxAllowedRuleLevelForMerging?: number | undefined;
2792
+ AdditionalInformation?: ExtraLengthValueProfileDimension | undefined;
1729
2793
  /**
1730
- * <p>Indicates the maximum allowed rule level.</p>
2794
+ * <p>A field to describe values to segment on within first name.</p>
1731
2795
  * @public
1732
2796
  */
1733
- MaxAllowedRuleLevelForMatching?: number | undefined;
2797
+ FirstName?: ProfileDimension | undefined;
1734
2798
  /**
1735
- * <p>Configures information about the <code>AttributeTypesSelector</code> where the
1736
- * rule-based identity resolution uses to match profiles.</p>
2799
+ * <p>A field to describe values to segment on within last name.</p>
1737
2800
  * @public
1738
2801
  */
1739
- AttributeTypesSelector?: AttributeTypesSelector | undefined;
2802
+ LastName?: ProfileDimension | undefined;
1740
2803
  /**
1741
- * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
2804
+ * <p>A field to describe values to segment on within middle name.</p>
2805
+ * @public
2806
+ */
2807
+ MiddleName?: ProfileDimension | undefined;
2808
+ /**
2809
+ * <p>A field to describe values to segment on within genderString.</p>
2810
+ * @public
2811
+ */
2812
+ GenderString?: ProfileDimension | undefined;
2813
+ /**
2814
+ * <p>A field to describe values to segment on within partyTypeString.</p>
1742
2815
  * @public
1743
2816
  */
1744
- ConflictResolution?: ConflictResolution | undefined;
2817
+ PartyTypeString?: ProfileDimension | undefined;
1745
2818
  /**
1746
- * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
1747
- * <note>
1748
- * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
1749
- * Otherwise, you'll get an exception in the API response. For an example policy, see
1750
- * <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service">Amazon Connect Customer Profiles cross-service confused deputy prevention</a>. </p>
1751
- * </note>
2819
+ * <p>A field to describe values to segment on within birthDate.</p>
1752
2820
  * @public
1753
2821
  */
1754
- ExportingConfig?: ExportingConfig | undefined;
1755
- }
1756
- /**
1757
- * @public
1758
- */
1759
- export interface CreateDomainResponse {
2822
+ BirthDate?: DateDimension | undefined;
1760
2823
  /**
1761
- * <p>The unique name of the domain.</p>
2824
+ * <p>A field to describe values to segment on within phone number.</p>
1762
2825
  * @public
1763
2826
  */
1764
- DomainName: string | undefined;
2827
+ PhoneNumber?: ProfileDimension | undefined;
1765
2828
  /**
1766
- * <p>The default number of days until the data within the domain expires.</p>
2829
+ * <p>A field to describe values to segment on within business name.</p>
1767
2830
  * @public
1768
2831
  */
1769
- DefaultExpirationDays: number | undefined;
2832
+ BusinessName?: ProfileDimension | undefined;
1770
2833
  /**
1771
- * <p>The default encryption key, which is an AWS managed key, is used when no specific type
1772
- * of encryption key is specified. It is used to encrypt all data before it is placed in
1773
- * permanent or semi-permanent storage.</p>
2834
+ * <p>A field to describe values to segment on within business phone number.</p>
1774
2835
  * @public
1775
2836
  */
1776
- DefaultEncryptionKey?: string | undefined;
2837
+ BusinessPhoneNumber?: ProfileDimension | undefined;
1777
2838
  /**
1778
- * <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with
1779
- * ingesting data from third party applications.</p>
2839
+ * <p>A field to describe values to segment on within home phone number.</p>
1780
2840
  * @public
1781
2841
  */
1782
- DeadLetterQueueUrl?: string | undefined;
2842
+ HomePhoneNumber?: ProfileDimension | undefined;
1783
2843
  /**
1784
- * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
1785
- * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
1786
- * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
1787
- * <p>After the Identity Resolution Job completes, use the
1788
- * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
1789
- * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
1790
- * S3.</p>
2844
+ * <p>A field to describe values to segment on within mobile phone number.</p>
1791
2845
  * @public
1792
2846
  */
1793
- Matching?: MatchingResponse | undefined;
2847
+ MobilePhoneNumber?: ProfileDimension | undefined;
1794
2848
  /**
1795
- * <p>The process of matching duplicate profiles using the Rule-Based matching. If
1796
- * <code>RuleBasedMatching</code> = true, Amazon Connect Customer Profiles will start
1797
- * to match and merge your profiles according to your configuration in the
1798
- * <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code>
1799
- * and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have
1800
- * configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you
1801
- * can download the results from S3.</p>
2849
+ * <p>A field to describe values to segment on within email address.</p>
1802
2850
  * @public
1803
2851
  */
1804
- RuleBasedMatching?: RuleBasedMatchingResponse | undefined;
2852
+ EmailAddress?: ProfileDimension | undefined;
1805
2853
  /**
1806
- * <p>The timestamp of when the domain was created.</p>
2854
+ * <p>A field to describe values to segment on within personal email address.</p>
1807
2855
  * @public
1808
2856
  */
1809
- CreatedAt: Date | undefined;
2857
+ PersonalEmailAddress?: ProfileDimension | undefined;
1810
2858
  /**
1811
- * <p>The timestamp of when the domain was most recently edited.</p>
2859
+ * <p>A field to describe values to segment on within business email address.</p>
1812
2860
  * @public
1813
2861
  */
1814
- LastUpdatedAt: Date | undefined;
2862
+ BusinessEmailAddress?: ProfileDimension | undefined;
1815
2863
  /**
1816
- * <p>The tags used to organize, track, or control access for this resource.</p>
2864
+ * <p>A field to describe values to segment on within address.</p>
1817
2865
  * @public
1818
2866
  */
1819
- Tags?: Record<string, string> | undefined;
1820
- }
1821
- /**
1822
- * @public
1823
- */
1824
- export interface CreateEventStreamRequest {
2867
+ Address?: AddressDimension | undefined;
1825
2868
  /**
1826
- * <p>The unique name of the domain.</p>
2869
+ * <p>A field to describe values to segment on within shipping address.</p>
1827
2870
  * @public
1828
2871
  */
1829
- DomainName: string | undefined;
2872
+ ShippingAddress?: AddressDimension | undefined;
1830
2873
  /**
1831
- * <p>The StreamARN of the destination to deliver profile events to. For example,
1832
- * arn:aws:kinesis:region:account-id:stream/stream-name</p>
2874
+ * <p>A field to describe values to segment on within mailing address.</p>
1833
2875
  * @public
1834
2876
  */
1835
- Uri: string | undefined;
2877
+ MailingAddress?: AddressDimension | undefined;
1836
2878
  /**
1837
- * <p>The name of the event stream.</p>
2879
+ * <p>A field to describe values to segment on within billing address.</p>
1838
2880
  * @public
1839
2881
  */
1840
- EventStreamName: string | undefined;
2882
+ BillingAddress?: AddressDimension | undefined;
1841
2883
  /**
1842
- * <p>The tags used to organize, track, or control access for this resource.</p>
2884
+ * <p>A field to describe values to segment on within attributes.</p>
1843
2885
  * @public
1844
2886
  */
1845
- Tags?: Record<string, string> | undefined;
2887
+ Attributes?: Record<string, AttributeDimension> | undefined;
1846
2888
  }
1847
2889
  /**
2890
+ * <p>Object that holds what profile and calculated attributes to segment on.</p>
1848
2891
  * @public
1849
2892
  */
1850
- export interface CreateEventStreamResponse {
2893
+ export type Dimension = Dimension.CalculatedAttributesMember | Dimension.ProfileAttributesMember | Dimension.$UnknownMember;
2894
+ /**
2895
+ * @public
2896
+ */
2897
+ export declare namespace Dimension {
1851
2898
  /**
1852
- * <p>A unique identifier for the event stream.</p>
2899
+ * <p>Object that holds the profile attributes to segment on.</p>
1853
2900
  * @public
1854
2901
  */
1855
- EventStreamArn: string | undefined;
2902
+ interface ProfileAttributesMember {
2903
+ ProfileAttributes: ProfileAttributes;
2904
+ CalculatedAttributes?: never;
2905
+ $unknown?: never;
2906
+ }
1856
2907
  /**
1857
- * <p>The tags used to organize, track, or control access for this resource.</p>
2908
+ * <p>Object that holds the calculated attributes to segment on.</p>
1858
2909
  * @public
1859
2910
  */
1860
- Tags?: Record<string, string> | undefined;
2911
+ interface CalculatedAttributesMember {
2912
+ ProfileAttributes?: never;
2913
+ CalculatedAttributes: Record<string, CalculatedAttributeDimension>;
2914
+ $unknown?: never;
2915
+ }
2916
+ /**
2917
+ * @public
2918
+ */
2919
+ interface $UnknownMember {
2920
+ ProfileAttributes?: never;
2921
+ CalculatedAttributes?: never;
2922
+ $unknown: [string, any];
2923
+ }
2924
+ interface Visitor<T> {
2925
+ ProfileAttributes: (value: ProfileAttributes) => T;
2926
+ CalculatedAttributes: (value: Record<string, CalculatedAttributeDimension>) => T;
2927
+ _: (name: string, value: any) => T;
2928
+ }
2929
+ const visit: <T>(value: Dimension, visitor: Visitor<T>) => T;
1861
2930
  }
1862
2931
  /**
1863
- * <p>Configuration data for integration workflow.</p>
2932
+ * <p>The source segments to build off of.</p>
1864
2933
  * @public
1865
2934
  */
1866
- export interface IntegrationConfig {
2935
+ export interface SourceSegment {
1867
2936
  /**
1868
- * <p>Configuration data for <code>APPFLOW_INTEGRATION</code> workflow type.</p>
2937
+ * <p>The unique name of the segment definition.</p>
1869
2938
  * @public
1870
2939
  */
1871
- AppflowIntegration?: AppflowIntegration | undefined;
2940
+ SegmentDefinitionName?: string | undefined;
1872
2941
  }
1873
2942
  /**
1874
2943
  * @public
1875
2944
  * @enum
1876
2945
  */
1877
- export declare const WorkflowType: {
1878
- readonly APPFLOW_INTEGRATION: "APPFLOW_INTEGRATION";
2946
+ export declare const IncludeOptions: {
2947
+ readonly ALL: "ALL";
2948
+ readonly ANY: "ANY";
2949
+ readonly NONE: "NONE";
1879
2950
  };
1880
2951
  /**
1881
2952
  * @public
1882
2953
  */
1883
- export type WorkflowType = (typeof WorkflowType)[keyof typeof WorkflowType];
2954
+ export type IncludeOptions = (typeof IncludeOptions)[keyof typeof IncludeOptions];
1884
2955
  /**
2956
+ * <p>Contains dimensions that determine what to segment on.</p>
1885
2957
  * @public
1886
2958
  */
1887
- export interface CreateIntegrationWorkflowRequest {
1888
- /**
1889
- * <p>The unique name of the domain.</p>
1890
- * @public
1891
- */
1892
- DomainName: string | undefined;
1893
- /**
1894
- * <p>The type of workflow. The only supported value is APPFLOW_INTEGRATION.</p>
1895
- * @public
1896
- */
1897
- WorkflowType: WorkflowType | undefined;
2959
+ export interface Group {
1898
2960
  /**
1899
- * <p>Configuration data for integration workflow.</p>
2961
+ * <p>Defines the attributes to segment on.</p>
1900
2962
  * @public
1901
2963
  */
1902
- IntegrationConfig: IntegrationConfig | undefined;
2964
+ Dimensions?: Dimension[] | undefined;
1903
2965
  /**
1904
- * <p>The name of the profile object type.</p>
2966
+ * <p>Defines the starting source of data.</p>
1905
2967
  * @public
1906
2968
  */
1907
- ObjectTypeName: string | undefined;
2969
+ SourceSegments?: SourceSegment[] | undefined;
1908
2970
  /**
1909
- * <p>The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this role to create resources on your behalf as part of workflow execution.</p>
2971
+ * <p>Defines how to interact with the source data.</p>
1910
2972
  * @public
1911
2973
  */
1912
- RoleArn: string | undefined;
2974
+ SourceType?: IncludeOptions | undefined;
1913
2975
  /**
1914
- * <p>The tags used to organize, track, or control access for this resource.</p>
2976
+ * <p>Defines how to interact with the profiles found in the current filtering.</p>
1915
2977
  * @public
1916
2978
  */
1917
- Tags?: Record<string, string> | undefined;
2979
+ Type?: IncludeOptions | undefined;
1918
2980
  }
1919
2981
  /**
2982
+ * <p>Contains all groups of the segment definition.</p>
1920
2983
  * @public
1921
2984
  */
1922
- export interface CreateIntegrationWorkflowResponse {
2985
+ export interface SegmentGroup {
1923
2986
  /**
1924
- * <p>Unique identifier for the workflow.</p>
2987
+ * <p>Holds the list of groups within the segment definition.</p>
1925
2988
  * @public
1926
2989
  */
1927
- WorkflowId: string | undefined;
2990
+ Groups?: Group[] | undefined;
1928
2991
  /**
1929
- * <p>A message indicating create request was received.</p>
2992
+ * <p>Defines whether to include or exclude the profiles that fit the segment criteria.</p>
1930
2993
  * @public
1931
2994
  */
1932
- Message: string | undefined;
2995
+ Include?: IncludeOptions | undefined;
1933
2996
  }
1934
- /**
1935
- * @public
1936
- * @enum
1937
- */
1938
- export declare const Gender: {
1939
- readonly FEMALE: "FEMALE";
1940
- readonly MALE: "MALE";
1941
- readonly UNSPECIFIED: "UNSPECIFIED";
1942
- };
1943
- /**
1944
- * @public
1945
- */
1946
- export type Gender = (typeof Gender)[keyof typeof Gender];
1947
- /**
1948
- * @public
1949
- * @enum
1950
- */
1951
- export declare const PartyType: {
1952
- readonly BUSINESS: "BUSINESS";
1953
- readonly INDIVIDUAL: "INDIVIDUAL";
1954
- readonly OTHER: "OTHER";
1955
- };
1956
- /**
1957
- * @public
1958
- */
1959
- export type PartyType = (typeof PartyType)[keyof typeof PartyType];
1960
2997
  /**
1961
2998
  * @public
1962
2999
  */
1963
- export interface CreateProfileRequest {
3000
+ export interface CreateSegmentDefinitionRequest {
1964
3001
  /**
1965
3002
  * <p>The unique name of the domain.</p>
1966
3003
  * @public
1967
3004
  */
1968
3005
  DomainName: string | undefined;
1969
3006
  /**
1970
- * <p>An account number that you have given to the customer.</p>
3007
+ * <p>The unique name of the segment definition.</p>
1971
3008
  * @public
1972
3009
  */
1973
- AccountNumber?: string | undefined;
3010
+ SegmentDefinitionName: string | undefined;
1974
3011
  /**
1975
- * <p>Any additional information relevant to the customer’s profile.</p>
3012
+ * <p>The display name of the segment definition.</p>
1976
3013
  * @public
1977
3014
  */
1978
- AdditionalInformation?: string | undefined;
3015
+ DisplayName: string | undefined;
1979
3016
  /**
1980
- * @deprecated
1981
- *
1982
- * <p>The type of profile used to describe the customer.</p>
3017
+ * <p>The description of the segment definition.</p>
1983
3018
  * @public
1984
3019
  */
1985
- PartyType?: PartyType | undefined;
3020
+ Description?: string | undefined;
1986
3021
  /**
1987
- * <p>The name of the customer’s business.</p>
3022
+ * <p>Specifies the base segments and dimensions for a segment definition along with their respective relationship.</p>
1988
3023
  * @public
1989
3024
  */
1990
- BusinessName?: string | undefined;
3025
+ SegmentGroups: SegmentGroup | undefined;
1991
3026
  /**
1992
- * <p>The customer’s first name.</p>
3027
+ * <p>The tags used to organize, track, or control access for this resource.</p>
1993
3028
  * @public
1994
3029
  */
1995
- FirstName?: string | undefined;
3030
+ Tags?: Record<string, string> | undefined;
3031
+ }
3032
+ /**
3033
+ * @public
3034
+ */
3035
+ export interface CreateSegmentDefinitionResponse {
1996
3036
  /**
1997
- * <p>The customer’s middle name.</p>
3037
+ * <p>The name of the segment definition.</p>
1998
3038
  * @public
1999
3039
  */
2000
- MiddleName?: string | undefined;
3040
+ SegmentDefinitionName: string | undefined;
2001
3041
  /**
2002
- * <p>The customer’s last name.</p>
3042
+ * <p>The display name of the segment definition.</p>
2003
3043
  * @public
2004
3044
  */
2005
- LastName?: string | undefined;
3045
+ DisplayName?: string | undefined;
2006
3046
  /**
2007
- * <p>The customer’s birth date. </p>
3047
+ * <p>The description of the segment definition.</p>
2008
3048
  * @public
2009
3049
  */
2010
- BirthDate?: string | undefined;
3050
+ Description?: string | undefined;
2011
3051
  /**
2012
- * @deprecated
2013
- *
2014
- * <p>The gender with which the customer identifies. </p>
3052
+ * <p>The timestamp of when the segment definition was created.</p>
2015
3053
  * @public
2016
3054
  */
2017
- Gender?: Gender | undefined;
3055
+ CreatedAt?: Date | undefined;
2018
3056
  /**
2019
- * <p>The customer’s phone number, which has not been specified as a mobile, home, or business
2020
- * number. </p>
3057
+ * <p>The arn of the segment definition.</p>
2021
3058
  * @public
2022
3059
  */
2023
- PhoneNumber?: string | undefined;
3060
+ SegmentDefinitionArn?: string | undefined;
2024
3061
  /**
2025
- * <p>The customer’s mobile phone number.</p>
3062
+ * <p>The tags used to organize, track, or control access for this resource.</p>
2026
3063
  * @public
2027
3064
  */
2028
- MobilePhoneNumber?: string | undefined;
3065
+ Tags?: Record<string, string> | undefined;
3066
+ }
3067
+ /**
3068
+ * <p>Contains all groups of the segment definition.</p>
3069
+ * @public
3070
+ */
3071
+ export interface SegmentGroupStructure {
2029
3072
  /**
2030
- * <p>The customer’s home phone number.</p>
3073
+ * <p>Holds the list of groups within the segment definition.</p>
2031
3074
  * @public
2032
3075
  */
2033
- HomePhoneNumber?: string | undefined;
3076
+ Groups?: Group[] | undefined;
2034
3077
  /**
2035
- * <p>The customer’s business phone number.</p>
3078
+ * <p>Define whether to include or exclude the profiles that fit the segment criteria.</p>
2036
3079
  * @public
2037
3080
  */
2038
- BusinessPhoneNumber?: string | undefined;
3081
+ Include?: IncludeOptions | undefined;
3082
+ }
3083
+ /**
3084
+ * @public
3085
+ */
3086
+ export interface CreateSegmentEstimateRequest {
2039
3087
  /**
2040
- * <p>The customer’s email address, which has not been specified as a personal or business
2041
- * address. </p>
3088
+ * <p>The unique name of the domain.</p>
2042
3089
  * @public
2043
3090
  */
2044
- EmailAddress?: string | undefined;
3091
+ DomainName: string | undefined;
2045
3092
  /**
2046
- * <p>The customer’s personal email address.</p>
3093
+ * <p>The segment query for calculating a segment estimate.</p>
2047
3094
  * @public
2048
3095
  */
2049
- PersonalEmailAddress?: string | undefined;
3096
+ SegmentQuery: SegmentGroupStructure | undefined;
3097
+ }
3098
+ /**
3099
+ * @public
3100
+ */
3101
+ export interface CreateSegmentEstimateResponse {
2050
3102
  /**
2051
- * <p>The customer’s business email address.</p>
3103
+ * <p>The unique name of the domain.</p>
2052
3104
  * @public
2053
3105
  */
2054
- BusinessEmailAddress?: string | undefined;
3106
+ DomainName?: string | undefined;
2055
3107
  /**
2056
- * <p>A generic address associated with the customer that is not mailing, shipping, or
2057
- * billing.</p>
3108
+ * <p>A unique identifier for the resource. The value can be passed to <code>GetSegmentEstimate</code> to retrieve the result of segment estimate status.</p>
2058
3109
  * @public
2059
3110
  */
2060
- Address?: Address | undefined;
3111
+ EstimateId?: string | undefined;
2061
3112
  /**
2062
- * <p>The customer’s shipping address.</p>
3113
+ * <p>The status code for the response.</p>
2063
3114
  * @public
2064
3115
  */
2065
- ShippingAddress?: Address | undefined;
3116
+ StatusCode?: number | undefined;
3117
+ }
3118
+ /**
3119
+ * @public
3120
+ * @enum
3121
+ */
3122
+ export declare const DataFormat: {
3123
+ readonly CSV: "CSV";
3124
+ readonly JSONL: "JSONL";
3125
+ readonly ORC: "ORC";
3126
+ };
3127
+ /**
3128
+ * @public
3129
+ */
3130
+ export type DataFormat = (typeof DataFormat)[keyof typeof DataFormat];
3131
+ /**
3132
+ * @public
3133
+ */
3134
+ export interface CreateSegmentSnapshotRequest {
2066
3135
  /**
2067
- * <p>The customer’s mailing address.</p>
3136
+ * <p>The unique name of the domain.</p>
2068
3137
  * @public
2069
3138
  */
2070
- MailingAddress?: Address | undefined;
3139
+ DomainName: string | undefined;
2071
3140
  /**
2072
- * <p>The customer’s billing address.</p>
3141
+ * <p>The name of the segment definition used in this snapshot request.</p>
2073
3142
  * @public
2074
3143
  */
2075
- BillingAddress?: Address | undefined;
3144
+ SegmentDefinitionName: string | undefined;
2076
3145
  /**
2077
- * <p>A key value pair of attributes of a customer profile.</p>
3146
+ * <p>The format in which the segment will be exported.</p>
2078
3147
  * @public
2079
3148
  */
2080
- Attributes?: Record<string, string> | undefined;
3149
+ DataFormat: DataFormat | undefined;
2081
3150
  /**
2082
- * <p>An alternative to <code>PartyType</code> which accepts any string as input.</p>
3151
+ * <p>The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported segment.</p>
2083
3152
  * @public
2084
3153
  */
2085
- PartyTypeString?: string | undefined;
3154
+ EncryptionKey?: string | undefined;
2086
3155
  /**
2087
- * <p>An alternative to <code>Gender</code> which accepts any string as input.</p>
3156
+ * <p>The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service principal to assume the role for conducting KMS and S3 operations.</p>
2088
3157
  * @public
2089
3158
  */
2090
- GenderString?: string | undefined;
3159
+ RoleArn?: string | undefined;
3160
+ /**
3161
+ * <p>The destination to which the segment will be exported. This field must be provided if the request is not submitted from the Amazon Connect Admin Website.</p>
3162
+ * @public
3163
+ */
3164
+ DestinationUri?: string | undefined;
2091
3165
  }
2092
3166
  /**
2093
3167
  * @public
2094
3168
  */
2095
- export interface CreateProfileResponse {
3169
+ export interface CreateSegmentSnapshotResponse {
2096
3170
  /**
2097
- * <p>The unique identifier of a customer profile.</p>
3171
+ * <p>The unique identifier of the segment snapshot.</p>
2098
3172
  * @public
2099
3173
  */
2100
- ProfileId: string | undefined;
3174
+ SnapshotId: string | undefined;
2101
3175
  }
2102
3176
  /**
2103
3177
  * @public
@@ -2277,32 +3351,57 @@ export interface DeleteProfileObjectResponse {
2277
3351
  * <p>A message that indicates the delete request is done.</p>
2278
3352
  * @public
2279
3353
  */
2280
- Message?: string | undefined;
3354
+ Message?: string | undefined;
3355
+ }
3356
+ /**
3357
+ * @public
3358
+ */
3359
+ export interface DeleteProfileObjectTypeRequest {
3360
+ /**
3361
+ * <p>The unique name of the domain.</p>
3362
+ * @public
3363
+ */
3364
+ DomainName: string | undefined;
3365
+ /**
3366
+ * <p>The name of the profile object type.</p>
3367
+ * @public
3368
+ */
3369
+ ObjectTypeName: string | undefined;
3370
+ }
3371
+ /**
3372
+ * @public
3373
+ */
3374
+ export interface DeleteProfileObjectTypeResponse {
3375
+ /**
3376
+ * <p>A message that indicates the delete request is done.</p>
3377
+ * @public
3378
+ */
3379
+ Message: string | undefined;
2281
3380
  }
2282
3381
  /**
2283
3382
  * @public
2284
3383
  */
2285
- export interface DeleteProfileObjectTypeRequest {
3384
+ export interface DeleteSegmentDefinitionRequest {
2286
3385
  /**
2287
3386
  * <p>The unique name of the domain.</p>
2288
3387
  * @public
2289
3388
  */
2290
3389
  DomainName: string | undefined;
2291
3390
  /**
2292
- * <p>The name of the profile object type.</p>
3391
+ * <p>The unique name of the segment definition.</p>
2293
3392
  * @public
2294
3393
  */
2295
- ObjectTypeName: string | undefined;
3394
+ SegmentDefinitionName: string | undefined;
2296
3395
  }
2297
3396
  /**
2298
3397
  * @public
2299
3398
  */
2300
- export interface DeleteProfileObjectTypeResponse {
3399
+ export interface DeleteSegmentDefinitionResponse {
2301
3400
  /**
2302
3401
  * <p>A message that indicates the delete request is done.</p>
2303
3402
  * @public
2304
3403
  */
2305
- Message: string | undefined;
3404
+ Message?: string | undefined;
2306
3405
  }
2307
3406
  /**
2308
3407
  * @public
@@ -2384,6 +3483,7 @@ export interface ObjectTypeField {
2384
3483
  export declare const StandardIdentifier: {
2385
3484
  readonly ASSET: "ASSET";
2386
3485
  readonly CASE: "CASE";
3486
+ readonly COMMUNICATION_RECORD: "COMMUNICATION_RECORD";
2387
3487
  readonly LOOKUP_ONLY: "LOOKUP_ONLY";
2388
3488
  readonly NEW_ONLY: "NEW_ONLY";
2389
3489
  readonly ORDER: "ORDER";
@@ -2555,6 +3655,11 @@ export interface GetCalculatedAttributeDefinitionResponse {
2555
3655
  * @public
2556
3656
  */
2557
3657
  Statistic?: Statistic | undefined;
3658
+ /**
3659
+ * <p>The filter assigned to this calculated attribute definition.</p>
3660
+ * @public
3661
+ */
3662
+ Filter?: Filter | undefined;
2558
3663
  /**
2559
3664
  * <p>The conditions including range, object count, and threshold for the calculated
2560
3665
  * attribute.</p>
@@ -3137,176 +4242,461 @@ export interface MatchItem {
3137
4242
  */
3138
4243
  export interface GetMatchesResponse {
3139
4244
  /**
3140
- * <p>If there are additional results, this is the token for the next set of results.</p>
4245
+ * <p>If there are additional results, this is the token for the next set of results.</p>
4246
+ * @public
4247
+ */
4248
+ NextToken?: string | undefined;
4249
+ /**
4250
+ * <p>The timestamp this version of Match Result generated.</p>
4251
+ * @public
4252
+ */
4253
+ MatchGenerationDate?: Date | undefined;
4254
+ /**
4255
+ * <p>The number of potential matches found.</p>
4256
+ * @public
4257
+ */
4258
+ PotentialMatches?: number | undefined;
4259
+ /**
4260
+ * <p>The list of matched profiles for this instance.</p>
4261
+ * @public
4262
+ */
4263
+ Matches?: MatchItem[] | undefined;
4264
+ }
4265
+ /**
4266
+ * @public
4267
+ */
4268
+ export interface GetProfileObjectTypeRequest {
4269
+ /**
4270
+ * <p>The unique name of the domain.</p>
4271
+ * @public
4272
+ */
4273
+ DomainName: string | undefined;
4274
+ /**
4275
+ * <p>The name of the profile object type.</p>
4276
+ * @public
4277
+ */
4278
+ ObjectTypeName: string | undefined;
4279
+ }
4280
+ /**
4281
+ * @public
4282
+ */
4283
+ export interface GetProfileObjectTypeResponse {
4284
+ /**
4285
+ * <p>The name of the profile object type.</p>
4286
+ * @public
4287
+ */
4288
+ ObjectTypeName: string | undefined;
4289
+ /**
4290
+ * <p>The description of the profile object type.</p>
4291
+ * @public
4292
+ */
4293
+ Description: string | undefined;
4294
+ /**
4295
+ * <p>A unique identifier for the object template.</p>
4296
+ * @public
4297
+ */
4298
+ TemplateId?: string | undefined;
4299
+ /**
4300
+ * <p>The number of days until the data in the object expires.</p>
4301
+ * @public
4302
+ */
4303
+ ExpirationDays?: number | undefined;
4304
+ /**
4305
+ * <p>The customer-provided key to encrypt the profile object that will be created in this
4306
+ * profile object type.</p>
4307
+ * @public
4308
+ */
4309
+ EncryptionKey?: string | undefined;
4310
+ /**
4311
+ * <p>Indicates whether a profile should be created when data is received if one doesn’t exist
4312
+ * for an object of this type. The default is <code>FALSE</code>. If the AllowProfileCreation
4313
+ * flag is set to <code>FALSE</code>, then the service tries to fetch a standard profile and
4314
+ * associate this object with the profile. If it is set to <code>TRUE</code>, and if no match
4315
+ * is found, then the service creates a new standard profile.</p>
4316
+ * @public
4317
+ */
4318
+ AllowProfileCreation?: boolean | undefined;
4319
+ /**
4320
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set
4321
+ * up.</p>
4322
+ * @public
4323
+ */
4324
+ SourceLastUpdatedTimestampFormat?: string | undefined;
4325
+ /**
4326
+ * <p>The amount of provisioned profile object max count available.</p>
4327
+ * @public
4328
+ */
4329
+ MaxAvailableProfileObjectCount?: number | undefined;
4330
+ /**
4331
+ * <p>The amount of profile object max count assigned to the object type.</p>
4332
+ * @public
4333
+ */
4334
+ MaxProfileObjectCount?: number | undefined;
4335
+ /**
4336
+ * <p>A map of the name and ObjectType field.</p>
4337
+ * @public
4338
+ */
4339
+ Fields?: Record<string, ObjectTypeField> | undefined;
4340
+ /**
4341
+ * <p>A list of unique keys that can be used to map data to the profile.</p>
4342
+ * @public
4343
+ */
4344
+ Keys?: Record<string, ObjectTypeKey[]> | undefined;
4345
+ /**
4346
+ * <p>The timestamp of when the domain was created.</p>
4347
+ * @public
4348
+ */
4349
+ CreatedAt?: Date | undefined;
4350
+ /**
4351
+ * <p>The timestamp of when the domain was most recently edited.</p>
4352
+ * @public
4353
+ */
4354
+ LastUpdatedAt?: Date | undefined;
4355
+ /**
4356
+ * <p>The tags used to organize, track, or control access for this resource.</p>
4357
+ * @public
4358
+ */
4359
+ Tags?: Record<string, string> | undefined;
4360
+ }
4361
+ /**
4362
+ * @public
4363
+ */
4364
+ export interface GetProfileObjectTypeTemplateRequest {
4365
+ /**
4366
+ * <p>A unique identifier for the object template.</p>
4367
+ * @public
4368
+ */
4369
+ TemplateId: string | undefined;
4370
+ }
4371
+ /**
4372
+ * @public
4373
+ */
4374
+ export interface GetProfileObjectTypeTemplateResponse {
4375
+ /**
4376
+ * <p>A unique identifier for the object template.</p>
4377
+ * @public
4378
+ */
4379
+ TemplateId?: string | undefined;
4380
+ /**
4381
+ * <p>The name of the source of the object template.</p>
4382
+ * @public
4383
+ */
4384
+ SourceName?: string | undefined;
4385
+ /**
4386
+ * <p>The source of the object template.</p>
4387
+ * @public
4388
+ */
4389
+ SourceObject?: string | undefined;
4390
+ /**
4391
+ * <p>Indicates whether a profile should be created when data is received if one doesn’t exist
4392
+ * for an object of this type. The default is <code>FALSE</code>. If the AllowProfileCreation
4393
+ * flag is set to <code>FALSE</code>, then the service tries to fetch a standard profile and
4394
+ * associate this object with the profile. If it is set to <code>TRUE</code>, and if no match
4395
+ * is found, then the service creates a new standard profile.</p>
4396
+ * @public
4397
+ */
4398
+ AllowProfileCreation?: boolean | undefined;
4399
+ /**
4400
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set
4401
+ * up.</p>
4402
+ * @public
4403
+ */
4404
+ SourceLastUpdatedTimestampFormat?: string | undefined;
4405
+ /**
4406
+ * <p>A map of the name and ObjectType field.</p>
4407
+ * @public
4408
+ */
4409
+ Fields?: Record<string, ObjectTypeField> | undefined;
4410
+ /**
4411
+ * <p>A list of unique keys that can be used to map data to the profile.</p>
4412
+ * @public
4413
+ */
4414
+ Keys?: Record<string, ObjectTypeKey[]> | undefined;
4415
+ }
4416
+ /**
4417
+ * @public
4418
+ */
4419
+ export interface GetSegmentDefinitionRequest {
4420
+ /**
4421
+ * <p>The unique name of the domain.</p>
4422
+ * @public
4423
+ */
4424
+ DomainName: string | undefined;
4425
+ /**
4426
+ * <p>The unique name of the segment definition.</p>
4427
+ * @public
4428
+ */
4429
+ SegmentDefinitionName: string | undefined;
4430
+ }
4431
+ /**
4432
+ * @public
4433
+ */
4434
+ export interface GetSegmentDefinitionResponse {
4435
+ /**
4436
+ * <p>The name of the segment definition.</p>
4437
+ * @public
4438
+ */
4439
+ SegmentDefinitionName?: string | undefined;
4440
+ /**
4441
+ * <p>The display name of the segment definition.</p>
4442
+ * @public
4443
+ */
4444
+ DisplayName?: string | undefined;
4445
+ /**
4446
+ * <p>The description of the segment definition.</p>
4447
+ * @public
4448
+ */
4449
+ Description?: string | undefined;
4450
+ /**
4451
+ * <p>The segment criteria associated with this definition.</p>
4452
+ * @public
4453
+ */
4454
+ SegmentGroups?: SegmentGroup | undefined;
4455
+ /**
4456
+ * <p>The arn of the segment definition.</p>
4457
+ * @public
4458
+ */
4459
+ SegmentDefinitionArn: string | undefined;
4460
+ /**
4461
+ * <p>The timestamp of when the segment definition was created.</p>
4462
+ * @public
4463
+ */
4464
+ CreatedAt?: Date | undefined;
4465
+ /**
4466
+ * <p>The tags used to organize, track, or control access for this resource.</p>
4467
+ * @public
4468
+ */
4469
+ Tags?: Record<string, string> | undefined;
4470
+ }
4471
+ /**
4472
+ * @public
4473
+ */
4474
+ export interface GetSegmentEstimateRequest {
4475
+ /**
4476
+ * <p>The unique name of the domain.</p>
4477
+ * @public
4478
+ */
4479
+ DomainName: string | undefined;
4480
+ /**
4481
+ * <p>The query Id passed by a previous <code>CreateSegmentEstimate</code> operation.</p>
4482
+ * @public
4483
+ */
4484
+ EstimateId: string | undefined;
4485
+ }
4486
+ /**
4487
+ * @public
4488
+ * @enum
4489
+ */
4490
+ export declare const EstimateStatus: {
4491
+ readonly FAILED: "FAILED";
4492
+ readonly RUNNING: "RUNNING";
4493
+ readonly SUCCEEDED: "SUCCEEDED";
4494
+ };
4495
+ /**
4496
+ * @public
4497
+ */
4498
+ export type EstimateStatus = (typeof EstimateStatus)[keyof typeof EstimateStatus];
4499
+ /**
4500
+ * @public
4501
+ */
4502
+ export interface GetSegmentEstimateResponse {
4503
+ /**
4504
+ * <p>The unique name of the domain.</p>
4505
+ * @public
4506
+ */
4507
+ DomainName?: string | undefined;
4508
+ /**
4509
+ * <p>The <code>QueryId</code> which is the same as the value passed in <code>QueryId</code>.</p>
3141
4510
  * @public
3142
4511
  */
3143
- NextToken?: string | undefined;
4512
+ EstimateId?: string | undefined;
3144
4513
  /**
3145
- * <p>The timestamp this version of Match Result generated.</p>
4514
+ * <p>The current status of the query.</p>
3146
4515
  * @public
3147
4516
  */
3148
- MatchGenerationDate?: Date | undefined;
4517
+ Status?: EstimateStatus | undefined;
3149
4518
  /**
3150
- * <p>The number of potential matches found.</p>
4519
+ * <p>The estimated number of profiles contained in the segment.</p>
3151
4520
  * @public
3152
4521
  */
3153
- PotentialMatches?: number | undefined;
4522
+ Estimate?: string | undefined;
3154
4523
  /**
3155
- * <p>The list of matched profiles for this instance.</p>
4524
+ * <p>The error message if there is any error.</p>
3156
4525
  * @public
3157
4526
  */
3158
- Matches?: MatchItem[] | undefined;
4527
+ Message?: string | undefined;
4528
+ /**
4529
+ * <p>The status code of the segment estimate.</p>
4530
+ * @public
4531
+ */
4532
+ StatusCode?: number | undefined;
3159
4533
  }
3160
4534
  /**
3161
4535
  * @public
3162
4536
  */
3163
- export interface GetProfileObjectTypeRequest {
4537
+ export interface GetSegmentMembershipRequest {
3164
4538
  /**
3165
4539
  * <p>The unique name of the domain.</p>
3166
4540
  * @public
3167
4541
  */
3168
4542
  DomainName: string | undefined;
3169
4543
  /**
3170
- * <p>The name of the profile object type.</p>
4544
+ * <p>The Id of the wanted segment. Needs to be a valid, and existing segment Id.</p>
3171
4545
  * @public
3172
4546
  */
3173
- ObjectTypeName: string | undefined;
4547
+ SegmentDefinitionName: string | undefined;
4548
+ /**
4549
+ * <p>The list of profile IDs to query for.</p>
4550
+ * @public
4551
+ */
4552
+ ProfileIds: string[] | undefined;
3174
4553
  }
3175
4554
  /**
4555
+ * <p>Object that holds failures for membership.</p>
3176
4556
  * @public
3177
4557
  */
3178
- export interface GetProfileObjectTypeResponse {
3179
- /**
3180
- * <p>The name of the profile object type.</p>
3181
- * @public
3182
- */
3183
- ObjectTypeName: string | undefined;
4558
+ export interface ProfileQueryFailures {
3184
4559
  /**
3185
- * <p>The description of the profile object type.</p>
3186
- * @public
3187
- */
3188
- Description: string | undefined;
3189
- /**
3190
- * <p>A unique identifier for the object template.</p>
4560
+ * <p>The profile id the failure belongs to.</p>
3191
4561
  * @public
3192
4562
  */
3193
- TemplateId?: string | undefined;
4563
+ ProfileId: string | undefined;
3194
4564
  /**
3195
- * <p>The number of days until the data in the object expires.</p>
4565
+ * <p>A message describing the failure.</p>
3196
4566
  * @public
3197
4567
  */
3198
- ExpirationDays?: number | undefined;
4568
+ Message: string | undefined;
3199
4569
  /**
3200
- * <p>The customer-provided key to encrypt the profile object that will be created in this
3201
- * profile object type.</p>
4570
+ * <p>The status describing the failure.</p>
3202
4571
  * @public
3203
4572
  */
3204
- EncryptionKey?: string | undefined;
4573
+ Status?: number | undefined;
4574
+ }
4575
+ /**
4576
+ * @public
4577
+ * @enum
4578
+ */
4579
+ export declare const QueryResult: {
4580
+ readonly ABSENT: "ABSENT";
4581
+ readonly PRESENT: "PRESENT";
4582
+ };
4583
+ /**
4584
+ * @public
4585
+ */
4586
+ export type QueryResult = (typeof QueryResult)[keyof typeof QueryResult];
4587
+ /**
4588
+ * <p>Object that holds the results for membership.</p>
4589
+ * @public
4590
+ */
4591
+ export interface ProfileQueryResult {
3205
4592
  /**
3206
- * <p>Indicates whether a profile should be created when data is received if one doesn’t exist
3207
- * for an object of this type. The default is <code>FALSE</code>. If the AllowProfileCreation
3208
- * flag is set to <code>FALSE</code>, then the service tries to fetch a standard profile and
3209
- * associate this object with the profile. If it is set to <code>TRUE</code>, and if no match
3210
- * is found, then the service creates a new standard profile.</p>
4593
+ * <p>The profile id the result belongs to.</p>
3211
4594
  * @public
3212
4595
  */
3213
- AllowProfileCreation?: boolean | undefined;
4596
+ ProfileId: string | undefined;
3214
4597
  /**
3215
- * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set
3216
- * up.</p>
4598
+ * <p>Describes whether the profile was absent or present in the segment.</p>
3217
4599
  * @public
3218
4600
  */
3219
- SourceLastUpdatedTimestampFormat?: string | undefined;
4601
+ QueryResult: QueryResult | undefined;
3220
4602
  /**
3221
- * <p>The amount of provisioned profile object max count available.</p>
4603
+ * <p>The standard profile of a customer.</p>
3222
4604
  * @public
3223
4605
  */
3224
- MaxAvailableProfileObjectCount?: number | undefined;
4606
+ Profile?: Profile | undefined;
4607
+ }
4608
+ /**
4609
+ * @public
4610
+ */
4611
+ export interface GetSegmentMembershipResponse {
3225
4612
  /**
3226
- * <p>The amount of profile object max count assigned to the object type.</p>
4613
+ * <p>The unique name of the segment definition.</p>
3227
4614
  * @public
3228
4615
  */
3229
- MaxProfileObjectCount?: number | undefined;
4616
+ SegmentDefinitionName?: string | undefined;
3230
4617
  /**
3231
- * <p>A map of the name and ObjectType field.</p>
4618
+ * <p>An array of maps where each contains a response per profile requested.</p>
3232
4619
  * @public
3233
4620
  */
3234
- Fields?: Record<string, ObjectTypeField> | undefined;
4621
+ Profiles?: ProfileQueryResult[] | undefined;
3235
4622
  /**
3236
- * <p>A list of unique keys that can be used to map data to the profile.</p>
4623
+ * <p>An array of maps where each contains a response per profile failed for the request.</p>
3237
4624
  * @public
3238
4625
  */
3239
- Keys?: Record<string, ObjectTypeKey[]> | undefined;
4626
+ Failures?: ProfileQueryFailures[] | undefined;
4627
+ }
4628
+ /**
4629
+ * @public
4630
+ */
4631
+ export interface GetSegmentSnapshotRequest {
3240
4632
  /**
3241
- * <p>The timestamp of when the domain was created.</p>
4633
+ * <p>The unique identifier of the domain.</p>
3242
4634
  * @public
3243
4635
  */
3244
- CreatedAt?: Date | undefined;
4636
+ DomainName: string | undefined;
3245
4637
  /**
3246
- * <p>The timestamp of when the domain was most recently edited.</p>
4638
+ * <p>The unique name of the segment definition.</p>
3247
4639
  * @public
3248
4640
  */
3249
- LastUpdatedAt?: Date | undefined;
4641
+ SegmentDefinitionName: string | undefined;
3250
4642
  /**
3251
- * <p>The tags used to organize, track, or control access for this resource.</p>
4643
+ * <p>The unique identifier of the segment snapshot.</p>
3252
4644
  * @public
3253
4645
  */
3254
- Tags?: Record<string, string> | undefined;
4646
+ SnapshotId: string | undefined;
3255
4647
  }
3256
4648
  /**
3257
4649
  * @public
4650
+ * @enum
3258
4651
  */
3259
- export interface GetProfileObjectTypeTemplateRequest {
3260
- /**
3261
- * <p>A unique identifier for the object template.</p>
3262
- * @public
3263
- */
3264
- TemplateId: string | undefined;
3265
- }
4652
+ export declare const SegmentSnapshotStatus: {
4653
+ readonly COMPLETED: "COMPLETED";
4654
+ readonly FAILED: "FAILED";
4655
+ readonly IN_PROGRESS: "IN_PROGRESS";
4656
+ };
3266
4657
  /**
3267
4658
  * @public
3268
4659
  */
3269
- export interface GetProfileObjectTypeTemplateResponse {
4660
+ export type SegmentSnapshotStatus = (typeof SegmentSnapshotStatus)[keyof typeof SegmentSnapshotStatus];
4661
+ /**
4662
+ * @public
4663
+ */
4664
+ export interface GetSegmentSnapshotResponse {
3270
4665
  /**
3271
- * <p>A unique identifier for the object template.</p>
4666
+ * <p>The unique identifier of the segment snapshot.</p>
3272
4667
  * @public
3273
4668
  */
3274
- TemplateId?: string | undefined;
4669
+ SnapshotId: string | undefined;
3275
4670
  /**
3276
- * <p>The name of the source of the object template.</p>
4671
+ * <p>The status of the asynchronous job for exporting the segment snapshot.</p>
3277
4672
  * @public
3278
4673
  */
3279
- SourceName?: string | undefined;
4674
+ Status: SegmentSnapshotStatus | undefined;
3280
4675
  /**
3281
- * <p>The source of the object template.</p>
4676
+ * <p>The status message of the asynchronous job for exporting the segment snapshot.</p>
3282
4677
  * @public
3283
4678
  */
3284
- SourceObject?: string | undefined;
4679
+ StatusMessage?: string | undefined;
3285
4680
  /**
3286
- * <p>Indicates whether a profile should be created when data is received if one doesn’t exist
3287
- * for an object of this type. The default is <code>FALSE</code>. If the AllowProfileCreation
3288
- * flag is set to <code>FALSE</code>, then the service tries to fetch a standard profile and
3289
- * associate this object with the profile. If it is set to <code>TRUE</code>, and if no match
3290
- * is found, then the service creates a new standard profile.</p>
4681
+ * <p>The format in which the segment will be exported.</p>
3291
4682
  * @public
3292
4683
  */
3293
- AllowProfileCreation?: boolean | undefined;
4684
+ DataFormat: DataFormat | undefined;
3294
4685
  /**
3295
- * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set
3296
- * up.</p>
4686
+ * <p>The Amazon Resource Name (ARN) of the KMS key used to encrypt the exported segment.</p>
3297
4687
  * @public
3298
4688
  */
3299
- SourceLastUpdatedTimestampFormat?: string | undefined;
4689
+ EncryptionKey?: string | undefined;
3300
4690
  /**
3301
- * <p>A map of the name and ObjectType field.</p>
4691
+ * <p>The Amazon Resource Name (ARN) of the IAM role that allows Customer Profiles service principal to assume the role for conducting KMS and S3 operations.</p>
3302
4692
  * @public
3303
4693
  */
3304
- Fields?: Record<string, ObjectTypeField> | undefined;
4694
+ RoleArn?: string | undefined;
3305
4695
  /**
3306
- * <p>A list of unique keys that can be used to map data to the profile.</p>
4696
+ * <p>The destination to which the segment will be exported. This field must be provided if the request is not submitted from the Amazon Connect Admin Website.</p>
3307
4697
  * @public
3308
4698
  */
3309
- Keys?: Record<string, ObjectTypeKey[]> | undefined;
4699
+ DestinationUri?: string | undefined;
3310
4700
  }
3311
4701
  /**
3312
4702
  * @public
@@ -4032,6 +5422,102 @@ export interface ListIntegrationsResponse {
4032
5422
  */
4033
5423
  NextToken?: string | undefined;
4034
5424
  }
5425
+ /**
5426
+ * @public
5427
+ */
5428
+ export interface ListObjectTypeAttributesRequest {
5429
+ /**
5430
+ * <p>The pagination token from the previous call. </p>
5431
+ * @public
5432
+ */
5433
+ NextToken?: string | undefined;
5434
+ /**
5435
+ * <p>The maximum number of objects returned per page.</p>
5436
+ * @public
5437
+ */
5438
+ MaxResults?: number | undefined;
5439
+ /**
5440
+ * <p>The unique identifier of the domain.</p>
5441
+ * @public
5442
+ */
5443
+ DomainName: string | undefined;
5444
+ /**
5445
+ * <p>The name of the profile object type.</p>
5446
+ * @public
5447
+ */
5448
+ ObjectTypeName: string | undefined;
5449
+ }
5450
+ /**
5451
+ * <p>Item that contains the attribute and when it was last updated.</p>
5452
+ * @public
5453
+ */
5454
+ export interface ListObjectTypeAttributeItem {
5455
+ /**
5456
+ * <p>Name of the attribute.</p>
5457
+ * @public
5458
+ */
5459
+ AttributeName: string | undefined;
5460
+ /**
5461
+ * <p>When the attribute was last updated.</p>
5462
+ * @public
5463
+ */
5464
+ LastUpdatedAt: Date | undefined;
5465
+ }
5466
+ /**
5467
+ * @public
5468
+ */
5469
+ export interface ListObjectTypeAttributesResponse {
5470
+ /**
5471
+ * <p>The items returned as part of the response.</p>
5472
+ * @public
5473
+ */
5474
+ Items?: ListObjectTypeAttributeItem[] | undefined;
5475
+ /**
5476
+ * <p>The pagination token from the previous call.</p>
5477
+ * @public
5478
+ */
5479
+ NextToken?: string | undefined;
5480
+ }
5481
+ /**
5482
+ * @public
5483
+ */
5484
+ export interface ProfileAttributeValuesRequest {
5485
+ /**
5486
+ * <p>The unique identifier of the domain.</p>
5487
+ * @public
5488
+ */
5489
+ DomainName: string | undefined;
5490
+ /**
5491
+ * <p>The attribute name.</p>
5492
+ * @public
5493
+ */
5494
+ AttributeName: string | undefined;
5495
+ }
5496
+ /**
5497
+ * @public
5498
+ */
5499
+ export interface ProfileAttributeValuesResponse {
5500
+ /**
5501
+ * <p>The name of the domain.</p>
5502
+ * @public
5503
+ */
5504
+ DomainName?: string | undefined;
5505
+ /**
5506
+ * <p>The attribute name.</p>
5507
+ * @public
5508
+ */
5509
+ AttributeName?: string | undefined;
5510
+ /**
5511
+ * <p>The items returned as part of the response.</p>
5512
+ * @public
5513
+ */
5514
+ Items?: AttributeValueItem[] | undefined;
5515
+ /**
5516
+ * <p>The status code for the response.</p>
5517
+ * @public
5518
+ */
5519
+ StatusCode?: number | undefined;
5520
+ }
4035
5521
  /**
4036
5522
  * <p>The filter applied to <code>ListProfileObjects</code> response to include profile
4037
5523
  * objects with the specified index values.</p>
@@ -4258,37 +5744,108 @@ export interface ListProfileObjectTypeTemplatesResponse {
4258
5744
  */
4259
5745
  export interface ListRuleBasedMatchesRequest {
4260
5746
  /**
4261
- * <p>The pagination token from the previous <code>ListRuleBasedMatches</code> API
4262
- * call.</p>
5747
+ * <p>The pagination token from the previous <code>ListRuleBasedMatches</code> API
5748
+ * call.</p>
5749
+ * @public
5750
+ */
5751
+ NextToken?: string | undefined;
5752
+ /**
5753
+ * <p>The maximum number of <code>MatchIds</code> returned per page.</p>
5754
+ * @public
5755
+ */
5756
+ MaxResults?: number | undefined;
5757
+ /**
5758
+ * <p>The unique name of the domain.</p>
5759
+ * @public
5760
+ */
5761
+ DomainName: string | undefined;
5762
+ }
5763
+ /**
5764
+ * @public
5765
+ */
5766
+ export interface ListRuleBasedMatchesResponse {
5767
+ /**
5768
+ * <p>The list of <code>MatchIds</code> for the given domain.</p>
5769
+ * @public
5770
+ */
5771
+ MatchIds?: string[] | undefined;
5772
+ /**
5773
+ * <p>The pagination token from the previous <code>ListRuleBasedMatches</code> API
5774
+ * call.</p>
5775
+ * @public
5776
+ */
5777
+ NextToken?: string | undefined;
5778
+ }
5779
+ /**
5780
+ * @public
5781
+ */
5782
+ export interface ListSegmentDefinitionsRequest {
5783
+ /**
5784
+ * <p>The unique identifier of the domain.</p>
5785
+ * @public
5786
+ */
5787
+ DomainName: string | undefined;
5788
+ /**
5789
+ * <p>The maximum number of objects returned per page.</p>
5790
+ * @public
5791
+ */
5792
+ MaxResults?: number | undefined;
5793
+ /**
5794
+ * <p>The pagination token from the previous call. </p>
5795
+ * @public
5796
+ */
5797
+ NextToken?: string | undefined;
5798
+ }
5799
+ /**
5800
+ * <p>Object holding the segment definition fields.</p>
5801
+ * @public
5802
+ */
5803
+ export interface SegmentDefinitionItem {
5804
+ /**
5805
+ * <p>Name of the segment definition.</p>
5806
+ * @public
5807
+ */
5808
+ SegmentDefinitionName?: string | undefined;
5809
+ /**
5810
+ * <p>Display name of the segment definition.</p>
5811
+ * @public
5812
+ */
5813
+ DisplayName?: string | undefined;
5814
+ /**
5815
+ * <p>The description of the segment definition.</p>
5816
+ * @public
5817
+ */
5818
+ Description?: string | undefined;
5819
+ /**
5820
+ * <p>The arn of the segment definition.</p>
4263
5821
  * @public
4264
5822
  */
4265
- NextToken?: string | undefined;
5823
+ SegmentDefinitionArn?: string | undefined;
4266
5824
  /**
4267
- * <p>The maximum number of <code>MatchIds</code> returned per page.</p>
5825
+ * <p>When the segment definition was created.</p>
4268
5826
  * @public
4269
5827
  */
4270
- MaxResults?: number | undefined;
5828
+ CreatedAt?: Date | undefined;
4271
5829
  /**
4272
- * <p>The unique name of the domain.</p>
5830
+ * <p>The tags belonging to the segment definition.</p>
4273
5831
  * @public
4274
5832
  */
4275
- DomainName: string | undefined;
5833
+ Tags?: Record<string, string> | undefined;
4276
5834
  }
4277
5835
  /**
4278
5836
  * @public
4279
5837
  */
4280
- export interface ListRuleBasedMatchesResponse {
5838
+ export interface ListSegmentDefinitionsResponse {
4281
5839
  /**
4282
- * <p>The list of <code>MatchIds</code> for the given domain.</p>
5840
+ * <p>The pagination token from the previous call.</p>
4283
5841
  * @public
4284
5842
  */
4285
- MatchIds?: string[] | undefined;
5843
+ NextToken?: string | undefined;
4286
5844
  /**
4287
- * <p>The pagination token from the previous <code>ListRuleBasedMatches</code> API
4288
- * call.</p>
5845
+ * <p>List of segment definitions.</p>
4289
5846
  * @public
4290
5847
  */
4291
- NextToken?: string | undefined;
5848
+ Items?: SegmentDefinitionItem[] | undefined;
4292
5849
  }
4293
5850
  /**
4294
5851
  * @public
@@ -4924,184 +6481,6 @@ export interface SearchProfilesRequest {
4924
6481
  */
4925
6482
  LogicalOperator?: LogicalOperator | undefined;
4926
6483
  }
4927
- /**
4928
- * <p>A data type pair that consists of a <code>KeyName</code> and <code>Values</code> list
4929
- * that were used to find a profile returned in response to a <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html">SearchProfiles</a> request.
4930
- * </p>
4931
- * @public
4932
- */
4933
- export interface FoundByKeyValue {
4934
- /**
4935
- * <p>A searchable identifier of a customer profile.</p>
4936
- * @public
4937
- */
4938
- KeyName?: string | undefined;
4939
- /**
4940
- * <p>A list of key values.</p>
4941
- * @public
4942
- */
4943
- Values?: string[] | undefined;
4944
- }
4945
- /**
4946
- * <p>The standard profile of a customer.</p>
4947
- * @public
4948
- */
4949
- export interface Profile {
4950
- /**
4951
- * <p>The unique identifier of a customer profile.</p>
4952
- * @public
4953
- */
4954
- ProfileId?: string | undefined;
4955
- /**
4956
- * <p>An account number that you have given to the customer.</p>
4957
- * @public
4958
- */
4959
- AccountNumber?: string | undefined;
4960
- /**
4961
- * <p>Any additional information relevant to the customer’s profile.</p>
4962
- * @public
4963
- */
4964
- AdditionalInformation?: string | undefined;
4965
- /**
4966
- * @deprecated
4967
- *
4968
- * <p>The type of profile used to describe the customer.</p>
4969
- * @public
4970
- */
4971
- PartyType?: PartyType | undefined;
4972
- /**
4973
- * <p>The name of the customer’s business.</p>
4974
- * @public
4975
- */
4976
- BusinessName?: string | undefined;
4977
- /**
4978
- * <p>The customer’s first name.</p>
4979
- * @public
4980
- */
4981
- FirstName?: string | undefined;
4982
- /**
4983
- * <p>The customer’s middle name.</p>
4984
- * @public
4985
- */
4986
- MiddleName?: string | undefined;
4987
- /**
4988
- * <p>The customer’s last name.</p>
4989
- * @public
4990
- */
4991
- LastName?: string | undefined;
4992
- /**
4993
- * <p>The customer’s birth date. </p>
4994
- * @public
4995
- */
4996
- BirthDate?: string | undefined;
4997
- /**
4998
- * @deprecated
4999
- *
5000
- * <p>The gender with which the customer identifies. </p>
5001
- * @public
5002
- */
5003
- Gender?: Gender | undefined;
5004
- /**
5005
- * <p>The customer's phone number, which has not been specified as a mobile, home, or business
5006
- * number.</p>
5007
- * @public
5008
- */
5009
- PhoneNumber?: string | undefined;
5010
- /**
5011
- * <p>The customer’s mobile phone number.</p>
5012
- * @public
5013
- */
5014
- MobilePhoneNumber?: string | undefined;
5015
- /**
5016
- * <p>The customer’s home phone number.</p>
5017
- * @public
5018
- */
5019
- HomePhoneNumber?: string | undefined;
5020
- /**
5021
- * <p>The customer’s home phone number.</p>
5022
- * @public
5023
- */
5024
- BusinessPhoneNumber?: string | undefined;
5025
- /**
5026
- * <p>The customer’s email address, which has not been specified as a personal or business
5027
- * address. </p>
5028
- * @public
5029
- */
5030
- EmailAddress?: string | undefined;
5031
- /**
5032
- * <p>The customer’s personal email address.</p>
5033
- * @public
5034
- */
5035
- PersonalEmailAddress?: string | undefined;
5036
- /**
5037
- * <p>The customer’s business email address.</p>
5038
- * @public
5039
- */
5040
- BusinessEmailAddress?: string | undefined;
5041
- /**
5042
- * <p>A generic address associated with the customer that is not mailing, shipping, or
5043
- * billing.</p>
5044
- * @public
5045
- */
5046
- Address?: Address | undefined;
5047
- /**
5048
- * <p>The customer’s shipping address.</p>
5049
- * @public
5050
- */
5051
- ShippingAddress?: Address | undefined;
5052
- /**
5053
- * <p>The customer’s mailing address.</p>
5054
- * @public
5055
- */
5056
- MailingAddress?: Address | undefined;
5057
- /**
5058
- * <p>The customer’s billing address.</p>
5059
- * @public
5060
- */
5061
- BillingAddress?: Address | undefined;
5062
- /**
5063
- * <p>A key value pair of attributes of a customer profile.</p>
5064
- * @public
5065
- */
5066
- Attributes?: Record<string, string> | undefined;
5067
- /**
5068
- * <p>A list of items used to find a profile returned in a <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html">SearchProfiles</a> response.
5069
- * An item is a key-value(s) pair that matches an attribute in the profile.</p>
5070
- * <p>If the optional <code>AdditionalSearchKeys</code> parameter was included in the
5071
- * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html">SearchProfiles</a> request, the <code>FoundByItems</code> list should be interpreted
5072
- * based on the <code>LogicalOperator</code> used in the request:</p>
5073
- * <ul>
5074
- * <li>
5075
- * <p>
5076
- * <code>AND</code> - The profile included in the response matched all of the search
5077
- * keys specified in the request. The <code>FoundByItems</code> will include all of the
5078
- * key-value(s) pairs that were specified in the request (as this is a requirement of
5079
- * <code>AND</code> search logic).</p>
5080
- * </li>
5081
- * <li>
5082
- * <p>
5083
- * <code>OR</code> - The profile included in the response matched at least one of the
5084
- * search keys specified in the request. The <code>FoundByItems</code> will include each
5085
- * of the key-value(s) pairs that the profile was found by.</p>
5086
- * </li>
5087
- * </ul>
5088
- * <p>The <code>OR</code> relationship is the default behavior if the
5089
- * <code>LogicalOperator</code> parameter is not included in the <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html">SearchProfiles</a>
5090
- * request.</p>
5091
- * @public
5092
- */
5093
- FoundByItems?: FoundByKeyValue[] | undefined;
5094
- /**
5095
- * <p>An alternative to PartyType which accepts any string as input.</p>
5096
- * @public
5097
- */
5098
- PartyTypeString?: string | undefined;
5099
- /**
5100
- * <p>An alternative to Gender which accepts any string as input.</p>
5101
- * @public
5102
- */
5103
- GenderString?: string | undefined;
5104
- }
5105
6484
  /**
5106
6485
  * @public
5107
6486
  */
@@ -5584,10 +6963,34 @@ export declare const AppflowIntegrationFilterSensitiveLog: (obj: AppflowIntegrat
5584
6963
  * @internal
5585
6964
  */
5586
6965
  export declare const AttributeDetailsFilterSensitiveLog: (obj: AttributeDetails) => any;
6966
+ /**
6967
+ * @internal
6968
+ */
6969
+ export declare const ConditionOverridesFilterSensitiveLog: (obj: ConditionOverrides) => any;
6970
+ /**
6971
+ * @internal
6972
+ */
6973
+ export declare const BatchGetCalculatedAttributeForProfileRequestFilterSensitiveLog: (obj: BatchGetCalculatedAttributeForProfileRequest) => any;
6974
+ /**
6975
+ * @internal
6976
+ */
6977
+ export declare const BatchGetCalculatedAttributeForProfileResponseFilterSensitiveLog: (obj: BatchGetCalculatedAttributeForProfileResponse) => any;
6978
+ /**
6979
+ * @internal
6980
+ */
6981
+ export declare const ProfileFilterSensitiveLog: (obj: Profile) => any;
6982
+ /**
6983
+ * @internal
6984
+ */
6985
+ export declare const BatchGetProfileResponseFilterSensitiveLog: (obj: BatchGetProfileResponse) => any;
5587
6986
  /**
5588
6987
  * @internal
5589
6988
  */
5590
6989
  export declare const ListCalculatedAttributeDefinitionItemFilterSensitiveLog: (obj: ListCalculatedAttributeDefinitionItem) => any;
6990
+ /**
6991
+ * @internal
6992
+ */
6993
+ export declare const CalculatedAttributeDimensionFilterSensitiveLog: (obj: CalculatedAttributeDimension) => any;
5591
6994
  /**
5592
6995
  * @internal
5593
6996
  */
@@ -5612,6 +7015,38 @@ export declare const CreateIntegrationWorkflowRequestFilterSensitiveLog: (obj: C
5612
7015
  * @internal
5613
7016
  */
5614
7017
  export declare const CreateProfileRequestFilterSensitiveLog: (obj: CreateProfileRequest) => any;
7018
+ /**
7019
+ * @internal
7020
+ */
7021
+ export declare const ProfileAttributesFilterSensitiveLog: (obj: ProfileAttributes) => any;
7022
+ /**
7023
+ * @internal
7024
+ */
7025
+ export declare const DimensionFilterSensitiveLog: (obj: Dimension) => any;
7026
+ /**
7027
+ * @internal
7028
+ */
7029
+ export declare const GroupFilterSensitiveLog: (obj: Group) => any;
7030
+ /**
7031
+ * @internal
7032
+ */
7033
+ export declare const SegmentGroupFilterSensitiveLog: (obj: SegmentGroup) => any;
7034
+ /**
7035
+ * @internal
7036
+ */
7037
+ export declare const CreateSegmentDefinitionRequestFilterSensitiveLog: (obj: CreateSegmentDefinitionRequest) => any;
7038
+ /**
7039
+ * @internal
7040
+ */
7041
+ export declare const CreateSegmentDefinitionResponseFilterSensitiveLog: (obj: CreateSegmentDefinitionResponse) => any;
7042
+ /**
7043
+ * @internal
7044
+ */
7045
+ export declare const SegmentGroupStructureFilterSensitiveLog: (obj: SegmentGroupStructure) => any;
7046
+ /**
7047
+ * @internal
7048
+ */
7049
+ export declare const CreateSegmentEstimateRequestFilterSensitiveLog: (obj: CreateSegmentEstimateRequest) => any;
5615
7050
  /**
5616
7051
  * @internal
5617
7052
  */
@@ -5636,6 +7071,18 @@ export declare const GetProfileObjectTypeResponseFilterSensitiveLog: (obj: GetPr
5636
7071
  * @internal
5637
7072
  */
5638
7073
  export declare const GetProfileObjectTypeTemplateResponseFilterSensitiveLog: (obj: GetProfileObjectTypeTemplateResponse) => any;
7074
+ /**
7075
+ * @internal
7076
+ */
7077
+ export declare const GetSegmentDefinitionResponseFilterSensitiveLog: (obj: GetSegmentDefinitionResponse) => any;
7078
+ /**
7079
+ * @internal
7080
+ */
7081
+ export declare const ProfileQueryResultFilterSensitiveLog: (obj: ProfileQueryResult) => any;
7082
+ /**
7083
+ * @internal
7084
+ */
7085
+ export declare const GetSegmentMembershipResponseFilterSensitiveLog: (obj: GetSegmentMembershipResponse) => any;
5639
7086
  /**
5640
7087
  * @internal
5641
7088
  */
@@ -5652,6 +7099,14 @@ export declare const ListProfileObjectsResponseFilterSensitiveLog: (obj: ListPro
5652
7099
  * @internal
5653
7100
  */
5654
7101
  export declare const ListProfileObjectTypesResponseFilterSensitiveLog: (obj: ListProfileObjectTypesResponse) => any;
7102
+ /**
7103
+ * @internal
7104
+ */
7105
+ export declare const SegmentDefinitionItemFilterSensitiveLog: (obj: SegmentDefinitionItem) => any;
7106
+ /**
7107
+ * @internal
7108
+ */
7109
+ export declare const ListSegmentDefinitionsResponseFilterSensitiveLog: (obj: ListSegmentDefinitionsResponse) => any;
5655
7110
  /**
5656
7111
  * @internal
5657
7112
  */
@@ -5668,10 +7123,6 @@ export declare const PutProfileObjectTypeRequestFilterSensitiveLog: (obj: PutPro
5668
7123
  * @internal
5669
7124
  */
5670
7125
  export declare const PutProfileObjectTypeResponseFilterSensitiveLog: (obj: PutProfileObjectTypeResponse) => any;
5671
- /**
5672
- * @internal
5673
- */
5674
- export declare const ProfileFilterSensitiveLog: (obj: Profile) => any;
5675
7126
  /**
5676
7127
  * @internal
5677
7128
  */