aws-sdk-customerprofiles 1.15.0 → 1.38.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,22 +23,18 @@ module Aws::CustomerProfiles
23
23
  include Aws::Structure
24
24
  end
25
25
 
26
- # @note When making an API call, you may pass AddProfileKeyRequest
27
- # data as a hash:
28
- #
29
- # {
30
- # profile_id: "uuid", # required
31
- # key_name: "name", # required
32
- # values: ["string1To255"], # required
33
- # domain_name: "name", # required
34
- # }
35
- #
36
26
  # @!attribute [rw] profile_id
37
27
  # The unique identifier of a customer profile.
38
28
  # @return [String]
39
29
  #
40
30
  # @!attribute [rw] key_name
41
- # A searchable identifier of a customer profile.
31
+ # A searchable identifier of a customer profile. The predefined keys
32
+ # you can use include: \_account, \_profileId, \_assetId, \_caseId,
33
+ # \_orderId, \_fullName, \_phone, \_email, \_ctrContactId,
34
+ # \_marketoLeadId, \_salesforceAccountId, \_salesforceContactId,
35
+ # \_salesforceAssetId, \_zendeskUserId, \_zendeskExternalId,
36
+ # \_zendeskTicketId, \_serviceNowSystemId, \_serviceNowIncidentId,
37
+ # \_segmentUserId, \_shopifyCustomerId, \_shopifyOrderId.
42
38
  # @return [String]
43
39
  #
44
40
  # @!attribute [rw] values
@@ -77,25 +73,36 @@ module Aws::CustomerProfiles
77
73
  include Aws::Structure
78
74
  end
79
75
 
76
+ # A data type pair that consists of a `KeyName` and `Values` list that
77
+ # is used in conjunction with the [KeyName][1] and [Values][2]
78
+ # parameters to search for profiles using the [SearchProfiles][3] API.
79
+ #
80
+ #
81
+ #
82
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html#customerprofiles-SearchProfiles-request-KeyName
83
+ # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html#customerprofiles-SearchProfiles-request-Values
84
+ # [3]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html
85
+ #
86
+ # @!attribute [rw] key_name
87
+ # A searchable identifier of a customer profile.
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] values
91
+ # A list of key values.
92
+ # @return [Array<String>]
93
+ #
94
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AdditionalSearchKey AWS API Documentation
95
+ #
96
+ class AdditionalSearchKey < Struct.new(
97
+ :key_name,
98
+ :values)
99
+ SENSITIVE = []
100
+ include Aws::Structure
101
+ end
102
+
80
103
  # A generic address associated with the customer that is not mailing,
81
104
  # shipping, or billing.
82
105
  #
83
- # @note When making an API call, you may pass Address
84
- # data as a hash:
85
- #
86
- # {
87
- # address_1: "string1To255",
88
- # address_2: "string1To255",
89
- # address_3: "string1To255",
90
- # address_4: "string1To255",
91
- # city: "string1To255",
92
- # county: "string1To255",
93
- # state: "string1To255",
94
- # province: "string1To255",
95
- # country: "string1To255",
96
- # postal_code: "string1To255",
97
- # }
98
- #
99
106
  # @!attribute [rw] address_1
100
107
  # The first line of a customer address.
101
108
  # @return [String]
@@ -153,25 +160,264 @@ module Aws::CustomerProfiles
153
160
  include Aws::Structure
154
161
  end
155
162
 
163
+ # Details for workflow of type `APPFLOW_INTEGRATION`.
164
+ #
165
+ # @!attribute [rw] flow_definition
166
+ # The configurations that control how Customer Profiles retrieves data
167
+ # from the source, Amazon AppFlow. Customer Profiles uses this
168
+ # information to create an AppFlow flow on behalf of customers.
169
+ # @return [Types::FlowDefinition]
170
+ #
171
+ # @!attribute [rw] batches
172
+ # Batches in workflow of type `APPFLOW_INTEGRATION`.
173
+ # @return [Array<Types::Batch>]
174
+ #
175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AppflowIntegration AWS API Documentation
176
+ #
177
+ class AppflowIntegration < Struct.new(
178
+ :flow_definition,
179
+ :batches)
180
+ SENSITIVE = [:flow_definition]
181
+ include Aws::Structure
182
+ end
183
+
184
+ # Structure holding all `APPFLOW_INTEGRATION` specific workflow
185
+ # attributes.
186
+ #
187
+ # @!attribute [rw] source_connector_type
188
+ # Specifies the source connector type, such as Salesforce, ServiceNow,
189
+ # and Marketo. Indicates source of ingestion.
190
+ # @return [String]
191
+ #
192
+ # @!attribute [rw] connector_profile_name
193
+ # The name of the AppFlow connector profile used for ingestion.
194
+ # @return [String]
195
+ #
196
+ # @!attribute [rw] role_arn
197
+ # The Amazon Resource Name (ARN) of the IAM role. Customer Profiles
198
+ # assumes this role to create resources on your behalf as part of
199
+ # workflow execution.
200
+ # @return [String]
201
+ #
202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AppflowIntegrationWorkflowAttributes AWS API Documentation
203
+ #
204
+ class AppflowIntegrationWorkflowAttributes < Struct.new(
205
+ :source_connector_type,
206
+ :connector_profile_name,
207
+ :role_arn)
208
+ SENSITIVE = []
209
+ include Aws::Structure
210
+ end
211
+
212
+ # Workflow specific execution metrics for `APPFLOW_INTEGRATION`
213
+ # workflow.
214
+ #
215
+ # @!attribute [rw] records_processed
216
+ # Number of records processed in `APPFLOW_INTEGRATION` workflow.
217
+ # @return [Integer]
218
+ #
219
+ # @!attribute [rw] steps_completed
220
+ # Total steps completed in `APPFLOW_INTEGRATION` workflow.
221
+ # @return [Integer]
222
+ #
223
+ # @!attribute [rw] total_steps
224
+ # Total steps in `APPFLOW_INTEGRATION` workflow.
225
+ # @return [Integer]
226
+ #
227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AppflowIntegrationWorkflowMetrics AWS API Documentation
228
+ #
229
+ class AppflowIntegrationWorkflowMetrics < Struct.new(
230
+ :records_processed,
231
+ :steps_completed,
232
+ :total_steps)
233
+ SENSITIVE = []
234
+ include Aws::Structure
235
+ end
236
+
237
+ # Workflow step details for `APPFLOW_INTEGRATION` workflow.
238
+ #
239
+ # @!attribute [rw] flow_name
240
+ # Name of the flow created during execution of workflow step.
241
+ # `APPFLOW_INTEGRATION` workflow type creates an appflow flow during
242
+ # workflow step execution on the customers behalf.
243
+ # @return [String]
244
+ #
245
+ # @!attribute [rw] status
246
+ # Workflow step status for `APPFLOW_INTEGRATION` workflow.
247
+ # @return [String]
248
+ #
249
+ # @!attribute [rw] execution_message
250
+ # Message indicating execution of workflow step for
251
+ # `APPFLOW_INTEGRATION` workflow.
252
+ # @return [String]
253
+ #
254
+ # @!attribute [rw] records_processed
255
+ # Total number of records processed during execution of workflow step
256
+ # for `APPFLOW_INTEGRATION` workflow.
257
+ # @return [Integer]
258
+ #
259
+ # @!attribute [rw] batch_records_start_time
260
+ # Start datetime of records pulled in batch during execution of
261
+ # workflow step for `APPFLOW_INTEGRATION` workflow.
262
+ # @return [String]
263
+ #
264
+ # @!attribute [rw] batch_records_end_time
265
+ # End datetime of records pulled in batch during execution of workflow
266
+ # step for `APPFLOW_INTEGRATION` workflow.
267
+ # @return [String]
268
+ #
269
+ # @!attribute [rw] created_at
270
+ # Creation timestamp of workflow step for `APPFLOW_INTEGRATION`
271
+ # workflow.
272
+ # @return [Time]
273
+ #
274
+ # @!attribute [rw] last_updated_at
275
+ # Last updated timestamp for workflow step for `APPFLOW_INTEGRATION`
276
+ # workflow.
277
+ # @return [Time]
278
+ #
279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AppflowIntegrationWorkflowStep AWS API Documentation
280
+ #
281
+ class AppflowIntegrationWorkflowStep < Struct.new(
282
+ :flow_name,
283
+ :status,
284
+ :execution_message,
285
+ :records_processed,
286
+ :batch_records_start_time,
287
+ :batch_records_end_time,
288
+ :created_at,
289
+ :last_updated_at)
290
+ SENSITIVE = []
291
+ include Aws::Structure
292
+ end
293
+
294
+ # Mathematical expression and a list of attribute items specified in
295
+ # that expression.
296
+ #
297
+ # @!attribute [rw] attributes
298
+ # A list of attribute items specified in the mathematical expression.
299
+ # @return [Array<Types::AttributeItem>]
300
+ #
301
+ # @!attribute [rw] expression
302
+ # Mathematical expression that is performed on attribute items
303
+ # provided in the attribute list. Each element in the expression
304
+ # should follow the structure of
305
+ # \\"\\\{ObjectTypeName.AttributeName\\}\\".
306
+ # @return [String]
307
+ #
308
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AttributeDetails AWS API Documentation
309
+ #
310
+ class AttributeDetails < Struct.new(
311
+ :attributes,
312
+ :expression)
313
+ SENSITIVE = []
314
+ include Aws::Structure
315
+ end
316
+
317
+ # The details of a single attribute item specified in the mathematical
318
+ # expression.
319
+ #
320
+ # @!attribute [rw] name
321
+ # The name of an attribute defined in a profile object type.
322
+ # @return [String]
323
+ #
324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AttributeItem AWS API Documentation
325
+ #
326
+ class AttributeItem < Struct.new(
327
+ :name)
328
+ SENSITIVE = []
329
+ include Aws::Structure
330
+ end
331
+
332
+ # Configuration information about the `AttributeTypesSelector `where the
333
+ # rule-based identity resolution uses to match profiles. You can choose
334
+ # how profiles are compared across attribute types and which attribute
335
+ # to use for matching from each type. There are three attribute types
336
+ # you can configure:
337
+ #
338
+ # * Email type
339
+ #
340
+ # * You can choose from `Email`, `BusinessEmail`, and `PersonalEmail`
341
+ #
342
+ # ^
343
+ #
344
+ # * Phone number type
345
+ #
346
+ # * You can choose from `Phone`, `HomePhone`, and `MobilePhone`
347
+ #
348
+ # ^
349
+ #
350
+ # * Address type
351
+ #
352
+ # * You can choose from `Address`, `BusinessAddress`,
353
+ # `MaillingAddress`, and `ShippingAddress`
354
+ #
355
+ # ^
356
+ #
357
+ # You can either choose `ONE_TO_ONE` or `MANY_TO_MANY` as the
358
+ # `AttributeMatchingModel`. When choosing `MANY_TO_MANY`, the system can
359
+ # match attribute across the sub-types of an attribute type. For
360
+ # example, if the value of the `Email` field of Profile A and the value
361
+ # of `BusinessEmail` field of Profile B matches, the two profiles are
362
+ # matched on the Email type. When choosing `ONE_TO_ONE` the system can
363
+ # only match if the sub-types are exact matches. For example, only when
364
+ # the value of the `Email` field of Profile A and the value of the
365
+ # `Email` field of Profile B matches, the two profiles are matched on
366
+ # the Email type.
367
+ #
368
+ # @!attribute [rw] attribute_matching_model
369
+ # Configures the `AttributeMatchingModel`, you can either choose
370
+ # `ONE_TO_ONE` or `MANY_TO_MANY`.
371
+ # @return [String]
372
+ #
373
+ # @!attribute [rw] address
374
+ # The `Address` type. You can choose from `Address`,
375
+ # `BusinessAddress`, `MaillingAddress`, and `ShippingAddress`.
376
+ #
377
+ # You only can use the Address type in the `MatchingRule`. For
378
+ # example, if you want to match profile based on
379
+ # `BusinessAddress.City` or `MaillingAddress.City`, you need to choose
380
+ # the `BusinessAddress` and the `MaillingAddress` to represent the
381
+ # Address type and specify the `Address.City` on the matching rule.
382
+ # @return [Array<String>]
383
+ #
384
+ # @!attribute [rw] phone_number
385
+ # The `PhoneNumber` type. You can choose from `PhoneNumber`,
386
+ # `HomePhoneNumber`, and `MobilePhoneNumber`.
387
+ #
388
+ # You only can use the `PhoneNumber` type in the `MatchingRule`. For
389
+ # example, if you want to match a profile based on `Phone` or
390
+ # `HomePhone`, you need to choose the `Phone` and the `HomePhone` to
391
+ # represent the `PhoneNumber` type and only specify the `PhoneNumber`
392
+ # on the matching rule.
393
+ # @return [Array<String>]
394
+ #
395
+ # @!attribute [rw] email_address
396
+ # The `Email` type. You can choose from `EmailAddress`,
397
+ # `BusinessEmailAddress` and `PersonalEmailAddress`.
398
+ #
399
+ # You only can use the `EmailAddress` type in the `MatchingRule`. For
400
+ # example, if you want to match profile based on
401
+ # `PersonalEmailAddress` or `BusinessEmailAddress`, you need to choose
402
+ # the `PersonalEmailAddress` and the `BusinessEmailAddress` to
403
+ # represent the `EmailAddress` type and only specify the
404
+ # `EmailAddress` on the matching rule.
405
+ # @return [Array<String>]
406
+ #
407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AttributeTypesSelector AWS API Documentation
408
+ #
409
+ class AttributeTypesSelector < Struct.new(
410
+ :attribute_matching_model,
411
+ :address,
412
+ :phone_number,
413
+ :email_address)
414
+ SENSITIVE = []
415
+ include Aws::Structure
416
+ end
417
+
156
418
  # Configuration settings for how to perform the auto-merging of
157
419
  # profiles.
158
420
  #
159
- # @note When making an API call, you may pass AutoMerging
160
- # data as a hash:
161
- #
162
- # {
163
- # enabled: false, # required
164
- # consolidation: {
165
- # matching_attributes_list: [ # required
166
- # ["string1To255"],
167
- # ],
168
- # },
169
- # conflict_resolution: {
170
- # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
171
- # source_name: "string1To255",
172
- # },
173
- # }
174
- #
175
421
  # @!attribute [rw] enabled
176
422
  # The flag that enables the auto-merging of duplicate profiles.
177
423
  # @return [Boolean]
@@ -189,12 +435,20 @@ module Aws::CustomerProfiles
189
435
  # which `EmailAddress` should be used?
190
436
  # @return [Types::ConflictResolution]
191
437
  #
438
+ # @!attribute [rw] min_allowed_confidence_score_for_merging
439
+ # A number between 0 and 1 that represents the minimum confidence
440
+ # score required for profiles within a matching group to be merged
441
+ # during the auto-merge process. A higher score means higher
442
+ # similarity required to merge profiles.
443
+ # @return [Float]
444
+ #
192
445
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AutoMerging AWS API Documentation
193
446
  #
194
447
  class AutoMerging < Struct.new(
195
448
  :enabled,
196
449
  :consolidation,
197
- :conflict_resolution)
450
+ :conflict_resolution,
451
+ :min_allowed_confidence_score_for_merging)
198
452
  SENSITIVE = []
199
453
  include Aws::Structure
200
454
  end
@@ -212,24 +466,63 @@ module Aws::CustomerProfiles
212
466
  include Aws::Structure
213
467
  end
214
468
 
215
- # How the auto-merging process should resolve conflicts between
216
- # different profiles.
469
+ # Batch defines the boundaries for ingestion for each step in
470
+ # `APPFLOW_INTEGRATION` workflow. `APPFLOW_INTEGRATION` workflow splits
471
+ # ingestion based on these boundaries.
472
+ #
473
+ # @!attribute [rw] start_time
474
+ # Start time of batch to split ingestion.
475
+ # @return [Time]
476
+ #
477
+ # @!attribute [rw] end_time
478
+ # End time of batch to split ingestion.
479
+ # @return [Time]
217
480
  #
218
- # @note When making an API call, you may pass ConflictResolution
219
- # data as a hash:
481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/Batch AWS API Documentation
220
482
  #
221
- # {
222
- # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
223
- # source_name: "string1To255",
224
- # }
483
+ class Batch < Struct.new(
484
+ :start_time,
485
+ :end_time)
486
+ SENSITIVE = []
487
+ include Aws::Structure
488
+ end
489
+
490
+ # The conditions including range, object count, and threshold for the
491
+ # calculated attribute.
492
+ #
493
+ # @!attribute [rw] range
494
+ # The relative time period over which data is included in the
495
+ # aggregation.
496
+ # @return [Types::Range]
497
+ #
498
+ # @!attribute [rw] object_count
499
+ # The number of profile objects used for the calculated attribute.
500
+ # @return [Integer]
501
+ #
502
+ # @!attribute [rw] threshold
503
+ # The threshold for the calculated attribute.
504
+ # @return [Types::Threshold]
505
+ #
506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/Conditions AWS API Documentation
507
+ #
508
+ class Conditions < Struct.new(
509
+ :range,
510
+ :object_count,
511
+ :threshold)
512
+ SENSITIVE = []
513
+ include Aws::Structure
514
+ end
515
+
516
+ # How the auto-merging process should resolve conflicts between
517
+ # different profiles.
225
518
  #
226
519
  # @!attribute [rw] conflict_resolving_model
227
520
  # How the auto-merging process should resolve conflicts between
228
521
  # different profiles.
229
522
  #
230
- # * `RECENCY`\: Uses the data that was most recently updated.
523
+ # * `RECENCY`: Uses the data that was most recently updated.
231
524
  #
232
- # * `SOURCE`\: Uses the data from a specific source. For example, if a
525
+ # * `SOURCE`: Uses the data from a specific source. For example, if a
233
526
  # company has been aquired or two departments have merged, data from
234
527
  # the specified source is used. If two duplicate profiles are from
235
528
  # the same source, then `RECENCY` is used again.
@@ -251,17 +544,6 @@ module Aws::CustomerProfiles
251
544
 
252
545
  # The operation to be performed on the provided source fields.
253
546
  #
254
- # @note When making an API call, you may pass ConnectorOperator
255
- # data as a hash:
256
- #
257
- # {
258
- # marketo: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
259
- # s3: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
260
- # salesforce: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
261
- # service_now: "PROJECTION", # accepts PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
262
- # zendesk: "PROJECTION", # accepts PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
263
- # }
264
- #
265
547
  # @!attribute [rw] marketo
266
548
  # The operation to be performed on the provided Marketo source fields.
267
549
  # @return [String]
@@ -299,15 +581,6 @@ module Aws::CustomerProfiles
299
581
 
300
582
  # The matching criteria to be used during the auto-merging process.
301
583
  #
302
- # @note When making an API call, you may pass Consolidation
303
- # data as a hash:
304
- #
305
- # {
306
- # matching_attributes_list: [ # required
307
- # ["string1To255"],
308
- # ],
309
- # }
310
- #
311
584
  # @!attribute [rw] matching_attributes_list
312
585
  # A list of matching criteria.
313
586
  # @return [Array<Array<String>>]
@@ -320,44 +593,113 @@ module Aws::CustomerProfiles
320
593
  include Aws::Structure
321
594
  end
322
595
 
