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.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:customerprofiles)
@@ -73,8 +77,13 @@ module Aws::CustomerProfiles
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::CustomerProfiles::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::CustomerProfiles
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::CustomerProfiles
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::CustomerProfiles
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::CustomerProfiles
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::CustomerProfiles
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::CustomerProfiles
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::CustomerProfiles::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CustomerProfiles::EndpointParameters`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::CustomerProfiles
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::CustomerProfiles
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -339,7 +389,7 @@ module Aws::CustomerProfiles
339
389
  # @!group API Operations
340
390
 
341
391
  # Associates a new key value with a specific profile, such as a Contact
342
- # Trace Record (CTR) ContactId.
392
+ # Record ContactId.
343
393
  #
344
394
  # A profile object can have a single unique key and any number of
345
395
  # additional keys that can be used to identify the profile that it
@@ -349,7 +399,13 @@ module Aws::CustomerProfiles
349
399
  # The unique identifier of a customer profile.
350
400
  #
351
401
  # @option params [required, String] :key_name
352
- # A searchable identifier of a customer profile.
402
+ # A searchable identifier of a customer profile. The predefined keys you
403
+ # can use include: \_account, \_profileId, \_assetId, \_caseId,
404
+ # \_orderId, \_fullName, \_phone, \_email, \_ctrContactId,
405
+ # \_marketoLeadId, \_salesforceAccountId, \_salesforceContactId,
406
+ # \_salesforceAssetId, \_zendeskUserId, \_zendeskExternalId,
407
+ # \_zendeskTicketId, \_serviceNowSystemId, \_serviceNowIncidentId,
408
+ # \_segmentUserId, \_shopifyCustomerId, \_shopifyOrderId.
353
409
  #
354
410
  # @option params [required, Array<String>] :values
355
411
  # A list of key values.
@@ -386,6 +442,116 @@ module Aws::CustomerProfiles
386
442
  req.send_request(options)
387
443
  end
388
444
 
445
+ # Creates a new calculated attribute definition. After creation, new
446
+ # object data ingested into Customer Profiles will be included in the
447
+ # calculated attribute, which can be retrieved for a profile using the
448
+ # [GetCalculatedAttributeForProfile][1] API. Defining a calculated
449
+ # attribute makes it available for all profiles within a domain. Each
450
+ # calculated attribute can only reference one `ObjectType` and at most,
451
+ # two fields from that `ObjectType`.
452
+ #
453
+ #
454
+ #
455
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetCalculatedAttributeForProfile.html
456
+ #
457
+ # @option params [required, String] :domain_name
458
+ # The unique name of the domain.
459
+ #
460
+ # @option params [required, String] :calculated_attribute_name
461
+ # The unique name of the calculated attribute.
462
+ #
463
+ # @option params [String] :display_name
464
+ # The display name of the calculated attribute.
465
+ #
466
+ # @option params [String] :description
467
+ # The description of the calculated attribute.
468
+ #
469
+ # @option params [required, Types::AttributeDetails] :attribute_details
470
+ # Mathematical expression and a list of attribute items specified in
471
+ # that expression.
472
+ #
473
+ # @option params [Types::Conditions] :conditions
474
+ # The conditions including range, object count, and threshold for the
475
+ # calculated attribute.
476
+ #
477
+ # @option params [required, String] :statistic
478
+ # The aggregation operation to perform for the calculated attribute.
479
+ #
480
+ # @option params [Hash<String,String>] :tags
481
+ # The tags used to organize, track, or control access for this resource.
482
+ #
483
+ # @return [Types::CreateCalculatedAttributeDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
484
+ #
485
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#calculated_attribute_name #calculated_attribute_name} => String
486
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#display_name #display_name} => String
487
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#description #description} => String
488
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#attribute_details #attribute_details} => Types::AttributeDetails
489
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#conditions #conditions} => Types::Conditions
490
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#statistic #statistic} => String
491
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#created_at #created_at} => Time
492
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#last_updated_at #last_updated_at} => Time
493
+ # * {Types::CreateCalculatedAttributeDefinitionResponse#tags #tags} => Hash&lt;String,String&gt;
494
+ #
495
+ # @example Request syntax with placeholder values
496
+ #
497
+ # resp = client.create_calculated_attribute_definition({
498
+ # domain_name: "name", # required
499
+ # calculated_attribute_name: "typeName", # required
500
+ # display_name: "displayName",
501
+ # description: "sensitiveText",
502
+ # attribute_details: { # required
503
+ # attributes: [ # required
504
+ # {
505
+ # name: "attributeName", # required
506
+ # },
507
+ # ],
508
+ # expression: "string1To255", # required
509
+ # },
510
+ # conditions: {
511
+ # range: {
512
+ # value: 1, # required
513
+ # unit: "DAYS", # required, accepts DAYS
514
+ # },
515
+ # object_count: 1,
516
+ # threshold: {
517
+ # value: "string1To255", # required
518
+ # operator: "EQUAL_TO", # required, accepts EQUAL_TO, GREATER_THAN, LESS_THAN, NOT_EQUAL_TO
519
+ # },
520
+ # },
521
+ # statistic: "FIRST_OCCURRENCE", # required, accepts FIRST_OCCURRENCE, LAST_OCCURRENCE, COUNT, SUM, MINIMUM, MAXIMUM, AVERAGE, MAX_OCCURRENCE
522
+ # tags: {
523
+ # "TagKey" => "TagValue",
524
+ # },
525
+ # })
526
+ #
527
+ # @example Response structure
528
+ #
529
+ # resp.calculated_attribute_name #=> String
530
+ # resp.display_name #=> String
531
+ # resp.description #=> String
532
+ # resp.attribute_details.attributes #=> Array
533
+ # resp.attribute_details.attributes[0].name #=> String
534
+ # resp.attribute_details.expression #=> String
535
+ # resp.conditions.range.value #=> Integer
536
+ # resp.conditions.range.unit #=> String, one of "DAYS"
537
+ # resp.conditions.object_count #=> Integer
538
+ # resp.conditions.threshold.value #=> String
539
+ # resp.conditions.threshold.operator #=> String, one of "EQUAL_TO", "GREATER_THAN", "LESS_THAN", "NOT_EQUAL_TO"
540
+ # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE"
541
+ # resp.created_at #=> Time
542
+ # resp.last_updated_at #=> Time
543
+ # resp.tags #=> Hash
544
+ # resp.tags["TagKey"] #=> String
545
+ #
546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateCalculatedAttributeDefinition AWS API Documentation
547
+ #
548
+ # @overload create_calculated_attribute_definition(params = {})
549
+ # @param [Hash] params ({})
550
+ def create_calculated_attribute_definition(params = {}, options = {})
551
+ req = build_request(:create_calculated_attribute_definition, params)
552
+ req.send_request(options)
553
+ end
554
+
389
555
  # Creates a domain, which is a container for all customer data, such as
390
556
  # customer profile attributes, object types, profile keys, and
391
557
  # encryption keys. You can create multiple domains, and each domain can
@@ -394,7 +560,7 @@ module Aws::CustomerProfiles
394
560
  # Each Amazon Connect instance can be associated with only one domain.
395
561
  # Multiple Amazon Connect instances can be associated with one domain.
396
562
  #
397
- # Use this API or [UpdateDomain][1] to enable [identity resolution][2]\:
563
+ # Use this API or [UpdateDomain][1] to enable [identity resolution][2]:
398
564
  # set `Matching` to true.
399
565
  #
400
566
  # To prevent cross-service impersonation when you call this API, see
@@ -441,6 +607,15 @@ module Aws::CustomerProfiles
441
607
  #
442
608
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
443
609
  #
610
+ # @option params [Types::RuleBasedMatchingRequest] :rule_based_matching
611
+ # The process of matching duplicate profiles using the Rule-Based
612
+ # matching. If `RuleBasedMatching` = true, Amazon Connect Customer
613
+ # Profiles will start to match and merge your profiles according to your
614
+ # configuration in the `RuleBasedMatchingRequest`. You can use the
615
+ # `ListRuleBasedMatches` and `GetSimilarProfiles` API to return and
616
+ # review the results. Also, if you have configured `ExportingConfig` in
617
+ # the `RuleBasedMatchingRequest`, you can download the results from S3.
618
+ #
444
619
  # @option params [Hash<String,String>] :tags
445
620
  # The tags used to organize, track, or control access for this resource.
446
621
  #
@@ -451,6 +626,7 @@ module Aws::CustomerProfiles
451
626
  # * {Types::CreateDomainResponse#default_encryption_key #default_encryption_key} => String
452
627
  # * {Types::CreateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
453
628
  # * {Types::CreateDomainResponse#matching #matching} => Types::MatchingResponse
629
+ # * {Types::CreateDomainResponse#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse
454
630
  # * {Types::CreateDomainResponse#created_at #created_at} => Time
455
631
  # * {Types::CreateDomainResponse#last_updated_at #last_updated_at} => Time
456
632
  # * {Types::CreateDomainResponse#tags #tags} => Hash&lt;String,String&gt;
@@ -479,6 +655,33 @@ module Aws::CustomerProfiles
479
655
  # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
480
656
  # source_name: "string1To255",
481
657
  # },
658
+ # min_allowed_confidence_score_for_merging: 1.0,
659
+ # },
660
+ # exporting_config: {
661
+ # s3_exporting: {
662
+ # s3_bucket_name: "s3BucketName", # required
663
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
664
+ # },
665
+ # },
666
+ # },
667
+ # rule_based_matching: {
668
+ # enabled: false, # required
669
+ # matching_rules: [
670
+ # {
671
+ # rule: ["string1To255"], # required
672
+ # },
673
+ # ],
674
+ # max_allowed_rule_level_for_merging: 1,
675
+ # max_allowed_rule_level_for_matching: 1,
676
+ # attribute_types_selector: {
677
+ # attribute_matching_model: "ONE_TO_ONE", # required, accepts ONE_TO_ONE, MANY_TO_MANY
678
+ # address: ["string1To255"],
679
+ # phone_number: ["string1To255"],
680
+ # email_address: ["string1To255"],
681
+ # },
682
+ # conflict_resolution: {
683
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
684
+ # source_name: "string1To255",
482
685
  # },
483
686
  # exporting_config: {
484
687
  # s3_exporting: {
@@ -507,8 +710,27 @@ module Aws::CustomerProfiles
507
710
  # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
508
711
  # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
509
712
  # resp.matching.auto_merging.conflict_resolution.source_name #=> String
713
+ # resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float
510
714
  # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
511
715
  # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
716
+ # resp.rule_based_matching.enabled #=> Boolean
717
+ # resp.rule_based_matching.matching_rules #=> Array
718
+ # resp.rule_based_matching.matching_rules[0].rule #=> Array
719
+ # resp.rule_based_matching.matching_rules[0].rule[0] #=> String
720
+ # resp.rule_based_matching.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE"
721
+ # resp.rule_based_matching.max_allowed_rule_level_for_merging #=> Integer
722
+ # resp.rule_based_matching.max_allowed_rule_level_for_matching #=> Integer
723
+ # resp.rule_based_matching.attribute_types_selector.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY"
724
+ # resp.rule_based_matching.attribute_types_selector.address #=> Array
725
+ # resp.rule_based_matching.attribute_types_selector.address[0] #=> String
726
+ # resp.rule_based_matching.attribute_types_selector.phone_number #=> Array
727
+ # resp.rule_based_matching.attribute_types_selector.phone_number[0] #=> String
728
+ # resp.rule_based_matching.attribute_types_selector.email_address #=> Array
729
+ # resp.rule_based_matching.attribute_types_selector.email_address[0] #=> String
730
+ # resp.rule_based_matching.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
731
+ # resp.rule_based_matching.conflict_resolution.source_name #=> String
732
+ # resp.rule_based_matching.exporting_config.s3_exporting.s3_bucket_name #=> String
733
+ # resp.rule_based_matching.exporting_config.s3_exporting.s3_key_name #=> String
512
734
  # resp.created_at #=> Time
513
735
  # resp.last_updated_at #=> Time
514
736
  # resp.tags #=> Hash
@@ -523,6 +745,188 @@ module Aws::CustomerProfiles
523
745
  req.send_request(options)
524
746
  end
525
747
 
748
+ # Creates an event stream, which is a subscription to real-time events,
749
+ # such as when profiles are created and updated through Amazon Connect
750
+ # Customer Profiles.
751
+ #
752
+ # Each event stream can be associated with only one Kinesis Data Stream
753
+ # destination in the same region and Amazon Web Services account as the
754
+ # customer profiles domain
755
+ #
756
+ # @option params [required, String] :domain_name
757
+ # The unique name of the domain.
758
+ #
759
+ # @option params [required, String] :uri
760
+ # The StreamARN of the destination to deliver profile events to. For
761
+ # example, arn:aws:kinesis:region:account-id:stream/stream-name
762
+ #
763
+ # @option params [required, String] :event_stream_name
764
+ # The name of the event stream.
765
+ #
766
+ # @option params [Hash<String,String>] :tags
767
+ # The tags used to organize, track, or control access for this resource.
768
+ #
769
+ # @return [Types::CreateEventStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
770
+ #
771
+ # * {Types::CreateEventStreamResponse#event_stream_arn #event_stream_arn} => String
772
+ # * {Types::CreateEventStreamResponse#tags #tags} => Hash&lt;String,String&gt;
773
+ #
774
+ # @example Request syntax with placeholder values
775
+ #
776
+ # resp = client.create_event_stream({
777
+ # domain_name: "name", # required
778
+ # uri: "string1To255", # required
779
+ # event_stream_name: "name", # required
780
+ # tags: {
781
+ # "TagKey" => "TagValue",
782
+ # },
783
+ # })
784
+ #
785
+ # @example Response structure
786
+ #
787
+ # resp.event_stream_arn #=> String
788
+ # resp.tags #=> Hash
789
+ # resp.tags["TagKey"] #=> String
790
+ #
791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateEventStream AWS API Documentation
792
+ #
793
+ # @overload create_event_stream(params = {})
794
+ # @param [Hash] params ({})
795
+ def create_event_stream(params = {}, options = {})
796
+ req = build_request(:create_event_stream, params)
797
+ req.send_request(options)
798
+ end
799
+
800
+ # Creates an integration workflow. An integration workflow is an async
801
+ # process which ingests historic data and sets up an integration for
802
+ # ongoing updates. The supported Amazon AppFlow sources are Salesforce,
803
+ # ServiceNow, and Marketo.
804
+ #
805
+ # @option params [required, String] :domain_name
806
+ # The unique name of the domain.
807
+ #
808
+ # @option params [required, String] :workflow_type
809
+ # The type of workflow. The only supported value is
810
+ # APPFLOW\_INTEGRATION.
811
+ #
812
+ # @option params [required, Types::IntegrationConfig] :integration_config
813
+ # Configuration data for integration workflow.
814
+ #
815
+ # @option params [required, String] :object_type_name
816
+ # The name of the profile object type.
817
+ #
818
+ # @option params [required, String] :role_arn
819
+ # The Amazon Resource Name (ARN) of the IAM role. Customer Profiles
820
+ # assumes this role to create resources on your behalf as part of
821
+ # workflow execution.
822
+ #
823
+ # @option params [Hash<String,String>] :tags
824
+ # The tags used to organize, track, or control access for this resource.
825
+ #
826
+ # @return [Types::CreateIntegrationWorkflowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
827
+ #
828
+ # * {Types::CreateIntegrationWorkflowResponse#workflow_id #workflow_id} => String
829
+ # * {Types::CreateIntegrationWorkflowResponse#message #message} => String
830
+ #
831
+ # @example Request syntax with placeholder values
832
+ #
833
+ # resp = client.create_integration_workflow({
834
+ # domain_name: "name", # required
835
+ # workflow_type: "APPFLOW_INTEGRATION", # required, accepts APPFLOW_INTEGRATION
836
+ # integration_config: { # required
837
+ # appflow_integration: {
838
+ # flow_definition: { # required
839
+ # description: "FlowDescription",
840
+ # flow_name: "FlowName", # required
841
+ # kms_arn: "KmsArn", # required
842
+ # source_flow_config: { # required
843
+ # connector_profile_name: "ConnectorProfileName",
844
+ # connector_type: "Salesforce", # required, accepts Salesforce, Marketo, Zendesk, Servicenow, S3
845
+ # incremental_pull_config: {
846
+ # datetime_type_field_name: "DatetimeTypeFieldName",
847
+ # },
848
+ # source_connector_properties: { # required
849
+ # marketo: {
850
+ # object: "Object", # required
851
+ # },
852
+ # s3: {
853
+ # bucket_name: "BucketName", # required
854
+ # bucket_prefix: "BucketPrefix",
855
+ # },
856
+ # salesforce: {
857
+ # object: "Object", # required
858
+ # enable_dynamic_field_update: false,
859
+ # include_deleted_records: false,
860
+ # },
861
+ # service_now: {
862
+ # object: "Object", # required
863
+ # },
864
+ # zendesk: {
865
+ # object: "Object", # required
866
+ # },
867
+ # },
868
+ # },
869
+ # tasks: [ # required
870
+ # {
871
+ # connector_operator: {
872
+ # 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
873
+ # 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
874
+ # 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
875
+ # 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
876
+ # 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
877
+ # },
878
+ # destination_field: "DestinationField",
879
+ # source_fields: ["stringTo2048"], # required
880
+ # task_properties: {
881
+ # "VALUE" => "Property",
882
+ # },
883
+ # task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Mask, Merge, Truncate, Validate
884
+ # },
885
+ # ],
886
+ # trigger_config: { # required
887
+ # trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
888
+ # trigger_properties: {
889
+ # scheduled: {
890
+ # schedule_expression: "ScheduleExpression", # required
891
+ # data_pull_mode: "Incremental", # accepts Incremental, Complete
892
+ # schedule_start_time: Time.now,
893
+ # schedule_end_time: Time.now,
894
+ # timezone: "Timezone",
895
+ # schedule_offset: 1,
896
+ # first_execution_from: Time.now,
897
+ # },
898
+ # },
899
+ # },
900
+ # },
901
+ # batches: [
902
+ # {
903
+ # start_time: Time.now, # required
904
+ # end_time: Time.now, # required
905
+ # },
906
+ # ],
907
+ # },
908
+ # },
909
+ # object_type_name: "typeName", # required
910
+ # role_arn: "RoleArn", # required
911
+ # tags: {
912
+ # "TagKey" => "TagValue",
913
+ # },
914
+ # })
915
+ #
916
+ # @example Response structure
917
+ #
918
+ # resp.workflow_id #=> String
919
+ # resp.message #=> String
920
+ #
921
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/CreateIntegrationWorkflow AWS API Documentation
922
+ #
923
+ # @overload create_integration_workflow(params = {})
924
+ # @param [Hash] params ({})
925
+ def create_integration_workflow(params = {}, options = {})
926
+ req = build_request(:create_integration_workflow, params)
927
+ req.send_request(options)
928
+ end
929
+
526
930
  # Creates a standard profile.
527
931
  #
528
932
  # A standard profile represents the following attributes for a customer
@@ -597,6 +1001,12 @@ module Aws::CustomerProfiles
597
1001
  # @option params [Hash<String,String>] :attributes
598
1002
  # A key value pair of attributes of a customer profile.
599
1003
  #
1004
+ # @option params [String] :party_type_string
1005
+ # An alternative to `PartyType` which accepts any string as input.
1006
+ #
1007
+ # @option params [String] :gender_string
1008
+ # An alternative to `Gender` which accepts any string as input.
1009
+ #
600
1010
  # @return [Types::CreateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
601
1011
  #
602
1012
  # * {Types::CreateProfileResponse#profile_id #profile_id} => String
@@ -605,22 +1015,22 @@ module Aws::CustomerProfiles
605
1015
  #
606
1016
  # resp = client.create_profile({
607
1017
  # domain_name: "name", # required
608
- # account_number: "string1To255",
609
- # additional_information: "string1To1000",
1018
+ # account_number: "sensitiveString1To255",
1019
+ # additional_information: "sensitiveString1To1000",
610
1020
  # party_type: "INDIVIDUAL", # accepts INDIVIDUAL, BUSINESS, OTHER
611
- # business_name: "string1To255",
612
- # first_name: "string1To255",
613
- # middle_name: "string1To255",
614
- # last_name: "string1To255",
615
- # birth_date: "string1To255",
1021
+ # business_name: "sensitiveString1To255",
1022
+ # first_name: "sensitiveString1To255",
1023
+ # middle_name: "sensitiveString1To255",
1024
+ # last_name: "sensitiveString1To255",
1025
+ # birth_date: "sensitiveString1To255",
616
1026
  # gender: "MALE", # accepts MALE, FEMALE, UNSPECIFIED
617
- # phone_number: "string1To255",
618
- # mobile_phone_number: "string1To255",
619
- # home_phone_number: "string1To255",
620
- # business_phone_number: "string1To255",
621
- # email_address: "string1To255",
622
- # personal_email_address: "string1To255",
623
- # business_email_address: "string1To255",
1027
+ # phone_number: "sensitiveString1To255",
1028
+ # mobile_phone_number: "sensitiveString1To255",
1029
+ # home_phone_number: "sensitiveString1To255",
1030
+ # business_phone_number: "sensitiveString1To255",
1031
+ # email_address: "sensitiveString1To255",
1032
+ # personal_email_address: "sensitiveString1To255",
1033
+ # business_email_address: "sensitiveString1To255",
624
1034
  # address: {
625
1035
  # address_1: "string1To255",
626
1036
  # address_2: "string1To255",
@@ -672,6 +1082,8 @@ module Aws::CustomerProfiles
672
1082
  # attributes: {
673
1083
  # "string1To255" => "string1To255",
674
1084
  # },
1085
+ # party_type_string: "sensitiveString1To255",
1086
+ # gender_string: "sensitiveString1To255",
675
1087
  # })
676
1088
  #
677
1089
  # @example Response structure
@@ -687,6 +1099,36 @@ module Aws::CustomerProfiles
687
1099
  req.send_request(options)
688
1100
  end
689
1101
 
1102
+ # Deletes an existing calculated attribute definition. Note that
1103
+ # deleting a default calculated attribute is possible, however once
1104
+ # deleted, you will be unable to undo that action and will need to
1105
+ # recreate it on your own using the CreateCalculatedAttributeDefinition
1106
+ # API if you want it back.
1107
+ #
1108
+ # @option params [required, String] :domain_name
1109
+ # The unique name of the domain.
1110
+ #
1111
+ # @option params [required, String] :calculated_attribute_name
1112
+ # The unique name of the calculated attribute.
1113
+ #
1114
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1115
+ #
1116
+ # @example Request syntax with placeholder values
1117
+ #
1118
+ # resp = client.delete_calculated_attribute_definition({
1119
+ # domain_name: "name", # required
1120
+ # calculated_attribute_name: "typeName", # required
1121
+ # })
1122
+ #
1123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteCalculatedAttributeDefinition AWS API Documentation
1124
+ #
1125
+ # @overload delete_calculated_attribute_definition(params = {})
1126
+ # @param [Hash] params ({})
1127
+ def delete_calculated_attribute_definition(params = {}, options = {})
1128
+ req = build_request(:delete_calculated_attribute_definition, params)
1129
+ req.send_request(options)
1130
+ end
1131
+
690
1132
  # Deletes a specific domain and all of its customer data, such as
691
1133
  # customer profile attributes and their related objects.
692
1134
  #
@@ -716,6 +1158,32 @@ module Aws::CustomerProfiles
716
1158
  req.send_request(options)
717
1159
  end
718
1160
 
1161
+ # Disables and deletes the specified event stream.
1162
+ #
1163
+ # @option params [required, String] :domain_name
1164
+ # The unique name of the domain.
1165
+ #
1166
+ # @option params [required, String] :event_stream_name
1167
+ # The name of the event stream
1168
+ #
1169
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1170
+ #
1171
+ # @example Request syntax with placeholder values
1172
+ #
1173
+ # resp = client.delete_event_stream({
1174
+ # domain_name: "name", # required
1175
+ # event_stream_name: "name", # required
1176
+ # })
1177
+ #
1178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteEventStream AWS API Documentation
1179
+ #
1180
+ # @overload delete_event_stream(params = {})
1181
+ # @param [Hash] params ({})
1182
+ def delete_event_stream(params = {}, options = {})
1183
+ req = build_request(:delete_event_stream, params)
1184
+ req.send_request(options)
1185
+ end
1186
+
719
1187
  # Removes an integration from a specific domain.
720
1188
  #
721
1189
  # @option params [required, String] :domain_name
@@ -898,6 +1366,33 @@ module Aws::CustomerProfiles
898
1366
  req.send_request(options)
899
1367
  end
900
1368
 
1369
+ # Deletes the specified workflow and all its corresponding resources.
1370
+ # This is an async process.
1371
+ #
1372
+ # @option params [required, String] :domain_name
1373
+ # The unique name of the domain.
1374
+ #
1375
+ # @option params [required, String] :workflow_id
1376
+ # Unique identifier for the workflow.
1377
+ #
1378
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1379
+ #
1380
+ # @example Request syntax with placeholder values
1381
+ #
1382
+ # resp = client.delete_workflow({
1383
+ # domain_name: "name", # required
1384
+ # workflow_id: "string1To255", # required
1385
+ # })
1386
+ #
1387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteWorkflow AWS API Documentation
1388
+ #
1389
+ # @overload delete_workflow(params = {})
1390
+ # @param [Hash] params ({})
1391
+ def delete_workflow(params = {}, options = {})
1392
+ req = build_request(:delete_workflow, params)
1393
+ req.send_request(options)
1394
+ end
1395
+
901
1396
  # Tests the auto-merging settings of your Identity Resolution Job
902
1397
  # without merging your data. It randomly selects a sample of matching
903
1398
  # groups from the existing matching results, and applies the automerging
@@ -925,6 +1420,10 @@ module Aws::CustomerProfiles
925
1420
  # How the auto-merging process should resolve conflicts between
926
1421
  # different profiles.
927
1422
  #
1423
+ # @option params [Float] :min_allowed_confidence_score_for_merging
1424
+ # Minimum confidence score required for profiles within a matching group
1425
+ # to be merged during the auto-merge process.
1426
+ #
928
1427
  # @return [Types::GetAutoMergingPreviewResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
929
1428
  #
930
1429
  # * {Types::GetAutoMergingPreviewResponse#domain_name #domain_name} => String
@@ -945,6 +1444,7 @@ module Aws::CustomerProfiles
945
1444
  # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
946
1445
  # source_name: "string1To255",
947
1446
  # },
1447
+ # min_allowed_confidence_score_for_merging: 1.0,
948
1448
  # })
949
1449
  #
950
1450
  # @example Response structure
@@ -963,6 +1463,104 @@ module Aws::CustomerProfiles
963
1463
  req.send_request(options)
964
1464
  end
965
1465
 
1466
+ # Provides more information on a calculated attribute definition for
1467
+ # Customer Profiles.
1468
+ #
1469
+ # @option params [required, String] :domain_name
1470
+ # The unique name of the domain.
1471
+ #
1472
+ # @option params [required, String] :calculated_attribute_name
1473
+ # The unique name of the calculated attribute.
1474
+ #
1475
+ # @return [Types::GetCalculatedAttributeDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1476
+ #
1477
+ # * {Types::GetCalculatedAttributeDefinitionResponse#calculated_attribute_name #calculated_attribute_name} => String
1478
+ # * {Types::GetCalculatedAttributeDefinitionResponse#display_name #display_name} => String
1479
+ # * {Types::GetCalculatedAttributeDefinitionResponse#description #description} => String
1480
+ # * {Types::GetCalculatedAttributeDefinitionResponse#created_at #created_at} => Time
1481
+ # * {Types::GetCalculatedAttributeDefinitionResponse#last_updated_at #last_updated_at} => Time
1482
+ # * {Types::GetCalculatedAttributeDefinitionResponse#statistic #statistic} => String
1483
+ # * {Types::GetCalculatedAttributeDefinitionResponse#conditions #conditions} => Types::Conditions
1484
+ # * {Types::GetCalculatedAttributeDefinitionResponse#attribute_details #attribute_details} => Types::AttributeDetails
1485
+ # * {Types::GetCalculatedAttributeDefinitionResponse#tags #tags} => Hash&lt;String,String&gt;
1486
+ #
1487
+ # @example Request syntax with placeholder values
1488
+ #
1489
+ # resp = client.get_calculated_attribute_definition({
1490
+ # domain_name: "name", # required
1491
+ # calculated_attribute_name: "typeName", # required
1492
+ # })
1493
+ #
1494
+ # @example Response structure
1495
+ #
1496
+ # resp.calculated_attribute_name #=> String
1497
+ # resp.display_name #=> String
1498
+ # resp.description #=> String
1499
+ # resp.created_at #=> Time
1500
+ # resp.last_updated_at #=> Time
1501
+ # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE"
1502
+ # resp.conditions.range.value #=> Integer
1503
+ # resp.conditions.range.unit #=> String, one of "DAYS"
1504
+ # resp.conditions.object_count #=> Integer
1505
+ # resp.conditions.threshold.value #=> String
1506
+ # resp.conditions.threshold.operator #=> String, one of "EQUAL_TO", "GREATER_THAN", "LESS_THAN", "NOT_EQUAL_TO"
1507
+ # resp.attribute_details.attributes #=> Array
1508
+ # resp.attribute_details.attributes[0].name #=> String
1509
+ # resp.attribute_details.expression #=> String
1510
+ # resp.tags #=> Hash
1511
+ # resp.tags["TagKey"] #=> String
1512
+ #
1513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetCalculatedAttributeDefinition AWS API Documentation
1514
+ #
1515
+ # @overload get_calculated_attribute_definition(params = {})
1516
+ # @param [Hash] params ({})
1517
+ def get_calculated_attribute_definition(params = {}, options = {})
1518
+ req = build_request(:get_calculated_attribute_definition, params)
1519
+ req.send_request(options)
1520
+ end
1521
+
1522
+ # Retrieve a calculated attribute for a customer profile.
1523
+ #
1524
+ # @option params [required, String] :domain_name
1525
+ # The unique name of the domain.
1526
+ #
1527
+ # @option params [required, String] :profile_id
1528
+ # The unique identifier of a customer profile.
1529
+ #
1530
+ # @option params [required, String] :calculated_attribute_name
1531
+ # The unique name of the calculated attribute.
1532
+ #
1533
+ # @return [Types::GetCalculatedAttributeForProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1534
+ #
1535
+ # * {Types::GetCalculatedAttributeForProfileResponse#calculated_attribute_name #calculated_attribute_name} => String
1536
+ # * {Types::GetCalculatedAttributeForProfileResponse#display_name #display_name} => String
1537
+ # * {Types::GetCalculatedAttributeForProfileResponse#is_data_partial #is_data_partial} => String
1538
+ # * {Types::GetCalculatedAttributeForProfileResponse#value #value} => String
1539
+ #
1540
+ # @example Request syntax with placeholder values
1541
+ #
1542
+ # resp = client.get_calculated_attribute_for_profile({
1543
+ # domain_name: "name", # required
1544
+ # profile_id: "uuid", # required
1545
+ # calculated_attribute_name: "typeName", # required
1546
+ # })
1547
+ #
1548
+ # @example Response structure
1549
+ #
1550
+ # resp.calculated_attribute_name #=> String
1551
+ # resp.display_name #=> String
1552
+ # resp.is_data_partial #=> String
1553
+ # resp.value #=> String
1554
+ #
1555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetCalculatedAttributeForProfile AWS API Documentation
1556
+ #
1557
+ # @overload get_calculated_attribute_for_profile(params = {})
1558
+ # @param [Hash] params ({})
1559
+ def get_calculated_attribute_for_profile(params = {}, options = {})
1560
+ req = build_request(:get_calculated_attribute_for_profile, params)
1561
+ req.send_request(options)
1562
+ end
1563
+
966
1564
  # Returns information about a specific domain.
967
1565
  #
968
1566
  # @option params [required, String] :domain_name
@@ -976,6 +1574,7 @@ module Aws::CustomerProfiles
976
1574
  # * {Types::GetDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
977
1575
  # * {Types::GetDomainResponse#stats #stats} => Types::DomainStats
978
1576
  # * {Types::GetDomainResponse#matching #matching} => Types::MatchingResponse
1577
+ # * {Types::GetDomainResponse#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse
979
1578
  # * {Types::GetDomainResponse#created_at #created_at} => Time
980
1579
  # * {Types::GetDomainResponse#last_updated_at #last_updated_at} => Time
981
1580
  # * {Types::GetDomainResponse#tags #tags} => Hash&lt;String,String&gt;
@@ -1005,8 +1604,27 @@ module Aws::CustomerProfiles
1005
1604
  # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
1006
1605
  # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
1007
1606
  # resp.matching.auto_merging.conflict_resolution.source_name #=> String
1607
+ # resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float
1008
1608
  # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
1009
1609
  # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
1610
+ # resp.rule_based_matching.enabled #=> Boolean
1611
+ # resp.rule_based_matching.matching_rules #=> Array
1612
+ # resp.rule_based_matching.matching_rules[0].rule #=> Array
1613
+ # resp.rule_based_matching.matching_rules[0].rule[0] #=> String
1614
+ # resp.rule_based_matching.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE"
1615
+ # resp.rule_based_matching.max_allowed_rule_level_for_merging #=> Integer
1616
+ # resp.rule_based_matching.max_allowed_rule_level_for_matching #=> Integer
1617
+ # resp.rule_based_matching.attribute_types_selector.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY"
1618
+ # resp.rule_based_matching.attribute_types_selector.address #=> Array
1619
+ # resp.rule_based_matching.attribute_types_selector.address[0] #=> String
1620
+ # resp.rule_based_matching.attribute_types_selector.phone_number #=> Array
1621
+ # resp.rule_based_matching.attribute_types_selector.phone_number[0] #=> String
1622
+ # resp.rule_based_matching.attribute_types_selector.email_address #=> Array
1623
+ # resp.rule_based_matching.attribute_types_selector.email_address[0] #=> String
1624
+ # resp.rule_based_matching.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
1625
+ # resp.rule_based_matching.conflict_resolution.source_name #=> String
1626
+ # resp.rule_based_matching.exporting_config.s3_exporting.s3_bucket_name #=> String
1627
+ # resp.rule_based_matching.exporting_config.s3_exporting.s3_key_name #=> String
1010
1628
  # resp.created_at #=> Time
1011
1629
  # resp.last_updated_at #=> Time
1012
1630
  # resp.tags #=> Hash
@@ -1021,6 +1639,55 @@ module Aws::CustomerProfiles
1021
1639
  req.send_request(options)
1022
1640
  end
1023
1641
 
1642
+ # Returns information about the specified event stream in a specific
1643
+ # domain.
1644
+ #
1645
+ # @option params [required, String] :domain_name
1646
+ # The unique name of the domain.
1647
+ #
1648
+ # @option params [required, String] :event_stream_name
1649
+ # The name of the event stream provided during create operations.
1650
+ #
1651
+ # @return [Types::GetEventStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1652
+ #
1653
+ # * {Types::GetEventStreamResponse#domain_name #domain_name} => String
1654
+ # * {Types::GetEventStreamResponse#event_stream_arn #event_stream_arn} => String
1655
+ # * {Types::GetEventStreamResponse#created_at #created_at} => Time
1656
+ # * {Types::GetEventStreamResponse#state #state} => String
1657
+ # * {Types::GetEventStreamResponse#stopped_since #stopped_since} => Time
1658
+ # * {Types::GetEventStreamResponse#destination_details #destination_details} => Types::EventStreamDestinationDetails
1659
+ # * {Types::GetEventStreamResponse#tags #tags} => Hash&lt;String,String&gt;
1660
+ #
1661
+ # @example Request syntax with placeholder values
1662
+ #
1663
+ # resp = client.get_event_stream({
1664
+ # domain_name: "name", # required
1665
+ # event_stream_name: "name", # required
1666
+ # })
1667
+ #
1668
+ # @example Response structure
1669
+ #
1670
+ # resp.domain_name #=> String
1671
+ # resp.event_stream_arn #=> String
1672
+ # resp.created_at #=> Time
1673
+ # resp.state #=> String, one of "RUNNING", "STOPPED"
1674
+ # resp.stopped_since #=> Time
1675
+ # resp.destination_details.uri #=> String
1676
+ # resp.destination_details.status #=> String, one of "HEALTHY", "UNHEALTHY"
1677
+ # resp.destination_details.unhealthy_since #=> Time
1678
+ # resp.destination_details.message #=> String
1679
+ # resp.tags #=> Hash
1680
+ # resp.tags["TagKey"] #=> String
1681
+ #
1682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetEventStream AWS API Documentation
1683
+ #
1684
+ # @overload get_event_stream(params = {})
1685
+ # @param [Hash] params ({})
1686
+ def get_event_stream(params = {}, options = {})
1687
+ req = build_request(:get_event_stream, params)
1688
+ req.send_request(options)
1689
+ end
1690
+
1024
1691
  # Returns information about an Identity Resolution Job in a specific
1025
1692
  # domain.
1026
1693
  #
@@ -1075,6 +1742,7 @@ module Aws::CustomerProfiles
1075
1742
  # resp.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
1076
1743
  # resp.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
1077
1744
  # resp.auto_merging.conflict_resolution.source_name #=> String
1745
+ # resp.auto_merging.min_allowed_confidence_score_for_merging #=> Float
1078
1746
  # resp.exporting_location.s3_exporting.s3_bucket_name #=> String
1079
1747
  # resp.exporting_location.s3_exporting.s3_key_name #=> String
1080
1748
  # resp.job_stats.number_of_profiles_reviewed #=> Integer
@@ -1106,6 +1774,9 @@ module Aws::CustomerProfiles
1106
1774
  # * {Types::GetIntegrationResponse#created_at #created_at} => Time
1107
1775
  # * {Types::GetIntegrationResponse#last_updated_at #last_updated_at} => Time
1108
1776
  # * {Types::GetIntegrationResponse#tags #tags} => Hash&lt;String,String&gt;
1777
+ # * {Types::GetIntegrationResponse#object_type_names #object_type_names} => Hash&lt;String,String&gt;
1778
+ # * {Types::GetIntegrationResponse#workflow_id #workflow_id} => String
1779
+ # * {Types::GetIntegrationResponse#is_unstructured #is_unstructured} => Boolean
1109
1780
  #
1110
1781
  # @example Request syntax with placeholder values
1111
1782
  #
@@ -1123,6 +1794,10 @@ module Aws::CustomerProfiles
1123
1794
  # resp.last_updated_at #=> Time
1124
1795
  # resp.tags #=> Hash
1125
1796
  # resp.tags["TagKey"] #=> String
1797
+ # resp.object_type_names #=> Hash
1798
+ # resp.object_type_names["string1To255"] #=> String
1799
+ # resp.workflow_id #=> String
1800
+ # resp.is_unstructured #=> Boolean
1126
1801
  #
1127
1802
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetIntegration AWS API Documentation
1128
1803
  #
@@ -1133,9 +1808,6 @@ module Aws::CustomerProfiles
1133
1808
  req.send_request(options)
1134
1809
  end
1135
1810
 
1136
- # This API is in preview release for Amazon Connect and subject to
1137
- # change.
1138
- #
1139
1811
  # Before calling this API, use [CreateDomain][1] or [UpdateDomain][2] to
1140
1812
  # enable identity resolution: set `Matching` to true.
1141
1813
  #
@@ -1172,8 +1844,6 @@ module Aws::CustomerProfiles
1172
1844
  #
1173
1845
  # * FullName
1174
1846
  #
1175
- # * BusinessName
1176
- #
1177
1847
  # For example, two or more profiles—with spelling mistakes such as
1178
1848
  # **John Doe** and **Jhn Doe**, or different casing email addresses such
1179
1849
  # as **JOHN\_DOE@ANYCOMPANY.COM** and **johndoe@anycompany.com**, or
@@ -1279,7 +1949,7 @@ module Aws::CustomerProfiles
1279
1949
  # resp.keys #=> Hash
1280
1950
  # resp.keys["name"] #=> Array
1281
1951
  # resp.keys["name"][0].standard_identifiers #=> Array
1282
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
1952
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
1283
1953
  # resp.keys["name"][0].field_names #=> Array
1284
1954
  # resp.keys["name"][0].field_names[0] #=> String
1285
1955
  # resp.created_at #=> Time
@@ -1319,34 +1989,202 @@ module Aws::CustomerProfiles
1319
1989
  #
1320
1990
  # @example Request syntax with placeholder values
1321
1991
  #
1322
- # resp = client.get_profile_object_type_template({
1323
- # template_id: "name", # required
1992
+ # resp = client.get_profile_object_type_template({
1993
+ # template_id: "name", # required
1994
+ # })
1995
+ #
1996
+ # @example Response structure
1997
+ #
1998
+ # resp.template_id #=> String
1999
+ # resp.source_name #=> String
2000
+ # resp.source_object #=> String
2001
+ # resp.allow_profile_creation #=> Boolean
2002
+ # resp.source_last_updated_timestamp_format #=> String
2003
+ # resp.fields #=> Hash
2004
+ # resp.fields["name"].source #=> String
2005
+ # resp.fields["name"].target #=> String
2006
+ # resp.fields["name"].content_type #=> String, one of "STRING", "NUMBER", "PHONE_NUMBER", "EMAIL_ADDRESS", "NAME"
2007
+ # resp.keys #=> Hash
2008
+ # resp.keys["name"] #=> Array
2009
+ # resp.keys["name"][0].standard_identifiers #=> Array
2010
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
2011
+ # resp.keys["name"][0].field_names #=> Array
2012
+ # resp.keys["name"][0].field_names[0] #=> String
2013
+ #
2014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectTypeTemplate AWS API Documentation
2015
+ #
2016
+ # @overload get_profile_object_type_template(params = {})
2017
+ # @param [Hash] params ({})
2018
+ def get_profile_object_type_template(params = {}, options = {})
2019
+ req = build_request(:get_profile_object_type_template, params)
2020
+ req.send_request(options)
2021
+ end
2022
+
2023
+ # Returns a set of profiles that belong to the same matching group using
2024
+ # the `matchId` or `profileId`. You can also specify the type of
2025
+ # matching that you want for finding similar profiles using either
2026
+ # `RULE_BASED_MATCHING` or `ML_BASED_MATCHING`.
2027
+ #
2028
+ # @option params [String] :next_token
2029
+ # The pagination token from the previous `GetSimilarProfiles` API call.
2030
+ #
2031
+ # @option params [Integer] :max_results
2032
+ # The maximum number of objects returned per page.
2033
+ #
2034
+ # @option params [required, String] :domain_name
2035
+ # The unique name of the domain.
2036
+ #
2037
+ # @option params [required, String] :match_type
2038
+ # Specify the type of matching to get similar profiles for.
2039
+ #
2040
+ # @option params [required, String] :search_key
2041
+ # The string indicating the search key to be used.
2042
+ #
2043
+ # @option params [required, String] :search_value
2044
+ # The string based on `SearchKey` to be searched for similar profiles.
2045
+ #
2046
+ # @return [Types::GetSimilarProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2047
+ #
2048
+ # * {Types::GetSimilarProfilesResponse#profile_ids #profile_ids} => Array&lt;String&gt;
2049
+ # * {Types::GetSimilarProfilesResponse#match_id #match_id} => String
2050
+ # * {Types::GetSimilarProfilesResponse#match_type #match_type} => String
2051
+ # * {Types::GetSimilarProfilesResponse#rule_level #rule_level} => Integer
2052
+ # * {Types::GetSimilarProfilesResponse#confidence_score #confidence_score} => Float
2053
+ # * {Types::GetSimilarProfilesResponse#next_token #next_token} => String
2054
+ #
2055
+ # @example Request syntax with placeholder values
2056
+ #
2057
+ # resp = client.get_similar_profiles({
2058
+ # next_token: "token",
2059
+ # max_results: 1,
2060
+ # domain_name: "name", # required
2061
+ # match_type: "RULE_BASED_MATCHING", # required, accepts RULE_BASED_MATCHING, ML_BASED_MATCHING
2062
+ # search_key: "string1To255", # required
2063
+ # search_value: "string1To255", # required
2064
+ # })
2065
+ #
2066
+ # @example Response structure
2067
+ #
2068
+ # resp.profile_ids #=> Array
2069
+ # resp.profile_ids[0] #=> String
2070
+ # resp.match_id #=> String
2071
+ # resp.match_type #=> String, one of "RULE_BASED_MATCHING", "ML_BASED_MATCHING"
2072
+ # resp.rule_level #=> Integer
2073
+ # resp.confidence_score #=> Float
2074
+ # resp.next_token #=> String
2075
+ #
2076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetSimilarProfiles AWS API Documentation
2077
+ #
2078
+ # @overload get_similar_profiles(params = {})
2079
+ # @param [Hash] params ({})
2080
+ def get_similar_profiles(params = {}, options = {})
2081
+ req = build_request(:get_similar_profiles, params)
2082
+ req.send_request(options)
2083
+ end
2084
+
2085
+ # Get details of specified workflow.
2086
+ #
2087
+ # @option params [required, String] :domain_name
2088
+ # The unique name of the domain.
2089
+ #
2090
+ # @option params [required, String] :workflow_id
2091
+ # Unique identifier for the workflow.
2092
+ #
2093
+ # @return [Types::GetWorkflowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2094
+ #
2095
+ # * {Types::GetWorkflowResponse#workflow_id #workflow_id} => String
2096
+ # * {Types::GetWorkflowResponse#workflow_type #workflow_type} => String
2097
+ # * {Types::GetWorkflowResponse#status #status} => String
2098
+ # * {Types::GetWorkflowResponse#error_description #error_description} => String
2099
+ # * {Types::GetWorkflowResponse#start_date #start_date} => Time
2100
+ # * {Types::GetWorkflowResponse#last_updated_at #last_updated_at} => Time
2101
+ # * {Types::GetWorkflowResponse#attributes #attributes} => Types::WorkflowAttributes
2102
+ # * {Types::GetWorkflowResponse#metrics #metrics} => Types::WorkflowMetrics
2103
+ #
2104
+ # @example Request syntax with placeholder values
2105
+ #
2106
+ # resp = client.get_workflow({
2107
+ # domain_name: "name", # required
2108
+ # workflow_id: "uuid", # required
2109
+ # })
2110
+ #
2111
+ # @example Response structure
2112
+ #
2113
+ # resp.workflow_id #=> String
2114
+ # resp.workflow_type #=> String, one of "APPFLOW_INTEGRATION"
2115
+ # resp.status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETE", "FAILED", "SPLIT", "RETRY", "CANCELLED"
2116
+ # resp.error_description #=> String
2117
+ # resp.start_date #=> Time
2118
+ # resp.last_updated_at #=> Time
2119
+ # resp.attributes.appflow_integration.source_connector_type #=> String, one of "Salesforce", "Marketo", "Zendesk", "Servicenow", "S3"
2120
+ # resp.attributes.appflow_integration.connector_profile_name #=> String
2121
+ # resp.attributes.appflow_integration.role_arn #=> String
2122
+ # resp.metrics.appflow_integration.records_processed #=> Integer
2123
+ # resp.metrics.appflow_integration.steps_completed #=> Integer
2124
+ # resp.metrics.appflow_integration.total_steps #=> Integer
2125
+ #
2126
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflow AWS API Documentation
2127
+ #
2128
+ # @overload get_workflow(params = {})
2129
+ # @param [Hash] params ({})
2130
+ def get_workflow(params = {}, options = {})
2131
+ req = build_request(:get_workflow, params)
2132
+ req.send_request(options)
2133
+ end
2134
+
2135
+ # Get granular list of steps in workflow.
2136
+ #
2137
+ # @option params [required, String] :domain_name
2138
+ # The unique name of the domain.
2139
+ #
2140
+ # @option params [required, String] :workflow_id
2141
+ # Unique identifier for the workflow.
2142
+ #
2143
+ # @option params [String] :next_token
2144
+ # The token for the next set of results. Use the value returned in the
2145
+ # previous response in the next request to retrieve the next set of
2146
+ # results.
2147
+ #
2148
+ # @option params [Integer] :max_results
2149
+ # The maximum number of results to return per page.
2150
+ #
2151
+ # @return [Types::GetWorkflowStepsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2152
+ #
2153
+ # * {Types::GetWorkflowStepsResponse#workflow_id #workflow_id} => String
2154
+ # * {Types::GetWorkflowStepsResponse#workflow_type #workflow_type} => String
2155
+ # * {Types::GetWorkflowStepsResponse#items #items} => Array&lt;Types::WorkflowStepItem&gt;
2156
+ # * {Types::GetWorkflowStepsResponse#next_token #next_token} => String
2157
+ #
2158
+ # @example Request syntax with placeholder values
2159
+ #
2160
+ # resp = client.get_workflow_steps({
2161
+ # domain_name: "name", # required
2162
+ # workflow_id: "uuid", # required
2163
+ # next_token: "token",
2164
+ # max_results: 1,
1324
2165
  # })
1325
2166
  #
1326
2167
  # @example Response structure
1327
2168
  #
1328
- # resp.template_id #=> String
1329
- # resp.source_name #=> String
1330
- # resp.source_object #=> String
1331
- # resp.allow_profile_creation #=> Boolean
1332
- # resp.source_last_updated_timestamp_format #=> String
1333
- # resp.fields #=> Hash
1334
- # resp.fields["name"].source #=> String
1335
- # resp.fields["name"].target #=> String
1336
- # resp.fields["name"].content_type #=> String, one of "STRING", "NUMBER", "PHONE_NUMBER", "EMAIL_ADDRESS", "NAME"
1337
- # resp.keys #=> Hash
1338
- # resp.keys["name"] #=> Array
1339
- # resp.keys["name"][0].standard_identifiers #=> Array
1340
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
1341
- # resp.keys["name"][0].field_names #=> Array
1342
- # resp.keys["name"][0].field_names[0] #=> String
2169
+ # resp.workflow_id #=> String
2170
+ # resp.workflow_type #=> String, one of "APPFLOW_INTEGRATION"
2171
+ # resp.items #=> Array
2172
+ # resp.items[0].appflow_integration.flow_name #=> String
2173
+ # resp.items[0].appflow_integration.status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETE", "FAILED", "SPLIT", "RETRY", "CANCELLED"
2174
+ # resp.items[0].appflow_integration.execution_message #=> String
2175
+ # resp.items[0].appflow_integration.records_processed #=> Integer
2176
+ # resp.items[0].appflow_integration.batch_records_start_time #=> String
2177
+ # resp.items[0].appflow_integration.batch_records_end_time #=> String
2178
+ # resp.items[0].appflow_integration.created_at #=> Time
2179
+ # resp.items[0].appflow_integration.last_updated_at #=> Time
2180
+ # resp.next_token #=> String
1343
2181
  #
1344
- # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileObjectTypeTemplate AWS API Documentation
2182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetWorkflowSteps AWS API Documentation
1345
2183
  #
1346
- # @overload get_profile_object_type_template(params = {})
2184
+ # @overload get_workflow_steps(params = {})
1347
2185
  # @param [Hash] params ({})
1348
- def get_profile_object_type_template(params = {}, options = {})
1349
- req = build_request(:get_profile_object_type_template, params)
2186
+ def get_workflow_steps(params = {}, options = {})
2187
+ req = build_request(:get_workflow_steps, params)
1350
2188
  req.send_request(options)
1351
2189
  end
1352
2190
 
@@ -1363,6 +2201,10 @@ module Aws::CustomerProfiles
1363
2201
  # @option params [Integer] :max_results
1364
2202
  # The maximum number of objects returned per page.
1365
2203
  #
2204
+ # @option params [Boolean] :include_hidden
2205
+ # Boolean to indicate if hidden integration should be returned. Defaults
2206
+ # to `False`.
2207
+ #
1366
2208
  # @return [Types::ListAccountIntegrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1367
2209
  #
1368
2210
  # * {Types::ListAccountIntegrationsResponse#items #items} => Array&lt;Types::ListIntegrationItem&gt;
@@ -1374,6 +2216,7 @@ module Aws::CustomerProfiles
1374
2216
  # uri: "string1To255", # required
1375
2217
  # next_token: "token",
1376
2218
  # max_results: 1,
2219
+ # include_hidden: false,
1377
2220
  # })
1378
2221
  #
1379
2222
  # @example Response structure
@@ -1386,6 +2229,10 @@ module Aws::CustomerProfiles
1386
2229
  # resp.items[0].last_updated_at #=> Time
1387
2230
  # resp.items[0].tags #=> Hash
1388
2231
  # resp.items[0].tags["TagKey"] #=> String
2232
+ # resp.items[0].object_type_names #=> Hash
2233
+ # resp.items[0].object_type_names["string1To255"] #=> String
2234
+ # resp.items[0].workflow_id #=> String
2235
+ # resp.items[0].is_unstructured #=> Boolean
1389
2236
  # resp.next_token #=> String
1390
2237
  #
1391
2238
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListAccountIntegrations AWS API Documentation
@@ -1397,6 +2244,100 @@ module Aws::CustomerProfiles
1397
2244
  req.send_request(options)
1398
2245
  end
1399
2246
 
2247
+ # Lists calculated attribute definitions for Customer Profiles
2248
+ #
2249
+ # @option params [required, String] :domain_name
2250
+ # The unique name of the domain.
2251
+ #
2252
+ # @option params [String] :next_token
2253
+ # The pagination token from the previous call to
2254
+ # ListCalculatedAttributeDefinitions.
2255
+ #
2256
+ # @option params [Integer] :max_results
2257
+ # The maximum number of calculated attribute definitions returned per
2258
+ # page.
2259
+ #
2260
+ # @return [Types::ListCalculatedAttributeDefinitionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2261
+ #
2262
+ # * {Types::ListCalculatedAttributeDefinitionsResponse#items #items} => Array&lt;Types::ListCalculatedAttributeDefinitionItem&gt;
2263
+ # * {Types::ListCalculatedAttributeDefinitionsResponse#next_token #next_token} => String
2264
+ #
2265
+ # @example Request syntax with placeholder values
2266
+ #
2267
+ # resp = client.list_calculated_attribute_definitions({
2268
+ # domain_name: "name", # required
2269
+ # next_token: "token",
2270
+ # max_results: 1,
2271
+ # })
2272
+ #
2273
+ # @example Response structure
2274
+ #
2275
+ # resp.items #=> Array
2276
+ # resp.items[0].calculated_attribute_name #=> String
2277
+ # resp.items[0].display_name #=> String
2278
+ # resp.items[0].description #=> String
2279
+ # resp.items[0].created_at #=> Time
2280
+ # resp.items[0].last_updated_at #=> Time
2281
+ # resp.items[0].tags #=> Hash
2282
+ # resp.items[0].tags["TagKey"] #=> String
2283
+ # resp.next_token #=> String
2284
+ #
2285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListCalculatedAttributeDefinitions AWS API Documentation
2286
+ #
2287
+ # @overload list_calculated_attribute_definitions(params = {})
2288
+ # @param [Hash] params ({})
2289
+ def list_calculated_attribute_definitions(params = {}, options = {})
2290
+ req = build_request(:list_calculated_attribute_definitions, params)
2291
+ req.send_request(options)
2292
+ end
2293
+
2294
+ # Retrieve a list of calculated attributes for a customer profile.
2295
+ #
2296
+ # @option params [String] :next_token
2297
+ # The pagination token from the previous call to
2298
+ # ListCalculatedAttributesForProfile.
2299
+ #
2300
+ # @option params [Integer] :max_results
2301
+ # The maximum number of calculated attributes returned per page.
2302
+ #
2303
+ # @option params [required, String] :domain_name
2304
+ # The unique name of the domain.
2305
+ #
2306
+ # @option params [required, String] :profile_id
2307
+ # The unique identifier of a customer profile.
2308
+ #
2309
+ # @return [Types::ListCalculatedAttributesForProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2310
+ #
2311
+ # * {Types::ListCalculatedAttributesForProfileResponse#items #items} => Array&lt;Types::ListCalculatedAttributeForProfileItem&gt;
2312
+ # * {Types::ListCalculatedAttributesForProfileResponse#next_token #next_token} => String
2313
+ #
2314
+ # @example Request syntax with placeholder values
2315
+ #
2316
+ # resp = client.list_calculated_attributes_for_profile({
2317
+ # next_token: "token",
2318
+ # max_results: 1,
2319
+ # domain_name: "name", # required
2320
+ # profile_id: "uuid", # required
2321
+ # })
2322
+ #
2323
+ # @example Response structure
2324
+ #
2325
+ # resp.items #=> Array
2326
+ # resp.items[0].calculated_attribute_name #=> String
2327
+ # resp.items[0].display_name #=> String
2328
+ # resp.items[0].is_data_partial #=> String
2329
+ # resp.items[0].value #=> String
2330
+ # resp.next_token #=> String
2331
+ #
2332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListCalculatedAttributesForProfile AWS API Documentation
2333
+ #
2334
+ # @overload list_calculated_attributes_for_profile(params = {})
2335
+ # @param [Hash] params ({})
2336
+ def list_calculated_attributes_for_profile(params = {}, options = {})
2337
+ req = build_request(:list_calculated_attributes_for_profile, params)
2338
+ req.send_request(options)
2339
+ end
2340
+
1400
2341
  # Returns a list of all the domains for an AWS account that have been
1401
2342
  # created.
1402
2343
  #
@@ -1437,6 +2378,56 @@ module Aws::CustomerProfiles
1437
2378
  req.send_request(options)
1438
2379
  end
1439
2380
 
2381
+ # Returns a list of all the event streams in a specific domain.
2382
+ #
2383
+ # @option params [required, String] :domain_name
2384
+ # The unique name of the domain.
2385
+ #
2386
+ # @option params [String] :next_token
2387
+ # Identifies the next page of results to return.
2388
+ #
2389
+ # @option params [Integer] :max_results
2390
+ # The maximum number of objects returned per page.
2391
+ #
2392
+ # @return [Types::ListEventStreamsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2393
+ #
2394
+ # * {Types::ListEventStreamsResponse#items #items} => Array&lt;Types::EventStreamSummary&gt;
2395
+ # * {Types::ListEventStreamsResponse#next_token #next_token} => String
2396
+ #
2397
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2398
+ #
2399
+ # @example Request syntax with placeholder values
2400
+ #
2401
+ # resp = client.list_event_streams({
2402
+ # domain_name: "name", # required
2403
+ # next_token: "token",
2404
+ # max_results: 1,
2405
+ # })
2406
+ #
2407
+ # @example Response structure
2408
+ #
2409
+ # resp.items #=> Array
2410
+ # resp.items[0].domain_name #=> String
2411
+ # resp.items[0].event_stream_name #=> String
2412
+ # resp.items[0].event_stream_arn #=> String
2413
+ # resp.items[0].state #=> String, one of "RUNNING", "STOPPED"
2414
+ # resp.items[0].stopped_since #=> Time
2415
+ # resp.items[0].destination_summary.uri #=> String
2416
+ # resp.items[0].destination_summary.status #=> String, one of "HEALTHY", "UNHEALTHY"
2417
+ # resp.items[0].destination_summary.unhealthy_since #=> Time
2418
+ # resp.items[0].tags #=> Hash
2419
+ # resp.items[0].tags["TagKey"] #=> String
2420
+ # resp.next_token #=> String
2421
+ #
2422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListEventStreams AWS API Documentation
2423
+ #
2424
+ # @overload list_event_streams(params = {})
2425
+ # @param [Hash] params ({})
2426
+ def list_event_streams(params = {}, options = {})
2427
+ req = build_request(:list_event_streams, params)
2428
+ req.send_request(options)
2429
+ end
2430
+
1440
2431
  # Lists all of the Identity Resolution Jobs in your domain. The response
1441
2432
  # sorts the list by `JobStartTime`.
1442
2433
  #
@@ -1500,6 +2491,10 @@ module Aws::CustomerProfiles
1500
2491
  # @option params [Integer] :max_results
1501
2492
  # The maximum number of objects returned per page.
1502
2493
  #
2494
+ # @option params [Boolean] :include_hidden
2495
+ # Boolean to indicate if hidden integration should be returned. Defaults
2496
+ # to `False`.
2497
+ #
1503
2498
  # @return [Types::ListIntegrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1504
2499
  #
1505
2500
  # * {Types::ListIntegrationsResponse#items #items} => Array&lt;Types::ListIntegrationItem&gt;
@@ -1511,6 +2506,7 @@ module Aws::CustomerProfiles
1511
2506
  # domain_name: "name", # required
1512
2507
  # next_token: "token",
1513
2508
  # max_results: 1,
2509
+ # include_hidden: false,
1514
2510
  # })
1515
2511
  #
1516
2512
  # @example Response structure
@@ -1523,6 +2519,10 @@ module Aws::CustomerProfiles
1523
2519
  # resp.items[0].last_updated_at #=> Time
1524
2520
  # resp.items[0].tags #=> Hash
1525
2521
  # resp.items[0].tags["TagKey"] #=> String
2522
+ # resp.items[0].object_type_names #=> Hash
2523
+ # resp.items[0].object_type_names["string1To255"] #=> String
2524
+ # resp.items[0].workflow_id #=> String
2525
+ # resp.items[0].is_unstructured #=> Boolean
1526
2526
  # resp.next_token #=> String
1527
2527
  #
1528
2528
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListIntegrations AWS API Documentation
@@ -1636,8 +2636,7 @@ module Aws::CustomerProfiles
1636
2636
  #
1637
2637
  # @option params [Types::ObjectFilter] :object_filter
1638
2638
  # Applies a filter to the response to include profile objects with the
1639
- # specified index values. This filter is only supported for
1640
- # ObjectTypeName \_asset and \_case.
2639
+ # specified index values.
1641
2640
  #
1642
2641
  # @return [Types::ListProfileObjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1643
2642
  #
@@ -1675,6 +2674,46 @@ module Aws::CustomerProfiles
1675
2674
  req.send_request(options)
1676
2675
  end
1677
2676
 
2677
+ # Returns a set of `MatchIds` that belong to the given domain.
2678
+ #
2679
+ # @option params [String] :next_token
2680
+ # The pagination token from the previous `ListRuleBasedMatches` API
2681
+ # call.
2682
+ #
2683
+ # @option params [Integer] :max_results
2684
+ # The maximum number of `MatchIds` returned per page.
2685
+ #
2686
+ # @option params [required, String] :domain_name
2687
+ # The unique name of the domain.
2688
+ #
2689
+ # @return [Types::ListRuleBasedMatchesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2690
+ #
2691
+ # * {Types::ListRuleBasedMatchesResponse#match_ids #match_ids} => Array&lt;String&gt;
2692
+ # * {Types::ListRuleBasedMatchesResponse#next_token #next_token} => String
2693
+ #
2694
+ # @example Request syntax with placeholder values
2695
+ #
2696
+ # resp = client.list_rule_based_matches({
2697
+ # next_token: "token",
2698
+ # max_results: 1,
2699
+ # domain_name: "name", # required
2700
+ # })
2701
+ #
2702
+ # @example Response structure
2703
+ #
2704
+ # resp.match_ids #=> Array
2705
+ # resp.match_ids[0] #=> String
2706
+ # resp.next_token #=> String
2707
+ #
2708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListRuleBasedMatches AWS API Documentation
2709
+ #
2710
+ # @overload list_rule_based_matches(params = {})
2711
+ # @param [Hash] params ({})
2712
+ def list_rule_based_matches(params = {}, options = {})
2713
+ req = build_request(:list_rule_based_matches, params)
2714
+ req.send_request(options)
2715
+ end
2716
+
1678
2717
  # Displays the tags associated with an Amazon Connect Customer Profiles
1679
2718
  # resource. In Connect Customer Profiles, domains, profile object types,
1680
2719
  # and integrations can be tagged.
@@ -1706,9 +2745,69 @@ module Aws::CustomerProfiles
1706
2745
  req.send_request(options)
1707
2746
  end
1708
2747
 
1709
- # This API is in preview release for Amazon Connect and subject to
1710
- # change.
2748
+ # Query to list all workflows.
2749
+ #
2750
+ # @option params [required, String] :domain_name
2751
+ # The unique name of the domain.
2752
+ #
2753
+ # @option params [String] :workflow_type
2754
+ # The type of workflow. The only supported value is
2755
+ # APPFLOW\_INTEGRATION.
2756
+ #
2757
+ # @option params [String] :status
2758
+ # Status of workflow execution.
2759
+ #
2760
+ # @option params [Time,DateTime,Date,Integer,String] :query_start_date
2761
+ # Retrieve workflows started after timestamp.
2762
+ #
2763
+ # @option params [Time,DateTime,Date,Integer,String] :query_end_date
2764
+ # Retrieve workflows ended after timestamp.
2765
+ #
2766
+ # @option params [String] :next_token
2767
+ # The token for the next set of results. Use the value returned in the
2768
+ # previous response in the next request to retrieve the next set of
2769
+ # results.
2770
+ #
2771
+ # @option params [Integer] :max_results
2772
+ # The maximum number of results to return per page.
2773
+ #
2774
+ # @return [Types::ListWorkflowsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2775
+ #
2776
+ # * {Types::ListWorkflowsResponse#items #items} => Array&lt;Types::ListWorkflowsItem&gt;
2777
+ # * {Types::ListWorkflowsResponse#next_token #next_token} => String
2778
+ #
2779
+ # @example Request syntax with placeholder values
2780
+ #
2781
+ # resp = client.list_workflows({
2782
+ # domain_name: "name", # required
2783
+ # workflow_type: "APPFLOW_INTEGRATION", # accepts APPFLOW_INTEGRATION
2784
+ # status: "NOT_STARTED", # accepts NOT_STARTED, IN_PROGRESS, COMPLETE, FAILED, SPLIT, RETRY, CANCELLED
2785
+ # query_start_date: Time.now,
2786
+ # query_end_date: Time.now,
2787
+ # next_token: "token",
2788
+ # max_results: 1,
2789
+ # })
2790
+ #
2791
+ # @example Response structure
1711
2792
  #
2793
+ # resp.items #=> Array
2794
+ # resp.items[0].workflow_type #=> String, one of "APPFLOW_INTEGRATION"
2795
+ # resp.items[0].workflow_id #=> String
2796
+ # resp.items[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETE", "FAILED", "SPLIT", "RETRY", "CANCELLED"
2797
+ # resp.items[0].status_description #=> String
2798
+ # resp.items[0].created_at #=> Time
2799
+ # resp.items[0].last_updated_at #=> Time
2800
+ # resp.next_token #=> String
2801
+ #
2802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListWorkflows AWS API Documentation
2803
+ #
2804
+ # @overload list_workflows(params = {})
2805
+ # @param [Hash] params ({})
2806
+ def list_workflows(params = {}, options = {})
2807
+ req = build_request(:list_workflows, params)
2808
+ req.send_request(options)
2809
+ end
2810
+
1712
2811
  # Runs an AWS Lambda job that does the following:
1713
2812
  #
1714
2813
  # 1. All the profileKeys in the `ProfileToBeMerged` will be moved to
@@ -1814,13 +2913,21 @@ module Aws::CustomerProfiles
1814
2913
  #
1815
2914
  # An integration can belong to only one domain.
1816
2915
  #
2916
+ # To add or remove tags on an existing Integration, see [ TagResource
2917
+ # ][1]/[ UntagResource][2].
2918
+ #
2919
+ #
2920
+ #
2921
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_TagResource.html
2922
+ # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UntagResource.html
2923
+ #
1817
2924
  # @option params [required, String] :domain_name
1818
2925
  # The unique name of the domain.
1819
2926
  #
1820
2927
  # @option params [String] :uri
1821
2928
  # The URI of the S3 bucket or any other type of data source.
1822
2929
  #
1823
- # @option params [required, String] :object_type_name
2930
+ # @option params [String] :object_type_name
1824
2931
  # The name of the profile object type.
1825
2932
  #
1826
2933
  # @option params [Hash<String,String>] :tags
@@ -1830,6 +2937,15 @@ module Aws::CustomerProfiles
1830
2937
  # The configuration that controls how Customer Profiles retrieves data
1831
2938
  # from the source.
1832
2939
  #
2940
+ # @option params [Hash<String,String>] :object_type_names
2941
+ # A map in which each key is an event type from an external application
2942
+ # such as Segment or Shopify, and each value is an `ObjectTypeName`
2943
+ # (template) used to ingest the event. It supports the following event
2944
+ # types: `SegmentIdentify`, `ShopifyCreateCustomers`,
2945
+ # `ShopifyUpdateCustomers`, `ShopifyCreateDraftOrders`,
2946
+ # `ShopifyUpdateDraftOrders`, `ShopifyCreateOrders`, and
2947
+ # `ShopifyUpdatedOrders`.
2948
+ #
1833
2949
  # @return [Types::PutIntegrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1834
2950
  #
1835
2951
  # * {Types::PutIntegrationResponse#domain_name #domain_name} => String
@@ -1838,13 +2954,16 @@ module Aws::CustomerProfiles
1838
2954
  # * {Types::PutIntegrationResponse#created_at #created_at} => Time
1839
2955
  # * {Types::PutIntegrationResponse#last_updated_at #last_updated_at} => Time
1840
2956
  # * {Types::PutIntegrationResponse#tags #tags} => Hash&lt;String,String&gt;
2957
+ # * {Types::PutIntegrationResponse#object_type_names #object_type_names} => Hash&lt;String,String&gt;
2958
+ # * {Types::PutIntegrationResponse#workflow_id #workflow_id} => String
2959
+ # * {Types::PutIntegrationResponse#is_unstructured #is_unstructured} => Boolean
1841
2960
  #
1842
2961
  # @example Request syntax with placeholder values
1843
2962
  #
1844
2963
  # resp = client.put_integration({
1845
2964
  # domain_name: "name", # required
1846
2965
  # uri: "string1To255",
1847
- # object_type_name: "typeName", # required
2966
+ # object_type_name: "typeName",
1848
2967
  # tags: {
1849
2968
  # "TagKey" => "TagValue",
1850
2969
  # },
@@ -1911,6 +3030,9 @@ module Aws::CustomerProfiles
1911
3030
  # },
1912
3031
  # },
1913
3032
  # },
3033
+ # object_type_names: {
3034
+ # "string1To255" => "typeName",
3035
+ # },
1914
3036
  # })
1915
3037
  #
1916
3038
  # @example Response structure
@@ -1922,6 +3044,10 @@ module Aws::CustomerProfiles
1922
3044
  # resp.last_updated_at #=> Time
1923
3045
  # resp.tags #=> Hash
1924
3046
  # resp.tags["TagKey"] #=> String
3047
+ # resp.object_type_names #=> Hash
3048
+ # resp.object_type_names["string1To255"] #=> String
3049
+ # resp.workflow_id #=> String
3050
+ # resp.is_unstructured #=> Boolean
1925
3051
  #
1926
3052
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutIntegration AWS API Documentation
1927
3053
  #
@@ -1934,10 +3060,10 @@ module Aws::CustomerProfiles
1934
3060
 
1935
3061
  # Adds additional objects to customer profiles of a given ObjectType.
1936
3062
  #
1937
- # When adding a specific profile object, like a Contact Trace Record
1938
- # (CTR), an inferred profile can get created if it is not mapped to an
1939
- # existing profile. The resulting profile will only have a phone number
1940
- # populated in the standard ProfileObject. Any additional CTRs with the
3063
+ # When adding a specific profile object, like a Contact Record, an
3064
+ # inferred profile can get created if it is not mapped to an existing
3065
+ # profile. The resulting profile will only have a phone number populated
3066
+ # in the standard ProfileObject. Any additional Contact Records with the
1941
3067
  # same phone number will be mapped to the same inferred profile.
1942
3068
  #
1943
3069
  # When a ProfileObject is created and if a ProfileObjectType already
@@ -1983,6 +3109,14 @@ module Aws::CustomerProfiles
1983
3109
 
1984
3110
  # Defines a ProfileObjectType.
1985
3111
  #
3112
+ # To add or remove tags on an existing ObjectType, see [
3113
+ # TagResource][1]/[UntagResource][2].
3114
+ #
3115
+ #
3116
+ #
3117
+ # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_TagResource.html
3118
+ # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UntagResource.html
3119
+ #
1986
3120
  # @option params [required, String] :domain_name
1987
3121
  # The unique name of the domain.
1988
3122
  #
@@ -1993,7 +3127,14 @@ module Aws::CustomerProfiles
1993
3127
  # Description of the profile object type.
1994
3128
  #
1995
3129
  # @option params [String] :template_id
1996
- # A unique identifier for the object template.
3130
+ # A unique identifier for the object template. For some attributes in
3131
+ # the request, the service will use the default value from the object
3132
+ # template when TemplateId is present. If these attributes are present
3133
+ # in the request, the service may return a `BadRequestException`. These
3134
+ # attributes include: AllowProfileCreation,
3135
+ # SourceLastUpdatedTimestampFormat, Fields, and Keys. For example, if
3136
+ # AllowProfileCreation is set to true when TemplateId is set, the
3137
+ # service may return a `BadRequestException`.
1997
3138
  #
1998
3139
  # @option params [Integer] :expiration_days
1999
3140
  # The number of days until the data in the object expires.
@@ -2043,7 +3184,7 @@ module Aws::CustomerProfiles
2043
3184
  # resp = client.put_profile_object_type({
2044
3185
  # domain_name: "name", # required
2045
3186
  # object_type_name: "typeName", # required
2046
- # description: "text", # required
3187
+ # description: "sensitiveText", # required
2047
3188
  # template_id: "name",
2048
3189
  # expiration_days: 1,
2049
3190
  # encryption_key: "encryptionKey",
@@ -2059,7 +3200,7 @@ module Aws::CustomerProfiles
2059
3200
  # keys: {
2060
3201
  # "name" => [
2061
3202
  # {
2062
- # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY
3203
+ # standard_identifiers: ["PROFILE"], # accepts PROFILE, ASSET, CASE, UNIQUE, SECONDARY, LOOKUP_ONLY, NEW_ONLY, ORDER
2063
3204
  # field_names: ["name"],
2064
3205
  # },
2065
3206
  # ],
@@ -2085,7 +3226,7 @@ module Aws::CustomerProfiles
2085
3226
  # resp.keys #=> Hash
2086
3227
  # resp.keys["name"] #=> Array
2087
3228
  # resp.keys["name"][0].standard_identifiers #=> Array
2088
- # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY"
3229
+ # resp.keys["name"][0].standard_identifiers[0] #=> String, one of "PROFILE", "ASSET", "CASE", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", "NEW_ONLY", "ORDER"
2089
3230
  # resp.keys["name"][0].field_names #=> Array
2090
3231
  # resp.keys["name"][0].field_names[0] #=> String
2091
3232
  # resp.created_at #=> Time
@@ -2102,8 +3243,14 @@ module Aws::CustomerProfiles
2102
3243
  req.send_request(options)
2103
3244
  end
2104
3245
 
2105
- # Searches for profiles within a specific domain name using name, phone
2106
- # number, email address, account number, or a custom defined index.
3246
+ # Searches for profiles within a specific domain using one or more
3247
+ # predefined search keys (e.g., \_fullName, \_phone, \_email, \_account,
3248
+ # etc.) and/or custom-defined search keys. A search key is a data type
3249
+ # pair that consists of a `KeyName` and `Values` list.
3250
+ #
3251
+ # This operation supports searching for profiles with a minimum of 1
3252
+ # key-value(s) pair and up to 5 key-value(s) pairs using either `AND` or
3253
+ # `OR` logic.
2107
3254
  #
2108
3255
  # @option params [String] :next_token
2109
3256
  # The pagination token from the previous SearchProfiles API call.
@@ -2111,19 +3258,50 @@ module Aws::CustomerProfiles
2111
3258
  # @option params [Integer] :max_results
2112
3259
  # The maximum number of objects returned per page.
2113
3260
  #
3261
+ # The default is 20 if this parameter is not included in the request.
3262
+ #
2114
3263
  # @option params [required, String] :domain_name
2115
3264
  # The unique name of the domain.
2116
3265
  #
2117
3266
  # @option params [required, String] :key_name
2118
3267
  # A searchable identifier of a customer profile. The predefined keys you
2119
- # can use to search include: \_account, \_profileId, \_fullName,
2120
- # \_phone, \_email, \_ctrContactId, \_marketoLeadId,
2121
- # \_salesforceAccountId, \_salesforceContactId, \_zendeskUserId,
2122
- # \_zendeskExternalId, \_serviceNowSystemId.
3268
+ # can use to search include: \_account, \_profileId, \_assetId,
3269
+ # \_caseId, \_orderId, \_fullName, \_phone, \_email, \_ctrContactId,
3270
+ # \_marketoLeadId, \_salesforceAccountId, \_salesforceContactId,
3271
+ # \_salesforceAssetId, \_zendeskUserId, \_zendeskExternalId,
3272
+ # \_zendeskTicketId, \_serviceNowSystemId, \_serviceNowIncidentId,
3273
+ # \_segmentUserId, \_shopifyCustomerId, \_shopifyOrderId.
2123
3274
  #
2124
3275
  # @option params [required, Array<String>] :values
2125
3276
  # A list of key values.
2126
3277
  #
3278
+ # @option params [Array<Types::AdditionalSearchKey>] :additional_search_keys
3279
+ # A list of `AdditionalSearchKey` objects that are each searchable
3280
+ # identifiers of a profile. Each `AdditionalSearchKey` object contains a
3281
+ # `KeyName` and a list of `Values` associated with that specific key
3282
+ # (i.e., a key-value(s) pair). These additional search keys will be used
3283
+ # in conjunction with the `LogicalOperator` and the required `KeyName`
3284
+ # and `Values` parameters to search for profiles that satisfy the search
3285
+ # criteria.
3286
+ #
3287
+ # @option params [String] :logical_operator
3288
+ # Relationship between all specified search keys that will be used to
3289
+ # search for profiles. This includes the required `KeyName` and `Values`
3290
+ # parameters as well as any key-value(s) pairs specified in the
3291
+ # `AdditionalSearchKeys` list.
3292
+ #
3293
+ # This parameter influences which profiles will be returned in the
3294
+ # response in the following manner:
3295
+ #
3296
+ # * `AND` - The response only includes profiles that match all of the
3297
+ # search keys.
3298
+ #
3299
+ # * `OR` - The response includes profiles that match at least one of the
3300
+ # search keys.
3301
+ #
3302
+ # The `OR` relationship is the default behavior if this parameter is not
3303
+ # included in the request.
3304
+ #
2127
3305
  # @return [Types::SearchProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2128
3306
  #
2129
3307
  # * {Types::SearchProfilesResponse#items #items} => Array&lt;Types::Profile&gt;
@@ -2137,6 +3315,13 @@ module Aws::CustomerProfiles
2137
3315
  # domain_name: "name", # required
2138
3316
  # key_name: "name", # required
2139
3317
  # values: ["string1To255"], # required
3318
+ # additional_search_keys: [
3319
+ # {
3320
+ # key_name: "name", # required
3321
+ # values: ["string1To255"], # required
3322
+ # },
3323
+ # ],
3324
+ # logical_operator: "AND", # accepts AND, OR
2140
3325
  # })
2141
3326
  #
2142
3327
  # @example Response structure
@@ -2201,6 +3386,12 @@ module Aws::CustomerProfiles
2201
3386
  # resp.items[0].billing_address.postal_code #=> String
2202
3387
  # resp.items[0].attributes #=> Hash
2203
3388
  # resp.items[0].attributes["string1To255"] #=> String
3389
+ # resp.items[0].found_by_items #=> Array
3390
+ # resp.items[0].found_by_items[0].key_name #=> String
3391
+ # resp.items[0].found_by_items[0].values #=> Array
3392
+ # resp.items[0].found_by_items[0].values[0] #=> String
3393
+ # resp.items[0].party_type_string #=> String
3394
+ # resp.items[0].gender_string #=> String
2204
3395
  # resp.next_token #=> String
2205
3396
  #
2206
3397
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/SearchProfiles AWS API Documentation
@@ -2284,23 +3475,109 @@ module Aws::CustomerProfiles
2284
3475
  req.send_request(options)
2285
3476
  end
2286
3477
 
3478
+ # Updates an existing calculated attribute definition. When updating the
3479
+ # Conditions, note that increasing the date range of a calculated
3480
+ # attribute will not trigger inclusion of historical data greater than
3481
+ # the current date range.
3482
+ #
3483
+ # @option params [required, String] :domain_name
3484
+ # The unique name of the domain.
3485
+ #
3486
+ # @option params [required, String] :calculated_attribute_name
3487
+ # The unique name of the calculated attribute.
3488
+ #
3489
+ # @option params [String] :display_name
3490
+ # The display name of the calculated attribute.
3491
+ #
3492
+ # @option params [String] :description
3493
+ # The description of the calculated attribute.
3494
+ #
3495
+ # @option params [Types::Conditions] :conditions
3496
+ # The conditions including range, object count, and threshold for the
3497
+ # calculated attribute.
3498
+ #
3499
+ # @return [Types::UpdateCalculatedAttributeDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3500
+ #
3501
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#calculated_attribute_name #calculated_attribute_name} => String
3502
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#display_name #display_name} => String
3503
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#description #description} => String
3504
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#created_at #created_at} => Time
3505
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#last_updated_at #last_updated_at} => Time
3506
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#statistic #statistic} => String
3507
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#conditions #conditions} => Types::Conditions
3508
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#attribute_details #attribute_details} => Types::AttributeDetails
3509
+ # * {Types::UpdateCalculatedAttributeDefinitionResponse#tags #tags} => Hash&lt;String,String&gt;
3510
+ #
3511
+ # @example Request syntax with placeholder values
3512
+ #
3513
+ # resp = client.update_calculated_attribute_definition({
3514
+ # domain_name: "name", # required
3515
+ # calculated_attribute_name: "typeName", # required
3516
+ # display_name: "displayName",
3517
+ # description: "sensitiveText",
3518
+ # conditions: {
3519
+ # range: {
3520
+ # value: 1, # required
3521
+ # unit: "DAYS", # required, accepts DAYS
3522
+ # },
3523
+ # object_count: 1,
3524
+ # threshold: {
3525
+ # value: "string1To255", # required
3526
+ # operator: "EQUAL_TO", # required, accepts EQUAL_TO, GREATER_THAN, LESS_THAN, NOT_EQUAL_TO
3527
+ # },
3528
+ # },
3529
+ # })
3530
+ #
3531
+ # @example Response structure
3532
+ #
3533
+ # resp.calculated_attribute_name #=> String
3534
+ # resp.display_name #=> String
3535
+ # resp.description #=> String
3536
+ # resp.created_at #=> Time
3537
+ # resp.last_updated_at #=> Time
3538
+ # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE"
3539
+ # resp.conditions.range.value #=> Integer
3540
+ # resp.conditions.range.unit #=> String, one of "DAYS"
3541
+ # resp.conditions.object_count #=> Integer
3542
+ # resp.conditions.threshold.value #=> String
3543
+ # resp.conditions.threshold.operator #=> String, one of "EQUAL_TO", "GREATER_THAN", "LESS_THAN", "NOT_EQUAL_TO"
3544
+ # resp.attribute_details.attributes #=> Array
3545
+ # resp.attribute_details.attributes[0].name #=> String
3546
+ # resp.attribute_details.expression #=> String
3547
+ # resp.tags #=> Hash
3548
+ # resp.tags["TagKey"] #=> String
3549
+ #
3550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateCalculatedAttributeDefinition AWS API Documentation
3551
+ #
3552
+ # @overload update_calculated_attribute_definition(params = {})
3553
+ # @param [Hash] params ({})
3554
+ def update_calculated_attribute_definition(params = {}, options = {})
3555
+ req = build_request(:update_calculated_attribute_definition, params)
3556
+ req.send_request(options)
3557
+ end
3558
+
2287
3559
  # Updates the properties of a domain, including creating or selecting a
2288
3560
  # dead letter queue or an encryption key.
2289
3561
  #
2290
3562
  # After a domain is created, the name can’t be changed.
2291
3563
  #
2292
- # Use this API or [CreateDomain][1] to enable [identity resolution][2]\:
3564
+ # Use this API or [CreateDomain][1] to enable [identity resolution][2]:
2293
3565
  # set `Matching` to true.
2294
3566
  #
2295
3567
  # To prevent cross-service impersonation when you call this API, see
2296
3568
  # [Cross-service confused deputy prevention][3] for sample policies that
2297
3569
  # you should apply.
2298
3570
  #
3571
+ # To add or remove tags on an existing Domain, see
3572
+ # [TagResource][4]/[UntagResource][5].
3573
+ #
2299
3574
  #
2300
3575
  #
2301
3576
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html
2302
3577
  # [2]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
2303
3578
  # [3]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html
3579
+ # [4]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_TagResource.html
3580
+ # [5]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UntagResource.html
2304
3581
  #
2305
3582
  # @option params [required, String] :domain_name
2306
3583
  # The unique name of the domain.
@@ -2338,6 +3615,15 @@ module Aws::CustomerProfiles
2338
3615
  #
2339
3616
  # [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
2340
3617
  #
3618
+ # @option params [Types::RuleBasedMatchingRequest] :rule_based_matching
3619
+ # The process of matching duplicate profiles using the rule-Based
3620
+ # matching. If `RuleBasedMatching` = true, Amazon Connect Customer
3621
+ # Profiles will start to match and merge your profiles according to your
3622
+ # configuration in the `RuleBasedMatchingRequest`. You can use the
3623
+ # `ListRuleBasedMatches` and `GetSimilarProfiles` API to return and
3624
+ # review the results. Also, if you have configured `ExportingConfig` in
3625
+ # the `RuleBasedMatchingRequest`, you can download the results from S3.
3626
+ #
2341
3627
  # @option params [Hash<String,String>] :tags
2342
3628
  # The tags used to organize, track, or control access for this resource.
2343
3629
  #
@@ -2348,6 +3634,7 @@ module Aws::CustomerProfiles
2348
3634
  # * {Types::UpdateDomainResponse#default_encryption_key #default_encryption_key} => String
2349
3635
  # * {Types::UpdateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
2350
3636
  # * {Types::UpdateDomainResponse#matching #matching} => Types::MatchingResponse
3637
+ # * {Types::UpdateDomainResponse#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse
2351
3638
  # * {Types::UpdateDomainResponse#created_at #created_at} => Time
2352
3639
  # * {Types::UpdateDomainResponse#last_updated_at #last_updated_at} => Time
2353
3640
  # * {Types::UpdateDomainResponse#tags #tags} => Hash&lt;String,String&gt;
@@ -2376,6 +3663,33 @@ module Aws::CustomerProfiles
2376
3663
  # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
2377
3664
  # source_name: "string1To255",
2378
3665
  # },
3666
+ # min_allowed_confidence_score_for_merging: 1.0,
3667
+ # },
3668
+ # exporting_config: {
3669
+ # s3_exporting: {
3670
+ # s3_bucket_name: "s3BucketName", # required
3671
+ # s3_key_name: "s3KeyNameCustomerOutputConfig",
3672
+ # },
3673
+ # },
3674
+ # },
3675
+ # rule_based_matching: {
3676
+ # enabled: false, # required
3677
+ # matching_rules: [
3678
+ # {
3679
+ # rule: ["string1To255"], # required
3680
+ # },
3681
+ # ],
3682
+ # max_allowed_rule_level_for_merging: 1,
3683
+ # max_allowed_rule_level_for_matching: 1,
3684
+ # attribute_types_selector: {
3685
+ # attribute_matching_model: "ONE_TO_ONE", # required, accepts ONE_TO_ONE, MANY_TO_MANY
3686
+ # address: ["string1To255"],
3687
+ # phone_number: ["string1To255"],
3688
+ # email_address: ["string1To255"],
3689
+ # },
3690
+ # conflict_resolution: {
3691
+ # conflict_resolving_model: "RECENCY", # required, accepts RECENCY, SOURCE
3692
+ # source_name: "string1To255",
2379
3693
  # },
2380
3694
  # exporting_config: {
2381
3695
  # s3_exporting: {
@@ -2404,8 +3718,27 @@ module Aws::CustomerProfiles
2404
3718
  # resp.matching.auto_merging.consolidation.matching_attributes_list[0][0] #=> String
2405
3719
  # resp.matching.auto_merging.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
2406
3720
  # resp.matching.auto_merging.conflict_resolution.source_name #=> String
3721
+ # resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float
2407
3722
  # resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
2408
3723
  # resp.matching.exporting_config.s3_exporting.s3_key_name #=> String
3724
+ # resp.rule_based_matching.enabled #=> Boolean
3725
+ # resp.rule_based_matching.matching_rules #=> Array
3726
+ # resp.rule_based_matching.matching_rules[0].rule #=> Array
3727
+ # resp.rule_based_matching.matching_rules[0].rule[0] #=> String
3728
+ # resp.rule_based_matching.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE"
3729
+ # resp.rule_based_matching.max_allowed_rule_level_for_merging #=> Integer
3730
+ # resp.rule_based_matching.max_allowed_rule_level_for_matching #=> Integer
3731
+ # resp.rule_based_matching.attribute_types_selector.attribute_matching_model #=> String, one of "ONE_TO_ONE", "MANY_TO_MANY"
3732
+ # resp.rule_based_matching.attribute_types_selector.address #=> Array
3733
+ # resp.rule_based_matching.attribute_types_selector.address[0] #=> String
3734
+ # resp.rule_based_matching.attribute_types_selector.phone_number #=> Array
3735
+ # resp.rule_based_matching.attribute_types_selector.phone_number[0] #=> String
3736
+ # resp.rule_based_matching.attribute_types_selector.email_address #=> Array
3737
+ # resp.rule_based_matching.attribute_types_selector.email_address[0] #=> String
3738
+ # resp.rule_based_matching.conflict_resolution.conflict_resolving_model #=> String, one of "RECENCY", "SOURCE"
3739
+ # resp.rule_based_matching.conflict_resolution.source_name #=> String
3740
+ # resp.rule_based_matching.exporting_config.s3_exporting.s3_bucket_name #=> String
3741
+ # resp.rule_based_matching.exporting_config.s3_exporting.s3_key_name #=> String
2409
3742
  # resp.created_at #=> Time
2410
3743
  # resp.last_updated_at #=> Time
2411
3744
  # resp.tags #=> Hash
@@ -2499,6 +3832,12 @@ module Aws::CustomerProfiles
2499
3832
  # @option params [Hash<String,String>] :attributes
2500
3833
  # A key value pair of attributes of a customer profile.
2501
3834
  #
3835
+ # @option params [String] :party_type_string
3836
+ # An alternative to `PartyType` which accepts any string as input.
3837
+ #
3838
+ # @option params [String] :gender_string
3839
+ # An alternative to `Gender` which accepts any string as input.
3840
+ #
2502
3841
  # @return [Types::UpdateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2503
3842
  #
2504
3843
  # * {Types::UpdateProfileResponse#profile_id #profile_id} => String
@@ -2508,22 +3847,22 @@ module Aws::CustomerProfiles
2508
3847
  # resp = client.update_profile({
2509
3848
  # domain_name: "name", # required
2510
3849
  # profile_id: "uuid", # required
2511
- # additional_information: "string0To1000",
2512
- # account_number: "string0To255",
3850
+ # additional_information: "sensitiveString0To1000",
3851
+ # account_number: "sensitiveString0To255",
2513
3852
  # party_type: "INDIVIDUAL", # accepts INDIVIDUAL, BUSINESS, OTHER
2514
- # business_name: "string0To255",
2515
- # first_name: "string0To255",
2516
- # middle_name: "string0To255",
2517
- # last_name: "string0To255",
2518
- # birth_date: "string0To255",
3853
+ # business_name: "sensitiveString0To255",
3854
+ # first_name: "sensitiveString0To255",
3855
+ # middle_name: "sensitiveString0To255",
3856
+ # last_name: "sensitiveString0To255",
3857
+ # birth_date: "sensitiveString0To255",
2519
3858
  # gender: "MALE", # accepts MALE, FEMALE, UNSPECIFIED
2520
- # phone_number: "string0To255",
2521
- # mobile_phone_number: "string0To255",
2522
- # home_phone_number: "string0To255",
2523
- # business_phone_number: "string0To255",
2524
- # email_address: "string0To255",
2525
- # personal_email_address: "string0To255",
2526
- # business_email_address: "string0To255",
3859
+ # phone_number: "sensitiveString0To255",
3860
+ # mobile_phone_number: "sensitiveString0To255",
3861
+ # home_phone_number: "sensitiveString0To255",
3862
+ # business_phone_number: "sensitiveString0To255",
3863
+ # email_address: "sensitiveString0To255",
3864
+ # personal_email_address: "sensitiveString0To255",
3865
+ # business_email_address: "sensitiveString0To255",
2527
3866
  # address: {
2528
3867
  # address_1: "string0To255",
2529
3868
  # address_2: "string0To255",
@@ -2575,6 +3914,8 @@ module Aws::CustomerProfiles
2575
3914
  # attributes: {
2576
3915
  # "string1To255" => "string0To255",
2577
3916
  # },
3917
+ # party_type_string: "sensitiveString0To255",
3918
+ # gender_string: "sensitiveString0To255",
2578
3919
  # })
2579
3920
  #
2580
3921
  # @example Response structure
@@ -2603,7 +3944,7 @@ module Aws::CustomerProfiles
2603
3944
  params: params,
2604
3945
  config: config)
2605
3946
  context[:gem_name] = 'aws-sdk-customerprofiles'
2606
- context[:gem_version] = '1.15.0'
3947
+ context[:gem_version] = '1.38.0'
2607
3948
  Seahorse::Client::Request.new(handlers, context)
2608
3949
  end
2609
3950