Skip to content

Commit faa5736

Browse files
Support Customer Profiles Integration for AWS Entity Resolution
1 parent 7c70844 commit faa5736

File tree

10 files changed

+461
-59
lines changed

10 files changed

+461
-59
lines changed

generator/ServiceModels/entityresolution/entityresolution-2018-05-10.api.json

Lines changed: 65 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,8 @@
243243
{"shape":"ResourceNotFoundException"},
244244
{"shape":"AccessDeniedException"},
245245
{"shape":"ValidationException"}
246-
]
246+
],
247+
"readonly":true
247248
},
248249
"GetIdMappingWorkflow":{
249250
"name":"GetIdMappingWorkflow",
@@ -260,7 +261,8 @@
260261
{"shape":"ResourceNotFoundException"},
261262
{"shape":"AccessDeniedException"},
262263
{"shape":"ValidationException"}
263-
]
264+
],
265+
"readonly":true
264266
},
265267
"GetIdNamespace":{
266268
"name":"GetIdNamespace",
@@ -277,7 +279,8 @@
277279
{"shape":"ResourceNotFoundException"},
278280
{"shape":"AccessDeniedException"},
279281
{"shape":"ValidationException"}
280-
]
282+
],
283+
"readonly":true
281284
},
282285
"GetMatchId":{
283286
"name":"GetMatchId",
@@ -294,7 +297,8 @@
294297
{"shape":"ResourceNotFoundException"},
295298
{"shape":"AccessDeniedException"},
296299
{"shape":"ValidationException"}
297-
]
300+
],
301+
"readonly":true
298302
},
299303
"GetMatchingJob":{
300304
"name":"GetMatchingJob",
@@ -311,7 +315,8 @@
311315
{"shape":"ResourceNotFoundException"},
312316
{"shape":"AccessDeniedException"},
313317
{"shape":"ValidationException"}
314-
]
318+
],
319+
"readonly":true
315320
},
316321
"GetMatchingWorkflow":{
317322
"name":"GetMatchingWorkflow",
@@ -328,7 +333,8 @@
328333
{"shape":"ResourceNotFoundException"},
329334
{"shape":"AccessDeniedException"},
330335
{"shape":"ValidationException"}
331-
]
336+
],
337+
"readonly":true
332338
},
333339
"GetPolicy":{
334340
"name":"GetPolicy",
@@ -345,7 +351,8 @@
345351
{"shape":"ResourceNotFoundException"},
346352
{"shape":"AccessDeniedException"},
347353
{"shape":"ValidationException"}
348-
]
354+
],
355+
"readonly":true
349356
},
350357
"GetProviderService":{
351358
"name":"GetProviderService",
@@ -362,7 +369,8 @@
362369
{"shape":"ResourceNotFoundException"},
363370
{"shape":"AccessDeniedException"},
364371
{"shape":"ValidationException"}
365-
]
372+
],
373+
"readonly":true
366374
},
367375
"GetSchemaMapping":{
368376
"name":"GetSchemaMapping",
@@ -379,7 +387,8 @@
379387
{"shape":"ResourceNotFoundException"},
380388
{"shape":"AccessDeniedException"},
381389
{"shape":"ValidationException"}
382-
]
390+
],
391+
"readonly":true
383392
},
384393
"ListIdMappingJobs":{
385394
"name":"ListIdMappingJobs",
@@ -396,7 +405,8 @@
396405
{"shape":"ResourceNotFoundException"},
397406
{"shape":"AccessDeniedException"},
398407
{"shape":"ValidationException"}
399-
]
408+
],
409+
"readonly":true
400410
},
401411
"ListIdMappingWorkflows":{
402412
"name":"ListIdMappingWorkflows",
@@ -412,7 +422,8 @@
412422
{"shape":"InternalServerException"},
413423
{"shape":"AccessDeniedException"},
414424
{"shape":"ValidationException"}
415-
]
425+
],
426+
"readonly":true
416427
},
417428
"ListIdNamespaces":{
418429
"name":"ListIdNamespaces",
@@ -428,7 +439,8 @@
428439
{"shape":"InternalServerException"},
429440
{"shape":"AccessDeniedException"},
430441
{"shape":"ValidationException"}
431-
]
442+
],
443+
"readonly":true
432444
},
433445
"ListMatchingJobs":{
434446
"name":"ListMatchingJobs",
@@ -445,7 +457,8 @@
445457
{"shape":"ResourceNotFoundException"},
446458
{"shape":"AccessDeniedException"},
447459
{"shape":"ValidationException"}
448-
]
460+
],
461+
"readonly":true
449462
},
450463
"ListMatchingWorkflows":{
451464
"name":"ListMatchingWorkflows",
@@ -461,7 +474,8 @@
461474
{"shape":"InternalServerException"},
462475
{"shape":"AccessDeniedException"},
463476
{"shape":"ValidationException"}
464-
]
477+
],
478+
"readonly":true
465479
},
466480
"ListProviderServices":{
467481
"name":"ListProviderServices",
@@ -477,7 +491,8 @@
477491
{"shape":"InternalServerException"},
478492
{"shape":"AccessDeniedException"},
479493
{"shape":"ValidationException"}
480-
]
494+
],
495+
"readonly":true
481496
},
482497
"ListSchemaMappings":{
483498
"name":"ListSchemaMappings",
@@ -493,7 +508,8 @@
493508
{"shape":"InternalServerException"},
494509
{"shape":"AccessDeniedException"},
495510
{"shape":"ValidationException"}
496-
]
511+
],
512+
"readonly":true
497513
},
498514
"ListTagsForResource":{
499515
"name":"ListTagsForResource",
@@ -508,7 +524,8 @@
508524
{"shape":"InternalServerException"},
509525
{"shape":"ResourceNotFoundException"},
510526
{"shape":"ValidationException"}
511-
]
527+
],
528+
"readonly":true
512529
},
513530
"PutPolicy":{
514531
"name":"PutPolicy",
@@ -944,6 +961,25 @@
944961
"mappedInputFields":{"shape":"SchemaInputAttributes"}
945962
}
946963
},
964+
"CustomerProfilesDomainArn":{
965+
"type":"string",
966+
"pattern":"arn:(aws|aws-us-gov|aws-cn):profile:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(domains/[a-zA-Z_0-9-]{1,255})"
967+
},
968+
"CustomerProfilesIntegrationConfig":{
969+
"type":"structure",
970+
"required":[
971+
"domainArn",
972+
"objectTypeArn"
973+
],
974+
"members":{
975+
"domainArn":{"shape":"CustomerProfilesDomainArn"},
976+
"objectTypeArn":{"shape":"CustomerProfilesObjectTypeArn"}
977+
}
978+
},
979+
"CustomerProfilesObjectTypeArn":{
980+
"type":"string",
981+
"pattern":"arn:(aws|aws-us-gov|aws-cn):profile:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(domains/[a-zA-Z_0-9-]{1,255}/object-types/[a-zA-Z_0-9-]{1,255})"
982+
},
947983
"DeleteIdMappingWorkflowInput":{
948984
"type":"structure",
949985
"required":["workflowName"],
@@ -1615,8 +1651,8 @@
16151651
"type":"structure",
16161652
"required":["outputS3Path"],
16171653
"members":{
1618-
"outputS3Path":{"shape":"S3Path"},
1619-
"KMSArn":{"shape":"KMSArn"}
1654+
"KMSArn":{"shape":"KMSArn"},
1655+
"outputS3Path":{"shape":"S3Path"}
16201656
}
16211657
},
16221658
"IdMappingWorkflowOutputSourceConfig":{
@@ -2171,6 +2207,12 @@
21712207
"min":1,
21722208
"pattern":"[a-zA-Z_0-9-=+/]*"
21732209
},
2210+
"OptionalS3Path":{
2211+
"type":"string",
2212+
"max":1024,
2213+
"min":0,
2214+
"pattern":"$|^s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?"
2215+
},
21742216
"OutputAttribute":{
21752217
"type":"structure",
21762218
"required":["name"],
@@ -2181,15 +2223,13 @@
21812223
},
21822224
"OutputSource":{
21832225
"type":"structure",
2184-
"required":[
2185-
"outputS3Path",
2186-
"output"
2187-
],
2226+
"required":["output"],
21882227
"members":{
2189-
"outputS3Path":{"shape":"S3Path"},
21902228
"KMSArn":{"shape":"KMSArn"},
2229+
"outputS3Path":{"shape":"OptionalS3Path"},
21912230
"output":{"shape":"OutputSourceOutputList"},
2192-
"applyNormalization":{"shape":"Boolean"}
2231+
"applyNormalization":{"shape":"Boolean"},
2232+
"customerProfilesIntegrationConfig":{"shape":"CustomerProfilesIntegrationConfig"}
21932233
}
21942234
},
21952235
"OutputSourceConfig":{

generator/ServiceModels/entityresolution/entityresolution-2018-05-10.docs.json

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,24 @@
151151
"base": null,
152152
"refs": {}
153153
},
154+
"CustomerProfilesDomainArn": {
155+
"base": null,
156+
"refs": {
157+
"CustomerProfilesIntegrationConfig$domainArn": "<p>The Amazon Resource Name (ARN) of the Customer Profiles domain where the matched output will be sent.</p>"
158+
}
159+
},
160+
"CustomerProfilesIntegrationConfig": {
161+
"base": "<p>Specifies the configuration for integrating with Customer Profiles. This configuration enables Entity Resolution to send matched output directly to Customer Profiles instead of Amazon S3, creating a unified customer view by automatically updating customer profiles based on match clusters.</p>",
162+
"refs": {
163+
"OutputSource$customerProfilesIntegrationConfig": "<p>Specifies the Customer Profiles integration configuration for sending matched output directly to Customer Profiles. When configured, Entity Resolution automatically creates and updates customer profiles based on match clusters, eliminating the need for manual Amazon S3 integration setup.</p>"
164+
}
165+
},
166+
"CustomerProfilesObjectTypeArn": {
167+
"base": null,
168+
"refs": {
169+
"CustomerProfilesIntegrationConfig$objectTypeArn": "<p>The Amazon Resource Name (ARN) of the Customer Profiles object type that defines the structure for the matched customer data.</p>"
170+
}
171+
},
154172
"DeleteIdMappingWorkflowInput": {
155173
"base": null,
156174
"refs": {}
@@ -1026,6 +1044,12 @@
10261044
"ListSchemaMappingsOutput$nextToken": "<p>The pagination token from the previous API call.</p>"
10271045
}
10281046
},
1047+
"OptionalS3Path": {
1048+
"base": null,
1049+
"refs": {
1050+
"OutputSource$outputS3Path": "<p>The S3 path to which Entity Resolution will write the output table.</p>"
1051+
}
1052+
},
10291053
"OutputAttribute": {
10301054
"base": "<p>A list of <code>OutputAttribute</code> objects, each of which have the fields <code>Name</code> and <code>Hashed</code>. Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.</p>",
10311055
"refs": {
@@ -1328,8 +1352,7 @@
13281352
"IdMappingJobOutputSource$outputS3Path": "<p>The S3 path to which Entity Resolution will write the output table.</p>",
13291353
"IdMappingWorkflowOutputSource$outputS3Path": "<p>The S3 path to which Entity Resolution will write the output table.</p>",
13301354
"IntermediateSourceConfiguration$intermediateS3Path": "<p>The Amazon S3 location (bucket and prefix). For example: <code>s3://provider_bucket/DOC-EXAMPLE-BUCKET</code> </p>",
1331-
"JobOutputSource$outputS3Path": "<p>The S3 path to which Entity Resolution will write the output table.</p>",
1332-
"OutputSource$outputS3Path": "<p>The S3 path to which Entity Resolution will write the output table.</p>"
1355+
"JobOutputSource$outputS3Path": "<p>The S3 path to which Entity Resolution will write the output table.</p>"
13331356
}
13341357
},
13351358
"SchemaAttributeType": {

0 commit comments

Comments
 (0)