323
- # @note When making an API call, you may pass CreateDomainRequest
324
- # data as a hash:
325
- #
326
- # {
327
- # domain_name: "name", # required
328
- # default_expiration_days: 1, # required
329
- # default_encryption_key: "encryptionKey",
330
- # dead_letter_queue_url: "sqsQueueUrl",
331
- # matching: {
332
- # enabled: false, # required
333
- # job_schedule: {
334
- # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
335
- # time: "JobScheduleTime", # required
336
- # },
337
- # auto_merging: {
338
- # enabled: false, # required
339
- # consolidation: {
340
- # matching_attributes_list: [ # required
341
- # ["string1To255"],
342
- # ],
343
- # },
344
- # conflict_resolution: {
345
- # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
346
- # source_name: "string1To255",
347
- # },
348
- # },
349
- # exporting_config: {
350
- # s3_exporting: {
351
- # s3_bucket_name: "s3BucketName", # required
352
- # s3_key_name: "s3KeyNameCustomerOutputConfig",
353
- # },
354
- # },
355
- # },
356
- # tags: {
357
- # "TagKey" => "TagValue",
358
- # },
359
- # }
596
+ # @!attribute [rw] domain_name
597
+ # The unique name of the domain.
598
+ # @return [String]
599
+ #
600
+ # @!attribute [rw] calculated_attribute_name
601
+ # The unique name of the calculated attribute.
602
+ # @return [String]
603
+ #
604
+ # @!attribute [rw] display_name
605
+ # The display name of the calculated attribute.
606
+ # @return [String]
607
+ #
608
+ # @!attribute [rw] description
609
+ # The description of the calculated attribute.
610
+ # @return [String]
611
+ #
612
+ # @!attribute [rw] attribute_details
613
+ # Mathematical expression and a list of attribute items specified in
614
+ # that expression.
615
+ # @return [Types::AttributeDetails]
616
+ #
617
+ # @!attribute [rw] conditions
618
+ # The conditions including range, object count, and threshold for the
619
+ # calculated attribute.
620
+ # @return [Types::Conditions]
621
+ #
622
+ # @!attribute [rw] statistic
623
+ # The aggregation operation to perform for the calculated attribute.
624
+ # @return [String]
625
+ #
626
+ # @!attribute [rw] tags
627
+ # The tags used to organize, track, or control access for this
628
+ # resource.
629
+ # @return [Hash<String,String>]
630
+ #
631
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateCalculatedAttributeDefinitionRequest AWS API Documentation
632
+ #
633
+ class CreateCalculatedAttributeDefinitionRequest < Struct.new(
634
+ :domain_name,
635
+ :calculated_attribute_name,
636
+ :display_name,
637
+ :description,
638
+ :attribute_details,
639
+ :conditions,
640
+ :statistic,
641
+ :tags)
642
+ SENSITIVE = [:description, :attribute_details, :conditions, :statistic]
643
+ include Aws::Structure
644
+ end
645
+
646
+ # @!attribute [rw] calculated_attribute_name
647
+ # The unique name of the calculated attribute.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] display_name
651
+ # The display name of the calculated attribute.
652
+ # @return [String]
653
+ #
654
+ # @!attribute [rw] description
655
+ # The description of the calculated attribute.
656
+ # @return [String]
657
+ #
658
+ # @!attribute [rw] attribute_details
659
+ # Mathematical expression and a list of attribute items specified in
660
+ # that expression.
661
+ # @return [Types::AttributeDetails]
662
+ #
663
+ # @!attribute [rw] conditions
664
+ # The conditions including range, object count, and threshold for the
665
+ # calculated attribute.
666
+ # @return [Types::Conditions]
667
+ #
668
+ # @!attribute [rw] statistic
669
+ # The aggregation operation to perform for the calculated attribute.
670
+ # @return [String]
671
+ #
672
+ # @!attribute [rw] created_at
673
+ # The timestamp of when the calculated attribute definition was
674
+ # created.
675
+ # @return [Time]
676
+ #
677
+ # @!attribute [rw] last_updated_at
678
+ # The timestamp of when the calculated attribute definition was most
679
+ # recently edited.
680
+ # @return [Time]
681
+ #
682
+ # @!attribute [rw] tags
683
+ # The tags used to organize, track, or control access for this
684
+ # resource.
685
+ # @return [Hash<String,String>]
360
686
  #
687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateCalculatedAttributeDefinitionResponse AWS API Documentation
688
+ #
689
+ class CreateCalculatedAttributeDefinitionResponse < Struct.new(
690
+ :calculated_attribute_name,
691
+ :display_name,
692
+ :description,
693
+ :attribute_details,
694
+ :conditions,
695
+ :statistic,
696
+ :created_at,
697
+ :last_updated_at,
698
+ :tags)
699
+ SENSITIVE = [:description, :attribute_details, :conditions, :statistic]
700
+ include Aws::Structure
701
+ end
702
+
361
703
  # @!attribute [rw] domain_name
362
704
  # The unique name of the domain.
363
705
  # @return [String]
@@ -398,6 +740,17 @@ module Aws::CustomerProfiles
398
740
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
399
741
  # @return [Types::MatchingRequest]
400
742
  #
743
+ # @!attribute [rw] rule_based_matching
744
+ # The process of matching duplicate profiles using the Rule-Based
745
+ # matching. If `RuleBasedMatching` = true, Amazon Connect Customer
746
+ # Profiles will start to match and merge your profiles according to
747
+ # your configuration in the `RuleBasedMatchingRequest`. You can use
748
+ # the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
749
+ # and review the results. Also, if you have configured
750
+ # `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
751
+ # download the results from S3.
752
+ # @return [Types::RuleBasedMatchingRequest]
753
+ #
401
754
  # @!attribute [rw] tags
402
755
  # The tags used to organize, track, or control access for this
403
756
  # resource.
@@ -411,6 +764,7 @@ module Aws::CustomerProfiles
411
764
  :default_encryption_key,
412
765
  :dead_letter_queue_url,
413
766
  :matching,
767
+ :rule_based_matching,
414
768
  :tags)
415
769
  SENSITIVE = []
416
770
  include Aws::Structure
@@ -453,6 +807,17 @@ module Aws::CustomerProfiles
453
807
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
454
808
  # @return [Types::MatchingResponse]
455
809
  #
810
+ # @!attribute [rw] rule_based_matching
811
+ # The process of matching duplicate profiles using the Rule-Based
812
+ # matching. If `RuleBasedMatching` = true, Amazon Connect Customer
813
+ # Profiles will start to match and merge your profiles according to
814
+ # your configuration in the `RuleBasedMatchingRequest`. You can use
815
+ # the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
816
+ # and review the results. Also, if you have configured
817
+ # `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
818
+ # download the results from S3.
819
+ # @return [Types::RuleBasedMatchingResponse]
820
+ #
456
821
  # @!attribute [rw] created_at
457
822
  # The timestamp of when the domain was created.
458
823
  # @return [Time]
@@ -474,6 +839,7 @@ module Aws::CustomerProfiles
474
839
  :default_encryption_key,
475
840
  :dead_letter_queue_url,
476
841
  :matching,
842
+ :rule_based_matching,
477
843
  :created_at,
478
844
  :last_updated_at,
479
845
  :tags)
@@ -481,107 +847,138 @@ module Aws::CustomerProfiles
481
847
  include Aws::Structure
482
848
  end
483
849
 
484
- # @note When making an API call, you may pass CreateProfileRequest
485
- # data as a hash:
486
- #
487
- # {
488
- # domain_name: "name", # required
489
- # account_number: "string1To255",
490
- # additional_information: "string1To1000",
491
- # party_type: "INDIVIDUAL", # accepts INDIVIDUAL, BUSINESS, OTHER
492
- # business_name: "string1To255",
493
- # first_name: "string1To255",
494
- # middle_name: "string1To255",
495
- # last_name: "string1To255",
496
- # birth_date: "string1To255",
497
- # gender: "MALE", # accepts MALE, FEMALE, UNSPECIFIED
498
- # phone_number: "string1To255",
499
- # mobile_phone_number: "string1To255",
500
- # home_phone_number: "string1To255",
501
- # business_phone_number: "string1To255",
502
- # email_address: "string1To255",
503
- # personal_email_address: "string1To255",
504
- # business_email_address: "string1To255",
505
- # address: {
506
- # address_1: "string1To255",
507
- # address_2: "string1To255",
508
- # address_3: "string1To255",
509
- # address_4: "string1To255",
510
- # city: "string1To255",
511
- # county: "string1To255",
512
- # state: "string1To255",
513
- # province: "string1To255",
514
- # country: "string1To255",
515
- # postal_code: "string1To255",
516
- # },
517
- # shipping_address: {
518
- # address_1: "string1To255",
519
- # address_2: "string1To255",
520
- # address_3: "string1To255",
521
- # address_4: "string1To255",
522
- # city: "string1To255",
523
- # county: "string1To255",
524
- # state: "string1To255",
525
- # province: "string1To255",
526
- # country: "string1To255",
527
- # postal_code: "string1To255",
528
- # },
529
- # mailing_address: {
530
- # address_1: "string1To255",
531
- # address_2: "string1To255",
532
- # address_3: "string1To255",
533
- # address_4: "string1To255",
534
- # city: "string1To255",
535
- # county: "string1To255",
536
- # state: "string1To255",
537
- # province: "string1To255",
538
- # country: "string1To255",
539
- # postal_code: "string1To255",
540
- # },
541
- # billing_address: {
542
- # address_1: "string1To255",
543
- # address_2: "string1To255",
544
- # address_3: "string1To255",
545
- # address_4: "string1To255",
546
- # city: "string1To255",
547
- # county: "string1To255",
548
- # state: "string1To255",
549
- # province: "string1To255",
550
- # country: "string1To255",
551
- # postal_code: "string1To255",
552
- # },
553
- # attributes: {
554
- # "string1To255" => "string1To255",
555
- # },
556
- # }
557
- #
558
850
  # @!attribute [rw] domain_name
559
851
  # The unique name of the domain.
560
852
  # @return [String]
561
853
  #
562
- # @!attribute [rw] account_number
563
- # A unique account number that you have given to the customer.
854
+ # @!attribute [rw] uri
855
+ # The StreamARN of the destination to deliver profile events to. For
856
+ # example, arn:aws:kinesis:region:account-id:stream/stream-name
564
857
  # @return [String]
565
858
  #
566
- # @!attribute [rw] additional_information
567
- # Any additional information relevant to the customer’s profile.
859
+ # @!attribute [rw] event_stream_name
860
+ # The name of the event stream.
568
861
  # @return [String]
569
862
  #
570
- # @!attribute [rw] party_type
571
- # The type of profile used to describe the customer.
572
- # @return [String]
863
+ # @!attribute [rw] tags
864
+ # The tags used to organize, track, or control access for this
865
+ # resource.
866
+ # @return [Hash<String,String>]
573
867
  #
574
- # @!attribute [rw] business_name
575
- # The name of the customer’s business.
576
- # @return [String]
868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateEventStreamRequest AWS API Documentation
577
869
  #
578
- # @!attribute [rw] first_name
579
- # The customer’s first name.
870
+ class CreateEventStreamRequest < Struct.new(
871
+ :domain_name,
872
+ :uri,
873
+ :event_stream_name,
874
+ :tags)
875
+ SENSITIVE = []
876
+ include Aws::Structure
877
+ end
878
+
879
+ # @!attribute [rw] event_stream_arn
880
+ # A unique identifier for the event stream.
580
881
  # @return [String]
581
882
  #
582
- # @!attribute [rw] middle_name
583
- # The customer’s middle name.
584
- # @return [String]
883
+ # @!attribute [rw] tags
884
+ # The tags used to organize, track, or control access for this
885
+ # resource.
886
+ # @return [Hash<String,String>]
887
+ #
888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateEventStreamResponse AWS API Documentation
889
+ #
890
+ class CreateEventStreamResponse < Struct.new(
891
+ :event_stream_arn,
892
+ :tags)
893
+ SENSITIVE = []
894
+ include Aws::Structure
895
+ end
896
+
897
+ # @!attribute [rw] domain_name
898
+ # The unique name of the domain.
899
+ # @return [String]
900
+ #
901
+ # @!attribute [rw] workflow_type
902
+ # The type of workflow. The only supported value is
903
+ # APPFLOW\_INTEGRATION.
904
+ # @return [String]
905
+ #
906
+ # @!attribute [rw] integration_config
907
+ # Configuration data for integration workflow.
908
+ # @return [Types::IntegrationConfig]
909
+ #
910
+ # @!attribute [rw] object_type_name
911
+ # The name of the profile object type.
912
+ # @return [String]
913
+ #
914
+ # @!attribute [rw] role_arn
915
+ # The Amazon Resource Name (ARN) of the IAM role. Customer Profiles
916
+ # assumes this role to create resources on your behalf as part of
917
+ # workflow execution.
918
+ # @return [String]
919
+ #
920
+ # @!attribute [rw] tags
921
+ # The tags used to organize, track, or control access for this
922
+ # resource.
923
+ # @return [Hash<String,String>]
924
+ #
925
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateIntegrationWorkflowRequest AWS API Documentation
926
+ #
927
+ class CreateIntegrationWorkflowRequest < Struct.new(
928
+ :domain_name,
929
+ :workflow_type,
930
+ :integration_config,
931
+ :object_type_name,
932
+ :role_arn,
933
+ :tags)
934
+ SENSITIVE = []
935
+ include Aws::Structure
936
+ end
937
+
938
+ # @!attribute [rw] workflow_id
939
+ # Unique identifier for the workflow.
940
+ # @return [String]
941
+ #
942
+ # @!attribute [rw] message
943
+ # A message indicating create request was received.
944
+ # @return [String]
945
+ #
946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateIntegrationWorkflowResponse AWS API Documentation
947
+ #
948
+ class CreateIntegrationWorkflowResponse < Struct.new(
949
+ :workflow_id,
950
+ :message)
951
+ SENSITIVE = []
952
+ include Aws::Structure
953
+ end
954
+
955
+ # @!attribute [rw] domain_name
956
+ # The unique name of the domain.
957
+ # @return [String]
958
+ #
959
+ # @!attribute [rw] account_number
960
+ # A unique account number that you have given to the customer.
961
+ # @return [String]
962
+ #
963
+ # @!attribute [rw] additional_information
964
+ # Any additional information relevant to the customer’s profile.
965
+ # @return [String]
966
+ #
967
+ # @!attribute [rw] party_type
968
+ # The type of profile used to describe the customer.
969
+ # @return [String]
970
+ #
971
+ # @!attribute [rw] business_name
972
+ # The name of the customer’s business.
973
+ # @return [String]
974
+ #
975
+ # @!attribute [rw] first_name
976
+ # The customer’s first name.
977
+ # @return [String]
978
+ #
979
+ # @!attribute [rw] middle_name
980
+ # The customer’s middle name.
981
+ # @return [String]
585
982
  #
586
983
  # @!attribute [rw] last_name
587
984
  # The customer’s last name.
@@ -646,6 +1043,14 @@ module Aws::CustomerProfiles
646
1043
  # A key value pair of attributes of a customer profile.
647
1044
  # @return [Hash<String,String>]
648
1045
  #
1046
+ # @!attribute [rw] party_type_string
1047
+ # An alternative to `PartyType` which accepts any string as input.
1048
+ # @return [String]
1049
+ #
1050
+ # @!attribute [rw] gender_string
1051
+ # An alternative to `Gender` which accepts any string as input.
1052
+ # @return [String]
1053
+ #
649
1054
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateProfileRequest AWS API Documentation
650
1055
  #
651
1056
  class CreateProfileRequest < Struct.new(
@@ -670,8 +1075,10 @@ module Aws::CustomerProfiles
670
1075
  :shipping_address,
671
1076
  :mailing_address,
672
1077
  :billing_address,
673
- :attributes)
674
- SENSITIVE = []
1078
+ :attributes,
1079
+ :party_type_string,
1080
+ :gender_string)
1081
+ SENSITIVE = [:account_number, :additional_information, :party_type, :business_name, :first_name, :middle_name, :last_name, :birth_date, :gender, :phone_number, :mobile_phone_number, :home_phone_number, :business_phone_number, :email_address, :personal_email_address, :business_email_address, :address, :shipping_address, :mailing_address, :billing_address, :attributes, :party_type_string, :gender_string]
675
1082
  include Aws::Structure
676
1083
  end
677
1084
 
@@ -687,13 +1094,27 @@ module Aws::CustomerProfiles
687
1094
  include Aws::Structure
688
1095
  end
689
1096
 
690
- # @note When making an API call, you may pass DeleteDomainRequest
691
- # data as a hash:
1097
+ # @!attribute [rw] domain_name
1098
+ # The unique name of the domain.
1099
+ # @return [String]
692
1100
  #
693
- # {
694
- # domain_name: "name", # required
695
- # }
1101
+ # @!attribute [rw] calculated_attribute_name
1102
+ # The unique name of the calculated attribute.
1103
+ # @return [String]
1104
+ #
1105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteCalculatedAttributeDefinitionRequest AWS API Documentation
1106
+ #
1107
+ class DeleteCalculatedAttributeDefinitionRequest < Struct.new(
1108
+ :domain_name,
1109
+ :calculated_attribute_name)
1110
+ SENSITIVE = []
1111
+ include Aws::Structure
1112
+ end
1113
+
1114
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteCalculatedAttributeDefinitionResponse AWS API Documentation
696
1115
  #
1116
+ class DeleteCalculatedAttributeDefinitionResponse < Aws::EmptyStructure; end
1117
+
697
1118
  # @!attribute [rw] domain_name
698
1119
  # The unique name of the domain.
699
1120
  # @return [String]
@@ -718,14 +1139,27 @@ module Aws::CustomerProfiles
718
1139
  include Aws::Structure
719
1140
  end
720
1141
 
721
- # @note When making an API call, you may pass DeleteIntegrationRequest
722
- # data as a hash:
1142
+ # @!attribute [rw] domain_name
1143
+ # The unique name of the domain.
1144
+ # @return [String]
723
1145
  #
724
- # {
725
- # domain_name: "name", # required
726
- # uri: "string1To255", # required
727
- # }
1146
+ # @!attribute [rw] event_stream_name
1147
+ # The name of the event stream
1148
+ # @return [String]
1149
+ #
1150
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteEventStreamRequest AWS API Documentation
1151
+ #
1152
+ class DeleteEventStreamRequest < Struct.new(
1153
+ :domain_name,
1154
+ :event_stream_name)
1155
+ SENSITIVE = []
1156
+ include Aws::Structure
1157
+ end
1158
+
1159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteEventStreamResponse AWS API Documentation
728
1160
  #
1161
+ class DeleteEventStreamResponse < Aws::EmptyStructure; end
1162
+
729
1163
  # @!attribute [rw] domain_name
730
1164
  # The unique name of the domain.
731
1165
  # @return [String]
@@ -755,16 +1189,6 @@ module Aws::CustomerProfiles
755
1189
  include Aws::Structure
756
1190
  end
757
1191
 
758
- # @note When making an API call, you may pass DeleteProfileKeyRequest
759
- # data as a hash:
760
- #
761
- # {
762
- # profile_id: "uuid", # required
763
- # key_name: "name", # required
764
- # values: ["string1To255"], # required
765
- # domain_name: "name", # required
766
- # }
767
- #
768
1192
  # @!attribute [rw] profile_id
769
1193
  # The unique identifier of a customer profile.
770
1194
  # @return [String]
@@ -804,16 +1228,6 @@ module Aws::CustomerProfiles
804
1228
  include Aws::Structure
805
1229
  end
806
1230
 
807
- # @note When making an API call, you may pass DeleteProfileObjectRequest
808
- # data as a hash:
809
- #
810
- # {
811
- # profile_id: "uuid", # required
812
- # profile_object_unique_key: "string1To255", # required
813
- # object_type_name: "typeName", # required
814
- # domain_name: "name", # required
815
- # }
816
- #
817
1231
  # @!attribute [rw] profile_id
818
1232
  # The unique identifier of a customer profile.
819
1233
  # @return [String]
@@ -854,14 +1268,6 @@ module Aws::CustomerProfiles
854
1268
  include Aws::Structure
855
1269
  end
856
1270
 
857
- # @note When making an API call, you may pass DeleteProfileObjectTypeRequest
858
- # data as a hash:
859
- #
860
- # {
861
- # domain_name: "name", # required
862
- # object_type_name: "typeName", # required
863
- # }
864
- #
865
1271
  # @!attribute [rw] domain_name
866
1272
  # The unique name of the domain.
867
1273
  # @return [String]
@@ -891,14 +1297,6 @@ module Aws::CustomerProfiles
891
1297
  include Aws::Structure
892
1298
  end
893
1299
 
894
- # @note When making an API call, you may pass DeleteProfileRequest
895
- # data as a hash:
896
- #
897
- # {
898
- # profile_id: "uuid", # required
899
- # domain_name: "name", # required
900
- # }
901
- #
902
1300
  # @!attribute [rw] profile_id
903
1301
  # The unique identifier of a customer profile.
904
1302
  # @return [String]
@@ -928,6 +1326,53 @@ module Aws::CustomerProfiles
928
1326
  include Aws::Structure
929
1327
  end
930
1328
 
1329
+ # @!attribute [rw] domain_name
1330
+ # The unique name of the domain.
1331
+ # @return [String]
1332
+ #
1333
+ # @!attribute [rw] workflow_id
1334
+ # Unique identifier for the workflow.
1335
+ # @return [String]
1336
+ #
1337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteWorkflowRequest AWS API Documentation
1338
+ #
1339
+ class DeleteWorkflowRequest < Struct.new(
1340
+ :domain_name,
1341
+ :workflow_id)
1342
+ SENSITIVE = []
1343
+ include Aws::Structure
1344
+ end
1345
+
1346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteWorkflowResponse AWS API Documentation
1347
+ #
1348
+ class DeleteWorkflowResponse < Aws::EmptyStructure; end
1349
+
1350
+ # Summary information about the Kinesis data stream
1351
+ #
1352
+ # @!attribute [rw] uri
1353
+ # The StreamARN of the destination to deliver profile events to. For
1354
+ # example, arn:aws:kinesis:region:account-id:stream/stream-name.
1355
+ # @return [String]
1356
+ #
1357
+ # @!attribute [rw] status
1358
+ # The status of enabling the Kinesis stream as a destination for
1359
+ # export.
1360
+ # @return [String]
1361
+ #
1362
+ # @!attribute [rw] unhealthy_since
1363
+ # The timestamp when the status last changed to `UNHEALHY`.
1364
+ # @return [Time]
1365
+ #
1366
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DestinationSummary AWS API Documentation
1367
+ #
1368
+ class DestinationSummary < Struct.new(
1369
+ :uri,
1370
+ :status,
1371
+ :unhealthy_since)
1372
+ SENSITIVE = []
1373
+ include Aws::Structure
1374
+ end
1375
+
931
1376
  # Usage-specific statistics about the domain.
932
1377
  #
933
1378
  # @!attribute [rw] profile_count
@@ -960,6 +1405,83 @@ module Aws::CustomerProfiles
960
1405
  include Aws::Structure
961
1406
  end
962
1407
 
1408
+ # Details of the destination being used for the EventStream.
1409
+ #
1410
+ # @!attribute [rw] uri
1411
+ # The StreamARN of the destination to deliver profile events to. For
1412
+ # example, arn:aws:kinesis:region:account-id:stream/stream-name.
1413
+ # @return [String]
1414
+ #
1415
+ # @!attribute [rw] status
1416
+ # The status of enabling the Kinesis stream as a destination for
1417
+ # export.
1418
+ # @return [String]
1419
+ #
1420
+ # @!attribute [rw] unhealthy_since
1421
+ # The timestamp when the status last changed to `UNHEALHY`.
1422
+ # @return [Time]
1423
+ #
1424
+ # @!attribute [rw] message
1425
+ # The human-readable string that corresponds to the error or success
1426
+ # while enabling the streaming destination.
1427
+ # @return [String]
1428
+ #
1429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/EventStreamDestinationDetails AWS API Documentation
1430
+ #
1431
+ class EventStreamDestinationDetails < Struct.new(
1432
+ :uri,
1433
+ :status,
1434
+ :unhealthy_since,
1435
+ :message)
1436
+ SENSITIVE = []
1437
+ include Aws::Structure
1438
+ end
1439
+
1440
+ # An instance of EventStream in a list of EventStreams.
1441
+ #
1442
+ # @!attribute [rw] domain_name
1443
+ # The unique name of the domain.
1444
+ # @return [String]
1445
+ #
1446
+ # @!attribute [rw] event_stream_name
1447
+ # The name of the event stream.
1448
+ # @return [String]
1449
+ #
1450
+ # @!attribute [rw] event_stream_arn
1451
+ # A unique identifier for the event stream.
1452
+ # @return [String]
1453
+ #
1454
+ # @!attribute [rw] state
1455
+ # The operational state of destination stream for export.
1456
+ # @return [String]
1457
+ #
1458
+ # @!attribute [rw] stopped_since
1459
+ # The timestamp when the `State` changed to `STOPPED`.
1460
+ # @return [Time]
1461
+ #
1462
+ # @!attribute [rw] destination_summary
1463
+ # Summary information about the Kinesis data stream.
1464
+ # @return [Types::DestinationSummary]
1465
+ #
1466
+ # @!attribute [rw] tags
1467
+ # The tags used to organize, track, or control access for this
1468
+ # resource.
1469
+ # @return [Hash<String,String>]
1470
+ #
1471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/EventStreamSummary AWS API Documentation
1472
+ #
1473
+ class EventStreamSummary < Struct.new(
1474
+ :domain_name,
1475
+ :event_stream_name,
1476
+ :event_stream_arn,
1477
+ :state,
1478
+ :stopped_since,
1479
+ :destination_summary,
1480
+ :tags)
1481
+ SENSITIVE = []
1482
+ include Aws::Structure
1483
+ end
1484
+
963
1485
  # Configuration information about the S3 bucket where Identity
964
1486
  # Resolution Jobs writes result files.
965
1487
  #
@@ -974,16 +1496,6 @@ module Aws::CustomerProfiles
974
1496
  #
975
1497
  # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service
976
1498
  #
977
- # @note When making an API call, you may pass ExportingConfig
978
- # data as a hash:
979
- #
980
- # {
981
- # s3_exporting: {
982
- # s3_bucket_name: "s3BucketName", # required
983
- # s3_key_name: "s3KeyNameCustomerOutputConfig",
984
- # },
985
- # }
986
- #
987
1499
  # @!attribute [rw] s3_exporting
988
1500
  # The S3 location where Identity Resolution Jobs write result files.
989
1501
  # @return [Types::S3ExportingConfig]
@@ -1013,35 +1525,6 @@ module Aws::CustomerProfiles
1013
1525
 
1014
1526
  # A duplicate customer profile that is to be merged into a main profile.
1015
1527
  #
1016
- # @note When making an API call, you may pass FieldSourceProfileIds
1017
- # data as a hash:
1018
- #
1019
- # {
1020
- # account_number: "uuid",
1021
- # additional_information: "uuid",
1022
- # party_type: "uuid",
1023
- # business_name: "uuid",
1024
- # first_name: "uuid",
1025
- # middle_name: "uuid",
1026
- # last_name: "uuid",
1027
- # birth_date: "uuid",
1028
- # gender: "uuid",
1029
- # phone_number: "uuid",
1030
- # mobile_phone_number: "uuid",
1031
- # home_phone_number: "uuid",
1032
- # business_phone_number: "uuid",
1033
- # email_address: "uuid",
1034
- # personal_email_address: "uuid",
1035
- # business_email_address: "uuid",
1036
- # address: "uuid",
1037
- # shipping_address: "uuid",
1038
- # mailing_address: "uuid",
1039
- # billing_address: "uuid",
1040
- # attributes: {
1041
- # "string1To255" => "uuid",
1042
- # },
1043
- # }
1044
- #
1045
1528
  # @!attribute [rw] account_number
1046
1529
  # A unique identifier for the account number field to be merged.
1047
1530
  # @return [String]
@@ -1161,73 +1644,6 @@ module Aws::CustomerProfiles
1161
1644
  # from the source, Amazon AppFlow. Customer Profiles uses this
1162
1645
  # information to create an AppFlow flow on behalf of customers.
1163
1646
  #
1164
- # @note When making an API call, you may pass FlowDefinition
1165
- # data as a hash:
1166
- #
1167
- # {
1168
- # description: "FlowDescription",
1169
- # flow_name: "FlowName", # required
1170
- # kms_arn: "KmsArn", # required
1171
- # source_flow_config: { # required
1172
- # connector_profile_name: "ConnectorProfileName",
1173
- # connector_type: "Salesforce", # required, accepts Salesforce, Marketo, Zendesk, Servicenow, S3
1174
- # incremental_pull_config: {
1175
- # datetime_type_field_name: "DatetimeTypeFieldName",
1176
- # },
1177
- # source_connector_properties: { # required
1178
- # marketo: {
1179
- # object: "Object", # required
1180
- # },
1181
- # s3: {
1182
- # bucket_name: "BucketName", # required
1183
- # bucket_prefix: "BucketPrefix",
1184
- # },
1185
- # salesforce: {
1186
- # object: "Object", # required
1187
- # enable_dynamic_field_update: false,
1188
- # include_deleted_records: false,
1189
- # },
1190
- # service_now: {
1191
- # object: "Object", # required
1192
- # },
1193
- # zendesk: {
1194
- # object: "Object", # required
1195
- # },
1196
- # },
1197
- # },
1198
- # tasks: [ # required
1199
- # {
1200
- # connector_operator: {
1201
- # marketo: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
1202
- # s3: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
1203
- # salesforce: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
1204
- # service_now: "PROJECTION", # accepts PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
1205
- # zendesk: "PROJECTION", # accepts PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
1206
- # },
1207
- # destination_field: "DestinationField",
1208
- # source_fields: ["stringTo2048"], # required
1209
- # task_properties: {
1210
- # "VALUE" => "Property",
1211
- # },
1212
- # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
1213
- # },
1214
- # ],
1215
- # trigger_config: { # required
1216
- # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
1217
- # trigger_properties: {
1218
- # scheduled: {
1219
- # schedule_expression: "ScheduleExpression", # required
1220
- # data_pull_mode: "Incremental", # accepts Incremental, Complete
1221
- # schedule_start_time: Time.now,
1222
- # schedule_end_time: Time.now,
1223
- # timezone: "Timezone",
1224
- # schedule_offset: 1,
1225
- # first_execution_from: Time.now,
1226
- # },
1227
- # },
1228
- # },
1229
- # }
1230
- #
1231
1647
  # @!attribute [rw] description
1232
1648
  # A description of the flow you want to create.
1233
1649
  # @return [String]
@@ -1269,22 +1685,31 @@ module Aws::CustomerProfiles
1269
1685
  include Aws::Structure
1270
1686
  end
1271
1687
 
1272
- # @note When making an API call, you may pass GetAutoMergingPreviewRequest
1273
- # data as a hash:
1688
+ # A data type pair that consists of a `KeyName` and `Values` list that
1689
+ # were used to find a profile returned in response to a
1690
+ # [SearchProfiles][1] request.
1691
+ #
1274
1692
  #
1275
- # {
1276
- # domain_name: "name", # required
1277
- # consolidation: { # required
1278
- # matching_attributes_list: [ # required
1279
- # ["string1To255"],
1280
- # ],
1281
- # },
1282
- # conflict_resolution: { # required
1283
- # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
1284
- # source_name: "string1To255",
1285
- # },
1286
- # }
1287
1693
  #
1694
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html
1695
+ #
1696
+ # @!attribute [rw] key_name
1697
+ # A searchable identifier of a customer profile.
1698
+ # @return [String]
1699
+ #
1700
+ # @!attribute [rw] values
1701
+ # A list of key values.
1702
+ # @return [Array<String>]
1703
+ #
1704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/FoundByKeyValue AWS API Documentation
1705
+ #
1706
+ class FoundByKeyValue < Struct.new(
1707
+ :key_name,
1708
+ :values)
1709
+ SENSITIVE = []
1710
+ include Aws::Structure
1711
+ end
1712
+
1288
1713
  # @!attribute [rw] domain_name
1289
1714
  # The unique name of the domain.
1290
1715
  # @return [String]
@@ -1298,12 +1723,18 @@ module Aws::CustomerProfiles
1298
1723
  # different profiles.
1299
1724
  # @return [Types::ConflictResolution]
1300
1725
  #
1726
+ # @!attribute [rw] min_allowed_confidence_score_for_merging
1727
+ # Minimum confidence score required for profiles within a matching
1728
+ # group to be merged during the auto-merge process.
1729
+ # @return [Float]
1730
+ #
1301
1731
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetAutoMergingPreviewRequest AWS API Documentation
1302
1732
  #
1303
1733
  class GetAutoMergingPreviewRequest < Struct.new(
1304
1734
  :domain_name,
1305
1735
  :consolidation,
1306
- :conflict_resolution)
1736
+ :conflict_resolution,
1737
+ :min_allowed_confidence_score_for_merging)
1307
1738
  SENSITIVE = []
1308
1739
  include Aws::Structure
1309
1740
  end
@@ -1337,72 +1768,200 @@ module Aws::CustomerProfiles
1337
1768
  include Aws::Structure
1338
1769
  end
1339
1770
 
1340
- # @note When making an API call, you may pass GetDomainRequest
1341
- # data as a hash:
1342
- #
1343
- # {
1344
- # domain_name: "name", # required
1345
- # }
1346
- #
1347
1771
  # @!attribute [rw] domain_name
1348
1772
  # The unique name of the domain.
1349
1773
  # @return [String]
1350
1774
  #
1351
- # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetDomainRequest AWS API Documentation
1775
+ # @!attribute [rw] calculated_attribute_name
1776
+ # The unique name of the calculated attribute.
1777
+ # @return [String]
1352
1778
  #
1353
- class GetDomainRequest < Struct.new(
1354
- :domain_name)
1779
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetCalculatedAttributeDefinitionRequest AWS API Documentation
1780
+ #
1781
+ class GetCalculatedAttributeDefinitionRequest < Struct.new(
1782
+ :domain_name,
1783
+ :calculated_attribute_name)
1355
1784
  SENSITIVE = []
1356
1785
  include Aws::Structure
1357
1786
  end
1358
1787
 
1359
- # @!attribute [rw] domain_name
1360
- # The unique name of the domain.
1788
+ # @!attribute [rw] calculated_attribute_name
1789
+ # The unique name of the calculated attribute.
1361
1790
  # @return [String]
1362
1791
  #
1363
- # @!attribute [rw] default_expiration_days
1364
- # The default number of days until the data within the domain expires.
1365
- # @return [Integer]
1366
- #
1367
- # @!attribute [rw] default_encryption_key
1368
- # The default encryption key, which is an AWS managed key, is used
1369
- # when no specific type of encryption key is specified. It is used to
1370
- # encrypt all data before it is placed in permanent or semi-permanent
1371
- # storage.
1792
+ # @!attribute [rw] display_name
1793
+ # The display name of the calculated attribute.
1372
1794
  # @return [String]
1373
1795
  #
1374
- # @!attribute [rw] dead_letter_queue_url
1375
- # The URL of the SQS dead letter queue, which is used for reporting
1376
- # errors associated with ingesting data from third party applications.
1796
+ # @!attribute [rw] description
1797
+ # The description of the calculated attribute.
1377
1798
  # @return [String]
1378
1799
  #
1379
- # @!attribute [rw] stats
1380
- # Usage-specific statistics about the domain.
1381
- # @return [Types::DomainStats]
1382
- #
1383
- # @!attribute [rw] matching
1384
- # The process of matching duplicate profiles. If `Matching` = `true`,
1385
- # Amazon Connect Customer Profiles starts a weekly batch process
1386
- # called Identity Resolution Job. If you do not specify a date and
1387
- # time for Identity Resolution Job to run, by default it runs every
1388
- # Saturday at 12AM UTC to detect duplicate profiles in your domains.
1389
- #
1390
- # After the Identity Resolution Job completes, use the [GetMatches][1]
1391
- # API to return and review the results. Or, if you have configured
1392
- # `ExportingConfig` in the `MatchingRequest`, you can download the
1393
- # results from S3.
1394
- #
1395
- #
1396
- #
1397
- # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
1398
- # @return [Types::MatchingResponse]
1399
- #
1400
1800
  # @!attribute [rw] created_at
1401
- # The timestamp of when the domain was created.
1801
+ # The timestamp of when the calculated attribute definition was
1802
+ # created.
1402
1803
  # @return [Time]
1403
1804
  #
1404
1805
  # @!attribute [rw] last_updated_at
1405
- # The timestamp of when the domain was most recently edited.
1806
+ # The timestamp of when the calculated attribute definition was most
1807
+ # recently edited.
1808
+ # @return [Time]
1809
+ #
1810
+ # @!attribute [rw] statistic
1811
+ # The aggregation operation to perform for the calculated attribute.
1812
+ # @return [String]
1813
+ #
1814
+ # @!attribute [rw] conditions
1815
+ # The conditions including range, object count, and threshold for the
1816
+ # calculated attribute.
1817
+ # @return [Types::Conditions]
1818
+ #
1819
+ # @!attribute [rw] attribute_details
1820
+ # Mathematical expression and a list of attribute items specified in
1821
+ # that expression.
1822
+ # @return [Types::AttributeDetails]
1823
+ #
1824
+ # @!attribute [rw] tags
1825
+ # The tags used to organize, track, or control access for this
1826
+ # resource.
1827
+ # @return [Hash<String,String>]
1828
+ #
1829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetCalculatedAttributeDefinitionResponse AWS API Documentation
1830
+ #
1831
+ class GetCalculatedAttributeDefinitionResponse < Struct.new(
1832
+ :calculated_attribute_name,
1833
+ :display_name,
1834
+ :description,
1835
+ :created_at,
1836
+ :last_updated_at,
1837
+ :statistic,
1838
+ :conditions,
1839
+ :attribute_details,
1840
+ :tags)
1841
+ SENSITIVE = [:description, :statistic, :conditions, :attribute_details]
1842
+ include Aws::Structure
1843
+ end
1844
+
1845
+ # @!attribute [rw] domain_name
1846
+ # The unique name of the domain.
1847
+ # @return [String]
1848
+ #
1849
+ # @!attribute [rw] profile_id
1850
+ # The unique identifier of a customer profile.
1851
+ # @return [String]
1852
+ #
1853
+ # @!attribute [rw] calculated_attribute_name
1854
+ # The unique name of the calculated attribute.
1855
+ # @return [String]
1856
+ #
1857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetCalculatedAttributeForProfileRequest AWS API Documentation
1858
+ #
1859
+ class GetCalculatedAttributeForProfileRequest < Struct.new(
1860
+ :domain_name,
1861
+ :profile_id,
1862
+ :calculated_attribute_name)
1863
+ SENSITIVE = []
1864
+ include Aws::Structure
1865
+ end
1866
+
1867
+ # @!attribute [rw] calculated_attribute_name
1868
+ # The unique name of the calculated attribute.
1869
+ # @return [String]
1870
+ #
1871
+ # @!attribute [rw] display_name
1872
+ # The display name of the calculated attribute.
1873
+ # @return [String]
1874
+ #
1875
+ # @!attribute [rw] is_data_partial
1876
+ # Indicates whether the calculated attribute’s value is based on
1877
+ # partial data. If data is partial, it is set to true.
1878
+ # @return [String]
1879
+ #
1880
+ # @!attribute [rw] value
1881
+ # The value of the calculated attribute.
1882
+ # @return [String]
1883
+ #
1884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetCalculatedAttributeForProfileResponse AWS API Documentation
1885
+ #
1886
+ class GetCalculatedAttributeForProfileResponse < Struct.new(
1887
+ :calculated_attribute_name,
1888
+ :display_name,
1889
+ :is_data_partial,
1890
+ :value)
1891
+ SENSITIVE = []
1892
+ include Aws::Structure
1893
+ end
1894
+
1895
+ # @!attribute [rw] domain_name
1896
+ # The unique name of the domain.
1897
+ # @return [String]
1898
+ #
1899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetDomainRequest AWS API Documentation
1900
+ #
1901
+ class GetDomainRequest < Struct.new(
1902
+ :domain_name)
1903
+ SENSITIVE = []
1904
+ include Aws::Structure
1905
+ end
1906
+
1907
+ # @!attribute [rw] domain_name
1908
+ # The unique name of the domain.
1909
+ # @return [String]
1910
+ #
1911
+ # @!attribute [rw] default_expiration_days
1912
+ # The default number of days until the data within the domain expires.
1913
+ # @return [Integer]
1914
+ #
1915
+ # @!attribute [rw] default_encryption_key
1916
+ # The default encryption key, which is an AWS managed key, is used
1917
+ # when no specific type of encryption key is specified. It is used to
1918
+ # encrypt all data before it is placed in permanent or semi-permanent
1919
+ # storage.
1920
+ # @return [String]
1921
+ #
1922
+ # @!attribute [rw] dead_letter_queue_url
1923
+ # The URL of the SQS dead letter queue, which is used for reporting
1924
+ # errors associated with ingesting data from third party applications.
1925
+ # @return [String]
1926
+ #
1927
+ # @!attribute [rw] stats
1928
+ # Usage-specific statistics about the domain.
1929
+ # @return [Types::DomainStats]
1930
+ #
1931
+ # @!attribute [rw] matching
1932
+ # The process of matching duplicate profiles. If `Matching` = `true`,
1933
+ # Amazon Connect Customer Profiles starts a weekly batch process
1934
+ # called Identity Resolution Job. If you do not specify a date and
1935
+ # time for Identity Resolution Job to run, by default it runs every
1936
+ # Saturday at 12AM UTC to detect duplicate profiles in your domains.
1937
+ #
1938
+ # After the Identity Resolution Job completes, use the [GetMatches][1]
1939
+ # API to return and review the results. Or, if you have configured
1940
+ # `ExportingConfig` in the `MatchingRequest`, you can download the
1941
+ # results from S3.
1942
+ #
1943
+ #
1944
+ #
1945
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
1946
+ # @return [Types::MatchingResponse]
1947
+ #
1948
+ # @!attribute [rw] rule_based_matching
1949
+ # The process of matching duplicate profiles using the Rule-Based
1950
+ # matching. If `RuleBasedMatching` = true, Amazon Connect Customer
1951
+ # Profiles will start to match and merge your profiles according to
1952
+ # your configuration in the `RuleBasedMatchingRequest`. You can use
1953
+ # the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
1954
+ # and review the results. Also, if you have configured
1955
+ # `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
1956
+ # download the results from S3.
1957
+ # @return [Types::RuleBasedMatchingResponse]
1958
+ #
1959
+ # @!attribute [rw] created_at
1960
+ # The timestamp of when the domain was created.
1961
+ # @return [Time]
1962
+ #
1963
+ # @!attribute [rw] last_updated_at
1964
+ # The timestamp of when the domain was most recently edited.
1406
1965
  # @return [Time]
1407
1966
  #
1408
1967
  # @!attribute [rw] tags
@@ -1419,6 +1978,7 @@ module Aws::CustomerProfiles
1419
1978
  :dead_letter_queue_url,
1420
1979
  :stats,
1421
1980
  :matching,
1981
+ :rule_based_matching,
1422
1982
  :created_at,
1423
1983
  :last_updated_at,
1424
1984
  :tags)
@@ -1426,14 +1986,66 @@ module Aws::CustomerProfiles
1426
1986
  include Aws::Structure
1427
1987
  end
1428
1988
 
1429
- # @note When making an API call, you may pass GetIdentityResolutionJobRequest
1430
- # data as a hash:
1989
+ # @!attribute [rw] domain_name
1990
+ # The unique name of the domain.
1991
+ # @return [String]
1992
+ #
1993
+ # @!attribute [rw] event_stream_name
1994
+ # The name of the event stream provided during create operations.
1995
+ # @return [String]
1996
+ #
1997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetEventStreamRequest AWS API Documentation
1998
+ #
1999
+ class GetEventStreamRequest < Struct.new(
2000
+ :domain_name,
2001
+ :event_stream_name)
2002
+ SENSITIVE = []
2003
+ include Aws::Structure
2004
+ end
2005
+
2006
+ # @!attribute [rw] domain_name
2007
+ # The unique name of the domain.
2008
+ # @return [String]
2009
+ #
2010
+ # @!attribute [rw] event_stream_arn
2011
+ # A unique identifier for the event stream.
2012
+ # @return [String]
2013
+ #
2014
+ # @!attribute [rw] created_at
2015
+ # The timestamp of when the export was created.
2016
+ # @return [Time]
2017
+ #
2018
+ # @!attribute [rw] state
2019
+ # The operational state of destination stream for export.
2020
+ # @return [String]
2021
+ #
2022
+ # @!attribute [rw] stopped_since
2023
+ # The timestamp when the `State` changed to `STOPPED`.
2024
+ # @return [Time]
2025
+ #
2026
+ # @!attribute [rw] destination_details
2027
+ # Details regarding the Kinesis stream.
2028
+ # @return [Types::EventStreamDestinationDetails]
1431
2029
  #
1432
- # {
1433
- # domain_name: "name", # required
1434
- # job_id: "uuid", # required
1435
- # }
2030
+ # @!attribute [rw] tags
2031
+ # The tags used to organize, track, or control access for this
2032
+ # resource.
2033
+ # @return [Hash<String,String>]
1436
2034
  #
2035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetEventStreamResponse AWS API Documentation
2036
+ #
2037
+ class GetEventStreamResponse < Struct.new(
2038
+ :domain_name,
2039
+ :event_stream_arn,
2040
+ :created_at,
2041
+ :state,
2042
+ :stopped_since,
2043
+ :destination_details,
2044
+ :tags)
2045
+ SENSITIVE = []
2046
+ include Aws::Structure
2047
+ end
2048
+
1437
2049
  # @!attribute [rw] domain_name
1438
2050
  # The unique name of the domain.
1439
2051
  # @return [String]
@@ -1462,27 +2074,26 @@ module Aws::CustomerProfiles
1462
2074
  # @!attribute [rw] status
1463
2075
  # The status of the Identity Resolution Job.
1464
2076
  #
1465
- # * `PENDING`\: The Identity Resolution Job is scheduled but has not
2077
+ # * `PENDING`: The Identity Resolution Job is scheduled but has not
1466
2078
  # started yet. If you turn off the Identity Resolution feature in
1467
2079
  # your domain, jobs in the `PENDING` state are deleted.
1468
2080
  #
1469
- # * `PREPROCESSING`\: The Identity Resolution Job is loading your
1470
- # data.
2081
+ # * `PREPROCESSING`: The Identity Resolution Job is loading your data.
1471
2082
  #
1472
- # * `FIND_MATCHING`\: The Identity Resolution Job is using the machine
2083
+ # * `FIND_MATCHING`: The Identity Resolution Job is using the machine
1473
2084
  # learning model to identify profiles that belong to the same
1474
2085
  # matching group.
1475
2086
  #
1476
- # * `MERGING`\: The Identity Resolution Job is merging duplicate
2087
+ # * `MERGING`: The Identity Resolution Job is merging duplicate
1477
2088
  # profiles.
1478
2089
  #
1479
- # * `COMPLETED`\: The Identity Resolution Job completed successfully.
2090
+ # * `COMPLETED`: The Identity Resolution Job completed successfully.
1480
2091
  #
1481
- # * `PARTIAL_SUCCESS`\: There's a system error and not all of the
1482
- # data is merged. The Identity Resolution Job writes a message
1483
- # indicating the source of the problem.
2092
+ # * `PARTIAL_SUCCESS`: There's a system error and not all of the data
2093
+ # is merged. The Identity Resolution Job writes a message indicating
2094
+ # the source of the problem.
1484
2095
  #
1485
- # * `FAILED`\: The Identity Resolution Job did not merge any data. It
2096
+ # * `FAILED`: The Identity Resolution Job did not merge any data. It
1486
2097
  # writes a message indicating the source of the problem.
1487
2098
  # @return [String]
1488
2099
  #
@@ -1541,14 +2152,6 @@ module Aws::CustomerProfiles
1541
2152
  include Aws::Structure
1542
2153
  end
1543
2154
 
1544
- # @note When making an API call, you may pass GetIntegrationRequest
1545
- # data as a hash:
1546
- #
1547
- # {
1548
- # domain_name: "name", # required
1549
- # uri: "string1To255", # required
1550
- # }
1551
- #
1552
2155
  # @!attribute [rw] domain_name
1553
2156
  # The unique name of the domain.
1554
2157
  # @return [String]
@@ -1591,6 +2194,26 @@ module Aws::CustomerProfiles
1591
2194
  # resource.
1592
2195
  # @return [Hash<String,String>]
1593
2196
  #
2197
+ # @!attribute [rw] object_type_names
2198
+ # A map in which each key is an event type from an external
2199
+ # application such as Segment or Shopify, and each value is an
2200
+ # `ObjectTypeName` (template) used to ingest the event. It supports
2201
+ # the following event types: `SegmentIdentify`,
2202
+ # `ShopifyCreateCustomers`, `ShopifyUpdateCustomers`,
2203
+ # `ShopifyCreateDraftOrders`, `ShopifyUpdateDraftOrders`,
2204
+ # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
2205
+ # @return [Hash<String,String>]
2206
+ #
2207
+ # @!attribute [rw] workflow_id
2208
+ # Unique identifier for the workflow.
2209
+ # @return [String]
2210
+ #
2211
+ # @!attribute [rw] is_unstructured
2212
+ # Boolean that shows if the Flow that's associated with the
2213
+ # Integration is created in Amazon Appflow, or with ObjectTypeName
2214
+ # equals \_unstructured via API/CLI in flowDefinition.
2215
+ # @return [Boolean]
2216
+ #
1594
2217
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegrationResponse AWS API Documentation
1595
2218
  #
1596
2219
  class GetIntegrationResponse < Struct.new(
@@ -1599,20 +2222,14 @@ module Aws::CustomerProfiles
1599
2222
  :object_type_name,
1600
2223
  :created_at,
1601
2224
  :last_updated_at,
1602
- :tags)
2225
+ :tags,
2226
+ :object_type_names,
2227
+ :workflow_id,
2228
+ :is_unstructured)
1603
2229
  SENSITIVE = []
1604
2230
  include Aws::Structure
1605
2231
  end
1606
2232
 
1607
- # @note When making an API call, you may pass GetMatchesRequest
1608
- # data as a hash:
1609
- #
1610
- # {
1611
- # next_token: "token",
1612
- # max_results: 1,
1613
- # domain_name: "name", # required
1614
- # }
1615
- #
1616
2233
  # @!attribute [rw] next_token
1617
2234
  # The token for the next set of results. Use the value returned in the
1618
2235
  # previous response in the next request to retrieve the next set of
@@ -1665,14 +2282,6 @@ module Aws::CustomerProfiles
1665
2282
  include Aws::Structure
1666
2283
  end
1667
2284
 
1668
- # @note When making an API call, you may pass GetProfileObjectTypeRequest
1669
- # data as a hash:
1670
- #
1671
- # {
1672
- # domain_name: "name", # required
1673
- # object_type_name: "typeName", # required
1674
- # }
1675
- #
1676
2285
  # @!attribute [rw] domain_name
1677
2286
  # The unique name of the domain.
1678
2287
  # @return [String]
@@ -1761,17 +2370,10 @@ module Aws::CustomerProfiles
1761
2370
  :created_at,
1762
2371
  :last_updated_at,
1763
2372
  :tags)
1764
- SENSITIVE = []
2373
+ SENSITIVE = [:description, :fields, :keys]
1765
2374
  include Aws::Structure
1766
2375
  end
1767
2376
 
1768
- # @note When making an API call, you may pass GetProfileObjectTypeTemplateRequest
1769
- # data as a hash:
1770
- #
1771
- # {
1772
- # template_id: "name", # required
1773
- # }
1774
- #
1775
2377
  # @!attribute [rw] template_id
1776
2378
  # A unique identifier for the object template.
1777
2379
  # @return [String]
@@ -1828,6 +2430,214 @@ module Aws::CustomerProfiles
1828
2430
  :source_last_updated_timestamp_format,
1829
2431
  :fields,
1830
2432
  :keys)
2433
+ SENSITIVE = [:fields, :keys]
2434
+ include Aws::Structure
2435
+ end
2436
+
2437
+ # @!attribute [rw] next_token
2438
+ # The pagination token from the previous `GetSimilarProfiles` API
2439
+ # call.
2440
+ # @return [String]
2441
+ #
2442
+ # @!attribute [rw] max_results
2443
+ # The maximum number of objects returned per page.
2444
+ # @return [Integer]
2445
+ #
2446
+ # @!attribute [rw] domain_name
2447
+ # The unique name of the domain.
2448
+ # @return [String]
2449
+ #
2450
+ # @!attribute [rw] match_type
2451
+ # Specify the type of matching to get similar profiles for.
2452
+ # @return [String]
2453
+ #
2454
+ # @!attribute [rw] search_key
2455
+ # The string indicating the search key to be used.
2456
+ # @return [String]
2457
+ #
2458
+ # @!attribute [rw] search_value
2459
+ # The string based on `SearchKey` to be searched for similar profiles.
2460
+ # @return [String]
2461
+ #
2462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetSimilarProfilesRequest AWS API Documentation
2463
+ #
2464
+ class GetSimilarProfilesRequest < Struct.new(
2465
+ :next_token,
2466
+ :max_results,
2467
+ :domain_name,
2468
+ :match_type,
2469
+ :search_key,
2470
+ :search_value)
2471
+ SENSITIVE = []
2472
+ include Aws::Structure
2473
+ end
2474
+
2475
+ # @!attribute [rw] profile_ids
2476
+ # Set of `profileId`s that belong to the same matching group.
2477
+ # @return [Array<String>]
2478
+ #
2479
+ # @!attribute [rw] match_id
2480
+ # The string `matchId` that the similar profiles belong to.
2481
+ # @return [String]
2482
+ #
2483
+ # @!attribute [rw] match_type
2484
+ # Specify the type of matching to get similar profiles for.
2485
+ # @return [String]
2486
+ #
2487
+ # @!attribute [rw] rule_level
2488
+ # The integer rule level that the profiles matched on.
2489
+ # @return [Integer]
2490
+ #
2491
+ # @!attribute [rw] confidence_score
2492
+ # It only has value when the `MatchType` is `ML_BASED_MATCHING`.A
2493
+ # number between 0 and 1, where a higher score means higher
2494
+ # similarity. Examining match confidence scores lets you distinguish
2495
+ # between groups of similar records in which the system is highly
2496
+ # confident (which you may decide to merge), groups of similar records
2497
+ # about which the system is uncertain (which you may decide to have
2498
+ # reviewed by a human), and groups of similar records that the system
2499
+ # deems to be unlikely (which you may decide to reject). Given
2500
+ # confidence scores vary as per the data input, it should not be used
2501
+ # as an absolute measure of matching quality.
2502
+ # @return [Float]
2503
+ #
2504
+ # @!attribute [rw] next_token
2505
+ # The pagination token from the previous `GetSimilarProfiles` API
2506
+ # call.
2507
+ # @return [String]
2508
+ #
2509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetSimilarProfilesResponse AWS API Documentation
2510
+ #
2511
+ class GetSimilarProfilesResponse < Struct.new(
2512
+ :profile_ids,
2513
+ :match_id,
2514
+ :match_type,
2515
+ :rule_level,
2516
+ :confidence_score,
2517
+ :next_token)
2518
+ SENSITIVE = []
2519
+ include Aws::Structure
2520
+ end
2521
+
2522
+ # @!attribute [rw] domain_name
2523
+ # The unique name of the domain.
2524
+ # @return [String]
2525
+ #
2526
+ # @!attribute [rw] workflow_id
2527
+ # Unique identifier for the workflow.
2528
+ # @return [String]
2529
+ #
2530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowRequest AWS API Documentation
2531
+ #
2532
+ class GetWorkflowRequest < Struct.new(
2533
+ :domain_name,
2534
+ :workflow_id)
2535
+ SENSITIVE = []
2536
+ include Aws::Structure
2537
+ end
2538
+
2539
+ # @!attribute [rw] workflow_id
2540
+ # Unique identifier for the workflow.
2541
+ # @return [String]
2542
+ #
2543
+ # @!attribute [rw] workflow_type
2544
+ # The type of workflow. The only supported value is
2545
+ # APPFLOW\_INTEGRATION.
2546
+ # @return [String]
2547
+ #
2548
+ # @!attribute [rw] status
2549
+ # Status of workflow execution.
2550
+ # @return [String]
2551
+ #
2552
+ # @!attribute [rw] error_description
2553
+ # Workflow error messages during execution (if any).
2554
+ # @return [String]
2555
+ #
2556
+ # @!attribute [rw] start_date
2557
+ # The timestamp that represents when workflow execution started.
2558
+ # @return [Time]
2559
+ #
2560
+ # @!attribute [rw] last_updated_at
2561
+ # The timestamp that represents when workflow execution last updated.
2562
+ # @return [Time]
2563
+ #
2564
+ # @!attribute [rw] attributes
2565
+ # Attributes provided for workflow execution.
2566
+ # @return [Types::WorkflowAttributes]
2567
+ #
2568
+ # @!attribute [rw] metrics
2569
+ # Workflow specific execution metrics.
2570
+ # @return [Types::WorkflowMetrics]
2571
+ #
2572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowResponse AWS API Documentation
2573
+ #
2574
+ class GetWorkflowResponse < Struct.new(
2575
+ :workflow_id,
2576
+ :workflow_type,
2577
+ :status,
2578
+ :error_description,
2579
+ :start_date,
2580
+ :last_updated_at,
2581
+ :attributes,
2582
+ :metrics)
2583
+ SENSITIVE = []
2584
+ include Aws::Structure
2585
+ end
2586
+
2587
+ # @!attribute [rw] domain_name
2588
+ # The unique name of the domain.
2589
+ # @return [String]
2590
+ #
2591
+ # @!attribute [rw] workflow_id
2592
+ # Unique identifier for the workflow.
2593
+ # @return [String]
2594
+ #
2595
+ # @!attribute [rw] next_token
2596
+ # The token for the next set of results. Use the value returned in the
2597
+ # previous response in the next request to retrieve the next set of
2598
+ # results.
2599
+ # @return [String]
2600
+ #
2601
+ # @!attribute [rw] max_results
2602
+ # The maximum number of results to return per page.
2603
+ # @return [Integer]
2604
+ #
2605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowStepsRequest AWS API Documentation
2606
+ #
2607
+ class GetWorkflowStepsRequest < Struct.new(
2608
+ :domain_name,
2609
+ :workflow_id,
2610
+ :next_token,
2611
+ :max_results)
2612
+ SENSITIVE = []
2613
+ include Aws::Structure
2614
+ end
2615
+
2616
+ # @!attribute [rw] workflow_id
2617
+ # Unique identifier for the workflow.
2618
+ # @return [String]
2619
+ #
2620
+ # @!attribute [rw] workflow_type
2621
+ # The type of workflow. The only supported value is
2622
+ # APPFLOW\_INTEGRATION.
2623
+ # @return [String]
2624
+ #
2625
+ # @!attribute [rw] items
2626
+ # List containing workflow step details.
2627
+ # @return [Array<Types::WorkflowStepItem>]
2628
+ #
2629
+ # @!attribute [rw] next_token
2630
+ # If there are additional results, this is the token for the next set
2631
+ # of results.
2632
+ # @return [String]
2633
+ #
2634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowStepsResponse AWS API Documentation
2635
+ #
2636
+ class GetWorkflowStepsResponse < Struct.new(
2637
+ :workflow_id,
2638
+ :workflow_type,
2639
+ :items,
2640
+ :next_token)
1831
2641
  SENSITIVE = []
1832
2642
  include Aws::Structure
1833
2643
  end
@@ -1845,27 +2655,26 @@ module Aws::CustomerProfiles
1845
2655
  # @!attribute [rw] status
1846
2656
  # The status of the Identity Resolution Job.
1847
2657
  #
1848
- # * `PENDING`\: The Identity Resolution Job is scheduled but has not
2658
+ # * `PENDING`: The Identity Resolution Job is scheduled but has not
1849
2659
  # started yet. If you turn off the Identity Resolution feature in
1850
2660
  # your domain, jobs in the `PENDING` state are deleted.
1851
2661
  #
1852
- # * `PREPROCESSING`\: The Identity Resolution Job is loading your
1853
- # data.
2662
+ # * `PREPROCESSING`: The Identity Resolution Job is loading your data.
1854
2663
  #
1855
- # * `FIND_MATCHING`\: The Identity Resolution Job is using the machine
2664
+ # * `FIND_MATCHING`: The Identity Resolution Job is using the machine
1856
2665
  # learning model to identify profiles that belong to the same
1857
2666
  # matching group.
1858
2667
  #
1859
- # * `MERGING`\: The Identity Resolution Job is merging duplicate
2668
+ # * `MERGING`: The Identity Resolution Job is merging duplicate
1860
2669
  # profiles.
1861
2670
  #
1862
- # * `COMPLETED`\: The Identity Resolution Job completed successfully.
2671
+ # * `COMPLETED`: The Identity Resolution Job completed successfully.
1863
2672
  #
1864
- # * `PARTIAL_SUCCESS`\: There's a system error and not all of the
1865
- # data is merged. The Identity Resolution Job writes a message
1866
- # indicating the source of the problem.
2673
+ # * `PARTIAL_SUCCESS`: There's a system error and not all of the data
2674
+ # is merged. The Identity Resolution Job writes a message indicating
2675
+ # the source of the problem.
1867
2676
  #
1868
- # * `FAILED`\: The Identity Resolution Job did not merge any data. It
2677
+ # * `FAILED`: The Identity Resolution Job did not merge any data. It
1869
2678
  # writes a message indicating the source of the problem.
1870
2679
  # @return [String]
1871
2680
  #
@@ -1909,13 +2718,6 @@ module Aws::CustomerProfiles
1909
2718
  # Specifies the configuration used when importing incremental records
1910
2719
  # from the source.
1911
2720
  #
1912
- # @note When making an API call, you may pass IncrementalPullConfig
1913
- # data as a hash:
1914
- #
1915
- # {
1916
- # datetime_type_field_name: "DatetimeTypeFieldName",
1917
- # }
1918
- #
1919
2721
  # @!attribute [rw] datetime_type_field_name
1920
2722
  # A field that specifies the date time or timestamp field as the
1921
2723
  # criteria to use when importing incremental records from the source.
@@ -1929,6 +2731,20 @@ module Aws::CustomerProfiles
1929
2731
  include Aws::Structure
1930
2732
  end
1931
2733
 
2734
+ # Configuration data for integration workflow.
2735
+ #
2736
+ # @!attribute [rw] appflow_integration
2737
+ # Configuration data for `APPFLOW_INTEGRATION` workflow type.
2738
+ # @return [Types::AppflowIntegration]
2739
+ #
2740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/IntegrationConfig AWS API Documentation
2741
+ #
2742
+ class IntegrationConfig < Struct.new(
2743
+ :appflow_integration)
2744
+ SENSITIVE = []
2745
+ include Aws::Structure
2746
+ end
2747
+
1932
2748
  # An internal service error occurred.
1933
2749
  #
1934
2750
  # @!attribute [rw] message
@@ -1942,102 +2758,250 @@ module Aws::CustomerProfiles
1942
2758
  include Aws::Structure
1943
2759
  end
1944
2760
 
1945
- # The day and time when do you want to start the Identity Resolution Job
1946
- # every week.
1947
- #
1948
- # @note When making an API call, you may pass JobSchedule
1949
- # data as a hash:
1950
- #
1951
- # {
1952
- # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
1953
- # time: "JobScheduleTime", # required
1954
- # }
1955
- #
1956
- # @!attribute [rw] day_of_the_week
1957
- # The day when the Identity Resolution Job should run every week.
1958
- # @return [String]
2761
+ # The day and time when do you want to start the Identity Resolution Job
2762
+ # every week.
2763
+ #
2764
+ # @!attribute [rw] day_of_the_week
2765
+ # The day when the Identity Resolution Job should run every week.
2766
+ # @return [String]
2767
+ #
2768
+ # @!attribute [rw] time
2769
+ # The time when the Identity Resolution Job should run every week.
2770
+ # @return [String]
2771
+ #
2772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/JobSchedule AWS API Documentation
2773
+ #
2774
+ class JobSchedule < Struct.new(
2775
+ :day_of_the_week,
2776
+ :time)
2777
+ SENSITIVE = []
2778
+ include Aws::Structure
2779
+ end
2780
+
2781
+ # Statistics about the Identity Resolution Job.
2782
+ #
2783
+ # @!attribute [rw] number_of_profiles_reviewed
2784
+ # The number of profiles reviewed.
2785
+ # @return [Integer]
2786
+ #
2787
+ # @!attribute [rw] number_of_matches_found
2788
+ # The number of matches found.
2789
+ # @return [Integer]
2790
+ #
2791
+ # @!attribute [rw] number_of_merges_done
2792
+ # The number of merges completed.
2793
+ # @return [Integer]
2794
+ #
2795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/JobStats AWS API Documentation
2796
+ #
2797
+ class JobStats < Struct.new(
2798
+ :number_of_profiles_reviewed,
2799
+ :number_of_matches_found,
2800
+ :number_of_merges_done)
2801
+ SENSITIVE = []
2802
+ include Aws::Structure
2803
+ end
2804
+
2805
+ # @!attribute [rw] uri
2806
+ # The URI of the S3 bucket or any other type of data source.
2807
+ # @return [String]
2808
+ #
2809
+ # @!attribute [rw] next_token
2810
+ # The pagination token from the previous ListAccountIntegrations API
2811
+ # call.
2812
+ # @return [String]
2813
+ #
2814
+ # @!attribute [rw] max_results
2815
+ # The maximum number of objects returned per page.
2816
+ # @return [Integer]
2817
+ #
2818
+ # @!attribute [rw] include_hidden
2819
+ # Boolean to indicate if hidden integration should be returned.
2820
+ # Defaults to `False`.
2821
+ # @return [Boolean]
2822
+ #
2823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrationsRequest AWS API Documentation
2824
+ #
2825
+ class ListAccountIntegrationsRequest < Struct.new(
2826
+ :uri,
2827
+ :next_token,
2828
+ :max_results,
2829
+ :include_hidden)
2830
+ SENSITIVE = []
2831
+ include Aws::Structure
2832
+ end
2833
+
2834
+ # @!attribute [rw] items
2835
+ # The list of ListAccountIntegration instances.
2836
+ # @return [Array<Types::ListIntegrationItem>]
2837
+ #
2838
+ # @!attribute [rw] next_token
2839
+ # The pagination token from the previous ListAccountIntegrations API
2840
+ # call.
2841
+ # @return [String]
2842
+ #
2843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrationsResponse AWS API Documentation
2844
+ #
2845
+ class ListAccountIntegrationsResponse < Struct.new(
2846
+ :items,
2847
+ :next_token)
2848
+ SENSITIVE = []
2849
+ include Aws::Structure
2850
+ end
2851
+
2852
+ # The details of a single calculated attribute definition.
2853
+ #
2854
+ # @!attribute [rw] calculated_attribute_name
2855
+ # The unique name of the calculated attribute.
2856
+ # @return [String]
2857
+ #
2858
+ # @!attribute [rw] display_name
2859
+ # The display name of the calculated attribute.
2860
+ # @return [String]
2861
+ #
2862
+ # @!attribute [rw] description
2863
+ # The threshold for the calculated attribute.
2864
+ # @return [String]
2865
+ #
2866
+ # @!attribute [rw] created_at
2867
+ # The threshold for the calculated attribute.
2868
+ # @return [Time]
2869
+ #
2870
+ # @!attribute [rw] last_updated_at
2871
+ # The timestamp of when the calculated attribute definition was most
2872
+ # recently edited.
2873
+ # @return [Time]
2874
+ #
2875
+ # @!attribute [rw] tags
2876
+ # The tags used to organize, track, or control access for this
2877
+ # resource.
2878
+ # @return [Hash<String,String>]
2879
+ #
2880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListCalculatedAttributeDefinitionItem AWS API Documentation
2881
+ #
2882
+ class ListCalculatedAttributeDefinitionItem < Struct.new(
2883
+ :calculated_attribute_name,
2884
+ :display_name,
2885
+ :description,
2886
+ :created_at,
2887
+ :last_updated_at,
2888
+ :tags)
2889
+ SENSITIVE = [:description]
2890
+ include Aws::Structure
2891
+ end
2892
+
2893
+ # @!attribute [rw] domain_name
2894
+ # The unique name of the domain.
2895
+ # @return [String]
2896
+ #
2897
+ # @!attribute [rw] next_token
2898
+ # The pagination token from the previous call to
2899
+ # ListCalculatedAttributeDefinitions.
2900
+ # @return [String]
2901
+ #
2902
+ # @!attribute [rw] max_results
2903
+ # The maximum number of calculated attribute definitions returned per
2904
+ # page.
2905
+ # @return [Integer]
2906
+ #
2907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListCalculatedAttributeDefinitionsRequest AWS API Documentation
2908
+ #
2909
+ class ListCalculatedAttributeDefinitionsRequest < Struct.new(
2910
+ :domain_name,
2911
+ :next_token,
2912
+ :max_results)
2913
+ SENSITIVE = []
2914
+ include Aws::Structure
2915
+ end
2916
+
2917
+ # @!attribute [rw] items
2918
+ # The list of calculated attribute definitions.
2919
+ # @return [Array<Types::ListCalculatedAttributeDefinitionItem>]
1959
2920
  #
1960
- # @!attribute [rw] time
1961
- # The time when the Identity Resolution Job should run every week.
2921
+ # @!attribute [rw] next_token
2922
+ # The pagination token from the previous call to
2923
+ # ListCalculatedAttributeDefinitions.
1962
2924
  # @return [String]
1963
2925
  #
1964
- # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/JobSchedule AWS API Documentation
2926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListCalculatedAttributeDefinitionsResponse AWS API Documentation
1965
2927
  #
1966
- class JobSchedule < Struct.new(
1967
- :day_of_the_week,
1968
- :time)
1969
- SENSITIVE = []
2928
+ class ListCalculatedAttributeDefinitionsResponse < Struct.new(
2929
+ :items,
2930
+ :next_token)
2931
+ SENSITIVE = [:items]
1970
2932
  include Aws::Structure
1971
2933
  end
1972
2934
 
1973
- # Statistics about the Identity Resolution Job.
2935
+ # The details of a single calculated attribute for a profile.
1974
2936
  #
1975
- # @!attribute [rw] number_of_profiles_reviewed
1976
- # The number of profiles reviewed.
1977
- # @return [Integer]
2937
+ # @!attribute [rw] calculated_attribute_name
2938
+ # The unique name of the calculated attribute.
2939
+ # @return [String]
1978
2940
  #
1979
- # @!attribute [rw] number_of_matches_found
1980
- # The number of matches found.
1981
- # @return [Integer]
2941
+ # @!attribute [rw] display_name
2942
+ # The display name of the calculated attribute.
2943
+ # @return [String]
1982
2944
  #
1983
- # @!attribute [rw] number_of_merges_done
1984
- # The number of merges completed.
1985
- # @return [Integer]
2945
+ # @!attribute [rw] is_data_partial
2946
+ # Indicates whether the calculated attribute’s value is based on
2947
+ # partial data. If data is partial, it is set to true.
2948
+ # @return [String]
1986
2949
  #
1987
- # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/JobStats AWS API Documentation
2950
+ # @!attribute [rw] value
2951
+ # The value of the calculated attribute.
2952
+ # @return [String]
1988
2953
  #
1989
- class JobStats < Struct.new(
1990
- :number_of_profiles_reviewed,
1991
- :number_of_matches_found,
1992
- :number_of_merges_done)
2954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListCalculatedAttributeForProfileItem AWS API Documentation
2955
+ #
2956
+ class ListCalculatedAttributeForProfileItem < Struct.new(
2957
+ :calculated_attribute_name,
2958
+ :display_name,
2959
+ :is_data_partial,
2960
+ :value)
1993
2961
  SENSITIVE = []
1994
2962
  include Aws::Structure
1995
2963
  end
1996
2964
 
1997
- # @note When making an API call, you may pass ListAccountIntegrationsRequest
1998
- # data as a hash:
1999
- #
2000
- # {
2001
- # uri: "string1To255", # required
2002
- # next_token: "token",
2003
- # max_results: 1,
2004
- # }
2005
- #
2006
- # @!attribute [rw] uri
2007
- # The URI of the S3 bucket or any other type of data source.
2008
- # @return [String]
2009
- #
2010
2965
  # @!attribute [rw] next_token
2011
- # The pagination token from the previous ListAccountIntegrations API
2012
- # call.
2966
+ # The pagination token from the previous call to
2967
+ # ListCalculatedAttributesForProfile.
2013
2968
  # @return [String]
2014
2969
  #
2015
2970
  # @!attribute [rw] max_results
2016
- # The maximum number of objects returned per page.
2971
+ # The maximum number of calculated attributes returned per page.
2017
2972
  # @return [Integer]
2018
2973
  #
2019
- # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrationsRequest AWS API Documentation
2974
+ # @!attribute [rw] domain_name
2975
+ # The unique name of the domain.
2976
+ # @return [String]
2020
2977
  #
2021
- class ListAccountIntegrationsRequest < Struct.new(
2022
- :uri,
2978
+ # @!attribute [rw] profile_id
2979
+ # The unique identifier of a customer profile.
2980
+ # @return [String]
2981
+ #
2982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListCalculatedAttributesForProfileRequest AWS API Documentation
2983
+ #
2984
+ class ListCalculatedAttributesForProfileRequest < Struct.new(
2023
2985
  :next_token,
2024
- :max_results)
2986
+ :max_results,
2987
+ :domain_name,
2988
+ :profile_id)
2025
2989
  SENSITIVE = []
2026
2990
  include Aws::Structure
2027
2991
  end
2028
2992
 
2029
2993
  # @!attribute [rw] items
2030
- # The list of ListAccountIntegration instances.
2031
- # @return [Array<Types::ListIntegrationItem>]
2994
+ # The list of calculated attributes.
2995
+ # @return [Array<Types::ListCalculatedAttributeForProfileItem>]
2032
2996
  #
2033
2997
  # @!attribute [rw] next_token
2034
- # The pagination token from the previous ListAccountIntegrations API
2035
- # call.
2998
+ # The pagination token from the previous call to
2999
+ # ListCalculatedAttributesForProfile.
2036
3000
  # @return [String]
2037
3001
  #
2038
- # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrationsResponse AWS API Documentation
3002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListCalculatedAttributesForProfileResponse AWS API Documentation
2039
3003
  #
2040
- class ListAccountIntegrationsResponse < Struct.new(
3004
+ class ListCalculatedAttributesForProfileResponse < Struct.new(
2041
3005
  :items,
2042
3006
  :next_token)
2043
3007
  SENSITIVE = []
@@ -2074,14 +3038,6 @@ module Aws::CustomerProfiles
2074
3038
  include Aws::Structure
2075
3039
  end
2076
3040
 
2077
- # @note When making an API call, you may pass ListDomainsRequest
2078
- # data as a hash:
2079
- #
2080
- # {
2081
- # next_token: "token",
2082
- # max_results: 1,
2083
- # }
2084
- #
2085
3041
  # @!attribute [rw] next_token
2086
3042
  # The pagination token from the previous ListDomain API call.
2087
3043
  # @return [String]
@@ -2116,15 +3072,45 @@ module Aws::CustomerProfiles
2116
3072
  include Aws::Structure
2117
3073
  end
2118
3074
 
2119
- # @note When making an API call, you may pass ListIdentityResolutionJobsRequest
2120
- # data as a hash:
3075
+ # @!attribute [rw] domain_name
3076
+ # The unique name of the domain.
3077
+ # @return [String]
3078
+ #
3079
+ # @!attribute [rw] next_token
3080
+ # Identifies the next page of results to return.
3081
+ # @return [String]
3082
+ #
3083
+ # @!attribute [rw] max_results
3084
+ # The maximum number of objects returned per page.
3085
+ # @return [Integer]
3086
+ #
3087
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListEventStreamsRequest AWS API Documentation
3088
+ #
3089
+ class ListEventStreamsRequest < Struct.new(
3090
+ :domain_name,
3091
+ :next_token,
3092
+ :max_results)
3093
+ SENSITIVE = []
3094
+ include Aws::Structure
3095
+ end
3096
+
3097
+ # @!attribute [rw] items
3098
+ # Contains summary information about an EventStream.
3099
+ # @return [Array<Types::EventStreamSummary>]
3100
+ #
3101
+ # @!attribute [rw] next_token
3102
+ # Identifies the next page of results to return.
3103
+ # @return [String]
2121
3104
  #
2122
- # {
2123
- # domain_name: "name", # required
2124
- # next_token: "token",
2125
- # max_results: 1,
2126
- # }
3105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListEventStreamsResponse AWS API Documentation
2127
3106
  #
3107
+ class ListEventStreamsResponse < Struct.new(
3108
+ :items,
3109
+ :next_token)
3110
+ SENSITIVE = []
3111
+ include Aws::Structure
3112
+ end
3113
+
2128
3114
  # @!attribute [rw] domain_name
2129
3115
  # The unique name of the domain.
2130
3116
  # @return [String]
@@ -2194,6 +3180,26 @@ module Aws::CustomerProfiles
2194
3180
  # resource.
2195
3181
  # @return [Hash<String,String>]
2196
3182
  #
3183
+ # @!attribute [rw] object_type_names
3184
+ # A map in which each key is an event type from an external
3185
+ # application such as Segment or Shopify, and each value is an
3186
+ # `ObjectTypeName` (template) used to ingest the event. It supports
3187
+ # the following event types: `SegmentIdentify`,
3188
+ # `ShopifyCreateCustomers`, `ShopifyUpdateCustomers`,
3189
+ # `ShopifyCreateDraftOrders`, `ShopifyUpdateDraftOrders`,
3190
+ # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
3191
+ # @return [Hash<String,String>]
3192
+ #
3193
+ # @!attribute [rw] workflow_id
3194
+ # Unique identifier for the workflow.
3195
+ # @return [String]
3196
+ #
3197
+ # @!attribute [rw] is_unstructured
3198
+ # Boolean that shows if the Flow that's associated with the
3199
+ # Integration is created in Amazon Appflow, or with ObjectTypeName
3200
+ # equals \_unstructured via API/CLI in flowDefinition.
3201
+ # @return [Boolean]
3202
+ #
2197
3203
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrationItem AWS API Documentation
2198
3204
  #
2199
3205
  class ListIntegrationItem < Struct.new(
@@ -2202,20 +3208,14 @@ module Aws::CustomerProfiles
2202
3208
  :object_type_name,
2203
3209
  :created_at,
2204
3210
  :last_updated_at,
2205
- :tags)
3211
+ :tags,
3212
+ :object_type_names,
3213
+ :workflow_id,
3214
+ :is_unstructured)
2206
3215
  SENSITIVE = []
2207
3216
  include Aws::Structure
2208
3217
  end
2209
3218
 
2210
- # @note When making an API call, you may pass ListIntegrationsRequest
2211
- # data as a hash:
2212
- #
2213
- # {
2214
- # domain_name: "name", # required
2215
- # next_token: "token",
2216
- # max_results: 1,
2217
- # }
2218
- #
2219
3219
  # @!attribute [rw] domain_name
2220
3220
  # The unique name of the domain.
2221
3221
  # @return [String]
@@ -2228,12 +3228,18 @@ module Aws::CustomerProfiles
2228
3228
  # The maximum number of objects returned per page.
2229
3229
  # @return [Integer]
2230
3230
  #
3231
+ # @!attribute [rw] include_hidden
3232
+ # Boolean to indicate if hidden integration should be returned.
3233
+ # Defaults to `False`.
3234
+ # @return [Boolean]
3235
+ #
2231
3236
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrationsRequest AWS API Documentation
2232
3237
  #
2233
3238
  class ListIntegrationsRequest < Struct.new(
2234
3239
  :domain_name,
2235
3240
  :next_token,
2236
- :max_results)
3241
+ :max_results,
3242
+ :include_hidden)
2237
3243
  SENSITIVE = []
2238
3244
  include Aws::Structure
2239
3245
  end
@@ -2314,14 +3320,6 @@ module Aws::CustomerProfiles
2314
3320
  include Aws::Structure
2315
3321
  end
2316
3322
 
2317
- # @note When making an API call, you may pass ListProfileObjectTypeTemplatesRequest
2318
- # data as a hash:
2319
- #
2320
- # {
2321
- # next_token: "token",
2322
- # max_results: 1,
2323
- # }
2324
- #
2325
3323
  # @!attribute [rw] next_token
2326
3324
  # The pagination token from the previous ListObjectTypeTemplates API
2327
3325
  # call.
@@ -2358,15 +3356,6 @@ module Aws::CustomerProfiles
2358
3356
  include Aws::Structure
2359
3357
  end
2360
3358
 
2361
- # @note When making an API call, you may pass ListProfileObjectTypesRequest
2362
- # data as a hash:
2363
- #
2364
- # {
2365
- # domain_name: "name", # required
2366
- # next_token: "token",
2367
- # max_results: 1,
2368
- # }
2369
- #
2370
3359
  # @!attribute [rw] domain_name
2371
3360
  # The unique name of the domain.
2372
3361
  # @return [String]
@@ -2402,7 +3391,7 @@ module Aws::CustomerProfiles
2402
3391
  class ListProfileObjectTypesResponse < Struct.new(
2403
3392
  :items,
2404
3393
  :next_token)
2405
- SENSITIVE = []
3394
+ SENSITIVE = [:items]
2406
3395
  include Aws::Structure
2407
3396
  end
2408
3397
 
@@ -2427,25 +3416,10 @@ module Aws::CustomerProfiles
2427
3416
  :object_type_name,
2428
3417
  :profile_object_unique_key,
2429
3418
  :object)
2430
- SENSITIVE = []
3419
+ SENSITIVE = [:object]
2431
3420
  include Aws::Structure
2432
3421
  end
2433
3422
 
2434
- # @note When making an API call, you may pass ListProfileObjectsRequest
2435
- # data as a hash:
2436
- #
2437
- # {
2438
- # next_token: "token",
2439
- # max_results: 1,
2440
- # domain_name: "name", # required
2441
- # object_type_name: "typeName", # required
2442
- # profile_id: "uuid", # required
2443
- # object_filter: {
2444
- # key_name: "name", # required
2445
- # values: ["string1To255"], # required
2446
- # },
2447
- # }
2448
- #
2449
3423
  # @!attribute [rw] next_token
2450
3424
  # The pagination token from the previous call to ListProfileObjects.
2451
3425
  # @return [String]
@@ -2468,8 +3442,7 @@ module Aws::CustomerProfiles
2468
3442
  #
2469
3443
  # @!attribute [rw] object_filter
2470
3444
  # Applies a filter to the response to include profile objects with the
2471
- # specified index values. This filter is only supported for
2472
- # ObjectTypeName \_asset and \_case.
3445
+ # specified index values.
2473
3446
  # @return [Types::ObjectFilter]
2474
3447
  #
2475
3448
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListProfileObjectsRequest AWS API Documentation
@@ -2502,13 +3475,47 @@ module Aws::CustomerProfiles
2502
3475
  include Aws::Structure
2503
3476
  end
2504
3477
 
2505
- # @note When making an API call, you may pass ListTagsForResourceRequest
2506
- # data as a hash:
3478
+ # @!attribute [rw] next_token
3479
+ # The pagination token from the previous `ListRuleBasedMatches` API
3480
+ # call.
3481
+ # @return [String]
3482
+ #
3483
+ # @!attribute [rw] max_results
3484
+ # The maximum number of `MatchIds` returned per page.
3485
+ # @return [Integer]
3486
+ #
3487
+ # @!attribute [rw] domain_name
3488
+ # The unique name of the domain.
3489
+ # @return [String]
3490
+ #
3491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListRuleBasedMatchesRequest AWS API Documentation
3492
+ #
3493
+ class ListRuleBasedMatchesRequest < Struct.new(
3494
+ :next_token,
3495
+ :max_results,
3496
+ :domain_name)
3497
+ SENSITIVE = []
3498
+ include Aws::Structure
3499
+ end
3500
+
3501
+ # @!attribute [rw] match_ids
3502
+ # The list of `MatchIds` for the given domain.
3503
+ # @return [Array<String>]
3504
+ #
3505
+ # @!attribute [rw] next_token
3506
+ # The pagination token from the previous `ListRuleBasedMatches` API
3507
+ # call.
3508
+ # @return [String]
2507
3509
  #
2508
- # {
2509
- # resource_arn: "TagArn", # required
2510
- # }
3510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListRuleBasedMatchesResponse AWS API Documentation
2511
3511
  #
3512
+ class ListRuleBasedMatchesResponse < Struct.new(
3513
+ :match_ids,
3514
+ :next_token)
3515
+ SENSITIVE = []
3516
+ include Aws::Structure
3517
+ end
3518
+
2512
3519
  # @!attribute [rw] resource_arn
2513
3520
  # The ARN of the resource for which you want to view tags.
2514
3521
  # @return [String]
@@ -2534,15 +3541,111 @@ module Aws::CustomerProfiles
2534
3541
  include Aws::Structure
2535
3542
  end
2536
3543
 
2537
- # The properties that are applied when Marketo is being used as a
2538
- # source.
3544
+ # A workflow in list of workflows.
3545
+ #
3546
+ # @!attribute [rw] workflow_type
3547
+ # The type of workflow. The only supported value is
3548
+ # APPFLOW\_INTEGRATION.
3549
+ # @return [String]
3550
+ #
3551
+ # @!attribute [rw] workflow_id
3552
+ # Unique identifier for the workflow.
3553
+ # @return [String]
3554
+ #
3555
+ # @!attribute [rw] status
3556
+ # Status of workflow execution.
3557
+ # @return [String]
3558
+ #
3559
+ # @!attribute [rw] status_description
3560
+ # Description for workflow execution status.
3561
+ # @return [String]
3562
+ #
3563
+ # @!attribute [rw] created_at
3564
+ # Creation timestamp for workflow.
3565
+ # @return [Time]
3566
+ #
3567
+ # @!attribute [rw] last_updated_at
3568
+ # Last updated timestamp for workflow.
3569
+ # @return [Time]
3570
+ #
3571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListWorkflowsItem AWS API Documentation
3572
+ #
3573
+ class ListWorkflowsItem < Struct.new(
3574
+ :workflow_type,
3575
+ :workflow_id,
3576
+ :status,
3577
+ :status_description,
3578
+ :created_at,
3579
+ :last_updated_at)
3580
+ SENSITIVE = []
3581
+ include Aws::Structure
3582
+ end
3583
+
3584
+ # @!attribute [rw] domain_name
3585
+ # The unique name of the domain.
3586
+ # @return [String]
3587
+ #
3588
+ # @!attribute [rw] workflow_type
3589
+ # The type of workflow. The only supported value is
3590
+ # APPFLOW\_INTEGRATION.
3591
+ # @return [String]
3592
+ #
3593
+ # @!attribute [rw] status
3594
+ # Status of workflow execution.
3595
+ # @return [String]
3596
+ #
3597
+ # @!attribute [rw] query_start_date
3598
+ # Retrieve workflows started after timestamp.
3599
+ # @return [Time]
3600
+ #
3601
+ # @!attribute [rw] query_end_date
3602
+ # Retrieve workflows ended after timestamp.
3603
+ # @return [Time]
3604
+ #
3605
+ # @!attribute [rw] next_token
3606
+ # The token for the next set of results. Use the value returned in the
3607
+ # previous response in the next request to retrieve the next set of
3608
+ # results.
3609
+ # @return [String]
3610
+ #
3611
+ # @!attribute [rw] max_results
3612
+ # The maximum number of results to return per page.
3613
+ # @return [Integer]
3614
+ #
3615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListWorkflowsRequest AWS API Documentation
3616
+ #
3617
+ class ListWorkflowsRequest < Struct.new(
3618
+ :domain_name,
3619
+ :workflow_type,
3620
+ :status,
3621
+ :query_start_date,
3622
+ :query_end_date,
3623
+ :next_token,
3624
+ :max_results)
3625
+ SENSITIVE = []
3626
+ include Aws::Structure
3627
+ end
3628
+
3629
+ # @!attribute [rw] items
3630
+ # List containing workflow details.
3631
+ # @return [Array<Types::ListWorkflowsItem>]
3632
+ #
3633
+ # @!attribute [rw] next_token
3634
+ # If there are additional results, this is the token for the next set
3635
+ # of results.
3636
+ # @return [String]
2539
3637
  #
2540
- # @note When making an API call, you may pass MarketoSourceProperties
2541
- # data as a hash:
3638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListWorkflowsResponse AWS API Documentation
2542
3639
  #
2543
- # {
2544
- # object: "Object", # required
2545
- # }
3640
+ class ListWorkflowsResponse < Struct.new(
3641
+ :items,
3642
+ :next_token)
3643
+ SENSITIVE = []
3644
+ include Aws::Structure
3645
+ end
3646
+
3647
+ # The properties that are applied when Marketo is being used as a
3648
+ # source.
2546
3649
  #
2547
3650
  # @!attribute [rw] object
2548
3651
  # The object specified in the Marketo flow source.
@@ -2567,9 +3670,15 @@ module Aws::CustomerProfiles
2567
3670
  # @return [Array<String>]
2568
3671
  #
2569
3672
  # @!attribute [rw] confidence_score
2570
- # A number between 0 and 1 that represents the confidence level of
2571
- # assigning profiles to a matching group. A score of 1 likely
2572
- # indicates an exact match.
3673
+ # A number between 0 and 1, where a higher score means higher
3674
+ # similarity. Examining match confidence scores lets you distinguish
3675
+ # between groups of similar records in which the system is highly
3676
+ # confident (which you may decide to merge), groups of similar records
3677
+ # about which the system is uncertain (which you may decide to have
3678
+ # reviewed by a human), and groups of similar records that the system
3679
+ # deems to be unlikely (which you may decide to reject). Given
3680
+ # confidence scores vary as per the data input, it should not be used
3681
+ # an absolute measure of matching quality.
2573
3682
  # @return [Float]
2574
3683
  #
2575
3684
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchItem AWS API Documentation
@@ -2584,35 +3693,6 @@ module Aws::CustomerProfiles
2584
3693
 
2585
3694
  # The flag that enables the matching process of duplicate profiles.
2586
3695
  #
2587
- # @note When making an API call, you may pass MatchingRequest
2588
- # data as a hash:
2589
- #
2590
- # {
2591
- # enabled: false, # required
2592
- # job_schedule: {
2593
- # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
2594
- # time: "JobScheduleTime", # required
2595
- # },
2596
- # auto_merging: {
2597
- # enabled: false, # required
2598
- # consolidation: {
2599
- # matching_attributes_list: [ # required
2600
- # ["string1To255"],
2601
- # ],
2602
- # },
2603
- # conflict_resolution: {
2604
- # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
2605
- # source_name: "string1To255",
2606
- # },
2607
- # },
2608
- # exporting_config: {
2609
- # s3_exporting: {
2610
- # s3_bucket_name: "s3BucketName", # required
2611
- # s3_key_name: "s3KeyNameCustomerOutputConfig",
2612
- # },
2613
- # },
2614
- # }
2615
- #
2616
3696
  # @!attribute [rw] enabled
2617
3697
  # The flag that enables the matching process of duplicate profiles.
2618
3698
  # @return [Boolean]
@@ -2662,51 +3742,68 @@ module Aws::CustomerProfiles
2662
3742
  # for example, to an S3 bucket.
2663
3743
  # @return [Types::ExportingConfig]
2664
3744
  #
2665
- # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchingResponse AWS API Documentation
3745
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchingResponse AWS API Documentation
3746
+ #
3747
+ class MatchingResponse < Struct.new(
3748
+ :enabled,
3749
+ :job_schedule,
3750
+ :auto_merging,
3751
+ :exporting_config)
3752
+ SENSITIVE = []
3753
+ include Aws::Structure
3754
+ end
3755
+
3756
+ # Specifies how does the rule-based matching process should match
3757
+ # profiles. You can choose from the following attributes to build the
3758
+ # matching Rule:
3759
+ #
3760
+ # * AccountNumber
3761
+ #
3762
+ # * Address.Address
3763
+ #
3764
+ # * Address.City
3765
+ #
3766
+ # * Address.Country
3767
+ #
3768
+ # * Address.County
3769
+ #
3770
+ # * Address.PostalCode
3771
+ #
3772
+ # * Address.State
3773
+ #
3774
+ # * Address.Province
3775
+ #
3776
+ # * BirthDate
3777
+ #
3778
+ # * BusinessName
3779
+ #
3780
+ # * EmailAddress
3781
+ #
3782
+ # * FirstName
3783
+ #
3784
+ # * Gender
3785
+ #
3786
+ # * LastName
3787
+ #
3788
+ # * MiddleName
3789
+ #
3790
+ # * PhoneNumber
3791
+ #
3792
+ # * Any customized profile attributes that start with the `Attributes`
2666
3793
  #
2667
- class MatchingResponse < Struct.new(
2668
- :enabled,
2669
- :job_schedule,
2670
- :auto_merging,
2671
- :exporting_config)
3794
+ # @!attribute [rw] rule
3795
+ # A single rule level of the `MatchRules`. Configures how the
3796
+ # rule-based matching process should match profiles.
3797
+ # @return [Array<String>]
3798
+ #
3799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchingRule AWS API Documentation
3800
+ #
3801
+ class MatchingRule < Struct.new(
3802
+ :rule)
2672
3803
  SENSITIVE = []
2673
3804
  include Aws::Structure
2674
3805
  end
2675
3806
 
2676
- # @note When making an API call, you may pass MergeProfilesRequest
2677
- # data as a hash:
2678
- #
2679
- # {
2680
- # domain_name: "name", # required
2681
- # main_profile_id: "uuid", # required
2682
- # profile_ids_to_be_merged: ["uuid"], # required
2683
- # field_source_profile_ids: {
2684
- # account_number: "uuid",
2685
- # additional_information: "uuid",
2686
- # party_type: "uuid",
2687
- # business_name: "uuid",
2688
- # first_name: "uuid",
2689
- # middle_name: "uuid",
2690
- # last_name: "uuid",
2691
- # birth_date: "uuid",
2692
- # gender: "uuid",
2693
- # phone_number: "uuid",
2694
- # mobile_phone_number: "uuid",
2695
- # home_phone_number: "uuid",
2696
- # business_phone_number: "uuid",
2697
- # email_address: "uuid",
2698
- # personal_email_address: "uuid",
2699
- # business_email_address: "uuid",
2700
- # address: "uuid",
2701
- # shipping_address: "uuid",
2702
- # mailing_address: "uuid",
2703
- # billing_address: "uuid",
2704
- # attributes: {
2705
- # "string1To255" => "uuid",
2706
- # },
2707
- # },
2708
- # }
2709
- #
2710
3807
  # @!attribute [rw] domain_name
2711
3808
  # The unique name of the domain.
2712
3809
  # @return [String]
@@ -2749,23 +3846,15 @@ module Aws::CustomerProfiles
2749
3846
  include Aws::Structure
2750
3847
  end
2751
3848
 
2752
- # The filter applied to ListProfileObjects response to include profile
2753
- # objects with the specified index values. This filter is only supported
2754
- # for ObjectTypeName \_asset and \_case.
2755
- #
2756
- # @note When making an API call, you may pass ObjectFilter
2757
- # data as a hash:
2758
- #
2759
- # {
2760
- # key_name: "name", # required
2761
- # values: ["string1To255"], # required
2762
- # }
3849
+ # The filter applied to `ListProfileObjects` response to include profile
3850
+ # objects with the specified index values.
2763
3851
  #
2764
3852
  # @!attribute [rw] key_name
2765
- # A searchable identifier of a standard profile object. The predefined
2766
- # keys you can use to search for \_asset include: \_assetId,
2767
- # \_assetName, \_serialNumber. The predefined keys you can use to
2768
- # search for \_case include: \_caseId.
3853
+ # A searchable identifier of a profile object. The predefined keys you
3854
+ # can use to search for `_asset` include: `_assetId`, `_assetName`,
3855
+ # and `_serialNumber`. The predefined keys you can use to search for
3856
+ # `_case` include: `_caseId`. The predefined keys you can use to
3857
+ # search for `_order` include: `_orderId`.
2769
3858
  # @return [String]
2770
3859
  #
2771
3860
  # @!attribute [rw] values
@@ -2783,15 +3872,6 @@ module Aws::CustomerProfiles
2783
3872
 
2784
3873
  # Represents a field in a ProfileObjectType.
2785
3874
  #
2786
- # @note When making an API call, you may pass ObjectTypeField
2787
- # data as a hash:
2788
- #
2789
- # {
2790
- # source: "text",
2791
- # target: "text",
2792
- # content_type: "STRING", # accepts STRING, NUMBER, PHONE_NUMBER, EMAIL_ADDRESS, NAME
2793
- # }
2794
- #
2795
3875
  # @!attribute [rw] source
2796
3876
  # A field of a ProfileObject. For example: \_source.FirstName, where
2797
3877
  # “\_source” is a ProfileObjectType of a Zendesk user and “FirstName”
@@ -2821,26 +3901,18 @@ module Aws::CustomerProfiles
2821
3901
  # An object that defines the Key element of a ProfileObject. A Key is a
2822
3902
  # special element that can be used to search for a customer profile.
2823
3903
  #
2824
- # @note When making an API call, you may pass ObjectTypeKey
2825
- # data as a hash:
2826
- #
2827
- # {
2828
- # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY
2829
- # field_names: ["name"],
2830
- # }
2831
- #
2832
3904
  # @!attribute [rw] standard_identifiers
2833
3905
  # The types of keys that a ProfileObject can have. Each ProfileObject
2834
- # can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET
2835
- # or CASE means that this key can be used to tie an object to a
2836
- # PROFILE, ASSET or CASE respectively. UNIQUE means that it can be
2837
- # used to uniquely identify an object. If a key a is marked as
2838
- # SECONDARY, it will be used to search for profiles after all other
2839
- # PROFILE keys have been searched. A LOOKUP\_ONLY key is only used to
2840
- # match a profile but is not persisted to be used for searching of the
2841
- # profile. A NEW\_ONLY key is only used if the profile does not
2842
- # already exist before the object is ingested, otherwise it is only
2843
- # used for matching objects to profiles.
3906
+ # can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE,
3907
+ # ASSET, CASE, or ORDER means that this key can be used to tie an
3908
+ # object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE
3909
+ # means that it can be used to uniquely identify an object. If a key a
3910
+ # is marked as SECONDARY, it will be used to search for profiles after
3911
+ # all other PROFILE keys have been searched. A LOOKUP\_ONLY key is
3912
+ # only used to match a profile but is not persisted to be used for
3913
+ # searching of the profile. A NEW\_ONLY key is only used if the
3914
+ # profile does not already exist before the object is ingested,
3915
+ # otherwise it is only used for matching objects to profiles.
2844
3916
  # @return [Array<String>]
2845
3917
  #
2846
3918
  # @!attribute [rw] field_names
@@ -2949,6 +4021,42 @@ module Aws::CustomerProfiles
2949
4021
  # A key value pair of attributes of a customer profile.
2950
4022
  # @return [Hash<String,String>]
2951
4023
  #
4024
+ # @!attribute [rw] found_by_items
4025
+ # A list of items used to find a profile returned in a
4026
+ # [SearchProfiles][1] response. An item is a key-value(s) pair that
4027
+ # matches an attribute in the profile.
4028
+ #
4029
+ # If the optional `AdditionalSearchKeys` parameter was included in the
4030
+ # [SearchProfiles][1] request, the `FoundByItems` list should be
4031
+ # interpreted based on the `LogicalOperator` used in the request:
4032
+ #
4033
+ # * `AND` - The profile included in the response matched all of the
4034
+ # search keys specified in the request. The `FoundByItems` will
4035
+ # include all of the key-value(s) pairs that were specified in the
4036
+ # request (as this is a requirement of `AND` search logic).
4037
+ #
4038
+ # * `OR` - The profile included in the response matched at least one
4039
+ # of the search keys specified in the request. The `FoundByItems`
4040
+ # will include each of the key-value(s) pairs that the profile was
4041
+ # found by.
4042
+ #
4043
+ # The `OR` relationship is the default behavior if the
4044
+ # `LogicalOperator` parameter is not included in the
4045
+ # [SearchProfiles][1] request.
4046
+ #
4047
+ #
4048
+ #
4049
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html
4050
+ # @return [Array<Types::FoundByKeyValue>]
4051
+ #
4052
+ # @!attribute [rw] party_type_string
4053
+ # An alternative to PartyType which accepts any string as input.
4054
+ # @return [String]
4055
+ #
4056
+ # @!attribute [rw] gender_string
4057
+ # An alternative to Gender which accepts any string as input.
4058
+ # @return [String]
4059
+ #
2952
4060
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/Profile AWS API Documentation
2953
4061
  #
2954
4062
  class Profile < Struct.new(
@@ -2973,86 +4081,14 @@ module Aws::CustomerProfiles
2973
4081
  :shipping_address,
2974
4082
  :mailing_address,
2975
4083
  :billing_address,
2976
- :attributes)
2977
- SENSITIVE = []
4084
+ :attributes,
4085
+ :found_by_items,
4086
+ :party_type_string,
4087
+ :gender_string)
4088
+ SENSITIVE = [:account_number, :additional_information, :party_type, :business_name, :first_name, :middle_name, :last_name, :birth_date, :gender, :phone_number, :mobile_phone_number, :home_phone_number, :business_phone_number, :email_address, :personal_email_address, :business_email_address, :address, :shipping_address, :mailing_address, :billing_address, :attributes, :party_type_string, :gender_string]
2978
4089
  include Aws::Structure
2979
4090
  end
2980
4091
 
2981
- # @note When making an API call, you may pass PutIntegrationRequest
2982
- # data as a hash:
2983
- #
2984
- # {
2985
- # domain_name: "name", # required
2986
- # uri: "string1To255",
2987
- # object_type_name: "typeName", # required
2988
- # tags: {
2989
- # "TagKey" => "TagValue",
2990
- # },
2991
- # flow_definition: {
2992
- # description: "FlowDescription",
2993
- # flow_name: "FlowName", # required
2994
- # kms_arn: "KmsArn", # required
2995
- # source_flow_config: { # required
2996
- # connector_profile_name: "ConnectorProfileName",
2997
- # connector_type: "Salesforce", # required, accepts Salesforce, Marketo, Zendesk, Servicenow, S3
2998
- # incremental_pull_config: {
2999
- # datetime_type_field_name: "DatetimeTypeFieldName",
3000
- # },
3001
- # source_connector_properties: { # required
3002
- # marketo: {
3003
- # object: "Object", # required
3004
- # },
3005
- # s3: {
3006
- # bucket_name: "BucketName", # required
3007
- # bucket_prefix: "BucketPrefix",
3008
- # },
3009
- # salesforce: {
3010
- # object: "Object", # required
3011
- # enable_dynamic_field_update: false,
3012
- # include_deleted_records: false,
3013
- # },
3014
- # service_now: {
3015
- # object: "Object", # required
3016
- # },
3017
- # zendesk: {
3018
- # object: "Object", # required
3019
- # },
3020
- # },
3021
- # },
3022
- # tasks: [ # required
3023
- # {
3024
- # connector_operator: {
3025
- # marketo: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3026
- # s3: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3027
- # salesforce: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3028
- # service_now: "PROJECTION", # accepts PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3029
- # zendesk: "PROJECTION", # accepts PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3030
- # },
3031
- # destination_field: "DestinationField",
3032
- # source_fields: ["stringTo2048"], # required
3033
- # task_properties: {
3034
- # "VALUE" => "Property",
3035
- # },
3036
- # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
3037
- # },
3038
- # ],
3039
- # trigger_config: { # required
3040
- # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
3041
- # trigger_properties: {
3042
- # scheduled: {
3043
- # schedule_expression: "ScheduleExpression", # required
3044
- # data_pull_mode: "Incremental", # accepts Incremental, Complete
3045
- # schedule_start_time: Time.now,
3046
- # schedule_end_time: Time.now,
3047
- # timezone: "Timezone",
3048
- # schedule_offset: 1,
3049
- # first_execution_from: Time.now,
3050
- # },
3051
- # },
3052
- # },
3053
- # },
3054
- # }
3055
- #
3056
4092
  # @!attribute [rw] domain_name
3057
4093
  # The unique name of the domain.
3058
4094
  # @return [String]
@@ -3075,6 +4111,16 @@ module Aws::CustomerProfiles
3075
4111
  # from the source.
3076
4112
  # @return [Types::FlowDefinition]
3077
4113
  #
4114
+ # @!attribute [rw] object_type_names
4115
+ # A map in which each key is an event type from an external
4116
+ # application such as Segment or Shopify, and each value is an
4117
+ # `ObjectTypeName` (template) used to ingest the event. It supports
4118
+ # the following event types: `SegmentIdentify`,
4119
+ # `ShopifyCreateCustomers`, `ShopifyUpdateCustomers`,
4120
+ # `ShopifyCreateDraftOrders`, `ShopifyUpdateDraftOrders`,
4121
+ # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
4122
+ # @return [Hash<String,String>]
4123
+ #
3078
4124
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegrationRequest AWS API Documentation
3079
4125
  #
3080
4126
  class PutIntegrationRequest < Struct.new(
@@ -3082,8 +4128,9 @@ module Aws::CustomerProfiles
3082
4128
  :uri,
3083
4129
  :object_type_name,
3084
4130
  :tags,
3085
- :flow_definition)
3086
- SENSITIVE = []
4131
+ :flow_definition,
4132
+ :object_type_names)
4133
+ SENSITIVE = [:flow_definition]
3087
4134
  include Aws::Structure
3088
4135
  end
3089
4136
 
@@ -3112,6 +4159,26 @@ module Aws::CustomerProfiles
3112
4159
  # resource.
3113
4160
  # @return [Hash<String,String>]
3114
4161
  #
4162
+ # @!attribute [rw] object_type_names
4163
+ # A map in which each key is an event type from an external
4164
+ # application such as Segment or Shopify, and each value is an
4165
+ # `ObjectTypeName` (template) used to ingest the event. It supports
4166
+ # the following event types: `SegmentIdentify`,
4167
+ # `ShopifyCreateCustomers`, `ShopifyUpdateCustomers`,
4168
+ # `ShopifyCreateDraftOrders`, `ShopifyUpdateDraftOrders`,
4169
+ # `ShopifyCreateOrders`, and `ShopifyUpdatedOrders`.
4170
+ # @return [Hash<String,String>]
4171
+ #
4172
+ # @!attribute [rw] workflow_id
4173
+ # Unique identifier for the workflow.
4174
+ # @return [String]
4175
+ #
4176
+ # @!attribute [rw] is_unstructured
4177
+ # Boolean that shows if the Flow that's associated with the
4178
+ # Integration is created in Amazon Appflow, or with ObjectTypeName
4179
+ # equals \_unstructured via API/CLI in flowDefinition.
4180
+ # @return [Boolean]
4181
+ #
3115
4182
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegrationResponse AWS API Documentation
3116
4183
  #
3117
4184
  class PutIntegrationResponse < Struct.new(
@@ -3120,20 +4187,14 @@ module Aws::CustomerProfiles
3120
4187
  :object_type_name,
3121
4188
  :created_at,
3122
4189
  :last_updated_at,
3123
- :tags)
4190
+ :tags,
4191
+ :object_type_names,
4192
+ :workflow_id,
4193
+ :is_unstructured)
3124
4194
  SENSITIVE = []
3125
4195
  include Aws::Structure
3126
4196
  end
3127
4197
 
3128
- # @note When making an API call, you may pass PutProfileObjectRequest
3129
- # data as a hash:
3130
- #
3131
- # {
3132
- # object_type_name: "typeName", # required
3133
- # object: "stringifiedJson", # required
3134
- # domain_name: "name", # required
3135
- # }
3136
- #
3137
4198
  # @!attribute [rw] object_type_name
3138
4199
  # The name of the profile object type.
3139
4200
  # @return [String]
@@ -3152,7 +4213,7 @@ module Aws::CustomerProfiles
3152
4213
  :object_type_name,
3153
4214
  :object,
3154
4215
  :domain_name)
3155
- SENSITIVE = []
4216
+ SENSITIVE = [:object]
3156
4217
  include Aws::Structure
3157
4218
  end
3158
4219
 
@@ -3169,38 +4230,6 @@ module Aws::CustomerProfiles
3169
4230
  include Aws::Structure
3170
4231
  end
3171
4232
 
3172
- # @note When making an API call, you may pass PutProfileObjectTypeRequest
3173
- # data as a hash:
3174
- #
3175
- # {
3176
- # domain_name: "name", # required
3177
- # object_type_name: "typeName", # required
3178
- # description: "text", # required
3179
- # template_id: "name",
3180
- # expiration_days: 1,
3181
- # encryption_key: "encryptionKey",
3182
- # allow_profile_creation: false,
3183
- # source_last_updated_timestamp_format: "string1To255",
3184
- # fields: {
3185
- # "name" => {
3186
- # source: "text",
3187
- # target: "text",
3188
- # content_type: "STRING", # accepts STRING, NUMBER, PHONE_NUMBER, EMAIL_ADDRESS, NAME
3189
- # },
3190
- # },
3191
- # keys: {
3192
- # "name" => [
3193
- # {
3194
- # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY
3195
- # field_names: ["name"],
3196
- # },
3197
- # ],
3198
- # },
3199
- # tags: {
3200
- # "TagKey" => "TagValue",
3201
- # },
3202
- # }
3203
- #
3204
4233
  # @!attribute [rw] domain_name
3205
4234
  # The unique name of the domain.
3206
4235
  # @return [String]
@@ -3214,7 +4243,14 @@ module Aws::CustomerProfiles
3214
4243
  # @return [String]
3215
4244
  #
3216
4245
  # @!attribute [rw] template_id
3217
- # A unique identifier for the object template.
4246
+ # A unique identifier for the object template. For some attributes in
4247
+ # the request, the service will use the default value from the object
4248
+ # template when TemplateId is present. If these attributes are present
4249
+ # in the request, the service may return a `BadRequestException`.
4250
+ # These attributes include: AllowProfileCreation,
4251
+ # SourceLastUpdatedTimestampFormat, Fields, and Keys. For example, if
4252
+ # AllowProfileCreation is set to true when TemplateId is set, the
4253
+ # service may return a `BadRequestException`.
3218
4254
  # @return [String]
3219
4255
  #
3220
4256
  # @!attribute [rw] expiration_days
@@ -3267,7 +4303,7 @@ module Aws::CustomerProfiles
3267
4303
  :fields,
3268
4304
  :keys,
3269
4305
  :tags)
3270
- SENSITIVE = []
4306
+ SENSITIVE = [:description, :fields, :keys]
3271
4307
  include Aws::Structure
3272
4308
  end
3273
4309
 
@@ -3348,6 +4384,26 @@ module Aws::CustomerProfiles
3348
4384
  :created_at,
3349
4385
  :last_updated_at,
3350
4386
  :tags)
4387
+ SENSITIVE = [:description, :fields, :keys]
4388
+ include Aws::Structure
4389
+ end
4390
+
4391
+ # The relative time period over which data is included in the
4392
+ # aggregation.
4393
+ #
4394
+ # @!attribute [rw] value
4395
+ # The amount of time of the specified unit.
4396
+ # @return [Integer]
4397
+ #
4398
+ # @!attribute [rw] unit
4399
+ # The unit of time.
4400
+ # @return [String]
4401
+ #
4402
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/Range AWS API Documentation
4403
+ #
4404
+ class Range < Struct.new(
4405
+ :value,
4406
+ :unit)
3351
4407
  SENSITIVE = []
3352
4408
  include Aws::Structure
3353
4409
  end
@@ -3365,16 +4421,165 @@ module Aws::CustomerProfiles
3365
4421
  include Aws::Structure
3366
4422
  end
3367
4423
 
3368
- # Configuration information about the S3 bucket where Identity
3369
- # Resolution Jobs write result files.
4424
+ # The request to enable the rule-based matching.
4425
+ #
4426
+ # @!attribute [rw] enabled
4427
+ # The flag that enables the rule-based matching process of duplicate
4428
+ # profiles.
4429
+ # @return [Boolean]
4430
+ #
4431
+ # @!attribute [rw] matching_rules
4432
+ # Configures how the rule-based matching process should match
4433
+ # profiles. You can have up to 15 `MatchingRule` in the
4434
+ # `MatchingRules`.
4435
+ # @return [Array<Types::MatchingRule>]
4436
+ #
4437
+ # @!attribute [rw] max_allowed_rule_level_for_merging
4438
+ # [MatchingRule][1]
4439
+ #
4440
+ #
4441
+ #
4442
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html
4443
+ # @return [Integer]
4444
+ #
4445
+ # @!attribute [rw] max_allowed_rule_level_for_matching
4446
+ # Indicates the maximum allowed rule level.
4447
+ # @return [Integer]
4448
+ #
4449
+ # @!attribute [rw] attribute_types_selector
4450
+ # Configures information about the `AttributeTypesSelector` where the
4451
+ # rule-based identity resolution uses to match profiles.
4452
+ # @return [Types::AttributeTypesSelector]
4453
+ #
4454
+ # @!attribute [rw] conflict_resolution
4455
+ # How the auto-merging process should resolve conflicts between
4456
+ # different profiles.
4457
+ # @return [Types::ConflictResolution]
4458
+ #
4459
+ # @!attribute [rw] exporting_config
4460
+ # Configuration information about the S3 bucket where Identity
4461
+ # Resolution Jobs writes result files.
4462
+ #
4463
+ # <note markdown="1"> You need to give Customer Profiles service principal write
4464
+ # permission to your S3 bucket. Otherwise, you'll get an exception in
4465
+ # the API response. For an example policy, see [Amazon Connect
4466
+ # Customer Profiles cross-service confused deputy prevention][1].
4467
+ #
4468
+ # </note>
4469
+ #
4470
+ #
4471
+ #
4472
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service
4473
+ # @return [Types::ExportingConfig]
4474
+ #
4475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/RuleBasedMatchingRequest AWS API Documentation
4476
+ #
4477
+ class RuleBasedMatchingRequest < Struct.new(
4478
+ :enabled,
4479
+ :matching_rules,
4480
+ :max_allowed_rule_level_for_merging,
4481
+ :max_allowed_rule_level_for_matching,
4482
+ :attribute_types_selector,
4483
+ :conflict_resolution,
4484
+ :exporting_config)
4485
+ SENSITIVE = []
4486
+ include Aws::Structure
4487
+ end
4488
+
4489
+ # The response of the Rule-based matching request.
4490
+ #
4491
+ # @!attribute [rw] enabled
4492
+ # The flag that enables the rule-based matching process of duplicate
4493
+ # profiles.
4494
+ # @return [Boolean]
4495
+ #
4496
+ # @!attribute [rw] matching_rules
4497
+ # Configures how the rule-based matching process should match
4498
+ # profiles. You can have up to 15 `MatchingRule` in the
4499
+ # `MatchingRules`.
4500
+ # @return [Array<Types::MatchingRule>]
4501
+ #
4502
+ # @!attribute [rw] status
4503
+ # PENDING
4504
+ #
4505
+ # * The first status after configuration a rule-based matching rule.
4506
+ # If it is an existing domain, the rule-based Identity Resolution
4507
+ # waits one hour before creating the matching rule. If it is a new
4508
+ # domain, the system will skip the `PENDING` stage.
4509
+ #
4510
+ # ^
4511
+ #
4512
+ # IN\_PROGRESS
4513
+ #
4514
+ # * The system is creating the rule-based matching rule. Under this
4515
+ # status, the system is evaluating the existing data and you can no
4516
+ # longer change the Rule-based matching configuration.
4517
+ #
4518
+ # ^
4519
+ #
4520
+ # ACTIVE
4521
+ #
4522
+ # * The rule is ready to use. You can change the rule a day after the
4523
+ # status is in `ACTIVE`.
4524
+ #
4525
+ # ^
4526
+ # @return [String]
4527
+ #
4528
+ # @!attribute [rw] max_allowed_rule_level_for_merging
4529
+ # [MatchingRule][1]
4530
+ #
4531
+ #
4532
+ #
4533
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html
4534
+ # @return [Integer]
4535
+ #
4536
+ # @!attribute [rw] max_allowed_rule_level_for_matching
4537
+ # Indicates the maximum allowed rule level.
4538
+ # @return [Integer]
4539
+ #
4540
+ # @!attribute [rw] attribute_types_selector
4541
+ # Configures information about the `AttributeTypesSelector` where the
4542
+ # rule-based identity resolution uses to match profiles.
4543
+ # @return [Types::AttributeTypesSelector]
4544
+ #
4545
+ # @!attribute [rw] conflict_resolution
4546
+ # How the auto-merging process should resolve conflicts between
4547
+ # different profiles.
4548
+ # @return [Types::ConflictResolution]
4549
+ #
4550
+ # @!attribute [rw] exporting_config
4551
+ # Configuration information about the S3 bucket where Identity
4552
+ # Resolution Jobs writes result files.
4553
+ #
4554
+ # <note markdown="1"> You need to give Customer Profiles service principal write
4555
+ # permission to your S3 bucket. Otherwise, you'll get an exception in
4556
+ # the API response. For an example policy, see [Amazon Connect
4557
+ # Customer Profiles cross-service confused deputy prevention][1].
4558
+ #
4559
+ # </note>
4560
+ #
4561
+ #
3370
4562
  #
3371
- # @note When making an API call, you may pass S3ExportingConfig
3372
- # data as a hash:
4563
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service
4564
+ # @return [Types::ExportingConfig]
4565
+ #
4566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/RuleBasedMatchingResponse AWS API Documentation
3373
4567
  #
3374
- # {
3375
- # s3_bucket_name: "s3BucketName", # required
3376
- # s3_key_name: "s3KeyNameCustomerOutputConfig",
3377
- # }
4568
+ class RuleBasedMatchingResponse < Struct.new(
4569
+ :enabled,
4570
+ :matching_rules,
4571
+ :status,
4572
+ :max_allowed_rule_level_for_merging,
4573
+ :max_allowed_rule_level_for_matching,
4574
+ :attribute_types_selector,
4575
+ :conflict_resolution,
4576
+ :exporting_config)
4577
+ SENSITIVE = []
4578
+ include Aws::Structure
4579
+ end
4580
+
4581
+ # Configuration information about the S3 bucket where Identity
4582
+ # Resolution Jobs write result files.
3378
4583
  #
3379
4584
  # @!attribute [rw] s3_bucket_name
3380
4585
  # The name of the S3 bucket where Identity Resolution Jobs write
@@ -3419,14 +4624,6 @@ module Aws::CustomerProfiles
3419
4624
  # The properties that are applied when Amazon S3 is being used as the
3420
4625
  # flow source.
3421
4626
  #
3422
- # @note When making an API call, you may pass S3SourceProperties
3423
- # data as a hash:
3424
- #
3425
- # {
3426
- # bucket_name: "BucketName", # required
3427
- # bucket_prefix: "BucketPrefix",
3428
- # }
3429
- #
3430
4627
  # @!attribute [rw] bucket_name
3431
4628
  # The Amazon S3 bucket name where the source files are stored.
3432
4629
  # @return [String]
@@ -3448,15 +4645,6 @@ module Aws::CustomerProfiles
3448
4645
  # The properties that are applied when Salesforce is being used as a
3449
4646
  # source.
3450
4647
  #
3451
- # @note When making an API call, you may pass SalesforceSourceProperties
3452
- # data as a hash:
3453
- #
3454
- # {
3455
- # object: "Object", # required
3456
- # enable_dynamic_field_update: false,
3457
- # include_deleted_records: false,
3458
- # }
3459
- #
3460
4648
  # @!attribute [rw] object
3461
4649
  # The object specified in the Salesforce flow source.
3462
4650
  # @return [String]
@@ -3485,19 +4673,6 @@ module Aws::CustomerProfiles
3485
4673
  # you define. Currently, these settings only apply to the
3486
4674
  # scheduled-trigger type.
3487
4675
  #
3488
- # @note When making an API call, you may pass ScheduledTriggerProperties
3489
- # data as a hash:
3490
- #
3491
- # {
3492
- # schedule_expression: "ScheduleExpression", # required
3493
- # data_pull_mode: "Incremental", # accepts Incremental, Complete
3494
- # schedule_start_time: Time.now,
3495
- # schedule_end_time: Time.now,
3496
- # timezone: "Timezone",
3497
- # schedule_offset: 1,
3498
- # first_execution_from: Time.now,
3499
- # }
3500
- #
3501
4676
  # @!attribute [rw] schedule_expression
3502
4677
  # The scheduling expression that determines the rate at which the
3503
4678
  # schedule will run, for example rate (5 minutes).
@@ -3545,23 +4720,14 @@ module Aws::CustomerProfiles
3545
4720
  include Aws::Structure
3546
4721
  end
3547
4722
 
3548
- # @note When making an API call, you may pass SearchProfilesRequest
3549
- # data as a hash:
3550
- #
3551
- # {
3552
- # next_token: "token",
3553
- # max_results: 1,
3554
- # domain_name: "name", # required
3555
- # key_name: "name", # required
3556
- # values: ["string1To255"], # required
3557
- # }
3558
- #
3559
4723
  # @!attribute [rw] next_token
3560
4724
  # The pagination token from the previous SearchProfiles API call.
3561
4725
  # @return [String]
3562
4726
  #
3563
4727
  # @!attribute [rw] max_results
3564
4728
  # The maximum number of objects returned per page.
4729
+ #
4730
+ # The default is 20 if this parameter is not included in the request.
3565
4731
  # @return [Integer]
3566
4732
  #
3567
4733
  # @!attribute [rw] domain_name
@@ -3570,16 +4736,47 @@ module Aws::CustomerProfiles
3570
4736
  #
3571
4737
  # @!attribute [rw] key_name
3572
4738
  # A searchable identifier of a customer profile. The predefined keys
3573
- # you can use to search include: \_account, \_profileId, \_fullName,
3574
- # \_phone, \_email, \_ctrContactId, \_marketoLeadId,
3575
- # \_salesforceAccountId, \_salesforceContactId, \_zendeskUserId,
3576
- # \_zendeskExternalId, \_serviceNowSystemId.
4739
+ # you can use to search include: \_account, \_profileId, \_assetId,
4740
+ # \_caseId, \_orderId, \_fullName, \_phone, \_email, \_ctrContactId,
4741
+ # \_marketoLeadId, \_salesforceAccountId, \_salesforceContactId,
4742
+ # \_salesforceAssetId, \_zendeskUserId, \_zendeskExternalId,
4743
+ # \_zendeskTicketId, \_serviceNowSystemId, \_serviceNowIncidentId,
4744
+ # \_segmentUserId, \_shopifyCustomerId, \_shopifyOrderId.
3577
4745
  # @return [String]
3578
4746
  #
3579
4747
  # @!attribute [rw] values
3580
4748
  # A list of key values.
3581
4749
  # @return [Array<String>]
3582
4750
  #
4751
+ # @!attribute [rw] additional_search_keys
4752
+ # A list of `AdditionalSearchKey` objects that are each searchable
4753
+ # identifiers of a profile. Each `AdditionalSearchKey` object contains
4754
+ # a `KeyName` and a list of `Values` associated with that specific key
4755
+ # (i.e., a key-value(s) pair). These additional search keys will be
4756
+ # used in conjunction with the `LogicalOperator` and the required
4757
+ # `KeyName` and `Values` parameters to search for profiles that
4758
+ # satisfy the search criteria.
4759
+ # @return [Array<Types::AdditionalSearchKey>]
4760
+ #
4761
+ # @!attribute [rw] logical_operator
4762
+ # Relationship between all specified search keys that will be used to
4763
+ # search for profiles. This includes the required `KeyName` and
4764
+ # `Values` parameters as well as any key-value(s) pairs specified in
4765
+ # the `AdditionalSearchKeys` list.
4766
+ #
4767
+ # This parameter influences which profiles will be returned in the
4768
+ # response in the following manner:
4769
+ #
4770
+ # * `AND` - The response only includes profiles that match all of the
4771
+ # search keys.
4772
+ #
4773
+ # * `OR` - The response includes profiles that match at least one of
4774
+ # the search keys.
4775
+ #
4776
+ # The `OR` relationship is the default behavior if this parameter is
4777
+ # not included in the request.
4778
+ # @return [String]
4779
+ #
3583
4780
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/SearchProfilesRequest AWS API Documentation
3584
4781
  #
3585
4782
  class SearchProfilesRequest < Struct.new(
@@ -3587,13 +4784,15 @@ module Aws::CustomerProfiles
3587
4784
  :max_results,
3588
4785
  :domain_name,
3589
4786
  :key_name,
3590
- :values)
4787
+ :values,
4788
+ :additional_search_keys,
4789
+ :logical_operator)
3591
4790
  SENSITIVE = []
3592
4791
  include Aws::Structure
3593
4792
  end
3594
4793
 
3595
4794
  # @!attribute [rw] items
3596
- # The list of SearchProfiles instances.
4795
+ # The list of Profiles matching the search criteria.
3597
4796
  # @return [Array<Types::Profile>]
3598
4797
  #
3599
4798
  # @!attribute [rw] next_token
@@ -3612,13 +4811,6 @@ module Aws::CustomerProfiles
3612
4811
  # The properties that are applied when ServiceNow is being used as a
3613
4812
  # source.
3614
4813
  #
3615
- # @note When making an API call, you may pass ServiceNowSourceProperties
3616
- # data as a hash:
3617
- #
3618
- # {
3619
- # object: "Object", # required
3620
- # }
3621
- #
3622
4814
  # @!attribute [rw] object
3623
4815
  # The object specified in the ServiceNow flow source.
3624
4816
  # @return [String]
@@ -3635,30 +4827,6 @@ module Aws::CustomerProfiles
3635
4827
  # Amazon AppFlow connector. Customer Profiles supports Salesforce,
3636
4828
  # Zendesk, Marketo, ServiceNow and Amazon S3.
3637
4829
  #
3638
- # @note When making an API call, you may pass SourceConnectorProperties
3639
- # data as a hash:
3640
- #
3641
- # {
3642
- # marketo: {
3643
- # object: "Object", # required
3644
- # },
3645
- # s3: {
3646
- # bucket_name: "BucketName", # required
3647
- # bucket_prefix: "BucketPrefix",
3648
- # },
3649
- # salesforce: {
3650
- # object: "Object", # required
3651
- # enable_dynamic_field_update: false,
3652
- # include_deleted_records: false,
3653
- # },
3654
- # service_now: {
3655
- # object: "Object", # required
3656
- # },
3657
- # zendesk: {
3658
- # object: "Object", # required
3659
- # },
3660
- # }
3661
- #
3662
4830
  # @!attribute [rw] marketo
3663
4831
  # The properties that are applied when Marketo is being used as a
3664
4832
  # source.
@@ -3698,37 +4866,6 @@ module Aws::CustomerProfiles
3698
4866
  # Contains information about the configuration of the source connector
3699
4867
  # used in the flow.
3700
4868
  #
3701
- # @note When making an API call, you may pass SourceFlowConfig
3702
- # data as a hash:
3703
- #
3704
- # {
3705
- # connector_profile_name: "ConnectorProfileName",
3706
- # connector_type: "Salesforce", # required, accepts Salesforce, Marketo, Zendesk, Servicenow, S3
3707
- # incremental_pull_config: {
3708
- # datetime_type_field_name: "DatetimeTypeFieldName",
3709
- # },
3710
- # source_connector_properties: { # required
3711
- # marketo: {
3712
- # object: "Object", # required
3713
- # },
3714
- # s3: {
3715
- # bucket_name: "BucketName", # required
3716
- # bucket_prefix: "BucketPrefix",
3717
- # },
3718
- # salesforce: {
3719
- # object: "Object", # required
3720
- # enable_dynamic_field_update: false,
3721
- # include_deleted_records: false,
3722
- # },
3723
- # service_now: {
3724
- # object: "Object", # required
3725
- # },
3726
- # zendesk: {
3727
- # object: "Object", # required
3728
- # },
3729
- # },
3730
- # }
3731
- #
3732
4869
  # @!attribute [rw] connector_profile_name
3733
4870
  # The name of the AppFlow connector profile. This name must be unique
3734
4871
  # for each connector profile in the AWS account.
@@ -3760,16 +4897,6 @@ module Aws::CustomerProfiles
3760
4897
  include Aws::Structure
3761
4898
  end
3762
4899
 
3763
- # @note When making an API call, you may pass TagResourceRequest
3764
- # data as a hash:
3765
- #
3766
- # {
3767
- # resource_arn: "TagArn", # required
3768
- # tags: { # required
3769
- # "TagKey" => "TagValue",
3770
- # },
3771
- # }
3772
- #
3773
4900
  # @!attribute [rw] resource_arn
3774
4901
  # The ARN of the resource that you're adding tags to.
3775
4902
  # @return [String]
@@ -3795,25 +4922,6 @@ module Aws::CustomerProfiles
3795
4922
  # A class for modeling different type of tasks. Task implementation
3796
4923
  # varies based on the TaskType.
3797
4924
  #
3798
- # @note When making an API call, you may pass Task
3799
- # data as a hash:
3800
- #
3801
- # {
3802
- # connector_operator: {
3803
- # marketo: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3804
- # s3: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3805
- # salesforce: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3806
- # service_now: "PROJECTION", # accepts PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3807
- # zendesk: "PROJECTION", # accepts PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
3808
- # },
3809
- # destination_field: "DestinationField",
3810
- # source_fields: ["stringTo2048"], # required
3811
- # task_properties: {
3812
- # "VALUE" => "Property",
3813
- # },
3814
- # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
3815
- # }
3816
- #
3817
4925
  # @!attribute [rw] connector_operator
3818
4926
  # The operation to be performed on the provided source fields.
3819
4927
  # @return [Types::ConnectorOperator]
@@ -3849,6 +4957,25 @@ module Aws::CustomerProfiles
3849
4957
  include Aws::Structure
3850
4958
  end
3851
4959
 
4960
+ # The threshold for the calculated attribute.
4961
+ #
4962
+ # @!attribute [rw] value
4963
+ # The value of the threshold.
4964
+ # @return [String]
4965
+ #
4966
+ # @!attribute [rw] operator
4967
+ # The operator of the threshold.
4968
+ # @return [String]
4969
+ #
4970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/Threshold AWS API Documentation
4971
+ #
4972
+ class Threshold < Struct.new(
4973
+ :value,
4974
+ :operator)
4975
+ SENSITIVE = []
4976
+ include Aws::Structure
4977
+ end
4978
+
3852
4979
  # You exceeded the maximum number of requests.
3853
4980
  #
3854
4981
  # @!attribute [rw] message
@@ -3865,24 +4992,6 @@ module Aws::CustomerProfiles
3865
4992
  # The trigger settings that determine how and when Amazon AppFlow runs
3866
4993
  # the specified flow.
3867
4994
  #
3868
- # @note When making an API call, you may pass TriggerConfig
3869
- # data as a hash:
3870
- #
3871
- # {
3872
- # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
3873
- # trigger_properties: {
3874
- # scheduled: {
3875
- # schedule_expression: "ScheduleExpression", # required
3876
- # data_pull_mode: "Incremental", # accepts Incremental, Complete
3877
- # schedule_start_time: Time.now,
3878
- # schedule_end_time: Time.now,
3879
- # timezone: "Timezone",
3880
- # schedule_offset: 1,
3881
- # first_execution_from: Time.now,
3882
- # },
3883
- # },
3884
- # }
3885
- #
3886
4995
  # @!attribute [rw] trigger_type
3887
4996
  # Specifies the type of flow trigger. It can be OnDemand, Scheduled,
3888
4997
  # or Event.
@@ -3907,21 +5016,6 @@ module Aws::CustomerProfiles
3907
5016
  # flow. Currently, these settings only apply to the Scheduled trigger
3908
5017
  # type.
3909
5018
  #
3910
- # @note When making an API call, you may pass TriggerProperties
3911
- # data as a hash:
3912
- #
3913
- # {
3914
- # scheduled: {
3915
- # schedule_expression: "ScheduleExpression", # required
3916
- # data_pull_mode: "Incremental", # accepts Incremental, Complete
3917
- # schedule_start_time: Time.now,
3918
- # schedule_end_time: Time.now,
3919
- # timezone: "Timezone",
3920
- # schedule_offset: 1,
3921
- # first_execution_from: Time.now,
3922
- # },
3923
- # }
3924
- #
3925
5019
  # @!attribute [rw] scheduled
3926
5020
  # Specifies the configuration details of a schedule-triggered flow
3927
5021
  # that you define.
@@ -3935,14 +5029,6 @@ module Aws::CustomerProfiles
3935
5029
  include Aws::Structure
3936
5030
  end
3937
5031
 
3938
- # @note When making an API call, you may pass UntagResourceRequest
3939
- # data as a hash:
3940
- #
3941
- # {
3942
- # resource_arn: "TagArn", # required
3943
- # tag_keys: ["TagKey"], # required
3944
- # }
3945
- #
3946
5032
  # @!attribute [rw] resource_arn
3947
5033
  # The ARN of the resource from which you are removing tags.
3948
5034
  # @return [String]
@@ -3966,22 +5052,6 @@ module Aws::CustomerProfiles
3966
5052
 
3967
5053
  # Updates associated with the address properties of a customer profile.
3968
5054
  #
3969
- # @note When making an API call, you may pass UpdateAddress
3970
- # data as a hash:
3971
- #
3972
- # {
3973
- # address_1: "string0To255",
3974
- # address_2: "string0To255",
3975
- # address_3: "string0To255",
3976
- # address_4: "string0To255",
3977
- # city: "string0To255",
3978
- # county: "string0To255",
3979
- # state: "string0To255",
3980
- # province: "string0To255",
3981
- # country: "string0To255",
3982
- # postal_code: "string0To255",
3983
- # }
3984
- #
3985
5055
  # @!attribute [rw] address_1
3986
5056
  # The first line of a customer address.
3987
5057
  # @return [String]
@@ -4039,44 +5109,96 @@ module Aws::CustomerProfiles
4039
5109
  include Aws::Structure
4040
5110
  end
4041
5111
 
4042
- # @note When making an API call, you may pass UpdateDomainRequest
4043
- # data as a hash:
4044
- #
4045
- # {
4046
- # domain_name: "name", # required
4047
- # default_expiration_days: 1,
4048
- # default_encryption_key: "encryptionKey",
4049
- # dead_letter_queue_url: "sqsQueueUrl",
4050
- # matching: {
4051
- # enabled: false, # required
4052
- # job_schedule: {
4053
- # day_of_the_week: "SUNDAY", # required, accepts SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
4054
- # time: "JobScheduleTime", # required
4055
- # },
4056
- # auto_merging: {
4057
- # enabled: false, # required
4058
- # consolidation: {
4059
- # matching_attributes_list: [ # required
4060
- # ["string1To255"],
4061
- # ],
4062
- # },
4063
- # conflict_resolution: {
4064
- # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
4065
- # source_name: "string1To255",
4066
- # },
4067
- # },
4068
- # exporting_config: {
4069
- # s3_exporting: {
4070
- # s3_bucket_name: "s3BucketName", # required
4071
- # s3_key_name: "s3KeyNameCustomerOutputConfig",
4072
- # },
4073
- # },
4074
- # },
4075
- # tags: {
4076
- # "TagKey" => "TagValue",
4077
- # },
4078
- # }
5112
+ # @!attribute [rw] domain_name
5113
+ # The unique name of the domain.
5114
+ # @return [String]
5115
+ #
5116
+ # @!attribute [rw] calculated_attribute_name
5117
+ # The unique name of the calculated attribute.
5118
+ # @return [String]
5119
+ #
5120
+ # @!attribute [rw] display_name
5121
+ # The display name of the calculated attribute.
5122
+ # @return [String]
5123
+ #
5124
+ # @!attribute [rw] description
5125
+ # The description of the calculated attribute.
5126
+ # @return [String]
5127
+ #
5128
+ # @!attribute [rw] conditions
5129
+ # The conditions including range, object count, and threshold for the
5130
+ # calculated attribute.
5131
+ # @return [Types::Conditions]
5132
+ #
5133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateCalculatedAttributeDefinitionRequest AWS API Documentation
5134
+ #
5135
+ class UpdateCalculatedAttributeDefinitionRequest < Struct.new(
5136
+ :domain_name,
5137
+ :calculated_attribute_name,
5138
+ :display_name,
5139
+ :description,
5140
+ :conditions)
5141
+ SENSITIVE = [:description, :conditions]
5142
+ include Aws::Structure
5143
+ end
5144
+
5145
+ # @!attribute [rw] calculated_attribute_name
5146
+ # The unique name of the calculated attribute.
5147
+ # @return [String]
5148
+ #
5149
+ # @!attribute [rw] display_name
5150
+ # The display name of the calculated attribute.
5151
+ # @return [String]
5152
+ #
5153
+ # @!attribute [rw] description
5154
+ # The description of the calculated attribute.
5155
+ # @return [String]
5156
+ #
5157
+ # @!attribute [rw] created_at
5158
+ # The timestamp of when the calculated attribute definition was
5159
+ # created.
5160
+ # @return [Time]
5161
+ #
5162
+ # @!attribute [rw] last_updated_at
5163
+ # The timestamp of when the calculated attribute definition was most
5164
+ # recently edited.
5165
+ # @return [Time]
5166
+ #
5167
+ # @!attribute [rw] statistic
5168
+ # The aggregation operation to perform for the calculated attribute.
5169
+ # @return [String]
5170
+ #
5171
+ # @!attribute [rw] conditions
5172
+ # The conditions including range, object count, and threshold for the
5173
+ # calculated attribute.
5174
+ # @return [Types::Conditions]
5175
+ #
5176
+ # @!attribute [rw] attribute_details
5177
+ # The mathematical expression and a list of attribute items specified
5178
+ # in that expression.
5179
+ # @return [Types::AttributeDetails]
5180
+ #
5181
+ # @!attribute [rw] tags
5182
+ # The tags used to organize, track, or control access for this
5183
+ # resource.
5184
+ # @return [Hash<String,String>]
4079
5185
  #
5186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateCalculatedAttributeDefinitionResponse AWS API Documentation
5187
+ #
5188
+ class UpdateCalculatedAttributeDefinitionResponse < Struct.new(
5189
+ :calculated_attribute_name,
5190
+ :display_name,
5191
+ :description,
5192
+ :created_at,
5193
+ :last_updated_at,
5194
+ :statistic,
5195
+ :conditions,
5196
+ :attribute_details,
5197
+ :tags)
5198
+ SENSITIVE = [:description, :statistic, :conditions, :attribute_details]
5199
+ include Aws::Structure
5200
+ end
5201
+
4080
5202
  # @!attribute [rw] domain_name
4081
5203
  # The unique name of the domain.
4082
5204
  # @return [String]
@@ -4119,6 +5241,17 @@ module Aws::CustomerProfiles
4119
5241
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
4120
5242
  # @return [Types::MatchingRequest]
4121
5243
  #
5244
+ # @!attribute [rw] rule_based_matching
5245
+ # The process of matching duplicate profiles using the rule-Based
5246
+ # matching. If `RuleBasedMatching` = true, Amazon Connect Customer
5247
+ # Profiles will start to match and merge your profiles according to
5248
+ # your configuration in the `RuleBasedMatchingRequest`. You can use
5249
+ # the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
5250
+ # and review the results. Also, if you have configured
5251
+ # `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
5252
+ # download the results from S3.
5253
+ # @return [Types::RuleBasedMatchingRequest]
5254
+ #
4122
5255
  # @!attribute [rw] tags
4123
5256
  # The tags used to organize, track, or control access for this
4124
5257
  # resource.
@@ -4132,6 +5265,7 @@ module Aws::CustomerProfiles
4132
5265
  :default_encryption_key,
4133
5266
  :dead_letter_queue_url,
4134
5267
  :matching,
5268
+ :rule_based_matching,
4135
5269
  :tags)
4136
5270
  SENSITIVE = []
4137
5271
  include Aws::Structure
@@ -4174,6 +5308,17 @@ module Aws::CustomerProfiles
4174
5308
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
4175
5309
  # @return [Types::MatchingResponse]
4176
5310
  #
5311
+ # @!attribute [rw] rule_based_matching
5312
+ # The process of matching duplicate profiles using the rule-Based
5313
+ # matching. If `RuleBasedMatching` = true, Amazon Connect Customer
5314
+ # Profiles will start to match and merge your profiles according to
5315
+ # your configuration in the `RuleBasedMatchingRequest`. You can use
5316
+ # the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
5317
+ # and review the results. Also, if you have configured
5318
+ # `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
5319
+ # download the results from S3.
5320
+ # @return [Types::RuleBasedMatchingResponse]
5321
+ #
4177
5322
  # @!attribute [rw] created_at
4178
5323
  # The timestamp of when the domain was created.
4179
5324
  # @return [Time]
@@ -4195,6 +5340,7 @@ module Aws::CustomerProfiles
4195
5340
  :default_encryption_key,
4196
5341
  :dead_letter_queue_url,
4197
5342
  :matching,
5343
+ :rule_based_matching,
4198
5344
  :created_at,
4199
5345
  :last_updated_at,
4200
5346
  :tags)
@@ -4202,81 +5348,6 @@ module Aws::CustomerProfiles
4202
5348
  include Aws::Structure
4203
5349
  end
4204
5350
 
4205
- # @note When making an API call, you may pass UpdateProfileRequest
4206
- # data as a hash:
4207
- #
4208
- # {
4209
- # domain_name: "name", # required
4210
- # profile_id: "uuid", # required
4211
- # additional_information: "string0To1000",
4212
- # account_number: "string0To255",
4213
- # party_type: "INDIVIDUAL", # accepts INDIVIDUAL, BUSINESS, OTHER
4214
- # business_name: "string0To255",
4215
- # first_name: "string0To255",
4216
- # middle_name: "string0To255",
4217
- # last_name: "string0To255",
4218
- # birth_date: "string0To255",
4219
- # gender: "MALE", # accepts MALE, FEMALE, UNSPECIFIED
4220
- # phone_number: "string0To255",
4221
- # mobile_phone_number: "string0To255",
4222
- # home_phone_number: "string0To255",
4223
- # business_phone_number: "string0To255",
4224
- # email_address: "string0To255",
4225
- # personal_email_address: "string0To255",
4226
- # business_email_address: "string0To255",
4227
- # address: {
4228
- # address_1: "string0To255",
4229
- # address_2: "string0To255",
4230
- # address_3: "string0To255",
4231
- # address_4: "string0To255",
4232
- # city: "string0To255",
4233
- # county: "string0To255",
4234
- # state: "string0To255",
4235
- # province: "string0To255",
4236
- # country: "string0To255",
4237
- # postal_code: "string0To255",
4238
- # },
4239
- # shipping_address: {
4240
- # address_1: "string0To255",
4241
- # address_2: "string0To255",
4242
- # address_3: "string0To255",
4243
- # address_4: "string0To255",
4244
- # city: "string0To255",
4245
- # county: "string0To255",
4246
- # state: "string0To255",
4247
- # province: "string0To255",
4248
- # country: "string0To255",
4249
- # postal_code: "string0To255",
4250
- # },
4251
- # mailing_address: {
4252
- # address_1: "string0To255",
4253
- # address_2: "string0To255",
4254
- # address_3: "string0To255",
4255
- # address_4: "string0To255",
4256
- # city: "string0To255",
4257
- # county: "string0To255",
4258
- # state: "string0To255",
4259
- # province: "string0To255",
4260
- # country: "string0To255",
4261
- # postal_code: "string0To255",
4262
- # },
4263
- # billing_address: {
4264
- # address_1: "string0To255",
4265
- # address_2: "string0To255",
4266
- # address_3: "string0To255",
4267
- # address_4: "string0To255",
4268
- # city: "string0To255",
4269
- # county: "string0To255",
4270
- # state: "string0To255",
4271
- # province: "string0To255",
4272
- # country: "string0To255",
4273
- # postal_code: "string0To255",
4274
- # },
4275
- # attributes: {
4276
- # "string1To255" => "string0To255",
4277
- # },
4278
- # }
4279
- #
4280
5351
  # @!attribute [rw] domain_name
4281
5352
  # The unique name of the domain.
4282
5353
  # @return [String]
@@ -4372,6 +5443,14 @@ module Aws::CustomerProfiles
4372
5443
  # A key value pair of attributes of a customer profile.
4373
5444
  # @return [Hash<String,String>]
4374
5445
  #
5446
+ # @!attribute [rw] party_type_string
5447
+ # An alternative to `PartyType` which accepts any string as input.
5448
+ # @return [String]
5449
+ #
5450
+ # @!attribute [rw] gender_string
5451
+ # An alternative to `Gender` which accepts any string as input.
5452
+ # @return [String]
5453
+ #
4375
5454
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateProfileRequest AWS API Documentation
4376
5455
  #
4377
5456
  class UpdateProfileRequest < Struct.new(
@@ -4397,8 +5476,10 @@ module Aws::CustomerProfiles
4397
5476
  :shipping_address,
4398
5477
  :mailing_address,
4399
5478
  :billing_address,
4400
- :attributes)
4401
- SENSITIVE = []
5479
+ :attributes,
5480
+ :party_type_string,
5481
+ :gender_string)
5482
+ SENSITIVE = [:additional_information, :account_number, :party_type, :business_name, :first_name, :middle_name, :last_name, :birth_date, :gender, :phone_number, :mobile_phone_number, :home_phone_number, :business_phone_number, :email_address, :personal_email_address, :business_email_address, :address, :shipping_address, :mailing_address, :billing_address, :attributes, :party_type_string, :gender_string]
4402
5483
  include Aws::Structure
4403
5484
  end
4404
5485
 
@@ -4414,14 +5495,50 @@ module Aws::CustomerProfiles
4414
5495
  include Aws::Structure
4415
5496
  end
4416
5497
 
4417
- # The properties that are applied when using Zendesk as a flow source.
5498
+ # Structure to hold workflow attributes.
5499
+ #
5500
+ # @!attribute [rw] appflow_integration
5501
+ # Workflow attributes specific to `APPFLOW_INTEGRATION` workflow.
5502
+ # @return [Types::AppflowIntegrationWorkflowAttributes]
5503
+ #
5504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/WorkflowAttributes AWS API Documentation
5505
+ #
5506
+ class WorkflowAttributes < Struct.new(
5507
+ :appflow_integration)
5508
+ SENSITIVE = []
5509
+ include Aws::Structure
5510
+ end
5511
+
5512
+ # Generic object containing workflow execution metrics.
5513
+ #
5514
+ # @!attribute [rw] appflow_integration
5515
+ # Workflow execution metrics for `APPFLOW_INTEGRATION` workflow.
5516
+ # @return [Types::AppflowIntegrationWorkflowMetrics]
5517
+ #
5518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/WorkflowMetrics AWS API Documentation
5519
+ #
5520
+ class WorkflowMetrics < Struct.new(
5521
+ :appflow_integration)
5522
+ SENSITIVE = []
5523
+ include Aws::Structure
5524
+ end
5525
+
5526
+ # List containing steps in workflow.
4418
5527
  #
4419
- # @note When making an API call, you may pass ZendeskSourceProperties
4420
- # data as a hash:
5528
+ # @!attribute [rw] appflow_integration
5529
+ # Workflow step information specific to `APPFLOW_INTEGRATION`
5530
+ # workflow.
5531
+ # @return [Types::AppflowIntegrationWorkflowStep]
4421
5532
  #
4422
- # {
4423
- # object: "Object", # required
4424
- # }
5533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/WorkflowStepItem AWS API Documentation
5534
+ #
5535
+ class WorkflowStepItem < Struct.new(
5536
+ :appflow_integration)
5537
+ SENSITIVE = []
5538
+ include Aws::Structure
5539
+ end
5540
+
5541
+ # The properties that are applied when using Zendesk as a flow source.
4425
5542
  #
4426
5543
  # @!attribute [rw] object
4427
5544
  # The object specified in the Zendesk flow source.